SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
1
Power BI
Power BI
Introducción a DAX
DAX (Data Analysis Expressions)
• Utiliza algunos conceptos de
programación
• DAX es simple, pero no es fácil.
• No traten de aprenderlo en la
forma habitual…
• Mezcla de lenguaje Excel, SQL y
MDX.
DAX (Data Analysis Expressions)
• Ejemplo de formula DAX:
DAX (Data Analysis Expressions)
• Sintaxis:
• 'Table
Name'[ColumnName]
• Best Practice:
• No usar espacios en
nombres de tablas
• Siempre incluir la
tabla en las fórmulas
DAX (Data Analysis Expressions)
• Importante:
• En Excel, puedo poner diferentes tipos de valores en cada
celda.
• En DAX, trabajo con tablas y columnas, por lo que todos los
datos de cada columna deben ser del mismo tipo.
DAX (Data Analysis Expressions)
• Cada formula puede
contener:
• Funciones
• Condicionales
• Referencias a valores
• Tablas
• Tiempo
DAX (Data Analysis Expressions)
• Tipos de DAX
• Numéricos
• Fecha /Fecha y Hora
• Texto
• True/False
• Binario
• Importante: hay funciones que solo trabajan con
Numéricos, y otros que trabajan con cualquier
tipo de datos.
DAX (Date Time)
En DAX, los cálculos de fechas funcionan de la
siguiente manera:
• Parte entera: Número de días después del 30 de
diciembre de 1899.
• Parte decimal: Segundos: 1/(24*60*60)
• Expresiones DateTime:
• Date + 1 = el día después
• Date – 1 = el día anterior
• Date – 1,5 = un día y medio antes
DAX (Calculos primarios)
2 tipos de cálculos usando DAX:
Columnas calculadas
Medidas calculadas
Cuidado: el uso de columnas y medidas
calculadas consume gran cantidad de RAM.
DAX Columnas calculadas
Son útiles cuando
necesitamos crear
una columna o
filtrar de acuerdo
a un valor, o si
queremos hacer
un cálculo para
cada fila en una
tabla.
DAX Columnas calculadas
Una vez seleccionado,
aparece “Column =“
donde le podemos
poner nombre a la
columna y escribir la
fórmula o haciendo clic
Si hacemos referencia a
una columna en la
fórmula, no
necesitamos hacer
referencia a la fila.
Power BI lo hace
automáticamente.
DAX Columnas calculadas
En resumen:
• Son columnas creadas usando DAX
• Siempre toma en cuenta la fila actual
• Product[Price] significa:
• El valor del precio que figura en la columna
(explicito)
• En la tabla “Product” (explicito, opcional)
• Para la fila actual (implícito)
• Diferente para cada fila
DAX Medidas calculadas
Son útiles cuando
estamos calculando
porcentajes o ratios, o
necesitamos formulas
complejas.
Ejemplo: Gross Margin
% (no funciona en los
reportes si creo una
columna)
DAX Medidas calculadas
Una vez seleccionado, aparece
“Measure =“.
De la misma forma que las
columnas, necesitamos:
• Un nombre
• Al menos una función o
expresión
Aparece como un campo en la
tabla, identificado con el ícono.
DAX Medidas calculadas
No funciona fila por fila.
Usa tablas y formulas.
No utiliza el término “current row”
Por eso debemos escribir funciones, y no solo referencias
a columnas.
Ejemplo:
Gross margin es una columna calculada, puede ser una
medida.
Gross margin % tiene que ser una medida calculada.
DAX Columna vs Medidas calculadas
Usar columna calculada:
• Necesitamos calcular un valor en cada fila, o aplicar un
filtro en la formula.
Usar medidas calculadas:
• Calcular porcentajes
• Calcular ratios
• Calculos complejos
Espacio y uso de CPU
• Columnas consume memoria RAM
• Medidas consume CPU
DAX Tipos de Funciones
Funciones de
• Matemáticas
• Lógicas
• Información
• Texto
• Tiempo
DAX Tipos de Funciones
Similar a Excel
Mientras ingresamos la función en la barra de
formula, aparece una lista de funciones disponibles.
DAX Matemáticos
Útiles para agregar valores:
• SUM → SUM ( table[column] )
• AVERAGE → AVERAGE ( table[column] )
• MIN → MIN ( table[column] )
• MAX →MAX ( table[column] )
• DIVIDE → DIVIDE ( <Numerator>, <Denominator> [, <AlternateResult>] )
Trabaja solamente con columnas numéricas.
El SUM, Solamente suma una columna, a diferencia del SUMX que es
función X
• SUM ( Orders [Price])
• Funciones X:
• Múltiples columnas
• Iterativo en la tabla, y evalúa la expresión por cada fila.
DAX Matemáticos
• Funciones:
• ABS, EXP
• FACT, LN
• LOG, LOG10
• MOD, PI
• POWER, QUOTIENT
• SIGN, SQRT
• Son iguales a Excel. Por ejemplo:
• → ABS ( <Number> )
• →ABS([DealerPrice]-[ListPrice])
DAX Contar
• COUNT Solo para columnas numéricas, fecha o string
→ COUNT(Table [column])
• COUNTA cuenta cualquier tipo de dato excepto blancos
→COUNTA(Table [column])
• COUNTBLANK Cuenta blancos de cualquier tipo de dato de la columna
¡ el 0 es un dato!
→COUNTBLANK(Table [column])
• COUNTROWS Filas en una tabla
→COUNTROWS(Table [column])
• DISTINCTCOUNT cuenta valores distinto, ¡Blank es un dato!
→ DISTINCTCOUNT(Table [column])
• DISTINCTCOUNTNOBLANK cuenta todos los valores distintos de la
columna sin incluir blanks
→ DISTINCTCOUNTNOBLANK (Table [column])
DAX Funciones X
• Es una variante de las funciones
• SUMX
• AVERAGEX
• COUNTX
• MINX
• MAXX
• Iteración en la tabla y evalúa la expresión por cada fila
• Siempre recibe 2 parámetros
• 1 Tabla
• 1 Formula para evaluar por cada fila
• Ej valido para todas las formulas X→ COUNTX(<table>;<expression>)
→ SUMX (Table; Table [column A] * Table [column B] )
→ MAXX( Table; (Table [column F]) - Table [column Z]) *10)
• CON FILTER:
• →AVERAGEX(Filter(Table; <filter1> );<expression>)
Función Comodin CALCULATE
• →CALCULATE(<expression>;<filter1>;<filter2>…)
Es lo mismo:
→ SUMX (Filter(Table; [column CodPais]=54); Table [column A] *
Table [column B] )
→CALCULATE(SUMX (Table; Table [column A] * Table [column B] );
[column CodPais]=54)
DAX Lógicas
• AND
• OR
• NOT
• IF
• IFERROR
IF/IFERROR son muy utilizados
AND/OR/NOT puede ser expresados por operadores:
AND(A,B) = A && B
→IF( <condición>; Resultado si se cumple la condición; Resultado si NO se
cumple la condición)
DAX Funciones de Información
• ISBLANK
• ISNUMBER
• ISTEXT
• ISNONTEXT
• ISERROR
Funciones que devuelven TRUE/ FALSE. La sintaxis es la
misma para cualquiera de ellas.
→ ISERROR(<value>)
Pondremos un ejemplo utilizándola dentro de una
formula compuesta.
• recordando:
→ IF(<logical_test>,<value_if_true>[,
<value_if_false>])
entonces
→IF( ISERROR(SUM( TableA[SalesAmount_USD])
/SUM(TableB[SalesAmount_USD]) ) ; BLANK() ;
SUM(TableA[SalesAmount_USD])
/SUM(TableB[SalesAmount_USD]) )
DAX Funciones de Texto
• Concatenate
• Find, Left, Right, Mid
• Len, Lower, Upper
• Rept, Substitute
• Trim,
• Value, Exact, Fixed
• Format
https://msdn.microsoft.com/query-bi/dax/pre-defined-numeric-
formats-for-the-format-function
• https://msdn.microsoft.com/query-bi/dax/pre-defined-date-and-
time-formats-for-the-format-function
(Se verán los ejemplos en clase)
Similares a Excel
DAX Funciones de Fechas
• DAY, WEEKNUM, MONTH, YEAR
• DATEVALUE, EDATE, EOMONTH
• HOUR, MINUTE, SECOND
• NOW, TODAY, DATE, TIME
• WEEKDAY, YEARFRAC
Todas admiten una columna.
Son muy útiles, pero se pueden simplificar usando
una tabla de fechas.
Ej; → DAY(Table[Column]) → YEAR(Calendar[Date])
DAX Uso de Variables
• Power BI permite utilizar Variables para simplificar el
lenguaje y tipeo de formulas complejas
• Ejemplo:
DAX Relaciones de tablas
• Si quiero usar datos de otras tablas, y lo ingreso directamente en la
formula, me da error. Entonces uso:
• RELATED
• Utilizado para buscar valores en otra tabla que esté relacionada.
• Se usa para relaciones many to one. (*,1)
• Ejemplo: Quiero calcular ventas totales utilizando una lista de precios en
otra tabla.
• SUMX (Sales, Sales [Quantity] * Related (Product [Unit Price]))
• RELATEDTABLE
• Idem RELATED, pero se utiliza para relaciones one to many.(1,*)
• Ejemplo: Tengo una lista de productos, y quiero calcular las unidades
vendidas (usando sumX), o la cantidad de veces que fue vendido el
producto (Usando Countrows).
• SUMX (Relatedtable(Sales), Sales [Quantity] * Sales [Unit Price])
DAX Tablas y Filtros
• Power BI permite crear tablas calculadas
• Esa tabla calculada surge de una formula, al que también
puedo indicarle filtros
• La nueva tabla funciona como cualquier otra tabla
• Ej: de los datos de ventas, puedo crear una tabla
“Productos”.
• En clase crearemos la tabla CALENDARAUTO
→ CALENDARAUTO() D
Dicha tabla nos traerá una columna con las fechascontinuas
desde el 01/01/ menor año de nuestro set de datos, hasta,
31/12/mayor año de nuestro set de datos
DAX Time Inteligence
• TOTALYTD
• TOTALMTD
• TOTALQTD
→ TOTALMTD(<expression>,<dates>[,<filter>])
→ TOTALMTD(TotalSales;Calendarauto[Date];
Country[CodPais]=2)
Las 3 anteriores acumulan para periodos diferentes, por lo tanto la sintaxis es la misma para todas.
Se calculan una ves y sirven para todos los años/trimestre/meses
• SAMEPERIODLASTYEAR se utiliza dentro de nuestro ‘Comodín’
Ej
→CALCULATE(SUM(ColumnA[Sales]);
SAMEPERIODLASTYEAR(Calendarauto[Date]))
• Power BI en todas sus actualizaciones incluye
nuevas formulas DAX es un lenguaje que esta en
constante crecimiento.
Podemos llegar a los mismos resultados haciendo
caminos distintos (Recordar Ejemplo CALCULATE y
SUMX).

