En este tutorial, aprenderá sobre varias palabras clave y funciones en DAX Studio con un ejemplo de consulta específico para cada una.
Específicamente, aprenderá sobre las palabras clave ORDER BY y START AT, junto con las funciones TOPNSKIP y ADDMISSINGITEMS.
Tabla de contenido
Ejemplo de consulta DAX: ORDEN POR palabra clave
La palabra clave ORDER BY le permite ordenar un conjunto de datos.
Ejemplo básico
Por ejemplo, al usar la palabra clave ORDER BY, puede ordenar una columna alfabéticamente.

Puede ver que los datos de la primera fila comienzan con "A". El orden de clasificación predeterminado de DAX Studio es ascendente .
Si quieres que tus datos aparezcan en orden descendente, escribe DESC . Entonces, en este ejemplo, en lugar de una A, la columna Marca comenzará con una "W".

De manera similar, si desea volver a colocarlo en orden ascendente, escriba ASC . También puede ordenar varias columnas a la vez. Puedes hacer esto escribiendo las columnas que quieras con cada una separada por una coma.

Ejemplo del mundo real
Ahora veamos una aplicación simple del mundo real usando la palabra clave ORDER BY. Este es el mismo ejemplo utilizado en el tutorial de palabras clave TABLE .

Puede ver que esta tabla devuelve 3 columnas. El primero es el Tipo de producto, que consiste en Aburrido y Moderno. La segunda columna muestra las ventas totales por tipo de producto. El tercero devuelve el Porcentaje de Ventas.
En este ejemplo, debe crear una nueva columna que ordene el tipo de producto. Entonces, después de la declaración , escriba la palabra clave COLUMNA y luego el nombre de la columna que desea crear.

La fórmula para esta columna es la misma que la sintaxis IF, pero en lugar de "Trendy" y "Boring", esta columna mostrará "1" para Trendy y "2" para Aburrido.
Para ver esta columna en la tabla, escríbala bajo la sintaxis EVALUATE.

Luego verá que se agrega una nueva columna, Clasificación por tipo de producto, a la tabla compuesta por los números 1 y 2.
Para ordenar esta columna, escriba la palabra clave ORDER BY después de la sintaxis . Luego, después del nombre de la columna, escriba ASC o DESC según el orden de clasificación que desee que tenga la columna.

Ejemplo de consulta DAX: COMENZAR EN
Lo siguiente que aprenderá es la palabra clave START AT .
START AT es una palabra clave en desuso. No se recomienda su uso para la mayoría de las consultas DAX. Sin embargo, aún puede encontrar algún código DAX que haga uso de esto. Así que sigue siendo importante saber qué es y en qué casos se puede utilizar.
Ejemplo básico
Primero, escribe la palabra clave EVALUATE. Este ejemplo utiliza la tabla Productos. Antes de escribir START AT, use ORDER BY primero y luego especifique las columnas que desea incluir.

A continuación, puede escribir COMENZAR EN. Esta sintaxis seguirá el orden similar a cómo escribió sus columnas en ORDEN POR. Para este ejemplo, la columna Clave de productos comenzará en "2" y la columna Marca comenzará en "Contoso".

Cuando presiona F5, puede ver en la tabla de resultados que las columnas especificadas siguen la dirección de la consulta.
Ahora veamos qué sucede cuando se agrega otra columna. En este caso, la columna Color debe comenzar en "Plata".

Cuando ejecuta esta consulta, puede ver que la primera entrada en la columna Color es "blanco". No se garantiza que el resultado siempre siga todas las condiciones al usar START AT.
Para este ejemplo, no hay ninguna instancia en la tabla Productos que contenga 2, Contoso y Silver, todos en la misma fila. En su lugar, el motor DAX intenta crear la mejor coincidencia con la consulta que ha creado.
Ejemplo complejo
Veamos otro ejemplo:

Después de EVALUAR, escriba la palabra clave ORDER BY seguida de las tres columnas especificadas. Después, escribe COMENZAR EN. En este caso, la columna Color debe comenzar en "Rojo", la columna Sexo debe comenzar en "M" y la columna Clave de la tienda debe comenzar en "2".

Después de ejecutar la consulta, puede ver que el motor DAX hizo todo lo posible para coincidir con los parámetros especificados.
En los resultados, puede ver que dos columnas son correctas, mientras que la columna Store Key comienza en 199 en lugar de 2. Esto se debe a que Store Key de 2 no existe en el modelo de datos de este ejemplo.
Motor DAX lento
Haga clic en el botón Tiempos del servidor en la pestaña Inicio.

Aparecerá una nueva pestaña en la parte inferior. Haga clic en el botón Borrar caché y luego en Ejecutar que se encuentra en la flecha desplegable Ejecutar.

Puede ver que DAX Studio necesita 142 ms para ejecutar la consulta. Si elimina la sintaxis START AT y vuelve a ejecutar el código, puede ver que solo tardará 11 ms en ejecutarse.

