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?
- Conceptos básicos de Power BI DAX: ¿cómo funciona?
- Conceptos básicos de Power BI DAX: columnas y medidas calculadas
- Conceptos básicos de Power BI DAX: tipos de funciones en DAX
- Conceptos básicos de Power BI DAX: creación de su primera medida
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:
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
Ejemplo 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 Ejemplo 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 Ejemplo Esta función DAX devuelveel valor numérico máximo que resulta de evaluar una expresión para cada fila de una tabla. Sintaxis Ejemplo Esta función DAX adds todos los números en una columna. Sintaxis Ejemplo Esta función DAX rdevuelve la media aritmética de los valores de una columna. Sintaxis Ejemplo Esta función DAX rdevuelve la suma de una expresión evaluada para cada fila de una tabla. Sintaxis Ejemplo Esta función DAX ccalcula la media aritmética de un conjunto de expresiones evaluadas sobre una tabla. Sintaxis Ejemplo 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 Ejemplo 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 Ejemplos 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 Ejemplo 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 Ejemplo Esta es una función de DAX quecuenta el número de celdas en blanco en una columna. Sintaxis Ejemplo Esta función DAX rdevuelve la fecha especificada en formato de fecha y hora. Sintaxis Ejemplo 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 Ejemplo Esta función DAX rdevuelve la fecha actual. Sintaxis Esta función DAX rdevuelve la fecha y hora actuales en formato de fecha-hora. Sintaxis 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 Ejemplo Esta función DAX rdevuelve el valor absoluto del número dado. Sintaxis Ejemplo Esta función DAX rdevuelve el valor de e elevado a la potencia del número dado. Sintaxis Ejemplo Esta función DAX rdevuelve el factorial de un número. Sintaxis Ejemplo Esta función DAX rdevuelve el logaritmo natural del número dado. Sintaxis Ejemplo Esta función DAX rda vuelta al registro con la base del número dado. Sintaxis Ejemplo Esta función DAX rdevuelve el valor de Pi. Sintaxis Esta función DAX rdevuelve el valor del primer argumento elevado al poder del segundo argumento. Sintaxis Ejemplo Esta función DAX realiza la división rdevuelve la parte entera del cociente. Sintaxis Ejemplo Esta función DAX devuelve el signo de un número determinado. Sintaxis Ejemplo Esta función DAX rdevuelve la raíz cuadrada del número dado. Sintaxis Ejemplo 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 Ejemplo 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 Ejemplo Esta función DAX realiza un NOT lógico (negación) en una expresión dada. Sintaxis Ejemplo Esta función DAX prueba una serie de entradas para la que cumple la condición especificada en el argumento. Sintaxis Ejemplo Esta función DAX evalora una expresión y devuelve un valor especificado si la expresión devuelve un error. Sintaxis Ejemplo Esta función DAXdevuelve VERDADERO o FALSO despuésccomprobar si un valor está en blanco. Sintaxis Ejemplo Esta función DAXdevuelve VERDADERO o FALSO despuésccomprobar si un valor es numérico. Sintaxis Ejemplo Esta función DAXdevuelve VERDADERO o FALSO despuéscaveriguando si un valor es un texto. Sintaxis Ejemplo Esta función DAXdevuelve VERDADERO o FALSO despuésccomprobar si un valor no es texto. Sintaxis Ejemplo Esta función DAXdevuelve VERDADERO o FALSO despuésccomprobar si un valor es un error. Sintaxis Ejemplo Esta función DAX jUne dos cadenas de texto en una. Sintaxis Ejemplo Esta función DAXel resultado de una expresión evaluada para cada fila de una tabla. Sintaxis Ejemplo Esta función DAX rsuena un número al número especificado de decimales y devuelve el resultado como texto. Sintaxis Ejemplo 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 Ejemplo 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 Ejemplo Esta función DAX devuelveuna cadena de texto en letras mayúsculas. Sintaxis Ejemplo 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. En la lista de campos del Vista de informe , haga clic derecho en el Ventas tabla, seguida de la Nueva medida . Reemplazar Medida escribiendo un nuevo nombre de medida Ventas del trimestre anterior, en el Barra de formulas . 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. La función CALCULAR tiene al menos dos argumentos. La primera es la expresión a evaluar y la segunda es una Filtrar . 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. 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. Escribe un coma (,) seguido de un espacio para especificar el primer filtro y luego escriba TRIMESTRE ANTERIOR . Este será nuestro filtro. Usarás el TRIMESTRE ANTERIOR función de inteligencia de tiempo para filtrar SUMA resultados del trimestre anterior. Después del paréntesis de apertura ( para la función PREVIOUSQUARTER, escriba Calendario [DateKey] . 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. 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 )) . Su fórmula ahora debería verse como la siguiente 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.
MARTA(
,)
=MARTA(FILTRAR(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Flete] + InternetSales [TaxAmt])
MAX
MAX()
=MAX([ResellerMargin])
MAX
MAX()
=MAX(([Código postal])
MAXX
MAXX(
,)
=MAXX(FILTRAR(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Flete] + InternetSales [TaxAmt])
SUMA
SUMA()
=SUMA(Ventas [oficina])
PROMEDIO
PROMEDIO()
que son las variables de instancia en java
=PROMEDIO(InternetSales[ExtendedSalesAmount])
sumx
sumx(
, )
=sumx(FILTRAR(InternetSales, InternetSales [SalesTerritoryID] =5),[Carga])
PROMEDIO
PROMEDIO(
, )
=PROMEDIO(Ventas por Internet, Ventas por Internet [Carga] + Ventas por Internet [TaxAmt])
2. Funciones de conteo
DISTINCTCOUNT
DISTINCTCOUNT()
=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])
CONTAR
CONTAR()
=CONTAR([Fecha de envío])
CONTAR
CONTAR()
=CONTAR('Revendedor' [Teléfono])
COUNTROWS
COUNTROWS(
)
=COUNTROWS('Pedidos')
COUNTBLANK
COUNTBLANK()
=COUNTBLANK(Distribuidor [BankName])
3. Funciones de fecha y hora
FECHA
FECHA(<año>,<mes>,<día>)
=FECHA(2019,12,17)
HORA
HORA()
=HORA('Pedidos' [TransactionTime])
HOY
HOY()
AHORA
AHORA()
MESES
MESES(, )
=MESES('3 de marzo de 2008',1.5)
4. Funciones matemáticas
SECCIÓN
SECCIÓN()
=ABS ([DealerPrice] - [ListPrice])
EXP
EXP()
= EXP ([Poder])
HECHO
HECHO()
= HECHO ([Valores])
LN
LN()
= LN ([Valores])
INICIAR SESIÓN
INICIAR SESIÓN(,)
Todos los siguientes devuelven el mismo resultado, 2.
= REGISTRO (100,10)
= REGISTRO (100)
= LOG10 (100)
Pi
Pi()
PODER
PODER(,<poder>)
= POTENCIA (5,2)
COCIENTE
COCIENTE(, )
= COCIENTE (5,2)
FIRMAR
FIRMAR()
= SIGN (([Precio de venta] - [Precio de coste]))
SQRT
SQRT()
= SQRT (25)
5. Funciones lógicas
Y
Y(,)
= 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
O(,)
= 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
NO()
= NO ([CalculatedColumn1])
Para cada fila de la Columna calculada1, la función NO devuelve el opuesto lógico del valor dado.
SI
SI(prueba_lógica> ,, valor_si_falso)
= SI ([Llamadas]<200,'bajo', SI ([Llamadas]<300,'medio','alto'))
SI ERROR
SI ERROR(valor, valor_si_error)
= SIERROR (25/0,9999)
6. Funciones de información
ESTÁ EN BLANCO
ESTÁ EN BLANCO(<valor>)
= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])
ES NÚMERO
ES NÚMERO(<valor>)
= SI (ESNUMERO (0),'Es número','No es un número')
ISTEXT
ISTEXT(<valor>)
= SI (ESTEXTO ('texto'),'Es texto','No es texto')
ISNONTEXT
ISNONTEXT(<valor>)
= SI (NO ESTEXTO ('texto'),'No es texto','Es texto')
ISERROR
ISERROE(<valor>)
= 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
CONCATENAR(, )
= CONCATENAR ('Hola', 'Mundo')
CONCATENATEX
CONCATENATEX(
,, [delimitador])
= CONCATENATEX (Empleados, [Nombre] & ““ & [Apellidos], “,”)
FIJO
FIJO(, , )
= FIJO ([PctCost],3,1)
REEMPLAZAR
REEMPLAZAR(, , , )
= REPLACE ('Productos nuevos' [Código de producto],1,2,'TRANSMISIÓN EXTERIOR')
que son los paquetes en java
BUSCAR
BUSCAR(, [, [][, ]])
= BUSCAR ('norte','impresora')
La fórmula devuelve 4 porque 'n' es el cuarto carácter de la palabra 'impresora'.
SUPERIOR
SUPERIOR()
= SUPERIOR (['Productos nuevos' [Código de producto])
Conceptos básicos de Power BI DAX: creación de su primera medida
Ventas del trimestre anterior = CALCULATE (SUM (Sales [SalesAmount]), PREVIOUSQUARTER (Calendar [DateKey]))