0% encontró este documento útil (0 votos)
102 vistas84 páginas

Teoria

Cargado por

jefferson
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
102 vistas84 páginas

Teoria

Cargado por

jefferson
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

"El aprendizaje no es producido por la

enseñanza. El aprendizaje es producto


de la actividad de los aprendices”.
John Holt
Introducción al análisis
de datos con Power BI
Docente: Leandro Javier Teves
 Ingeniero industrial con experiencia en el área de
planeamiento, gestión y control comercial en el sector de
telecomunicaciones y comercio internacional.
 Analista de Datos en HPH Customs and International trade.
 Docente y creador de contenido de Excel y Power BI.

https://www.linkedin.com/in/leandro-javier-teves-7519b684

https://www.youtube.com/@aprendiendoconleandro

[email protected]
Análisis de datos y Microsoft
Los datos y la información son el recurso empresarial más estratégico
¿Qué es BI?
 Es la habilidad de transformar los datos en
información, y a su vez esta información en
conocimiento para la toma de decisiones.

¿Por qué implementar


Business Intelligence?
 Visibilidad a las áreas clave del negocio.
 Descubrir patrones ocultos en los datos.
 Mantener acceso rápido y oportuno a los datos.
 Realizar análisis predictivos.
 Integrar múltiples fuentes de datos.
Componentes de BI

ETL MODELAMIENTO REPORTES

Descubrimiento de datos Modelamiento de datos Visualización de datos


 Extracción de datos  Relaciones  Reportes
 Consolidación de fuentes  Fórmulas  Dashboard
 Limpieza y transformación  Indicadores  Contar historias
 Automatización  Optimización
¿Qué es Power BI?
 Es un servicio de análisis de negocio que proporciona
una vista detallada de los datos más críticos de la
organización.

Beneficios:
 Permite generar reportes y dashboard de forma
intuitiva.
 Capaz de manejar fuentes de información en la nube u
on premise.
 Se conecta a un gran número de fuentes de datos.
 Permite interactuar desde cualquier dispositivo (Ipad,
Iphone, Windows y Android).
Componentes de la Suite de Power BI

 Power BI Desktop:
Herramienta de escritorio (on premise) que, permite crear
reportes y conectar a muchas fuentes de datos, está
orientado al ambiente de desarrollo y permite crear cálculos
con DAX.
 Power BI Service:
Basado en el concepto de desarrollo en la nube, nos permite
compartir informes, crear visualizaciones y paneles.
 Power BI Mobile:
Permite acceder a los reportes desde un dispositivo móvil y
visualizar paneles e informes desde cualquier lugar.
Componentes de Power BI
Power Query
Extract Transform Load
Lenguaje M

Power Pivot
Data Analysis EXpression
Componentes iniciales de Power BI
 Power Query: Componente de Excel con la función de conectarse a múltiples
fuentes para transformarlas y limpiarlas de una manera rápida
y sencilla con la facilidad que se puede automatizar para
ejecutar estas tareas cuantas veces sea necesario (hace uso
del lenguaje M).
 Power Pivot: El componente más famoso y conocido con un gran motor
para el moldeamiento cálculo de indicadores y creación de
KPI’s, con una excelente compresión de los datos.
 Power View y Este componente se encarga de la construcción de reportes
Power Map: interactivos de una manera más natural y sencilla. Hoy en día
están desatendidos y únicamente se usa tecnologías de Drag
an Drop.
Rol del analista de datos en Power BI

• Proporciona información útil al aprovechar los datos disponibles y


aplicar su experiencia.
• Colabora con las partes interesadas clave en los segmentos verticales
para identificar los requisitos empresariales, limpiar y transformar los
datos.
• Responsable de diseñar y crear modelos de datos, informes y paneles
mediante Power BI.
• Conoce el manejo de Power Query (M) y en la escritura de expresiones
mediante DAX.
ETL
Power Query
 Es un motor de procesamiento de datos.
 Permite extraer, transformar y cargar los datos (ETL) al destino donde se
almacenarán.
 Incluye una interfaz gráfica para obtener datos de orígenes y un editor para aplicar
transformaciones.
 El lenguaje de transformación de datos es “M” (todo lo que sucede en la consulta
dentro de Power Query se escribe en este lenguaje, y se puede ver a través del editor
avanzado).
 Usualmente se entra a ver este código solo cuando uno quiere hacer
