Introducción a DAX, problema vs solución

Slides:



Advertisements
Presentaciones similares
Base de Datos II.
Advertisements

Herramientas informáticas Hojas de cálculo
integridad referencial
Excel Avanzado CONTENIDOS.
ORACLE OLAP Integrantes: *Aizaga, Martiniano *Gallegos, Marina
EN EXCEL SE PUEDE REALIZAR FILTROS EN CUYO FIN ES UNA FORMA RAPIDA Y FACIL DE BUSCAR UN SUBCONJUNTO EN SUB TOTALES SON CON UNA FUNCION DE RESUMEN COMO.
Business Intelligence (BI) Software (Software de Inteligencia Impresario)
Aprendizaje de Microsoft® Access® 2010
SQL G r u p o
Especialista en Business Intelligence Reporting Services SSRS (Sesión 16) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Especialista en Business Intelligence Analysis Services SSAS (Sesión 11) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
• SQL Server Analysis Services
Especialista en Business Intelligence Integration Services SSIS (Sesión 5) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
• SQL Reporting Services
SQL Server Integration Services SSIS
• SQL Server Analysis Services
• SQL Server Integration Services SSIS
Consultas anidadas.
• SQL Server Integration Services SSIS
Tema: Las Consultas (I) Aspectos generales. Tipos de consultas
Oracle, orientado a objetos
Analysis Service Expresiones
Especialista en Business Intelligence Integration Services SSIS Transformaciones (Parte 2) Microsoft SQL Server 2008 R2 Suscribase a
INFOMATICA EMPRESARIAL Principales Contenidos: Clase 26 de Mayo de 2012 Alejandra Meliza Caro Profesor.
Herramientas informáticas Hojas de cálculo
SQL Básico Prof. Nelliud D. Torres.
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
Datos, datos y más datos: Funciones
Subconsultas Avanzadas
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Colegio de Bachilleres Xochimilco Tepepan Plantel No. 13 Stone Chávez Mayra Fernanda Gabriela Pichardo Grupo: 308 Equipo: 22 1Stone Chávez Mayra Fernanda.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 6 Subconsultas.
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Autora: Francisca Montañez Muñoz
Excel 2010 Nivel intermedio.
Introducción a Bases de Datos en Microsoft Access Programación de Computadoras 2 Sección: P.
GUTIÉRREZ GRANADOS HÉCTOR DANIEL
Bases de Datos Sql.
Bases de Datos en Excel Microsoft Excel aporta al usuario la posibilidad de trabajar con tablas de información: nombres, direcciones, teléfonos, zonas,
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
BASES DE DATOS Saúl morales Rodríguez Miguel cinto al monte.
Access.
Microsoft Access Microsoft Access, es la base de datos relacional más popular, además forma parte de la aplicación de Microsoft Office. Permite crear.
Taller de Inteligencia de Negocios SQL Server Analysis Services Semana 9.
Instructor: Christian Montoya
ISAE UNIVERSIDAD FACULTAD DE CIENCIAS TECNOLOGICAS TECNICO EN INFORMATICA CURSO TECNOLOGIA DE LA INFORMACIÒN Y COMUNICACIÒN PARTICIPANTES: DEXSI DELGADO.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
ORACLE OLAP CAECE Integrantes: *Aizaga, Martiniano *Gallegos, Marina *Kleinlein, Guillermo *Schiano di Cola, Emiliano.
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
HERRAMIENTAS OFIMÁTICAS M.S.C. IVETTE HERNÁNDEZ DÁVILA
SQL Server Analysis Services SSAS
GESTION PRODUCTIVA LTDA.
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
INTERFAZ DE ACCESS  Access es un sistema gestor de bases de datos relacionales (SGBD). Una base de datos suele definirse como un conjunto de información.
Taller de Inteligencia de Negocios SQL Server Analysis Services Semana 8.
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
4ta. Unidad Excel Tablas dinámicas en Excel. Objetivo Conocer la funcionalidad de las tablas dinámicas en Excel. Contenidos Definiciones Funcionalidad.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Fuentes consultadas Fuentes consultadas Medios de Transmisión Medios de Transmisión Actividades de aprendizaje Actividades de aprendizaje Propósito Introducción.
¿Qué es una base de datos? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Desde.
Para cada uno de los atributos, indicaremos su campo de descripción. Cuando un campo no dispone de este (como el.
Curso de Excel Intermedio Dr. Pedro Salcedo Lagos Mail: Web: Ref:
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
Prácticas de Cierre MOS Excel 2010 │ Microsoft Office Specialist Microsoft Office Specialist: Excel 2010 Cada diapositiva contiene un cuadro de color.
DML Transact SQL Sesión VI Trabajando con subconsultas.
Extracción automática de datos mediante BIML
El tiempo es oro y se mide con Power BI
Transcripción de la presentación:

Introducción a DAX, problema vs solución Ana María Bisbé York Consultora BI #sqlsatMadrid #sqlsat459 anabisbe@amby.net @ambynet

3 Sponsor Sessions at 11:30 Don’t miss them, they might be getting distributing some awesome prizes! HP SolidQ Pyramid Analytics Also Raffle prizes at the end of the event provided by HP, SolidQ, Pyramid Analytics, Altran & Microsoft

Our Main Sponsors:

Introducción a DAX, problema vs solución Agenda Modelos tabulares DAX vs Excel DAX vs T-SQL DAX vs MDX Solucionando problemas Columnas calculadas vs medidas Contextos Patrones BI de tiempos

Modelos tabulares… dax

DAX … algo nuevo Modelo tabular Orígenes de datos Tablas Columnas No olvidar Power Query  Tablas Columnas Relaciones Jerarquías Otras funcionalidades

Modelos tabulares DEMO

Demo Modelo tabular

Lenguaje de expresiones DAX Encontramos DAX en PowerPivot para Excel y Sharepoint BISM – Modelo tabular PowerBI http://amby.net/2012/07/02/resumen-serie-ssas-2012-con-modelo-tabular/ http://amby.net/2012/05/04/serie-powerpivot-con-sql-server-2008r2-y-2012/

Lenguaje de expresiones DAX DAX – Data Analysis Expressions DAX - colección de funciones, operadores, referencias y valores constantes que se pueden utilizar en una fórmula o expresión, para calcular y devolver uno o más valores. Las expresiones DAX brindan capacidades de cálculo, de integración de datos y más.

Comparación DAX vs Excel, SQL y MDX Resumen comparativo DAX, lenguaje funcional, todo en DAX es una expresión, como Excel DAX usa modelo tabular relacional, como T-SQL DAX usa concepto de contexto actual, como MDX

Dax vs Excel

DAX vs MS Office Excel Creado a partir del lenguaje de fórmulas Excel PowerPivot es una herramienta para usuarios expertos de Excel Muchas funciones existen igual en Excel Ambos son lenguajes funcionales, todo en Excel y DAX es una expresión Reduce la curva de aprendizaje En poco tiempo se crean las primeras columnas calculadas y medidas 

DAX vs MS Office Excel DAX es diferente a Excel, Celdas vs tablas y columnas No se puede copiar y pegar una fórmula de uno en otro Hay un conjunto de funcionalidades que no existen en Excel BI de tiempos

DAX vs MS Office Excel DAX es diferente a Excel, Diferencia de sintaxis en Excel, no existente en DAX =SUMA([Importe]) vs =SUMA([@Importe]) Uso de iteradores en DAX, no existen en Excel =SUMX(Ventas, Ventas[Cantidad]*Ventas[Precio]) Excel exige la columna para poder crear agregado

DAX vs Excel

Dax vs T-SQL

DAX vs SQL Consultas al modelo como si de una base de datos relacional se tratara EVALUATE vs SELECT FROM Selección de columnas WHERE ORDER BY GROUP BY, con y sin agregados

Consultar DAX - Recurso https://daxstudio.codeplex.com/

DAX vs SQL

DAX vs SQL

DAX vs TSQL DEMO

DAX vs SQL

Recurso – DAXFormatter.com http://www.sqlbi.com/articles/rules-for-dax-code-formatting/ http://www.sqlbi.com/articles/rules-for-dax-code-formatting/

DAX vs SQL Trabajo con relaciones entre tablas: igual y a la vez diferente  En DAX, no hay que expresar la condición del JOIN Sólo LEFT JOIN Subconsultas SQL = funciones anidadas DAX

DAX vs SQL - JOIN

DAX vs SQL – JOIN más agregado

DAX vs SQL – Subconsultas

DAX vs MDX

DAX vs MDX Saber MDX no ayuda demasiado para aprender DAX  Dos tipos de modelos, dos sabores, funcionalidades compartidas,… o no Ambos son lenguajes de programación En MDX, repositorio para código, para crear miembros y conjuntos y además, existe SCOPE En DAX, nada de esto; pero a su favor Creación de columnas calculadas Ambos son lenguajes de consulta En MDX, para consultar: SELECT En DAX, para consultar: EVALUATE

DAX vs MDX Otras razones para cambiar de forma de pensar Diferente trabajo con jerarquías MDX se apoya en las jerarquías, digamos… (PrevMember(CurrentMember)) DAX filtra tablas, no usa las jerarquías más que para visualizar Función de agregación MDX utiliza la función de agregación definida en el modelo multidimensional DAX necesita que se especifique en la expresión, no existe definición de función de agregado en el modelo tabular

Columnas calculadas vs medidas en DAX

Columnas calculadas vs medidas… algo nuevo Dos tipos de cálculos: Columnas calculadas Se evalúa cada fila Consume más recursos, calcula para cada fila de la tabla Cálculo inmediato, en columnas, dentro del modelo Tabular Medidas Nuevo campo en la tabla PowerPivot – se evalúa en el momento que se agrega a la tabla/gráfico Consume menos recursos, sólo se calcula para las celdas que se utilizan en tablas y gráficos dinámicos Cálculo dinámico, en medidas o cálculos, al vuelo para cada celda de la tabla dinámica

Columnas calculadas DEMO

DEMO Columnas calculadas con DAX Ya teníamos de las jerarquías: -- Sentido relación M:1 En Productos =RELATED(Categorias[EnglishProductCategoryName]) =RELATED(Subcategorias[EnglishProductSubcategoryName]) En Clientes =RELATED(Geografia[EnglishCountryRegionName]) Ventas Margen:=Ventas[Venta]-Ventas[Coste] VentasNegativas=IF(Ventas[SalesTerritoryKey]=1;-1*Ventas[Venta];Ventas[Venta]) Productos LíneaProductos=SWITCH(Productos[Línea];"T";"Turismo";"M";"Montaña";"R";"Ruta";"S";"Sencilla";"Sin Asignar") Clientes: =IF(Clientes[Ingresos]>50000;"Alto";IF(Clientes[Ingresos]>30000;"Medio";"Bajo")) Fechas: Semestre:=ROUNDUP(MONTH(Fechas[FullDateAlternateKey])/6;0) Territorios: -- Calcular agregado en tabla relacionada -- Sentido relación 1:M =SUMX(RELATEDTABLE(Ventas);Ventas[Venta])

Medidas DEMO

DEMO Medidas con DAX 3.- Trabajo con Medidas Columnas vs Medidas %Margen -- Primero como columna calculada Margen%=Ventas[Margen]/Ventas[Venta] -- Luego, lo mismo; pero como Medida %Margen_M %Margen_M=SUM(Ventas[Margen])/SUM(Ventas[Venta]) -- Correcto Medidas y agregados simples y complejos SumaVentas:=SUM(Ventas[Venta]) SumaXVentas:=SUMX(Ventas;Ventas[Venta]) -- Uso de SUMX para sumar varias columnas SumaXCantidadPrecio:=SUMX(Ventas;Ventas[Cantidad]*Ventas[Precio]) SumaXVentasIVA:=SUMX(Ventas;Ventas[Venta]+Ventas[IVA])

Columna calculada vs Medida En filas y/o columnas de tabla dinámica En segmentadores En agrupaciones o categorizaciones de elementos, para discretizar datos Medida Examinar el resultado como valor, en el panel central de tabla dinámica Utilizar este valor como origen de datos para KPI Su valor dependerá del contexto definido por el usuario en la tabla dinámica Está afectado por filtros de tabla dinámica y segmentadores

Contextos en DAX

Contextos de evaluación Cada consulta se resuelve dentro de un contexto específico Contexto de filtro Siempre existe y define a un conjunto de filas activas en un cálculo Contexto de filas Existe sólo durante la iteración de una tabla y es la fila actual de la tabla en el momento de su iteración

Manipular el contexto de filtro Función CALCULATE Para manipular el contexto de filtro con filtros diferentes El argumento expresión es el único obligatorio La expresión del filtro es la que al ser evaluada modifica el contexto de filtro Pueden ser de dos tipos: Expresión lógica que contenga una sola columna, en ese caso, cualquier contexto de filtro sobre esta columna se sustituye por la nueva condición Una expresión de tabla que devuelve una o más columnas, en este caso, todos los filtros sobre las columnas devueltas por la expresión de tabla se sustituyen por la nueva condición de filtro

Propagación del contexto de filtros Cuando se aplica contexto de filtro sobre una tabla el filtro se propaga a las otras tablas relacionadas para cada relación uno a muchos (1:M) Si se aplica un filtro a una columna de la tabla Categoría, se propaga a Productos y también a Ventas No se propaga a Fechas

Contextos DEMO

Manipular el contexto de filtro

Manipular el contexto de filtro

Manipular el contexto de filtro

Manipular el contexto de filtro

Recurso http://www.amazon.es/dp/073569835X/?tag=wwwsqlbicom0f-21

BI de tiempos con DAX

Inteligencia de tiempos Comparar valores en períodos de tiempo equivalentes Requerimientos del modelo: Tabla de tiempos independiente, que contiene exclusivamente fechas y columnas derivadas sobre fechas La tabla de tiempos no puede contener saltos en fechas, de inicio a fin sin interrupciones El mínimo nivel de granularidad para el día, no puede incluir rangos de horas, el día es la mínima unidad. Al menos una columna tiene que ser de tipo fecha (Date) Utilizan funciones de inteligencia de tiempo para definir el comportamiento del negocio a través del tiempo Comparación de resultados entre años, donde el objetivo es un tanto porciento de crecimiento sobre el valor del período anterior

BI de tiempos DEMO

Períodos anteriores y posteriores TrimestreAnterior:= CALCULATE(SUM(Ventas[Ventas]); PREVIOUSQUARTER(Fechas[Fecha])) AñoAnterior:= CALCULATE(SUM(Ventas[Ventas]); PREVIOUSYEAR(Fechas[Fecha])) MismoPeríodoAñoPasado:= CALCULATE(SUM(Ventas[Ventas]); SAMEPERIODLASTYEAR(Fechas[Fecha]))

Períodos paralelos

Inteligencia de tiempos – Desde / Hasta

Agregar y comparar en el tiempo Obtener los totales desde inicios de año, trimestre, mes hasta día actual Conocidas como YTD (Year to date) Comparar estos agregados con los de años anteriores Ambos, agregados y comparativas cambian según el filtro de fecha y el nivel que se esté analizando

Acumulados

patrones

Clasificación ABC

Clasificación ABC

Clientes nuevos y recuperados

Clientes nuevos y recuperados

Recursos http://www.daxpatterns.com/ http://www.daxpatterns.com/usecases/

Resumen de recursos http://www.amazon.es/dp/073569835X/?tag=wwwsqlbicom0f-21 https://daxstudio.codeplex.com/ http://www.sqlbi.com/articles/rules-for-dax-code-formatting/ http://www.daxpatterns.com/

¿Preguntas? Ana María Bisbé York anabisbe@amby.net http://amby.net/ ¡¡ Gracias !!