Comenzando con DAX en Power BI



Este blog de Edureka lo ayuda a comenzar con los conceptos básicos de Power BI DAX o las expresiones de análisis de datos si es nuevo en Power BI con la sintaxis y los ejemplos.

Este blog está diseñado esencialmente para usuarios nuevos en el y está destinado a ofrecerle un recorrido rápido y sencillo por un lenguaje de fórmulas llamado Expresiones de análisis de datos (DAX) .Si está familiarizado con las funciones de MS Excel o , muchas de las fórmulas de este Conceptos básicos de Power BI DAX El artículo le parecerá similar.

Dicho esto, aquí están los conceptos, que forman parte integral de todos , después de aprender cuál debe tener una buena comprensión de los conceptos más fundamentales en DAX.





Conceptos básicos de Power BI DAX: ¿Qué es DAX?

Entonces, comencemos con los conceptos básicos de Power BI DAX, ¿de acuerdo?

Es bastante fácil crear informes con Power BI Desktop, que mostrarán información valiosa de inmediato.



Pero, ¿qué sucede si necesita analizar el porcentaje de crecimiento en todas las categorías de productos, para todos los diferentes rangos de fechas? ¿O necesita calcular el crecimiento anual de su empresa en comparación con los gigantes del mercado?

Aprender DAX lo ayudará a aprovechar al máximo su y resolver problemas comerciales reales.

DAX se compone de funciones, operadores y constantes que se pueden poner en forma de fórmulas para calcular valores con la ayuda de datos ya presentes en su modelo.



Power BI DAX incluye una biblioteca de más de 200 funciones, operadores y construcciones. Su biblioteca proporciona una inmensa flexibilidad en la creación de medidas para calcular resultados para casi cualquier necesidad de análisis de datos.

Conceptos básicos de Power BI DAX: ¿cómo funciona?

Primero que nada, déjame explicarte cómo funciona esto.En su mayor parte, enmarcaremos nuestra comprensión de Power BI DAX en torno a tres conceptos fundamentales: Sintaxis , Contexto y Funciones .

Por supuesto, hay otros conceptos importantes aquí, pero comprender estos tres le proporcionará la mejor base sobre la cual desarrollará sus habilidades.

Sintaxis

los Sintaxis consta de varios componentes que componen una fórmula y cómo está escrita. LOjo con esta sencilla fórmula DAX.

Al tratar de comprender una fórmula DAX, a menudo es útil dividir cada uno de los elementos en un idioma que piense y hable todos los días. Entonces, esta fórmula incluye los siguientes elementos de sintaxis:

Sintaxis - Power BI DAX - Edureka

YO. Ventas totales es el nombre de la medida.

II. los operador de signo igual (=) indica el comienzo de la fórmula.

III. SUMA suma todos los números de la columna, Ventas [SalesAmount] .

IV. Hay estos paréntesis () que rodean una expresión que contiene uno o más argumentos. Todas las funciones requieren al menos un argumento.

V. Ventas es la tabla a la que se hace referencia.

NOSOTROS. Un argumento pasa un valor a una función. La columna referenciada [Cantidad de ventas] es un argumento con el que la función SUM conoce la columna en la que tiene que agregar una SUM.

En pocas palabras, puede leerlo como, Para la medida denominada Ventas totales, calcule (=) la SUMA de los valores en la columna [SalesAmount] en la tabla de Ventas '.

&espadasEl editor de Power BI DAX incluye una característica de sugerencias, que le ayuda a crear fórmulas sintácticamente correctas sugiriéndole los elementos correctos.

Contexto

Contexto es uno de los tres conceptos más importantes de DAX. Cuando se habla de contexto, esto puede referirse a uno de los dos tipos Contexto de fila y Contexto de filtro .

Usado predominantemente al hablar de Medidas , la Contexto de fila se considera más fácilmente como la fila actual. Se aplica siempre que una fórmula tiene una función que aplica filtros para identificar una sola fila en una tabla.

Contexto de filtro es un poco más difícil de entender que el contexto de fila. Puede pensar más fácilmente en el filtro-contexto como uno o más filtros aplicados en un cálculo. losEl contexto de filtro no existe en lugar del contexto de fila. Más bien, se aplica además del primero. Mira la siguiente fórmula de DAX.

Esta fórmula incluye los siguientes elementos de sintaxis:

YO. El nombre de la medida Ventas en tienda .

II. los operador de signo igual (=) indica el comienzo de la fórmula.

III. los CALCULAR La función evalúa una expresión, como argumento.