transformaciones avanzadas, sino basta con la interfaz gráfica.

“Los usuarios empresariales invierten hasta el 80 % de su


tiempo en preparar datos, lo que retrasa el trabajo de
análisis y toma de decisiones”.
Extracción de
Datos
Tipos de conexiones

IMPORT DIRECT QUERY


Esta opción permite que las tablas y columnas En esta opción no se “copian” los datos, Power
seleccionadas se importen a Power BI, es decir BI consulta directamente los datos requeridos
se hace una “copia” exacta de los datos, si la en las tablas previamente seleccionadas. Al ser
fuente de datos ha sufrido actualizaciones, es una conexión en vivo no es necesario actualizar
necesario actualizar en la herramienta para la conexión. Una limitación importante para
importar el nuevo conjunto de datos. Las tablas esta opción es que todas las tablas requeridas
pueden venir de fuentes de datos diferentes. deben provenir de una sola base de datos.

Limitación en tamaño de modelo: No podemos Limitación en DAX: No podemos usar todas las
exceder más de 1GB. expresiones.
Limitación en consultas: La obtención de los
datos va a depender del rendimiento de la base
de datos.
Recursos
 Power BI Desktop: https://www.microsoft.com/es-es/download/details.aspx?id=58494
 Conexión a WEB: https://es.wikipedia.org/wiki/Poblaci%C3%B3n_humana_mundial

 Conexión SQL:
Servidor: ------
Base de datos: ------
Usuario: ------
Password: ------
Transformación de
datos
Transformaciones
1. Primera fila como encabezado, tipo de valores en columnas, reemplazar valores, minúsculas, mayúsculas, recortar.
2. Eliminar columnas, Combinar columnas, duplicar columnas.
3. Dividir y extraer columnas.
4. Crear columnas a partir de ejemplos.
5. Rellenar celdas vacías.
6. Eliminar filas superiores y anexar consultas.
7. Combinar consultas.
8. Anular dinamización de columnas.
9. Dinamizar columnas.
10. Agrupar filas.
11. Concatenar valores agrupados.
12. Convertir reporte de columna en tabla
13. Importar datos de carpetas
14. Columna condicional
15. Referenciar y duplicar consultas
16. Creación de parámetro
17. Crear tabla de calendario: = List.Dates
18. Limpiar espacios excesivos entre palabras: let a = Text.Trim([text]), b = Text.Split (a, " "), c = List.Select (b, each
_<>"") in Text.Combine(c," ")
Crear tabla de Calendario y horas en Power Query
Crear tabla de calendario
Función: List.Dates(start as date, count as number, step as duration) as list
start: #date(año,mes,dia)
count: Número de registros de la tabla calendario
step: #duration(días, horas, minutos, segundos)

Crear tabla de horas


Función: List.Times(start as time, count as number, step as duration) as list
start: #time(hora,minuto,segundo)
count: Número de registros de la tabla de horas (si quiero una tabla desde 00:00:00 hasta 23:59:59 es 86,400)
step: #duration(días, horas, minutos, segundos)
Algunas funciones de Power Query
- Text.Trim: Devuelve el resultado de eliminar los espacios en blanco iniciales y finales de un texto.
Sintaxis: Text.Trim (text)
text: Cadena de texto de dónde se va eliminar los espacios en blanco iniciales y finales.

- Text.Split: Devuelve una lista de los valores de texto resultantes de dividir un valor de texto basado en el delimitador
especificado.
Sintaxis: Text.Split(text as text, separator as text)
text: Cadena de texto de dónde se va crear la lista de valores.
separator: Separador de la cadena de texto que servira para identificar los registros de la lista.

- List.Select: Devuelve una lista de valores de la lista, que coincide con la condición de selección.
Sintaxis: List.Select(list as list, selection as function)
list: Lista de valores
selection: Condición que deben cumplir los registros de la lista. Se expresa: each _ “condición”.

- Text.Combine: Devuelve el resultado de combinar la lista de valores de texto en una cadena.


Sintaxis: Text.Combine(texts as list, optional separator as nullable text)
texts: Lista de valores.
separator: Separador que va separar la lista de valores especificada en una cadena de texto.
Algunas funciones de Power Query
- Text.Start: Devuelve los primeros caracteres de una cadena texto desde la izquierda.
Sintaxis: Text.Start(text as nullable text, count as number)
text: Cadena de texto desde dónde se va extraer el texto.
count: Cantidad de caracteres que se va extraer.