Más contenido relacionado

Similar a presentacion dax cun Y TRANSFORMACION DIGITAL ESTANDARIZADA

IMPORTANCIA EXCEL
IMPORTANCIA EXCELIMPORTANCIA EXCEL
IMPORTANCIA EXCELMOLINAXX
 
IMPORTANCIA DE EXCEL
IMPORTANCIA DE EXCELIMPORTANCIA DE EXCEL
IMPORTANCIA DE EXCELMOLINAXX
 
data analytics power bi nivel basico capitulo 1
data analytics power bi nivel basico capitulo 1data analytics power bi nivel basico capitulo 1
data analytics power bi nivel basico capitulo 1DoguitoRios
 
Conceptos generales de excel 2010
Conceptos generales de excel 2010Conceptos generales de excel 2010
Conceptos generales de excel 2010UNACH
 
GC-F-004_FORMULAS Y FUNCIONES.pptx
GC-F-004_FORMULAS Y FUNCIONES.pptxGC-F-004_FORMULAS Y FUNCIONES.pptx
GC-F-004_FORMULAS Y FUNCIONES.pptxElianaYinethLozanoTr
 
Apuntesexcel2010j
Apuntesexcel2010jApuntesexcel2010j
Apuntesexcel2010jJosFdez4
 
Guia2 excel
Guia2 excelGuia2 excel
Guia2 excelhgm2007
 
