Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porÓscar Franco Quintero Modificado hace 8 años
1
##SQLSatMadrid Para crear modelos analíticos: ¿Power Query o Power Pivot? ¿M o DAX? Ana María Bisbé York Consultora BI http://amby.net/ anabisbe@amby.net @ambynet
2
##SQLSatMadrid BIG Thanks to SQLSatMadrid Sponsors
3
##SQLSatMadrid 4 Sponsor Sessions at 11:40 Don’t miss them, they might be getting distributing some awesome prizes! HPE SolidQ KABEL TSD Consulting Also BIG Raffle prizes at the end of the event provided by: Plainconcepts, SolidQ, Kabel, TSD Consulting, Pyramid Analytics & sqlpass.es
4
##SQLSatMadrid Agenda Modelos tabulares con Microsoft Excel Power BI vs Power BI Desktop Power Query vs Power Pivot M vs DAX Combinar consultas vs RELATED() Agrupar columnas vs RELATEDTABLE() Control de errores Columnas calculadas vs transformaciones de consulta BI de tiempos Semanas Columnas vs Medidas Granularidad Analizar en Excel desde PowerBI 4 |
5
##SQLSatMadrid Consulta y Modelos tabulares Consulta para acceder a datos Lenguaje M Modelos tabulares Basados en tablas y sus relaciones Lenguaje DAX Data Analysis Expressions Entornos tabulares Microsoft SQL Server Analysis Services Tabular Power Pivot Power BI
6
##SQLSatMadrid EXCEL VS POWER BI
7
##SQLSatMadrid Excel vs Power BI Excel - herramienta madura de Microsoft con muchas funcionalidades además de Power BI http://amby.net/2016/03/14/serie-ms-office-excel-2016/ http://amby.net/2016/03/14/serie-ms-office-excel-2016/ MS Excel 2016 Mejoras en tabla dinámica Nuevos gráficos Hojas de pronóstico Nuevas funciones Excel y DAX Obtener y transformar vs Power Query Mejoras en Power Pivot Power View Mapas 3D vs Power Map Mejoras en colaboración Excel 2016 y PowerBI Excel 2016 para Office 365
8
##SQLSatMadrid Excel vs Power BI Power BI - Mucho más que PowerBI Desktop
9
##SQLSatMadrid Excel vs Power BI Power BI acaba de cumplir un año https://powerbi.microsoft.com/es-es/blog/happy-first-birthday-to-power-bi/ https://powerbi.microsoft.com/es-es/blog/happy-first-birthday-to-power-bi/
10
##SQLSatMadrid Excel vs Power BI - interfaz Power BI Query Designer vs Power Query Apenas se diferencian estéticamente
11
##SQLSatMadrid Excel vs Power BI - interfaz Vista relaciones
12
##SQLSatMadrid Excel vs Power BI - interfaz Vista Datos
13
##SQLSatMadrid ¿Excel vs Power BI? Lo mejor de ambos mundos Excel como herramienta de uso masivo sigue siendo imprescindible También para consumir Power BI Power BI es y será en el futuro la herramienta más utilizada, con independencia del origen de datos para crear modelos, publicar, compartir y consumir modelos analíticos Se hermana con Excel, como origen y destino
14
##SQLSatMadrid POWER QUERY VS POWER PIVOT
15
##SQLSatMadrid Power Query vs Power Pivot Aspecto / HerramientaPower QueryPower Pivot Identificación de relaciones entre tablas en servidor SQL Server Al reutilizar la conexión, sí importa las relaciones entre tablas existentes en la base de datos de origen Al reutilizar la conexión, no importa las relaciones entre tablas existentes en la base de datos de origen Extracción de datos Extrae un subconjunto para facilitar vista preliminar y realizar las transformaciones Importa los datos, creando una instantánea entre lo que hay físicamente en Excel y lo que hay en el servidor en el momento de la importación Ejecución de transformaciones En el servidor que corresponde al origen de datos, siempre que sea posible En Excel, al servidor de origen sólo se accede durante la importación y el procesado o recarga de datos
16
##SQLSatMadrid Power Query vs Power Pivot Aspecto / HerramientaPower QueryPower Pivot Uso de memoria Durante la creación de la consulta al no tener cargados todos los datos, no es un problema Al tener todos los datos almacenados en memoria, puede provocar problemas de rendimiento Consumo del resultado desde tabla dinámica (TD) No hay paso directo de PQ a TD Sí, nativo Consumo del resultado desde Power View (PV) No Sí, es origen de datos para PV Consumo del resultado desde Power Map (PM) No Sí, es origen de datos para PM Lenguaje para transformaciones Lenguaje M para extracción y transformación Lenguaje de expresiones DAX para crear columnas calculadas y medidas
17
##SQLSatMadrid Power Query vs Power Pivot Aspecto / HerramientaPower QueryPower Pivot Opciones de menú para transformaciones Cubren todas las transformaciones básicas necesarias No existen opciones de menú para transformaciones. Para crear columnas calculadas y/o medidas hay que escribir expresiones DAX Opciones de menú para propiedades Si, existen Curva de aprendizaje No hay que aprender M, conviene entenderlo y trabajar, en algún caso, desde el editor avanzado de código No se puede evitar, hay que entender DAX, que aunque puede recordar a Excel y/o al mundo relacional, es diferente y puede costar entender su comportamiento
18
##SQLSatMadrid Power Query vs Power Pivot Aspecto / HerramientaPower QueryPower Pivot Reusabilidad La consulta en M, puede ser copiada y pegada en otro libro Excel, ejecuta, modificada a mano, por ejemplo, es muy sencillo actualizar la ruta de un origen de datos No es posible “copiar” y “pegar” un modelo tabular creado en PowerPivot, lo que sí se puede hacer es consultar, con DAX, uno existente ResultadoConsultaModelo tabular Funcionalidad Definir la consulta para extraer datos, transformarlos y cargarlos en hojas Excel y/o Modelos de datos (Power BI Designer) Su funcionalidad es crear el Modelo tabular que será consumido, entre otros, por tablas y gráficos dinámicos, PV y PM
19
##SQLSatMadrid ¿Power Query vs Power Pivot? Lo mejor de ambos mundos Power Query para acceder, limpiar, y transformar datos que llegan desde todo tipo de origen Lenguaje M Power Pivot para modelar, clasificar columnas por categorías, crear jerarquías, sinónimos, crear cálculos Lenguaje DAX http://amby.net/2015/03/04/serie-power-query-vs-power-pivot/ http://amby.net/2015/03/04/serie-power-query-vs-power-pivot/
20
##SQLSatMadrid Consulta vs Modelo Escenarios Normalizar o De-normalizar Funcionalidad de los campos en el modelo Jerarquías de usuario Obtención de agregados Detalles específicos dentro de los agregados Control de errores División por cero Errores en conversión de datos BI de tiempos Semanas
21
##SQLSatMadrid M - COMBINAR VS DAX - RELATED() Escenario: De-normalizar
22
##SQLSatMadrid Escenario Los campos Subcategoría y Categoría sólo sirven para describir el Producto El objetivo es analizar desde jerarquía Obtención de detalles por niveles
23
##SQLSatMadrid Combinar M vs RELATED() DAX Combinar RELATED()
24
##SQLSatMadrid M - AGRUPAR VS DAX - RELATEDTABLE() Escenario: Agregados
25
##SQLSatMadrid Escenario Escenario La columna CodCliente se repite tantas veces como haya comprado cada uno de los clientes Objetivos para cada cliente ¿Cuántas veces ha comprado? Agregado ¿Cuánto ha comprado? Agregado ¿Por cuánto compró la primera y última vez? Detalle
26
##SQLSatMadrid Agregados y Detalles Consulta DAX
27
##SQLSatMadrid M – Agrupar filas - Agregados Ordenar previamente por columna Fechas Agrupar Definir granularidad del grupo Seleccionar CodCliente Columnas agrupadas CantidadVeces – conteo de filas Ingresos – Suma de las Ventas DetalleVentas – todos las filas
28
##SQLSatMadrid M – Agrupar filas - Agregados Ver Resultados Ver detalles
29
##SQLSatMadrid M – Agrupar filas - Detalles Agregar dos líneas con el código para obtener el monto de la primera y última venta
30
##SQLSatMadrid M – Agrupar filas – Agregados y detalles Ver Resultado Ver detalles
31
##SQLSatMadrid DAX – Agregar con RELATEDTABLE() RELATEDTABLE() Sigue la relación 1:M y devuelve todas las filas que se relacionan con la fila actual Ver datos
32
##SQLSatMadrid M – FUNCIONES VARIAS VS DAX – FUNCIONES VARIAS Escenario: Control de errores
33
##SQLSatMadrid Control de errores Escenarios Error al convertir tipo de datos Error al realizar operaciones con “números” División Posibles soluciones Eliminar toda la fila, ¿cómo? No, no, cuidadín Curarse en salud preguntando por el error y sustituyendo… antes de Obtener información detallada del error Devolver el dato al origen para su corrección
34
##SQLSatMadrid M – Control de errores - Conversión Utilizar TRY…0 Ver resultado
35
##SQLSatMadrid M – Control de errores - División División por cero y otros errores Columna calculada en la consulta Resultados Problemas Si el numerador o denominador no es número Devuelve Error Si el numerador o denominador es NULL Devuelve NULL Si el denominador es cero: Infinity si el numerador es positivo -Infinity si el numerador es negativo 0/0 devuelve NaN
36
##SQLSatMadrid M – Control de errores - División Uso de función TRY (código M) Resultado, registro con detalles Expandir y ver detalles Resultado, registro con detalles
37
##SQLSatMadrid M – Control de errores - División Utilizar función TRY con sustitución Ver resultados
38
##SQLSatMadrid M – Control de errores - División Crear función - comprobar registros con errores Nueva consulta en blanco Crear función
39
##SQLSatMadrid M – Control de errores - División Ver función creada Comprobar calidad datos
40
##SQLSatMadrid DAX – ¿Control de calidad y tipos de datos? Para DAX ya es tarde Las funciones de control de errores en DAX son lentas, Muy muy dañinas para el rendimiento En el momento de modelado hay que saber ya de qué tipo es nuestro dato y garantizar su limpieza Columna ID, columna de relación No duplicados Tipo correcto Control de calidad de datos Consulta, consulta y otra vez consulta Código M - TRY
41
##SQLSatMadrid Control de errores en DAX Funciones DAX DIVIDE(), optimizado por el motor
42
##SQLSatMadrid M – FUNCIONES NATIVAS VS DAX – NO EXISTEN FUNCIONES Escenario: BI de tiempo - Semanas
43
##SQLSatMadrid Escenarios BI de tiempos Lo mejor de ambos mundos Crear las columnas desde Power Query, las necesarias Disfrutar de las funciones DAX de BI de tiempo ¿Y qué hay para semanas?
44
##SQLSatMadrid BI de tiempos – DAX Períodos anteriores y posteriores
45
##SQLSatMadrid Consulta – BI de tiempos Transformaciones disponibles para Semanas M
46
##SQLSatMadrid Consulta BI de Tiempo Devuelve Verdadero o Falso ¿Semana pasada? ¿Últimas n semanas? ¿Semana actual? ¿Próxima semana? Devuelve Fecha Suma y Resta semanas ¿Hay funciones para estos escenarios? Sí, hay funciones en lenguaje M nativo
47
##SQLSatMadrid Consulta BI de Tiempo - ¡¡¡ Ayuda !!! Nueva consulta en blanco Función #shared Devuelve funciones y enumeradores del lenguaje M Convertir a tabla Resultado
48
##SQLSatMadrid Consulta BI de Tiempo Obtener ayuda de la referencia del lenguaje Filtrar por “Week” Resultado Crear nuevas consultas (funciones)
49
##SQLSatMadrid Consulta BI de Tiempo Crear las funciones necesarias Dar respuesta a requerimientos Crear columnas que llamen a las funciones
50
##SQLSatMadrid Consulta BI de Tiempo Resultado Final
51
##SQLSatMadrid DAX – FUNCIONES ¿Olvidar DAX? De eso nada !!! DAX es nuestro mejor aliado a la hora de modelar
52
##SQLSatMadrid Escenarios Jerarquías no balanceadas: padre-hijo Identificación y uso de patrones Filtros avanzados Crear tablas, columnas calculadas y medidas
53
##SQLSatMadrid Variables en DAX Muy útil y poderoso Ventajas Legibilidad del código Menos repeticiones La variable garantiza que la evaluación de la expresión ocurre una sola vez Todos los tipos de datos están soportados en las variables
54
##SQLSatMadrid Uso de Columnas calculadas vs Medidas Columnas Filtros Segmentadores Es necesario tener el dato visible Análisis ABC o de Pareto Medidas Cálculos para implementar lógica BI de tiempos Cálculos de Porcentajes Ratios Agregaciones complejas
55
##SQLSatMadrid Cálculos DAX para modelos tabulares Columnas calculadas ¡¡ evitar las innecesarias !! Estas dos son innecesarias, crear medidas Medida o campo calculado Tabla calculada
56
##SQLSatMadrid DAX columnas vs medidas Analizar en Excel Contenido modelo Power BI vs Excel Replica exactamente el modelo Al panel valores sólo se pueden agregar las Medidas No reconoce las columnas numéricas como valores
57
##SQLSatMadrid ¿Preguntas? Ana María Bisbé York anabisbe@amby.net anabisbe@amby.net http://amby.net/ http://amby.net/ @ambynet ¡¡ Gracias !!
58
##SQLSatMadrid Recursos Consultas y M Libro https://www.amazon.com/gp/product/1615 470395/ref=as_li_tl?ie=UTF8&camp=1789 &creative=390957&creativeASIN=161547 0395&linkCode=as2&tag=powe022- 20&linkId=QHM62FCPUOXVRTIJ https://www.amazon.com/gp/product/1615 470395/ref=as_li_tl?ie=UTF8&camp=1789 &creative=390957&creativeASIN=161547 0395&linkCode=as2&tag=powe022- 20&linkId=QHM62FCPUOXVRTIJ Comparativas entre herramientas https://www.youtube.com/watch?v=clIjG9q 3iTk https://www.youtube.com/watch?v=clIjG9q 3iTk http://amby.net/2015/03/04/serie-power- query-vs-power-pivot/ http://amby.net/2015/03/04/serie-power- query-vs-power-pivot/ Power Query y lenguaje M http://radacad.com/tutorial-introduction-to- power-query http://radacad.com/tutorial-introduction-to- power-query http://radacad.com/power-query-formula- language-m http://radacad.com/power-query-formula- language-m
59
##SQLSatMadrid Recursos Consultas y M Uso de Shared http://radacad.com/power-query-library-of-functions- shared-keyword http://radacad.com/power-query-library-of-functions- shared-keyword http://radacad.com/how-to-get-list-of-all-functions- and-invoke-them-in-power-query http://radacad.com/how-to-get-list-of-all-functions- and-invoke-them-in-power-query Trabajo con Semanas http://radacad.com/grouping-in-power-query-getting- the-last-item-in-each-group http://radacad.com/grouping-in-power-query-getting- the-last-item-in-each-group Y más… https://blog.crossjoin.co.uk/2016/05/15/creating-m- functions-from-parameterised-queries-in-power-bi/ https://blog.crossjoin.co.uk/2016/05/15/creating-m- functions-from-parameterised-queries-in-power-bi/
60
##SQLSatMadrid Recursos DAX Libro http://www.amazon.es/dp/073569 835X/?tag=wwwsqlbicom0f-21 http://www.amazon.es/dp/073569 835X/?tag=wwwsqlbicom0f-21 BI Tiempos https://www.sqlbi.com/articles/we ek-based-time-intelligence-in- dax/ https://www.sqlbi.com/articles/we ek-based-time-intelligence-in- dax/ Patrones http://www.daxpatterns.com/ http://www.daxpatterns.com/ http://www.daxpatterns.com/usec ases/ http://www.daxpatterns.com/usec ases/
61
##SQLSatMadrid Recursos DAX Trabajo con semanas desde DAX https://www.sqlbi.com/articles/week-based-time- intelligence-in-dax/ https://www.sqlbi.com/articles/week-based-time- intelligence-in-dax/ Y más… https://blog.crossjoin.co.uk/2015/12/15/power-bi-desktop- sort-by-column-and-dax-calculations-that-use-the-all- function/ https://blog.crossjoin.co.uk/2015/12/15/power-bi-desktop- sort-by-column-and-dax-calculations-that-use-the-all- function/ https://projectbotticelli.com/knowledge/dax-calculated- columns-vs-measures-video-tutorial https://projectbotticelli.com/knowledge/dax-calculated- columns-vs-measures-video-tutorial https://projectbotticelli.com/knowledge/what-is-time- intelligence-video-tutorial https://projectbotticelli.com/knowledge/what-is-time- intelligence-video-tutorial https://projectbotticelli.com/knowledge/how-calculate- hierarchies-dax-video-tutorial-data-analysis-expressions https://projectbotticelli.com/knowledge/how-calculate- hierarchies-dax-video-tutorial-data-analysis-expressions
62
##SQLSatMadrid BIG Thanks to SQLSatMadrid Sponsors
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.