- Text.PositionOf: Devuelve la posición de un carácter dentro de una cadena de texto.


Sintaxis: Text.PositionOf(text as text, substring as text)
text: Carácter que se va buscar en la cadena de texto.
substring: Cadena de texto dónde se va identificar el carácter.
* La función tiene otros argumentos adicionales.

- Text.BeforeDelimiter: Devuelve el texto antes del elemento delimitador especificado.


Sintaxis: Text.BeforeDelimiter(text as nullable text, delimiter as text, optional index as any)
text: Cadena de texto de dónde se va extraer los caracteres.
delimiter: Delimitador que se va identificar en la cadena de texto para extraer los caracteres.
* La función tiene otro argumento adicional.

- Text.PadStart: Rellena una cadena de texto por la izquierda con un carácter hasta completar la longitud especificada.
Sintaxis: Text.PadStart(text as nullable text, count as number, optional character as nullable text)
text: Cadena de texto que se va rellenar, si tiene una longitud menor a la especificada.
count: Longitud de la cadena de texto esperada.
Optional Character: Carácter opcional que se usara para completer la longitud especificada. Si no se indica carácter se
llenara con espacios en blanco la cadena de texto.
Algunas funciones de Power Query
- Text.Middle: Extrae una cadena de caracteres desde una posición especificada.
Sintaxis: Text.Middle(text as nullable text, start as number, optional count as nullable number)
text: Cadena de texto desde dónde se va extraer el texto.
start: Posición de la cadena de texto desde donde se va extraer el texto (Considerar que el primer carácter tiene posición 0).
count: Longitud que se va extraer de la cadena de texto.
Capturar hora de actualización
1. DateTime.LocalNow: Devuelve fecha y hora del sistema.
2. DateTimeZone.From: Convierte un valor de fecha y hora, a un valor de fecha y hora con zona horaria.
3. DateTimeZone.SwitchZone: Sirve para cambiar la zona horaria, de un valor de fecha y hora con zona horaria.

Entonces, si nosotros queremos capturar la hora de actualización para nuestro Power BI Desktop,
la función seria: = DateTime.LocalNow()

Sin embargo, si queremos capturar la hora del sistema y además queremos subir nuestro reporte a Power BI Service
(considerando que somos de Perú), debemos utilizar la función siguiente:
= DateTimeZone.SwitchZone(DateTimeZone.From(DateTime.LocalNow()), -5)

Debemos tener en cuenta que Power BI Service utiliza la zona horaria UTC.
La zona horaria de Perú es UTC-5.
La zona horaria de México es UTC-6.
Modelamiento de
datos
Modelo de datos

Un modelo de datos es una colección de


tablas y relaciones, que permiten crear
una estructura lógica de información.
Poder modelar datos nos brinda la
capacidad de definir relaciones entre
diferentes tablas que tengan un
conector en común. Power BI, permite
que hagamos el modelado de manera
sencilla e intuitiva, pues nos ofrece un
entorno fácil de manipular y entender.
Modelo dimensional
Es un modelo de diseño lógico porque representa los procesos comerciales de una empresa. Tiene como
objetivo habilitar informes, consultas y análisis que hacen uso de inteligencia empresarial (Business
Intelligence) y almacenamiento de datos (Data WareHouse).

Tiene su origen en la necesidad de contar con una base de datos que brinde velocidad y alto
rendimiento al acceder a una gran cantidad de datos, lo cual comparado al modelo relacional es
superior, esto se debe a que el modelo dimensional es altamente des normalizado.
Composición:
 Tabla de hechos (fct – fact tables): Almacena información para medir el negocio, como las ventas,
costos, etc.
 Tabla de dimensiones (dim): Almacena información descriptiva de la tabla de hechos.
 Atributos: Características que describen una entidad (Campos que se encuentran en las tablas).
 Relaciones: Son asociaciones que se crean al momento de vincular dos columnas de tablas distintas.
 Cardinalidad: Hace referencia al número de filas de una tabla que están relacionadas con otra.
 Medidas: Expresión que calcula un valor de los datos en el modelo.
Cardinalidad
Tipos de modelo dimensional
 Esquema estrella