IV. Paréntesis () rodear una expresión que contenga uno o más argumentos.

V. Una medida [Ventas totales] en la misma tabla que una expresión.

NOSOTROS. A coma (,) separa el primer argumento de expresión del argumento de filtro.

VIENES. La columna de referencia completa, Canal [ChannelName] es nuestro contexto de fila. Cada fila de esta columna especifica un canal, tienda, en línea, etc.

VIII. El valor particular, Tienda se utiliza como filtro. Este es nuestro Filtro-Contexto.

Esta fórmula asegura ese la Medida de ventas totales se calcula solo para las filas de la columna Canal [Nombre de canal] con el valor 'Tienda', como filtro.

Funciones

Funciones son fórmulas predefinidas, estructuradas y ordenadas. Realizan cálculos usando argumentos transmitido a ellos. Estos argumentos pueden ser números, texto, valores lógicos u otras funciones.

Conceptos básicos de Power BI DAX: Columnas y medidas calculadas

En este blog, nos centraremos en las fórmulas de Power BI DAX utilizadas en los cálculos, en Medidas y Columnas calculadas .

Columnas calculadas

Cuando crea un modelo de datos en Power BI Desktop, puede ampliar una tabla creando nuevas columnas. El contenido de las columnas se define mediante una expresión DAX, evaluada fila por fila o en el contexto de la fila actual en esa tabla.

Sin embargo, en los modelos de datos para DAX, todas las columnas calculadas ocupan espacio en la memoria y se calculan durante el procesamiento de la tabla.

Este comportamiento es útil para mejorar la experiencia del usuario, pero utiliza una memoria RAM valiosa y, por lo tanto, es un mal hábito en la producción porque cada cálculo intermedio se almacena en la RAM y desperdicia un espacio valioso.

Medidas

Existe otra forma de definir cálculos en un modelo DAX, útil si necesita operar con valores agregados en lugar de hacerlo fila por fila. Estos cálculos son medidas. Uno de los requisitos de DAX es que una medida debe definirse en una tabla. Sin embargo, la medida no pertenece realmente a la tabla. Por lo tanto, puede mover una medida de una tabla a otra sin perder su funcionalidad.

Columnas calculadas frente a medidas

Tanto las medidas como las columnas calculadas utilizan expresiones DAX. La diferencia es el contexto de la evaluación. Una medida se evalúa en el contexto de la celda evaluada en un informe o en una consulta DAX, mientras que una columna calculada se calcula en el nivel de fila dentro de la tabla a la que pertenece.

Incluso si parecen similares, existe una gran diferencia entre las columnas calculadas y las medidas. El valor de una columna calculada se calcula durante una actualización de datos y utiliza la fila actual como contexto; no depende de la interacción del usuario en el informe.

Por lo tanto, debe definir una columna calculada siempre que desee hacer lo siguiente

  • Coloque los resultados calculados en una segmentación o vea los resultados en filas o columnas en una tabla dinámica (a diferencia del área de valores), o en los ejes de un gráfico, o utilice el resultado como una condición de filtro en una consulta DAX.
  • Defina una expresión que esté estrictamente vinculada a la fila actual. Por ejemplo, Precio * Cantidad no puede funcionar en un promedio o en una suma de las dos columnas.
  • Categoriza texto o números. Por ejemplo, un rango de valores para una medida.

Una medida opera en agregaciones de datos definidos por el contexto actual, que depende del filtro aplicado en el informe, como la selección de segmentación, filas y columnas en una tabla dinámica, o ejes y filtros aplicados a un gráfico.

Por lo tanto, debe definir una medida siempre que desee mostrar valores de cálculo resultantes que reflejen las selecciones del usuario, como

  • Cuando calcula el porcentaje de beneficio sobre una determinada selección de datos.
  • Cuando calcula las proporciones de un producto en comparación con todos los productos, pero manteniendo el filtro tanto por año como por región.

Conceptos básicos de Power BI DAX: Tipos de funciones en DAX

1. Funciones agregadas

MIN

Esta función DAX rdevuelve el valor numérico mínimo en una columna, o entre dos expresiones escalares.

Sintaxis

MIN()

Ejemplo

=MIN([ResellerMargin])

MINA

Esta función DAX rdevuelve el valor mínimo en una columna, incluidos los valores lógicos y los números representados como texto.

Sintaxis

MINA()

Ejemplo