La consulta tarda más en ejecutarse si hay una sintaxis START AT porque invoca un comportamiento del motor DAX llamado CallBackDataID .
START AT hace que su código sea extremadamente lento. Si no es necesario usarlo, mejor evitarlo.
Tiene un impacto significativo en el rendimiento general del código DAX que está escribiendo. Por eso es mejor usar otras funciones similares.
Ejemplo de consulta DAX: función TOPNSKIP
Lo siguiente que aprenderá en este tutorial es la función TOPNSKIP . Esta función es similar a , pero tiene una sutil diferencia junto con un parámetro adicional. Para comprender mejor esto, veamos un ejemplo.
TOPN contra TOPNSKIP
Primero, escribe la palabra clave EVALUATE. Luego, escriba el argumento TOPN a continuación para ver las 100 filas principales de la tabla de productos.

Esta tabla también se ha ordenado de forma ascendente con respecto a la columna Clave de producto.
Ahora, reemplace TOPN con TOPNSKIP. En el segundo argumento, proporcione la cantidad de filas que desea omitir. En este ejemplo, se especifica 10.

Cuando ejecute esto, verá que la columna Clave de producto ahora comienza en 11 y termina en 110. Tenga en cuenta que no puede usar la función TOPNSKIP dentro de una tabla calculada o en un modelo de datos tabulares.
Otro ejemplo
En el siguiente ejemplo, veamos las 5000 filas principales en la tabla de clientes. Esta tabla está ordenada en orden ascendente con respecto a la columna Género.
Si utiliza la función TOPN, puede ver que la tabla devuelve 9518 filas. Esto significa que incluso si ha especificado que solo se muestren las 5000 filas principales, algunos datos se dejaron sin filtrar.

Sin embargo, si usa la función TOPNSKIP, puede ver que la tabla solo devuelve las primeras 5000 filas en la columna Género.

Entonces, incluso si la columna Género del cliente tiene varias reglas para un género en particular, la función TOPNSKIP solo devolverá las primeras 5000 filas. Este resultado no está garantizado cuando se usa la función TOPN.
Ejemplo de consulta DAX: Función ADDMISSINGITEMS
Por último, veamos la función ADDMISSINGITEMS en DAX Studio.
Cuando usa SUMMARIZECOLUMNS, de forma predeterminada intentará eliminar las filas en blanco del resultado. Por ejemplo, podemos escribir una consulta que resuma el color de los productos, la marca de los productos y el sexo del cliente.

Cuando presiona F5, puede ver que la tabla devuelve tres columnas. La columna Género se compone de 3 tipos de género: masculino, femenino y en blanco. El espacio en blanco representa a la Compañía. También puede ver que está devolviendo 333 filas.
Pero si crea una columna de Ventas totales, el filtro SUMMARIZECOLUMNS eliminará las filas que contienen valores en blanco para las Ventas totales. En lugar de 333 filas, la tabla ahora solo contiene 323 filas.

Hay 2 opciones para recuperar esas filas. La primera opción es agregar un cero después de las Ventas totales. En los resultados, puede ver que 10 filas devuelven un valor cero para Ventas totales.

Sin embargo, esta opción no siempre produce el mejor resultado. En cambio, hay una función específica que puede usar para resolver este problema: la función ADDMISSINGITEMS .
Para usar esta función, coloque esto después de EVALUAR. En el primer argumento, escribe las columnas. También debe pegar estas columnas en el parámetro groupBy de SUMMARIZECOLUMNS.

Cuando ejecute esta consulta, verá que la tabla ahora devuelve 333 filas.

Si ordena las columnas Ventas totales y elimina el cero, la tabla devolverá valores en blanco en la columna Ventas totales.

Entonces, en lugar de informar un cero, la tabla devuelve un espacio en blanco para las filas que fueron eliminadas por la función SUMMARIZECOLUMNS.
Usando ADDMISSINGITEMS y FILTER
También puede usar la función ADDMISSINGITEMS junto con . Por ejemplo, filtremos las filas que contienen "Tailspin Toys". En la consulta, dice que la columna Marca no debe contener ( <> ) Tailspin Toys.

Cuando presiona F5, puede ver que la tabla ahora solo devuelve 331 filas. Así que se eliminaron esas dos filas que contenían la marca "Tailspin Toys".
Conclusión
Las dos palabras clave y las dos funciones que se analizan en este tutorial son conocimientos básicos que debe tener al crear consultas en DAX Studio. Estos serán útiles cuando se trate de aplicaciones más complejas del mundo real.
DAX Studio es una poderosa herramienta para ejecutar y analizar consultas DAX. Es importante aprender los conceptos básicos de codificación de este software para que sea más fácil cuando trate con consultas avanzadas en el futuro.
Expertos en LuckyTemplates