Es un esquema formado por una tabla de hechos, esta tabla de hechos contiene las métricas o los
datos numéricos a usar en el análisis, a lado de la tabla de hechos rodean otras tablas llamadas de
dimensiones que son los valores cualitativos, que proporcionan la descripción a los hechos.
Tipos de modelo dimensional
 Esquema copo de nieve
Es un esquema usado cuando las dimensiones se implementan con más de una tabla de datos. Se
representa como una tabla de hechos conectada con dimensiones anidadas. Al normalizar por
completo las dimensiones el resultado parece un copo de nieve.
DAX
Data Analysis Expressions
¿Qué es DAX?
DAX es un lenguaje de fórmulas utilizado para realizar cálculos avanzados, definir medidas y columnas
calculadas, y realizar análisis de datos en modelos de datos tabulares. Se compone de una amplia gama
de funciones y operadores que permiten realizar cálculos complejos y avanzados sobre los datos.

Características principales:
 Expresiones: DAX permite crear expresiones que realizan cálculos sobre los datos en el modelo
tabular.
 Funciones: Proporciona una amplia variedad de funciones predefinidas para realizar cálculos, desde
operaciones matemáticas simples hasta análisis estadísticos complejos.
 Contexto de filtro: DAX utiliza el contexto de filtro para evaluar las expresiones en función de las
interacciones del usuario y los filtros aplicados en el informe.
 Mejoras en el rendimiento: DAX está diseñado para optimizar el rendimiento de los cálculos en
grandes conjuntos de datos, utilizando técnicas de compresión y agregación.
 Integración con Power BI : Está integrado de forma nativa en Power BI Desktop y se utiliza para definir
medidas y columnas calculadas en modelos de datos tabulares.
EL MUNDO DE DAX
2. Conceptos básicos del 3. Conceptos intermedios del
1. Introducción al lenguaje DAX
lenguaje DAX lenguaje DAX
• Objetos del lenguaje DAX: Columnas • Funciones agregativas básicas: SUM, MIN, • Dominando CALCULATE.
calculadas, medidas y tablas. MAX, AVERAGE, DISTINCTCOUNT, etc. • Funciones de información y lógicas: ISBLANK,
• Conceptos DAX: Contexto de fila, Contexto de • Funciones iterativas: SUMX, MINX, MAXX, ISFILTERED, ISCROSSFILTERED, RELATED,
filtro, Transición de contexto. MEDIANX, etc. USERELATIONSHIP.
• Operadores de DAX. • Funciones de texto: CONCATENATEX, MID, LEN, • Dominando la transición de contexto.
• Buenas prácticas de codificación. SEARCH. • Funciones de tabla: FILTER, ALL, VALUES,
• Conceptos introductorios: Modelamiento de • Funciones lógicas básicas: IF, SWITCH, SUMMARIZE, etc.
datos, tipos de esquemas, cardinalidad de COALESCE. • Funciones adicionales: ALLSELECTED,
relaciones y dirección de filtro cruzado. • Introducción a CALCULATE. SELECTEDVALUE, HASONEVALUE, KEEPFILTERS,
• Variables en DAX. ISINSCOPE, etc.

4. Funciones de inteligencia de 5. Conceptos avanzados del


tiempo lenguaje DAX
• Creación de la tabla de calendario. • Función RANKX y TOPN.
• Funciones de tiempo básicas: CALENDAR, • Funciones de tabla avanzada:
DATEVALUE, EOMOTH, EDATE, DATEDIFF, CALCULATETABLE, SUMMARIZE
WEEKDAY, WEEKNUM, etc. +ADDCOLUMNS, CROSSJOIN, UNION,
• Funciones de inteligencia de tiempo: INTERSECT, EXCEPT.
DATEADD, DATESYTD, DATESMTD, • Linaje de datos: Función TREATAS.
DATESINPERIOD, PARALLELPERIOD, • Grupo de Cálculo en DAX: Tabular Editor y
DATESBETWEEN, etc. Parámetros de campos.
• Funciones Semi-aditivas: LASTDATE, • Funciones adicionales: ROW, GENERATESERIES,
LASTNONBLANK, FIRSTDATE, FIRSTNONBLANK. GENERATE.
• Funciones de ventana: INDEX, OFFSET,
WINDOW.
Medidas vs Columnas calculadas
Medidas Columnas calculadas
 Dinámicas: Se calculan dinámicamente en función de las  Estáticas: Son estáticas y se calculan una vez cuando se