=MINA(([Código postal])

MARTA

Esta función DAX devuelveel valor numérico mínimo que resulta de evaluar una expresión para cada fila de una tabla.

Sintaxis

MARTA(

,)

Ejemplo

=MARTA(FILTRAR(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Flete] + InternetSales [TaxAmt])

MAX

Esta función DAX rdevuelve el valor máximo en una columna, incluidos los valores lógicos y los números representados como texto.

Sintaxis

MAX()

Ejemplo

=MAX([ResellerMargin])

MAX

Esta función DAX rdevuelve el valor máximo en una columna, incluidos los valores lógicos y los números representados como texto.

Sintaxis

MAX()

Ejemplo

=MAX(([Código postal])

MAXX

Esta función DAX devuelveel valor numérico máximo que resulta de evaluar una expresión para cada fila de una tabla.

Sintaxis

MAXX(

,)

Ejemplo

=MAXX(FILTRAR(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Flete] + InternetSales [TaxAmt])

SUMA

Esta función DAX adds todos los números en una columna.

Sintaxis

SUMA()

Ejemplo

=SUMA(Ventas [oficina])

PROMEDIO

Esta función DAX rdevuelve la media aritmética de los valores de una columna.

Sintaxis

PROMEDIO()

Ejemplo

que son las variables de instancia en java

=PROMEDIO(InternetSales[ExtendedSalesAmount])

sumx

Esta función DAX rdevuelve la suma de una expresión evaluada para cada fila de una tabla.

Sintaxis

sumx(

, )

Ejemplo

=sumx(FILTRAR(InternetSales, InternetSales [SalesTerritoryID] =5),[Carga])

PROMEDIO

Esta función DAX ccalcula la media aritmética de un conjunto de expresiones evaluadas sobre una tabla.

Sintaxis

PROMEDIO(

, )

Ejemplo

=PROMEDIO(Ventas por Internet, Ventas por Internet [Carga] + Ventas por Internet [TaxAmt])

2. Funciones de conteo

DISTINCTCOUNT

Esta es una función de DAX que se utiliza para devolver el recuento distinto de elementos en una columna. Entonces, si hay varios números del mismo artículo, esta función lo contará como un solo artículo.

Sintaxis

DISTINCTCOUNT()

Ejemplo

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

CONTAR

Esta es una función de DAX que se utiliza para devolver el recuento de elementos en una columna. Entonces, si hay varios números del mismo artículo, esta función lo contará como artículos separados y no como un solo artículo.

Sintaxis

CONTAR()

Ejemplos

=CONTAR([Fecha de envío])

CONTAR

Esta es una función de DAX que se utiliza para devolver el recuento de elementos, en una columna, que no está vacía.

Sintaxis

CONTAR()

Ejemplo

=CONTAR('Revendedor' [Teléfono])

COUNTROWS

Esta es una función de DAX quecuenta el número de filas en la tabla especificada, o en una tabla definida por una expresión.

Sintaxis

COUNTROWS(

)

Ejemplo

=COUNTROWS('Pedidos')

COUNTBLANK

Esta es una función de DAX quecuenta el número de celdas en blanco en una columna.

Sintaxis

COUNTBLANK()

Ejemplo

=COUNTBLANK(Distribuidor [BankName])

3. Funciones de fecha y hora

FECHA

Esta función DAX rdevuelve la fecha especificada en formato de fecha y hora.

Sintaxis

FECHA(<año>,<mes>,<día>)

Ejemplo

=FECHA(2019,12,17)

HORA

Esta función DAX rE convierte la hora especificada como un número de 0 a 23 (12:00 A.M. a 11:00 P.M.).

Sintaxis

HORA()

Ejemplo

=HORA('Pedidos' [TransactionTime])

HOY

Esta función DAX rdevuelve la fecha actual.

Sintaxis

HOY()

AHORA

Esta función DAX rdevuelve la fecha y hora actuales en formato de fecha-hora.

Sintaxis

AHORA()

MESES

Esta función DAX rdevuelve la fecha en formato Fecha-Hora del último día del mes, antes o después de un número específico de meses.

Sintaxis

MESES(, )

Ejemplo

=MESES('3 de marzo de 2008',1.5)

4. Funciones matemáticas

SECCIÓN

Esta función DAX rdevuelve el valor absoluto del número dado.

Sintaxis

SECCIÓN()

Ejemplo

=ABS ([DealerPrice] - [ListPrice])

EXP

Esta función DAX rdevuelve el valor de e elevado a la potencia del número dado.

Sintaxis

EXP()

Ejemplo

= EXP ([Poder])

HECHO

Esta función DAX rdevuelve el factorial de un número.

Sintaxis

HECHO()

Ejemplo

= HECHO ([Valores])

LN

Esta función DAX rdevuelve el logaritmo natural del número dado.

Sintaxis

LN()

Ejemplo

= LN ([Valores])

INICIAR SESIÓN

Esta función DAX rda vuelta al registro con la base del número dado.

Sintaxis

INICIAR SESIÓN(,)

Ejemplo

Todos los siguientes devuelven el mismo resultado, 2.

= REGISTRO (100,10)

= REGISTRO (100)

= LOG10 (100)

Pi

Esta función DAX rdevuelve el valor de Pi.

Sintaxis

Pi()

PODER

Esta función DAX rdevuelve el valor del primer argumento elevado al poder del segundo argumento.

Sintaxis

PODER(,<poder>)

Ejemplo

= POTENCIA (5,2)

COCIENTE

Esta función DAX realiza la división rdevuelve la parte entera del cociente.

Sintaxis

COCIENTE(, )

Ejemplo

= COCIENTE (5,2)

FIRMAR

Esta función DAX devuelve el signo de un número determinado.

Sintaxis

FIRMAR()

Ejemplo

= SIGN (([Precio de venta] - [Precio de coste]))

SQRT

Esta función DAX rdevuelve la raíz cuadrada del número dado.

Sintaxis

SQRT()

Ejemplo

= SQRT (25)

5. Funciones lógicas

Y

Esta función de DAX realiza un Y lógico (conjunción) en dos expresiones. Para que AND devuelva verdadero, se deben cumplir las dos condiciones especificadas.

Sintaxis

Y(,)

Ejemplo

= SI (Y (10>9, -10 <-1),'Todo cierto','Uno o más falsos'

Debido a que ambas condiciones, pasadas como argumentos, a la función AND son verdaderas, la fórmula devuelve 'Todo verdadero'.

O

Esta función DAX realiza una operación lógica OR (disyunción) en dos expresiones. Para que OR devuelva verdadero, se debe cumplir cualquiera de las dos condiciones especificadas.

Sintaxis

O(,)

Ejemplo

= SI (O (10>9, -10>-1),'Cierto','Falso'

Debido a que una de las condiciones, pasada como argumentos, a la función OR es verdadera, la fórmula devuelve 'Verdadero'.

NO

Esta función DAX realiza un NOT lógico (negación) en una expresión dada.

Sintaxis

NO()

Ejemplo

= NO ([CalculatedColumn1])

Para cada fila de la Columna calculada1, la función NO devuelve el opuesto lógico del valor dado.

SI

Esta función DAX prueba una serie de entradas para la que cumple la condición especificada en el argumento.

Sintaxis

SI(prueba_lógica> ,, valor_si_falso)

Ejemplo

= SI ([Llamadas]<200,'bajo', SI ([Llamadas]<300,'medio','alto'))

SI ERROR

Esta función DAX evalora una expresión y devuelve un valor especificado si la expresión devuelve un error.

Sintaxis

SI ERROR(valor, valor_si_error)

Ejemplo

= SIERROR (25/0,9999)

6. Funciones de información

ESTÁ EN BLANCO

Esta función DAXdevuelve VERDADERO o FALSO despuésccomprobar si un valor está en blanco.

Sintaxis

ESTÁ EN BLANCO(<valor>)

Ejemplo

= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])

ES NÚMERO

Esta función DAXdevuelve VERDADERO o FALSO despuésccomprobar si un valor es numérico.

Sintaxis

ES NÚMERO(<valor>)

Ejemplo

= SI (ESNUMERO (0),'Es número','No es un número')

ISTEXT

Esta función DAXdevuelve VERDADERO o FALSO despuéscaveriguando si un valor es un texto.

Sintaxis

ISTEXT(<valor>)

Ejemplo

= SI (ESTEXTO ('texto'),'Es texto','No es texto')

ISNONTEXT

Esta función DAXdevuelve VERDADERO o FALSO despuésccomprobar si un valor no es texto.

Sintaxis

ISNONTEXT(<valor>)

Ejemplo

= SI (NO ESTEXTO ('texto'),'No es texto','Es texto')

ISERROR

Esta función DAXdevuelve VERDADERO o FALSO despuésccomprobar si un valor es un error.

Sintaxis

ISERROE(<valor>)

Ejemplo

= IF (ISERROR (SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD])), BLANK (), SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD]))