Fórmulas y funciones básicas descripción, sintaxis y ejercicios de aplicación.
Fórmulas y funciones básicas descripción, sintaxis y ejercicios de aplicación.Fórmulas y funciones básicas descripción, sintaxis y ejercicios de aplicación.
Fórmulas y funciones básicas descripción, sintaxis y ejercicios de aplicación.Andres Ruiz Bedoya
 
Excel intermedio v3
Excel intermedio v3Excel intermedio v3
Excel intermedio v3Gorki
 

Similar a presentacion dax cun Y TRANSFORMACION DIGITAL ESTANDARIZADA (20)

IMPORTANCIA EXCEL
IMPORTANCIA EXCELIMPORTANCIA EXCEL
IMPORTANCIA EXCEL
 
IMPORTANCIA DE EXCEL
IMPORTANCIA DE EXCELIMPORTANCIA DE EXCEL
IMPORTANCIA DE EXCEL
 
data analytics power bi nivel basico capitulo 1
data analytics power bi nivel basico capitulo 1data analytics power bi nivel basico capitulo 1
data analytics power bi nivel basico capitulo 1
 
Manual de excel
Manual de excelManual de excel
Manual de excel
 
Conceptos generales de excel 2010
Conceptos generales de excel 2010Conceptos generales de excel 2010
Conceptos generales de excel 2010
 