interacciones del usuario y las selecciones aplicadas en crea el modelo de datos o cuando se actualizan los
el informe. datos.
 Contexto de filtro: Responden a filtros aplicados en el  Contexto de filtro: No responden a los filtros aplicados
informe, como filtros de página, filtros de reporte y en el informe; sus valores se calculan de manera
filtros de visualización. independiente a las interacciones del usuario.
 Expresiones DAX: Se definen utilizando expresiones  Expresiones DAX: Se definen utilizando expresiones
DAX. DAX.
 No se almacenan en la tabla: No se almacena  Almacenadas en la tabla: Se almacena físicamente en la
físicamente en la tabla de datos; en su lugar, se calculan tabla de datos como una columna adicional con valores
cuando se solicitan en el informe. calculados.
 Agregaciones: Se utilizan principalmente para calcular  Cálculos en el nivel de fila: Calcula valores basados en
valores agregados como sumas, promedios, máximos, datos de una fila específica de una tabla, y estos cálculos
mínimos, conteos, etc. se aplican a cada fila individualmente.
 Utilización en visualizaciones: Se pueden utilizar en  Generación de atributos: Son útiles para crear nuevos
visualizaciones gráficas para mostrar valores calculados atributos en el modelo de datos, así como para realizar
dinámicamente. cálculos basados en valores estáticos.
Funciones DAX
Microsoft: https://learn.microsoft.com/es-es/dax/dax-function-reference

Tipo Referencia
Agregación https://learn.microsoft.com/es-es/dax/aggregation-functions-dax
Fecha y hora https://learn.microsoft.com/es-es/dax/date-and-time-functions-dax
Filtro https://learn.microsoft.com/es-es/dax/filter-functions-dax
Financieras https://learn.microsoft.com/es-es/dax/financial-functions-dax
Información https://learn.microsoft.com/es-es/dax/information-functions-dax
Lógicas https://learn.microsoft.com/es-es/dax/logical-functions-dax
Matemática y trigonométrica https://learn.microsoft.com/es-es/dax/math-and-trig-functions-dax
Otras funciones https://learn.microsoft.com/es-es/dax/other-functions-dax
Primarias y secundarias https://learn.microsoft.com/es-es/dax/parent-and-child-functions-dax
Relación https://learn.microsoft.com/es-es/dax/relationship-functions-dax
Estadísticas https://learn.microsoft.com/es-es/dax/statistical-functions-dax
Manipulación de tablas https://learn.microsoft.com/es-es/dax/table-manipulation-functions-dax
Texto https://learn.microsoft.com/es-es/dax/text-functions-dax
Inteligencia de tiempos https://learn.microsoft.com/es-es/dax/time-intelligence-functions-dax
Nuevas funciones https://learn.microsoft.com/es-es/dax/new-dax-functions
Consejos para trabajar con DAX

1. No olvidar que DAX opera con 3 objetos: Columnas, medidas y tablas.


2. No es recomendable usar columnas calculadas en tu reporte.
3. Las medidas son el objeto más importante de DAX. Úsalas siempre.
4. Es recomendable que siempre utilices medidas explicitas en tu reporte.
5. Intenta no usar tablas calculadas en los reportes.
6. Usa un nombre explicativo en tus objetos y siempre indenta* tu código.
7. Crea siempre una tabla de medidas en tu reporte.
8. Recuerda que las funciones agregativas tienen su versión avanzada.
9. Puedes definir variantes de medidas con CALCULATE.
10. DAX tiene muchas funciones, pero solo es necesario conocer unas cuantas.

*Página que ayuda a dar formato a nuestra formulación DAX: https://www.daxformatter.com/


Contexto de fila Solo existe contexto de fila,
cuando estamos en una iteración.