7. Funciones de texto

CONCATENAR

Esta función DAX jUne dos cadenas de texto en una.

Sintaxis

CONCATENAR(, )

Ejemplo

= CONCATENAR ('Hola', 'Mundo')

CONCATENATEX

Esta función DAXel resultado de una expresión evaluada para cada fila de una tabla.

Sintaxis

CONCATENATEX(

,, [delimitador])

Ejemplo

= CONCATENATEX (Empleados, [Nombre] & ““ & [Apellidos], “,”)

FIJO

Esta función DAX rsuena un número al número especificado de decimales y devuelve el resultado como texto.

Sintaxis

FIJO(, , )

Ejemplo

= FIJO ([PctCost],3,1)

REEMPLAZAR

Esta función DAXreemplaza parte de una cadena de texto, según el número de caracteres que especifique, con una cadena de texto diferente.

Sintaxis

REEMPLAZAR(, , , )

Ejemplo

= REPLACE ('Productos nuevos' [Código de producto],1,2,'TRANSMISIÓN EXTERIOR')

que son los paquetes en java

BUSCAR

Esta función DAX rdevuelve el número de caracteres en los que se encuentra por primera vez una cadena de texto específica.

Sintaxis

BUSCAR(, [, [][, ]])

Ejemplo

= BUSCAR ('norte','impresora')