EXCEL
EXCELEXCEL
EXCEL
 
GC-F-004_FORMULAS Y FUNCIONES.pptx
GC-F-004_FORMULAS Y FUNCIONES.pptxGC-F-004_FORMULAS Y FUNCIONES.pptx
GC-F-004_FORMULAS Y FUNCIONES.pptx
 
glosario de excel
glosario de excelglosario de excel
glosario de excel
 
Hojas electro
Hojas electroHojas electro
Hojas electro
 
Hojas electronicas
Hojas electronicasHojas electronicas
Hojas electronicas
 
Parte ii excel
Parte ii excelParte ii excel
Parte ii excel
 
WW_EXCEL.pptx
WW_EXCEL.pptxWW_EXCEL.pptx
WW_EXCEL.pptx
 
Hojas de calculo
Hojas de calculoHojas de calculo
Hojas de calculo
 
Excel
ExcelExcel
Excel
 
Apuntesexcel2010j
Apuntesexcel2010jApuntesexcel2010j
Apuntesexcel2010j
 
Guia2 excel
Guia2 excelGuia2 excel
Guia2 excel
 
Fórmulas y funciones básicas descripción, sintaxis y ejercicios de aplicación.
Fórmulas y funciones básicas descripción, sintaxis y ejercicios de aplicación.Fórmulas y funciones básicas descripción, sintaxis y ejercicios de aplicación.
Fórmulas y funciones básicas descripción, sintaxis y ejercicios de aplicación.
 
Excel intermedio v3
Excel intermedio v3Excel intermedio v3
Excel intermedio v3
 
Tema2exceldecimos
Tema2exceldecimosTema2exceldecimos
Tema2exceldecimos
 
EXCEL
EXCELEXCEL
EXCEL
 

Más de ricardosusa5

INFRAESTRUCTURA TI COMO APOYO A LA EDUCACION SUPERIOR.pptx
INFRAESTRUCTURA TI COMO APOYO A LA EDUCACION SUPERIOR.pptxINFRAESTRUCTURA TI COMO APOYO A LA EDUCACION SUPERIOR.pptx
INFRAESTRUCTURA TI COMO APOYO A LA EDUCACION SUPERIOR.pptxricardosusa5
 
parametros-de-consulta EN PROGRAMACION CON POWER BI
parametros-de-consulta EN PROGRAMACION CON POWER BIparametros-de-consulta EN PROGRAMACION CON POWER BI
parametros-de-consulta EN PROGRAMACION CON POWER BIricardosusa5
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebsricardosusa5
 
Tipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.pptTipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.pptricardosusa5
 
estructura de datos y algoritmos repaso
estructura de  datos y algoritmos repasoestructura de  datos y algoritmos repaso
estructura de datos y algoritmos repasoricardosusa5
 
creacion_de_cuadros_de_mando.pdf
creacion_de_cuadros_de_mando.pdfcreacion_de_cuadros_de_mando.pdf
creacion_de_cuadros_de_mando.pdfricardosusa5
 

Más de ricardosusa5 (8)