El contexto de fila representa la fila actual en la que nos encontramos durante el proceso de iteración en una tabla.
¿En qué objeto de DAX tenemos iteración de manera natural?
En las columnas calculadas. Las medidas y tablas no usan contexto de fila por defecto, sino contexto de filtro.
¿En qué funciones tenemos iteración?
En las funciones X: SUMX, MINX, MAXX, MEDIANX, AVERAGEX, COUNTX, PERCENTILEX.INC, CONCATENATEX, RANKX, ETC.
Estas funciones reciben una tabla, luego generan un resultado virtual a partir de cada iteración evaluando el segundo
argumento en un contexto de fila, y al final a esos resultados parciales se le aplica la función.
¿En qué otras funciones tenemos iteración? Cualquier columna calculada, o
En las funciones de tabla: FILTER, SELECTCOLUMNS, ADDCOLUMNS, TOPN, GENERATE. cualquier expresión que tenga
En las funciones de inteligencia de tiempos: LASTNONBLANK, FIRSTNONBLANK. estas funciones genera un
contexto de fila.
¿Las funciones de relación generan contexto de fila?
Las funciones RELATED y RELATEDTABLE no generan contexto de fila,
sin embargo, si utilizan un contexto de fila.
RELATED: Se usa cuando estoy en el lado múltiple de la relación.
RELATEDTABLE: Se usa cuando estoy en el lado individual de la relación .
¿Qué es un filtro? Todo filtro en DAX es en
Es un conjunto de valores que puede tomar realidad una tabla.
Contexto de filtro una columna, los cuales van a restringir el
número de registros que tiene una tabla.

El contexto de filtro es el conjunto de filtros que actúan sobre modelos de datos durante la evaluación de una expresión
DAX.
El contexto de filtro siempre existe. Si no hay filtro significa que el contexto de filtro es vacío.
¿Qué objetos de DAX son afectados por el contexto de filtro?
Medidas y Tablas.
¿Se puede crear contextos de filtros? CALCULATE me permite modificar el
Sí, en Medidas puedo crear con CALCULATE y en Tablas con CALCULATETABLE. contexto de filtro de una expresión.

¿La función FILTER genera contexto de filtro?


No, la función FILTER filtra una tabla realizando una iteración y evalúa una expresión.
¿Cómo se ejecuta el contexto de filtro?
Primero se identifica los contextos de filtros, luego se ejecuta el contexto de filtro sobre las tablas y finalmente se
aplica la fórmula que nos indica la medida.

Cada valor de nuestro informe se calcula bajo un


DISTINCTCOUNT([COLUMN]) = COUNTROWS(VALUES([COLUMN]))
filtro diferente, bajo restricciones específicas.
Transición de contexto
La transición de contexto es la capacidad de CALCULATE (y CALCULATETABLE) de convertir un contexto de fila, en un
contexto de filtro equivalente, que se aplicará al modelo durante la evaluación de una expresión DAX.

 Es una propiedad de CALCULATE. El contexto de fila es la fila actual


en la iteración.
 El contexto de fila y el contexto de filtro no son lo mismo.
 Para haber transición de contexto debo cumplir 2 requisitos: El contexto de filtro es un conjunto
de filtros que afectan al modelo.
• Estar en una iteración (Contexto de fila).
• Utilizar la función CALCULATE (o CALCULATETABLE).
¿Qué funciones generan transición de contexto?
CALCULATE y CALCULATETABLE
En columnas calculadas no existe contexto de filtro, sin embargo, si aplicamos CALCULATE a una expresión de una
columna calculada, lo que va a pasar es que los datos que se encuentren en la fila de información como parte del
contexto de fila, serán tomado como contexto de filtro.
CALCULATE
Evalúa una expresión en un contexto de filtro modificado.
Sintaxis:
CALCULATE (<expresión>, [filtro 1], [Filtro 2], ...)
Expresión: Expresión que se va a evaluar o una medida.
Filtros:
- Expresiones de filtro booleanas.
- Expresiones de filtro de tabla.
- Funciones de modificación de filtro.
Cuando hay varios filtros, se pueden evaluar mediante el operador lógico AND (&&), lo que significa que todas las
condiciones deben ser verdaderas, o bien el operador lógico OR (||), lo que significa que cualquiera de las condiciones
puede ser verdadera.

¿Cómo se ejecuta el contexto de filtro con CALCULATE?


Primero se identifica los contextos de filtros y se adicionan los filtros indicados dentro del CALCULATE, luego se ejecuta
el contexto de filtro sobre las tablas y finalmente se aplica la fórmula que nos indica la medida.

Microsoft: https://learn.microsoft.com/es-es/dax/calculate-function-dax
Funciones
Acumulativas de tiempo
DATESYTD
Devuelve una tabla que contiene una columna con las fechas del año hasta la fecha, en el contexto actual.
Sintaxis:
DATESYTD(<dates> [,<year_end_date>])
dates: Una columna que contiene fechas.
year_end_date: Cadena literal con una fecha que define la fecha de finalización del año. El valor predeterminado es el 31
de diciembre.

