¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Power BI Desktop
  3. Crear los datos en DAX
Extrait - Power BI Desktop Del análisis de datos a la presentación de informes
Extractos del libro
Power BI Desktop Del análisis de datos a la presentación de informes
2 opiniones
Volver a la página de compra del libro

Crear los datos en DAX

Introducción

Es importante tener en cuenta que los conceptos que se describen aquí son, con mucho, los más complejos de Power BI, pero, en contraposición, dan una potencia de cálculo considerable.

Este capítulo tiene como objetivo presentar los conceptos clave del lenguaje DAX; le permitirá adquirir un dominio operativo de las funciones DAX más utilizadas, a través de ejemplos concretos y casos comunes.

Tras una primera sección que describe los conceptos clave (medida y columna, estructura de DAX y, tema central, el contexto de evaluación de la fórmula) y que es esencial leer, y tal vez releer, la segunda sección presentará:

  • funciones de agregación,

  • la función principal CALCULAR,

  • funciones de filtro y tabla (FILTER, ALL entre otras),

  • funciones de navegación en el modelo,

  • funciones de construcción de tabla,

  • funciones TIME INTELLIGENCE, que permiten cálculos relacionados con el tiempo.

Para ilustrar estas funciones, nos esforzaremos por presentar casos comunes de fórmulas.

Esta segunda sección va acompañada de un cuadro sinóptico de las funciones mencionadas, que ofrecemos a modo de resumen fácil de recordar.

Notas y convenciones:

  • Todo este capítulo se basa en el archivo Libros - dax.pbix.

  • Para aumentar la legibilidad de las fórmulas, la función en sí siempre se indica en mayúsculas....

Los conceptos clave

El conocimiento de DAX es una clave que cualquier creador de informes debe tener en Power BI; se trata de un lenguaje constantemente enriquecido, del cual existe abundante información, y que se basa en algunos conceptos clave.

Medidas y columnas

Tanto la medida como la columna permiten crear nuevos datos a partir de datos existentes, utilizando una fórmula DAX o un asistente. Y, en algunos casos, la misma fórmula se puede utilizar para construir una medida o una columna.

Se aprecia una diferencia fundamental entre la columna y la medida cuando se realiza el cálculo: para la columna, este se lleva a cabo una vez, al cargar los datos (o actualizarlos), en el momento de rellenar la columna creada.

En cuanto a la medición, se realiza cada vez que se agrega a un visual o que el usuario del informe modifica los segmentos.

Consecuencia de esta diferencia: la columna se almacena físicamente en el archivo, cuyo peso se incrementa, mientras que la medida no ocupa espacio, sino que utiliza la potencia del procesador para sus cálculos.

Dado que la vista Datos presenta las tablas, es muy tentador (especialmente para un usuario proveniente de Excel o cualquier otra hoja de cálculo) crear campos calculados como una columna: en la vista Datos, el resultado es inmediatamente visible y le permite verificar que el cálculo es válido.

Pero si el uso de campos calculados es frecuente (como suele ser el caso), el número de columnas agregadas resultará, con probabilidad, sustancial y dará lugar a problemas con el tamaño del archivo y el tiempo de actualización (ya que es cuando se calculan las columnas). 

Además, la fórmula que genera la columna se calcula para cada fila de la tabla: si el número de filas de la tabla es grande, el número de veces que se realiza el cálculo es igual de grande.

Por lo tanto, crear una medida en lugar de una columna tiene tres ventajas significativas: dado que la fórmula se calcula solo en el momento de su uso, el tiempo de actualización es más corto y el peso del archivo no aumenta. Además, si la fórmula se utiliza en un visual filtrado (que suele ser el caso), el cálculo se realiza solo para las filas resultantes del filtrado y, por lo tanto, para un conjunto reducido de filas en comparación con la tabla (o tablas) inicial....

Descubrir las fórmulas de DAX

Nota: en esta sección, descubrirá muchos ejemplos de fórmulas para crear campos calculados (principalmente medidas).

Le recomendamos que reproduzca estas medidas para asimilar mejor el lenguaje DAX y probar el motor de sintaxis de IntelliSense.

En la vista Informe, la medida se crea haciendo clic con el botón derecho en el nombre de la tabla donde desea almacenar la medida y, a continuación, en Nueva medida.

Para ello, le sugerimos que cree una tabla de indicadores (consulte la sección Utilizar la ventana Modelo, en el capítulo Conectarse a los datos).

Recuerde asignar cada medida creada a esta tabla de indicadores (propiedad Tabla inicial) e inmediatamente después precisar el formato de visualización de la medida (propiedad Formato). Estas dos propiedades se pueden encontrar en la pestaña Herramientas de medición:

images/PBI_372.png

Los elementos clave de una función

Cuando está a punto de utilizar una función, resulta muy útil para aclarar ciertos elementos de su uso:

  • ¿Qué tipo de parámetro recibe? ¿Una tabla o un valor (escalar)?

  • ¿Qué devuelve? ¿Una tabla o un valor (escalar)?

  • ¿Cuál es su comportamiento frente a los contextos? ¿Conoce el contexto de la fila? ¿Provoca un cambio de contexto?

Así, para cada función, es posible establecer una «ficha de identidad»: la utilizaremos cada vez que aparezca una nueva función.

Con el fin de encontrar una función y su sintaxis más rápidamente, la tabla recapitulativa siguiente resume las que abordaremos en este libro:

Nombre de la función

Ejemplo de sintaxis

SUM

SUM('Detalle de los pedidos'[Cantidad]) 

SUMX

SUMX('Detalle de los pedidos', 
   'Detalle de los pedidos'[Cantidad]*'Detalle  
de los pedidos'[Precio de venta] 
) 

AVERAGE, MIN, MAX

AVERAGE ('Detalle de los pedidos'[Cantidad]) 

COUNTROWS

COUNTROWS (Pedidos) 

VALUES

VALUES('Detalle de los pedidos'[Nº pedido]) 

CALCULATE

CALCULATE([importe],'Categorías'[Etiqueta 
Categoría]="Literatura") 

FILTER

FILTER(Libros,Libros[Núm páginas]>250) 

ALL

ALL(Libros) 

ALLSELECTED

ALLSELECTED (Libros) 

DATEADD

DATEADD(‘Tabla Fechas'[Date] ,-1 ,Quarter) 

DATESINPERIOD

DATESINPERIOD...