INFRAESTRUCTURA TI COMO APOYO A LA EDUCACION SUPERIOR.pptx
INFRAESTRUCTURA TI COMO APOYO A LA EDUCACION SUPERIOR.pptxINFRAESTRUCTURA TI COMO APOYO A LA EDUCACION SUPERIOR.pptx
INFRAESTRUCTURA TI COMO APOYO A LA EDUCACION SUPERIOR.pptx
 
parametros-de-consulta EN PROGRAMACION CON POWER BI
parametros-de-consulta EN PROGRAMACION CON POWER BIparametros-de-consulta EN PROGRAMACION CON POWER BI
parametros-de-consulta EN PROGRAMACION CON POWER BI
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebs
 
Tipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.pptTipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.ppt
 
estructura de datos y algoritmos repaso
estructura de  datos y algoritmos repasoestructura de  datos y algoritmos repaso
estructura de datos y algoritmos repaso
 
creacion_de_cuadros_de_mando.pdf
creacion_de_cuadros_de_mando.pdfcreacion_de_cuadros_de_mando.pdf
creacion_de_cuadros_de_mando.pdf
 
GUIA ACA3.pdf
GUIA ACA3.pdfGUIA ACA3.pdf
GUIA ACA3.pdf
 
DETALLE ACA 2.pdf
DETALLE ACA 2.pdfDETALLE ACA 2.pdf
DETALLE ACA 2.pdf
 

Último

PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjNachisRamos
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucioneschorantina325
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...CENECOnline
 
Emprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC MexicoEmprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC MexicoCENECOnline
 
Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadJonathanHctorSilvaRo
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 

Último (6)

PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
 
Emprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC MexicoEmprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC Mexico
 
Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuad
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 