DATESMTD
Devuelve una tabla que contiene una columna con las fechas del mes hasta la fecha, en el contexto actual.
Sintaxis:
DATESMTD(<dates>)
dates: Una columna que contiene fechas.
TOTALYTD
Evalúa el valor anual hasta la fecha de la expresión en el contexto actual.
Sintaxis:
TOTALYTD(<expression>,<dates>[,<filter>][,<year_end_date>])
expression: Expresión que devuelve un valor escalar.
dates: Columna que contiene fechas.
filter: Expresión que especifica un filtro que se va a aplicar al contexto actual.
year_end_date: Cadena literal con una fecha que define la fecha de finalización del año. El valor predeterminado es el
31 de diciembre.

TOTALMTD
Evalúa el valor de la expresión del mes hasta la fecha en el contexto actual.
Sintaxis:
TOTALMTD(<expression>,<dates>[,<filter>])
expression: Expresión que devuelve un valor escalar.
dates: Columna que contiene fechas.
filter: Expresión que especifica un filtro que se va a aplicar al contexto actual.
Funciones
Comparativas de tiempo
DATEADD
Devuelve una tabla que contiene una columna de fechas que se han desplazado hacia delante o hacia atrás en el tiempo
según el número especificado de intervalos desde las fechas del contexto actual.
Sintaxis:
DATEADD(<dates>,<number_of_intervals>,<interval>)
dates: Una columna que contiene fechas.
number_of_intervals: Entero que especifica el número de intervalos que se van a sumar o restar a las fechas.
interval: Intervalo por el que se van a desplazar las fechas (year, quarter, month o day.)
SAMEPERIODLASTYEAR
Devuelve una tabla que contiene una columna de fechas desplazadas un año atrás en el tiempo desde las fechas de la
columna dates especificada, en el contexto actual.
Sintaxis:
SAMEPERIODLASTYEAR(<dates>)
dates: Una columna que contiene fechas.

PARALLELPERIOD
Devuelve una tabla que contiene una columna de fechas que representa un período paralelo a las fechas de la columna
dates especificada, en el contexto actual, con las fechas desplazadas un número de intervalos hacia delante o hacia atrás
en el tiempo.
Sintaxis:
PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)
dates: Una columna que contiene fechas.
number_of_intervals: Entero que especifica el número de intervalos que se van a sumar o restar a las fechas.
intervals: El intervalo según el cual se van a desplazar las fechas. El valor del intervalo puede ser uno de los siguientes:
year, quarter, month.
Dashboard
Mis primeros Dashboard

Tema: Innovación
Fondo del lienzo: #2C0F35
Fondo de objetos visuales: #741D57
Objeto visual por tipo – Movie : #FF719C
Objeto visual por tipo – TV show : #FFBFCD
Objeto visual por clasificación: #FFA7AE
Fondo de valor de segmentador: #4E1645

Link:
https://app.powerbi.com/view?r=eyJrIjoiMDJjZjQ4ZmMtZjMyZC00YjdiLTk3ZjAtNDJkY2Y0N2IzOTFkIiwidCI6ImM1MDM4M
WQ5LTA1OTEtNDNjZS04MWUzLTQxNGMzNWI1MzBkZiIsImMiOjR9
Mis primeros Dashboard

Tema: Rascielos

Link:
https://app.powerbi.com/view?r=eyJrIjoiN2ExMTc3NTQtNjIzMi00YmJiLWJkZmEtYjY1OGQyMTE3NWU5IiwidCI6ImM1MDM
4MWQ5LTA1OTEtNDNjZS04MWUzLTQxNGMzNWI1MzBkZiIsImMiOjR9
Mis primeros Dashboard

Dimensiones: Alto 1400, Ancho 2000


Color de fondo del título: #15616D
Color ventas actual: #118DFF
Color venta año pasado: #374649
Indicador positivo tabla: #74DD87
Indicador negativo tabla: #E64A57

Link:
https://app.powerbi.com/view?r=eyJrIjoiOWI5ZDgzZTYtMDczYS00MWI1LWE1NzQtNzc4OWQyNDQyMGYxIiwidCI6ImM1M
DM4MWQ5LTA1OTEtNDNjZS04MWUzLTQxNGMzNWI1MzBkZiIsImMiOjR9
Mis primeros Dashboard