La fórmula devuelve 4 porque 'n' es el cuarto carácter de la palabra 'impresora'.

SUPERIOR

Esta función DAX devuelveuna cadena de texto en letras mayúsculas.

Sintaxis

SUPERIOR()

Ejemplo

= SUPERIOR (['Productos nuevos' [Código de producto])

Conceptos básicos de Power BI DAX: creación de su primera medida

Requisito previo: Necesitarás abrir este archivo de Power BI Desktop dado .

Dado que supongo que este será el primero, escribiré esto con gran detalle para que lo sigas.

  1. En la lista de campos del Vista de informe , haga clic derecho en el Ventas tabla, seguida de la Nueva medida .

  2. Reemplazar Medida escribiendo un nuevo nombre de medida Ventas del trimestre anterior, en el Barra de formulas .

  3. En esta fórmula, desea utilizar el CALCULAR función. Entonces, después del signo igual, escriba las primeras letras CAL y luego haga doble clic en la función que desee utilizar.

  4. La función CALCULAR tiene al menos dos argumentos. La primera es la expresión a evaluar y la segunda es una Filtrar .

  5. Después de la apertura paréntesis ( Para el CALCULAR función, tipo SUMA seguido de otro paréntesis de apertura ( para pasar un argumento al SUMA función.

  6. Empiece a escribir Sal y luego seleccione Ventas [SalesAmount] , seguido de un paréntesis de cierre ) . Este es el primer argumento de expresión para nuestro CALCULAR función.

  7. Escribe un coma (,) seguido de un espacio para especificar el primer filtro y luego escriba TRIMESTRE ANTERIOR . Este será nuestro filtro.

  8. Usarás el TRIMESTRE ANTERIOR función de inteligencia de tiempo para filtrar SUMA resultados del trimestre anterior.

  9. Después del paréntesis de apertura ( para la función PREVIOUSQUARTER, escriba Calendario [DateKey] .

  10. los TRIMESTRE ANTERIOR La función tiene un argumento, una columna que contiene un rango contiguo de fechas. En nuestro caso, ese es el DateKey columna de la tabla Calendario.

  11. Asegúrese de que tanto los argumentos que se pasan al PREVIOUSQUARTER como la función CALCULATE estén cerrados escribiendo dos paréntesis cerrados )) .

  12. Su fórmula ahora debería verse como la siguiente
    Ventas del trimestre anterior = CALCULATE (SUM (Sales [SalesAmount]), PREVIOUSQUARTER (Calendar [DateKey]))

  13. Haga clic en la marca de verificación en la barra de fórmulas o presione Entrar para validar la fórmula.

Una vez que haya agregado eso a su modelo, ¡listo! Acaba de crear una medida con DAX, y no es fácil.

Lo que hace esta fórmula es Calcule las ventas totales del trimestre anterior, en función de los filtros aplicados en un informe.

Entonces, si tuviéramos que poner Cantidad de ventas y nuestro nuevo Ventas del trimestre anterior medir en un gráfico y luego agregar Año y QuarterOfYear como Rebanadoras obtendríamos algo como el siguiente

Ahora que tiene una comprensión básica de los conceptos en Power BI DAX, puede comenzar a crear fórmulas DAX para medidas por su cuenta. De hecho, puede ser un poco complicado de aprender, peroDAX existe desde hace varios años yhay muchos recursos disponibles en la web. Después de leer este blog y experimentar un poco, puede aprender a encontrar soluciones comerciales a través de Power BI DAX.