presentacion dax cun Y TRANSFORMACION DIGITAL ESTANDARIZADA

  • 3. DAX (Data Analysis Expressions) • Utiliza algunos conceptos de programación • DAX es simple, pero no es fácil. • No traten de aprenderlo en la forma habitual… • Mezcla de lenguaje Excel, SQL y MDX.
  • 4. DAX (Data Analysis Expressions) • Ejemplo de formula DAX:
  • 5. DAX (Data Analysis Expressions) • Sintaxis: • 'Table Name'[ColumnName] • Best Practice: • No usar espacios en nombres de tablas • Siempre incluir la tabla en las fórmulas
  • 6. DAX (Data Analysis Expressions) • Importante: • En Excel, puedo poner diferentes tipos de valores en cada celda. • En DAX, trabajo con tablas y columnas, por lo que todos los datos de cada columna deben ser del mismo tipo.
  • 7. DAX (Data Analysis Expressions) • Cada formula puede contener: • Funciones • Condicionales • Referencias a valores • Tablas • Tiempo
  • 8. DAX (Data Analysis Expressions) • Tipos de DAX • Numéricos • Fecha /Fecha y Hora • Texto • True/False • Binario • Importante: hay funciones que solo trabajan con Numéricos, y otros que trabajan con cualquier tipo de datos.
  • 9. DAX (Date Time) En DAX, los cálculos de fechas funcionan de la siguiente manera: • Parte entera: Número de días después del 30 de diciembre de 1899. • Parte decimal: Segundos: 1/(24*60*60) • Expresiones DateTime: • Date + 1 = el día después • Date – 1 = el día anterior • Date – 1,5 = un día y medio antes
  • 10. DAX (Calculos primarios) 2 tipos de cálculos usando DAX: Columnas calculadas Medidas calculadas Cuidado: el uso de columnas y medidas calculadas consume gran cantidad de RAM.
  • 11. DAX Columnas calculadas Son útiles cuando necesitamos crear una columna o filtrar de acuerdo a un valor, o si queremos hacer un cálculo para cada fila en una tabla.
  • 12. DAX Columnas calculadas Una vez seleccionado, aparece “Column =“ donde le podemos poner nombre a la columna y escribir la fórmula o haciendo clic Si hacemos referencia a una columna en la fórmula, no necesitamos hacer referencia a la fila. Power BI lo hace automáticamente.
  • 13. DAX Columnas calculadas En resumen: • Son columnas creadas usando DAX • Siempre toma en cuenta la fila actual • Product[Price] significa: • El valor del precio que figura en la columna (explicito) • En la tabla “Product” (explicito, opcional) • Para la fila actual (implícito) • Diferente para cada fila
  • 14. DAX Medidas calculadas Son útiles cuando estamos calculando porcentajes o ratios, o necesitamos formulas complejas. Ejemplo: Gross Margin % (no funciona en los reportes si creo una columna)
  • 15. DAX Medidas calculadas Una vez seleccionado, aparece “Measure =“. De la misma forma que las columnas, necesitamos: • Un nombre • Al menos una función o expresión Aparece como un campo en la tabla, identificado con el ícono.
  • 16. DAX Medidas calculadas No funciona fila por fila. Usa tablas y formulas. No utiliza el término “current row” Por eso debemos escribir funciones, y no solo referencias a columnas. Ejemplo: Gross margin es una columna calculada, puede ser una medida. Gross margin % tiene que ser una medida calculada.
  • 17. DAX Columna vs Medidas calculadas Usar columna calculada: • Necesitamos calcular un valor en cada fila, o aplicar un filtro en la formula. Usar medidas calculadas: • Calcular porcentajes • Calcular ratios • Calculos complejos Espacio y uso de CPU • Columnas consume memoria RAM • Medidas consume CPU
  • 18. DAX Tipos de Funciones Funciones de • Matemáticas • Lógicas • Información • Texto • Tiempo
  • 19. DAX Tipos de Funciones Similar a Excel Mientras ingresamos la función en la barra de formula, aparece una lista de funciones disponibles.
  • 20. DAX Matemáticos Útiles para agregar valores: • SUM → SUM ( table[column] ) • AVERAGE → AVERAGE ( table[column] ) • MIN → MIN ( table[column] ) • MAX →MAX ( table[column] ) • DIVIDE → DIVIDE ( <Numerator>, <Denominator> [, <AlternateResult>] ) Trabaja solamente con columnas numéricas. El SUM, Solamente suma una columna, a diferencia del SUMX que es función X • SUM ( Orders [Price]) • Funciones X: • Múltiples columnas • Iterativo en la tabla, y evalúa la expresión por cada fila.
  • 21. DAX Matemáticos • Funciones: • ABS, EXP • FACT, LN • LOG, LOG10 • MOD, PI • POWER, QUOTIENT • SIGN, SQRT • Son iguales a Excel. Por ejemplo: • → ABS ( <Number> ) • →ABS([DealerPrice]-[ListPrice])
  • 22. DAX Contar • COUNT Solo para columnas numéricas, fecha o string → COUNT(Table [column]) • COUNTA cuenta cualquier tipo de dato excepto blancos →COUNTA(Table [column]) • COUNTBLANK Cuenta blancos de cualquier tipo de dato de la columna ¡ el 0 es un dato! →COUNTBLANK(Table [column]) • COUNTROWS Filas en una tabla →COUNTROWS(Table [column]) • DISTINCTCOUNT cuenta valores distinto, ¡Blank es un dato! → DISTINCTCOUNT(Table [column]) • DISTINCTCOUNTNOBLANK cuenta todos los valores distintos de la columna sin incluir blanks → DISTINCTCOUNTNOBLANK (Table [column])
  • 23. DAX Funciones X • Es una variante de las funciones • SUMX • AVERAGEX • COUNTX • MINX • MAXX • Iteración en la tabla y evalúa la expresión por cada fila • Siempre recibe 2 parámetros • 1 Tabla • 1 Formula para evaluar por cada fila • Ej valido para todas las formulas X→ COUNTX(<table>;<expression>) → SUMX (Table; Table [column A] * Table [column B] ) → MAXX( Table; (Table [column F]) - Table [column Z]) *10)
  • 24. • CON FILTER: • →AVERAGEX(Filter(Table; <filter1> );<expression>) Función Comodin CALCULATE • →CALCULATE(<expression>;<filter1>;<filter2>…) Es lo mismo: → SUMX (Filter(Table; [column CodPais]=54); Table [column A] * Table [column B] ) →CALCULATE(SUMX (Table; Table [column A] * Table [column B] ); [column CodPais]=54)
  • 25. DAX Lógicas • AND • OR • NOT • IF • IFERROR IF/IFERROR son muy utilizados AND/OR/NOT puede ser expresados por operadores: AND(A,B) = A && B →IF( <condición>; Resultado si se cumple la condición; Resultado si NO se cumple la condición)
  • 26. DAX Funciones de Información • ISBLANK • ISNUMBER • ISTEXT • ISNONTEXT • ISERROR Funciones que devuelven TRUE/ FALSE. La sintaxis es la misma para cualquiera de ellas. → ISERROR(<value>) Pondremos un ejemplo utilizándola dentro de una formula compuesta.
  • 27. • recordando: → IF(<logical_test>,<value_if_true>[, <value_if_false>]) entonces →IF( ISERROR(SUM( TableA[SalesAmount_USD]) /SUM(TableB[SalesAmount_USD]) ) ; BLANK() ; SUM(TableA[SalesAmount_USD]) /SUM(TableB[SalesAmount_USD]) )
  • 28. DAX Funciones de Texto • Concatenate • Find, Left, Right, Mid • Len, Lower, Upper • Rept, Substitute • Trim, • Value, Exact, Fixed • Format https://msdn.microsoft.com/query-bi/dax/pre-defined-numeric- formats-for-the-format-function • https://msdn.microsoft.com/query-bi/dax/pre-defined-date-and- time-formats-for-the-format-function (Se verán los ejemplos en clase) Similares a Excel
  • 29. DAX Funciones de Fechas • DAY, WEEKNUM, MONTH, YEAR • DATEVALUE, EDATE, EOMONTH • HOUR, MINUTE, SECOND • NOW, TODAY, DATE, TIME • WEEKDAY, YEARFRAC Todas admiten una columna. Son muy útiles, pero se pueden simplificar usando una tabla de fechas. Ej; → DAY(Table[Column]) → YEAR(Calendar[Date])
  • 30. DAX Uso de Variables • Power BI permite utilizar Variables para simplificar el lenguaje y tipeo de formulas complejas • Ejemplo:
  • 31. DAX Relaciones de tablas • Si quiero usar datos de otras tablas, y lo ingreso directamente en la formula, me da error. Entonces uso: • RELATED • Utilizado para buscar valores en otra tabla que esté relacionada. • Se usa para relaciones many to one. (*,1) • Ejemplo: Quiero calcular ventas totales utilizando una lista de precios en otra tabla. • SUMX (Sales, Sales [Quantity] * Related (Product [Unit Price])) • RELATEDTABLE • Idem RELATED, pero se utiliza para relaciones one to many.(1,*) • Ejemplo: Tengo una lista de productos, y quiero calcular las unidades vendidas (usando sumX), o la cantidad de veces que fue vendido el producto (Usando Countrows). • SUMX (Relatedtable(Sales), Sales [Quantity] * Sales [Unit Price])
  • 32. DAX Tablas y Filtros • Power BI permite crear tablas calculadas • Esa tabla calculada surge de una formula, al que también puedo indicarle filtros • La nueva tabla funciona como cualquier otra tabla • Ej: de los datos de ventas, puedo crear una tabla “Productos”. • En clase crearemos la tabla CALENDARAUTO → CALENDARAUTO() D Dicha tabla nos traerá una columna con las fechascontinuas desde el 01/01/ menor año de nuestro set de datos, hasta, 31/12/mayor año de nuestro set de datos
  • 33. DAX Time Inteligence • TOTALYTD • TOTALMTD • TOTALQTD → TOTALMTD(<expression>,<dates>[,<filter>]) → TOTALMTD(TotalSales;Calendarauto[Date]; Country[CodPais]=2) Las 3 anteriores acumulan para periodos diferentes, por lo tanto la sintaxis es la misma para todas. Se calculan una ves y sirven para todos los años/trimestre/meses • SAMEPERIODLASTYEAR se utiliza dentro de nuestro ‘Comodín’ Ej →CALCULATE(SUM(ColumnA[Sales]); SAMEPERIODLASTYEAR(Calendarauto[Date]))
  • 34. • Power BI en todas sus actualizaciones incluye nuevas formulas DAX es un lenguaje que esta en constante crecimiento. Podemos llegar a los mismos resultados haciendo caminos distintos (Recordar Ejemplo CALCULATE y SUMX).