Tamaño del globo de totales: 25

Link:
https://app.powerbi.com/view?r=eyJrIjoiYjQwOThiNDgtZjgwZi00YmQ0LWEzYjYtZGU5ZTQ0M2Q0MDBlIiwidCI6ImM1MDM
4MWQ5LTA1OTEtNDNjZS04MWUzLTQxNGMzNWI1MzBkZiIsImMiOjR9
Mis primeros Dashboard

Objeto visual: Bullet Chart by OKVIZ


Objeto visual: Zebra BI Tables
Tipo de letra: Segoe UI Bold
Tamaño de letra: 12

Link:
https://app.powerbi.com/view?r=eyJrIjoiNDcxNzQ2ZDQtNWE3MS00YTQ1LThhYjktNzQxMjkzN2E2M2Q1IiwidCI6ImM1MD
M4MWQ5LTA1OTEtNDNjZS04MWUzLTQxNGMzNWI1MzBkZiIsImMiOjR9
Data Storytelling
¿Qué es
visualización
de datos?
Definición de Visualización de Datos

“La representación gráfica de datos o conceptos, que tiene como


resultado una imagen mental o un artefacto externo que ayude a la
toma de decisiones”
Colin Ware

“La representación visual de información diseñada para permitir la


comunicación, el análisis, el descubrimiento y la exploración”
Alberto Cairo
Definición de Visualización de Datos

1. Buenas prácticas de
visualización de datos.
2. Uso moderado del color.
3. Análisis y exploración.
4. Intervienen 2 elementos:
Los datos y la
visualización
¿Qué es Data
Storytelling?
¿Qué es Data Storytelling?

No es más que un enfoque estructurado sobre cómo comunicamos


insights a partir de los datos, e involucra una combinación de tres
elementos: datos, visualización y narrativa.

En Colombia la clase media


aumenta en un 20% y la tasa de
pobreza disminuye en más del
30%
Texto descriptivo vs texto explicativo

1. Texto descriptivo:
• Se utilizan en tableros exploratorios.
• Son fáciles de detectar porque no enfatizan la conclusión.
• Ejemplo: Devoluciones por motivo.
Texto descriptivo vs texto explicativo

2. Texto explicativo:
• Se utilizan en tableros aclaratorios o estáticos.
• Ayudar a poner en contexto a la audiencia y resaltar el Insight.
• Ejemplo: El 64% de las devoluciones se debe a la descripción errónea de los
productos en la web.
Texto descriptivo vs texto explicativo
Texto descriptivo Texto explicativo
Tipos de Visualización de Datos

Visualizaciones Visualizaciones
Exploratorias Aclaratorias
Flujo de
Información
Introducción

Datos Maquetar Explorar Insight Historia Audiencia

Maqueta: https://excalidraw.com/
https://app.moqups.com/
https://app.mural.co/
Ejercicio

Antes Después
Pasos del Data Storytelling

Entiende el Escoge una Elimina el


contexto visualización Enfoca la atención Cuenta la historia
desorden Posición
Conocer a mi audiencia
Definir el mensaje
eficaz Evitar carga cognitiva Tamaño
Color
Identificar el gráfico correcto
para transmitir el mensaje
Escoge una visualización efectiva

https://datavizcatalogue.com/ES/metodos/graficos_de_barras.html#google_vignette
Extra
Extra
 Fuentes de datos libres: https://dataverse.harvard.edu/
 Fuentes de datos libres: https://www.kaggle.com/datasets
 Fuentes de datos libres: https://datosabiertos.mef.gob.pe/dataset/
 Fuentes de datos libres: https://data.world/datasets/free
 Fuentes de datos libres: https://www.earthdata.nasa.gov/
 Fuentes de datos libres: https://datasetsearch.research.google.com/
 Fuentes de datos libres: https://www.datosabiertos.gob.pe/
 Fuentes de datos libres: https://datos.gob.es/es
 Fuentes de datos libres: https://datos.gob.mx/
 Fuentes de datos libres: https://www.datos.gov.co/
 Descargar iconos: https://fonts.google.com/
 Descargar iconos: https://www.flaticon.es/
 Descargar iconos: https://www.svgrepo.com/
 RGB colores: https://www.rapidtables.com/web/color/RGB_Color.html
 Paleta de colores: https://coolors.co/palettes/trending
Extra
Fondos de lienzo

También podría gustarte