MANUAL DE LENGUAJE DAX Y POWER BI WEB - MODULO 2
MANUAL DE LENGUAJE DAX Y POWER BI WEB - MODULO 2
MANUAL DE LENGUAJE DAX Y POWER BI WEB - MODULO 2
Lenguaje DAX y
Power BI Web – Módulo 2
Duración: 24 horas
Modalidad: En línea
1. INTRODUCCIÓN A DAX
Introducción
DAX significa Data Analysis eXpressions (Expresiones de Análisis de Datos) y es el lenguaje
de consulta para los modelos tabulares de Microsoft PowerPivot, Power BI Desktop y SQL
Server Analysis Services (SSAS). Es la evolución del lenguaje de expresión multidimensional (MDX)
desarrollado por Microsoft para modelos multidimensionales de SQL Server Analysis Services,
los llamados Cubos de Datos.
Objetivo
Al finalizar el tema, el participante será capaz de describir los conceptos básicos del lenguaje DAX
y podrá elaborar cálculos sencillos haciendo uso de diferentes elementos que los conforman.
Medidas o métricas
Las medidas se usan en algunos de los análisis de datos más comunes. Los resúmenes simples,
como sumas, promedios, mínimo, máximo y recuentos, también se pueden establecer a través
del área Campos que muestran en la Vista de informes o en la Vista de datos. Los resultados
calculados de las medidas cambian constantemente en respuesta a la interacción con los
informes, lo que permite la exploración rápida y dinámica de datos ad hoc.
Las medidas que se creen aparecerán en la lista Campos con un icono de calculadora. Puede
asignar el nombre que desee a las medidas y agregarlas a una visualización nueva o existente
como cualquier otro campo.
Con las columnas calculadas, se pueden agregar nuevos datos a una tabla ya existente en el
modelo. Pero en lugar de consultar y cargar los valores en la nueva columna desde un origen de
datos, se crea una fórmula de expresiones de análisis de datos (DAX) que define los valores de
columna. En Power BI Desktop, las columnas calculadas se crean mediante la característica nueva
columna en la vista Informes.
Las columnas calculadas que cree aparecerán en la lista Campos como cualquier otro campo, pero
tendrán un icono especial para indicar que sus valores son resultado de una fórmula. Puede
asignar el nombre que desee a las columnas y agregarlas a la visualización de un informe, igual
que cualquier otro campo.
Tablas calculadas
• Cuando calculamos un valor por columna se ejecuta para cada fila del set de datos con el que
estamos trabajando.
• Cuando calculamos un valor por medida se ejecuta solamente para las filas que resultan
involucradas en el cálculo.
• La Columna consume memoria RAM, la Medida consume tiempo de CPU.
• Una columna usualmente incluye un cálculo determinista.
NOMENCLATURA
Tablas
• Los nombres de tabla son necesarios siempre que la columna sea de una tabla distinta de
la actual. Los nombres de tabla deben ser únicos en la base de datos.
• Los nombres de tabla deben ir entrecomillas simples si contienen espacios, otros
caracteres especiales o cualquier carácter alfanumérico que no sea el inglés.
Medidas
Columnas
Si el nombre que se utiliza para una tabla es el mismo que el de una palabra clave reservada de
Analysis Services, se genera un error y se debe cambiar el nombre de la tabla. Sin embargo, se
puede utilizar palabras clave en nombres de objetos si el nombre del objeto está entre corchetes
(en las columnas) o con comillas (en las tablas)
Caracteres especiales
• Los caracteres y tipos de caracteres siguientes no son válidos en los nombres de tablas,
columnas o medidas:
• Espacios iniciales o finales; a menos que los espacios se incluyan entre delimitadores de
nombre, corchetes o apóstrofes únicos.
• Caracteres de control.
• Los caracteres siguientes no son válidos en los nombres de objetos: .,;':/\|?&%$!+=()[]{}<>
1.2. Fórmulas
La sintaxis de una fórmula DAX incluye siguientes elementos, los que la componen para
construir una medida o columna calculada:
REQUISITOS
Una fórmula DAX siempre comienza con un signo igual (=). Después del signo igual se puede
proporcionar cualquier expresión que se evalúe como un valor escalar o una que se pueda
convertir en un valor escalar y que incluya la siguiente información:
• Una constante escalar o expresión que use un operador escalar (+, -, *, /, >=, &&).
• Referencias a columnas o tablas. El lenguaje DAX siempre usa tablas y columnas como
entradas a funciones, nunca una matriz o un conjunto arbitrario de valores.
• Operadores, constantes y valores proporcionados como parte de una expresión.
• El resultado de una función y sus argumentos necesarios. Algunas funciones DAX
devuelven una tabla en lugar de un valor escalar y se deben ajustar en una función que
evalúa la tabla y devuelve un valor escalar. A menos que la tabla sea una tabla de una sola
fila, se trata como un valor escalar. La mayoría delas funciones DAX requieren uno o más
argumentos, que pueden incluir tablas, columnas, expresiones y valores. Sin embargo,
algunas funciones como PI, no requieren ningún argumento, pero siempre requieren
paréntesis para indicar el argumento NULL. Por ejemplo, siempre se debe escribir PI() en
lugar de PI. También se pueden anidar funciones dentro de otras funciones.
• Expresiones. Una expresión puede contener alguno de los elementos siguientes o todos
ellos: operadores, constantes o referencias a columnas.
Por ejemplo, todas las fórmulas siguientes son válidas.
1.3. Variables
Una variable permite almacenar el resultado de una expresión que después se puede pasar
como argumento a otras expresiones de medida. Una vez que se han calculado los valores
resultantes de una expresión variable, esos valores no cambian, aunque se haga referencia a
la variable en otra expresión.
Sintaxis
Comentarios
• Una expresión pasada como argumento a VAR puede contener otra declaración VAR.
• Al hacer referencia a una variable:
o Las medidas no pueden hacer referencia a variables definidas fuera de la expresión de
medida, pero pueden hacer referencia a variables de ámbito funcional definidas dentro
de la expresión.
o Las variables pueden hacer referencia a medidas.
o Las variables pueden hacer referencia a variables definidas previamente.
o No se puede hacer referencia a columnas de variables de tabla mediante la sintaxis
TableName[ColumnName].
Ejemplo
Luego se puede crear una tercera medida que combine las otras dos medidas a fin de calcular
un porcentaje de crecimiento. La medida Sum of Sales Amount se usa en dos lugares: primero
para determinar si hay una venta y luego para calcular un porcentaje.
Mediante una variable, se puede crear una única medida que calcule el mismo resultado:
Mediante una variable se puede obtener el mismo resultado, pero de forma más legible.
Además, el resultado de la expresión se almacena en la variable tras la declaración. No es
necesario recalcularlo cada vez que se usa, como se haría sin usar una variable. Esto puede
mejorar el rendimiento de la medida.
Sin embargo, existen algunas limitaciones en los valores que se pueden convertir
correctamente. Si un valor o una columna tienen un tipo de datos que es incompatible con la
DAX no admite el uso del tipo de datos variable. Por lo tanto, cuando se cargan o importan
datos en un modelo de datos, se espera que los datos de cada columna sean normalmente de
un tipo de datos coherente.
1.5. Operadores
Operadores aritméticos
Operadores de comparación
Cuando se comparan dos valores con estos operadores, el resultado es un valor lógico, ya sea
TRUE o FALSE.
El signo & sirve para unir o concatenar dos o más cadenas de texto a fin de generar un único
fragmento de texto.
Operadores lógicos
1.6. Consultas
Con las consultas DAX se puede obtener datos definidos mediante una expresión de tabla.
Los clientes de informes crean consultas DAX cada vez que un campo se coloca en un informe
o cuando se aplica un filtro o cálculo. Las consultas DAX también se pueden crear y ejecutar
Sintaxis:
DEFINE (opcional)
Define las entidades que solo existen mientras dura la consulta. Las definiciones son válidas
para todas las instrucciones EVALUATE. Las entidades pueden ser variables, medidas, tablas
y columnas. Las definiciones pueden hacer referencia a otras definiciones que aparecen antes
o después de la definición actual. Las definiciones normalmente preceden a la instrucción
EVALUATE.
Argumentos
TÉRMINO DEFINICIÓN
tableName Nombre de una tabla existente que usa la sintaxis DAX estándar.
name Nombre de una medida nueva.
expression Cualquier expresión DAX que devuelve un valor escalar único. La
expresión puede usar cualquiera de las medidas definidas. La
expresión debe devolver una tabla.
VAR Expresión opcional como una variable con nombre. Una expresión
VAR se puede pasar como argumento a otras expresiones.
EVALUATE
Devuelve todas las filas y columnas de una tabla. En el nivel más básico, una consulta DAX es
una instrucción EVALUATE que contiene una expresión de tabla. Sin embargo, una consulta
puede contener varias instrucciones EVALUATE.
Ejemplo
La palabra clave opcional ORDER BY define una o varias expresiones que se usan para
ordenar los resultados de la consulta. Cualquier expresión que se puede evaluar para cada
fila del resultado es válida.
Argumentos
Expression: Cualquier expresión DAX que devuelve un valor escalar único.
ASC (Predeterminado): Criterio de ordenación ascendente.
DESC: Criterio de ordenación descendente.
Ejemplo
START AT (opcional)
La palabra clave opcional START AT se usa dentro de una cláusula ORDER BY. Define el valor
en el que comienzan los resultados de la consulta. Los argumentos START AT tienen una
Argumentos
Ejemplo
Devuelve como una tabla las ventas totales calculadas para los años 2013 y 2014, y las ventas
totales calculadas combinadas para los años 2013 y 2014. La medida de la instrucción DEFINE,
Internet Total Sales, se usa tanto en las expresiones Total Sales como en Combined Years
Total Sales.
Se puede parametrizar una instrucción de consulta DAX bien definida y, después, usarla una y
otra vez con tan solo realizar cambios en los valores de parámetro.
Para hacer referencia a los parámetros XMLA, debe añadir un carácter @ como prefijo al
nombre del parámetro. En cualquier lugar dela sintaxis donde se permita un valor, este se
podrá reemplazar por una llamada de parámetro. Todos los parámetros XMLA se escriben
como texto.
Siempre es necesario actualizar los datos para tener una visión más reciente de la información
que los reportes estén reflejando. Power BI debe consultar los orígenes de datos
subyacentes, probablemente cargar los datos de origen en un conjunto de datos y actualizar
las visualizaciones de informes o los paneles que se basan en el conjunto de datos actualizado.
Todo el proceso consta de varias fases, dependiendo de los modos de almacenamiento de los
conjuntos de datos.
Para realizar una actualización manual única en Power BI Desktop, seleccionar Actualizar en
la cinta de opciones Inicio. Los datos del modelo se actualizarán con los datos del origen de
datos actualizado en tiempo real.
Power BI no importa datos a través de conexiones que funcionan en los modos DirectQuery o
LiveConnect. En su lugar, el conjunto de datos devuelve los resultados del origen de datos
subyacente siempre que un informe o panel consultan el conjunto de datos. Power BI transforma
y reenvía las consultas al origen de datos.
Aunque los modos DirectQuery y LiveConnect son similares en cuanto que Power BI reenvía las
consultas al origen, es importante tener en cuenta que Power BI no tiene que transformar las
consultas en el modo LiveConnect. Como Power BI no importa los datos, no es necesario ejecutar
una actualización de datos.
INDICACIONES
Tablas de dimensión:
• Dim_customer
• Dim_product (agregar el nombre de la categoría)
• Dim_salesPerson
• Dim_store
• Dim_time
Tabla hechos:
• Fact_sales
• Tablas
• Tarjetas
• Gráficos
• Segmentadores
Introducción
Las medidas se usan en algunos de los análisis de datos más comunes. Los resúmenes simples,
como sumas, promedios, mínimo, máximo y recuentos, también se pueden establecer a través del
área Campos. Los resultados calculados de las medidas cambian constantemente en respuesta a la
interacción con los informes, lo que permite la exploración rápida y dinámica de datos.
Objetivo
Al finalizar el tema, el participante será capaz de elaborar medidas de sencillas a complicadas
haciendo uso de funciones, variables, filtros, etc.
Puede crear una medida en Power BI Desktop seleccionando Nueva medida desde la pestaña
Modelado. Es mejor estar en la vista Datos (en lugar de la vista Informe o Relaciones), ya que puede
ver la nueva medida creada y la barra de fórmulas está lista para la fórmula DAX.
Las medidas rápidas se usan para realizar fácilmente cálculos eficaces y comunes.
Una medida rápida ejecuta un conjunto de comandos en lenguaje DAX en segundo plano y,
después, presenta los resultados para que los use en el informe.
No se tiene que escribir la medida en DAX, ya que se realiza de forma automática en función de
la entrada proporcionada en un cuadro de diálogo.
Hay muchas categorías disponibles de cálculos, y formas de modificarlos para ajustarlo a las
necesidades.
Se puede ver la fórmula DAX que ejecuta la medida rápida y modificarla si se requiere.
Para crear una medida rápida en Power BI Desktop, haga clic con el botón derecho o
seleccione los puntos suspensivos ... junto a cualquier elemento del panel Campos y
seleccione Nueva medida rápida en el menú que aparece.
2. Filtros
Valor filtrado
Diferencia respecto al valor filtrado
Diferencia porcentual respecto al valor filtrado
Ventas de los nuevos clientes
3. Inteligencia de tiempo
Total anual hasta la fecha
Total trimestral hasta la fecha
Total mensual hasta la fecha
Cambio de año a año
Cambio de trimestre a trimestre
Cambio mes a mes
Media móvil
4. Totales
Total acumulado
Total por categoría (con filtros aplicados)
Total por categoría (sin filtros aplicados)
5. Operaciones matemáticas
6. Texto
Clasificación por estrellas
Lista de valores concatenados
Después de seleccionar los cálculos y los campos que quiere para la medida rápida,
seleccione Aceptar. La nueva medida rápida aparece en el panel Campos y la fórmula DAX
respectiva en la barra de fórmulas.
2.3. Funciones
21 Lenguaje DAX y Power BI Web – Módulo 2
Con DAX, hay muchas funciones disponibles para dar forma o analizar los datos.
• Funciones de agregación
• Funciones de recuento
• Funciones lógicas
• Funciones de información
• Funciones de texto
• Funciones de fecha
Power BI muestra las funciones que coinciden con las letras que ha escrito hasta ese
momento, por lo que si escribe S solo aparecen en la lista las funciones que empiezan con S.
Si escribe SU, solo aparecen en la lista las funciones que contienen la secuencia de letras SU
en el nombre (no tienen que empezar por SU, solo tienen que contener esa secuencia de
letras).
FUNCIONES DE AGREGACIÓN
Estas funciones solo pueden utilizarse con columnas numéricas y, normalmente, solo pueden
agregar una columna a la vez. Pero las funciones de agregación que terminan en X, como SUMX,
pueden trabajar con varias columnas. Estas funciones recorren en iteración la tabla y evalúan la
expresión de cada fila
• SUMX: Devuelve la suma de una expresión evaluada para cada fila de una tabla.
Ejemplo:
Ejemplo:
• COUNTX: Cuenta el número de filas que contienen un valor que no está en blanco o una
expresión que se evalúa como un valor que no está en blanco, al evaluar una expresión en una
tabla.
Sintaxis: COUNTX(<table>,<expression>)
Ejemplo:
= COUNTX(Product,[ListPrice])
• MINX: Devuelve el valor más pequeño que se obtiene al evaluar una expresión para cada fila de
una tabla.
Ejemplo:
• MAXX: Evalúa una expresión para cada fila de una tabla y devuelve el valor mayor.
Ejemplo:
FUNCIONES LÓGICAS
• AND: Comprueba si los dos argumentos son TRUE y devuelve TRUE si todos lo son. De lo contrario,
devuelve false.
Sintaxis: AND(<logical1>,<logical2>)
• OR: Comprueba si uno de los argumentos es TRUE para devolver TRUE. La función devuelve FALSE
si ambos argumentos son FALSE.
Sintaxis: NOT(<logical>)
• IF: Comprueba una condición y devuelve un valor cuando es "true"; en caso contrario, devuelve
un segundo valor.
• IFERROR: Evalúa una expresión y devuelve un valor especificado si la expresión devuelve un error;
de lo contrario, devuelve el valor de la propia expresión.
También se pueden expresar estas funciones especiales con operadores. Por ejemplo, AND se
puede escribir como (cambiar por) && en la fórmula DAX. Puede usar operadores (como &&)
cuando necesite más de dos condiciones en la fórmula, pero de lo contrario es recomendable usar
el nombre de la función (como AND) para mejorar la legibilidad del código de DAX.
FUNCIONES DE INFORMACIÓN
Sintaxis: ISBLANK(<value>)
Sintaxis: ISNUMBER(<value>)
Sintaxis: ISTEXT(<value>)
• ISNONTEXT: Comprueba si un valor no es de texto (las celdas en blanco no son texto) y devuelve
TRUE o FALSE.
Sintaxis: ISNONTEXT(<value>)
Sintaxis: ISERROR(<value>)
25 Lenguaje DAX y Power BI Web – Módulo 2
Aunque estas funciones pueden ser útiles en determinadas situaciones, merece la pena conocer de
antemano el tipo de datos de las columnas y no depender de que las funciones lo proporcionen.
FUNCIONES DE TEXTO
• REPLACE: Reemplaza la parte de una cadena de texto, según el número de caracteres que se
especifique, por otra cadena de texto.
• SEARCH: Devuelve el número del carácter en el que se encuentra por primera vez un carácter o
una cadena de texto específicos, de izquierda a derecha. La búsqueda no distingue entre
mayúsculas y minúsculas, y distingue los acentos.
Sintaxis: LEN(<text>)
• MID: Devuelve una cadena de caracteres de la mitad de una cadena de texto a partir de una
posición inicial y una longitud.
• TRIM: Quita todos los espacios del texto, excepto los espacios individuales entre palabras.
Sintaxis: TRIM(<text>)
Sintaxis: VALUE(<text>)
• FIXED: Redondea un número al número de decimales especificado y devuelve el resultado como
texto. Se puede especificar que el resultado se devuelva con o sin comas.
26 Lenguaje DAX y Power BI Web – Módulo 2
Sintaxis: FIXED(<number>, <decimals>, <no_commas>)
Ejemplos:
= FORMAT( 12345.67, "General Number") 12345.67
= FORMAT( 12345.67, "Currency") $12,345.67
= FORMAT( 12345.67, "Fixed") 12345.67
= FORMAT( 12345.67, "Standard") 12,345.67
= FORMAT( 12345.67, "Percent") 1,234,567.00%
= FORMAT( 12345.67, "Scientific") 1.23E+04
Estas funciones de texto funcionan de forma muy similar a las de Excel que tienen el mismo nombre.
FUNCIONES DE FECHA
• DATEVALUE: Convierte una fecha en formato de texto a una fecha en formato de fecha y hora.
Sintaxis: DATEVALUE(date_text)
Sintaxis: HOUR(<datetime>)
Sintaxis: NOW()
• EOMONTH: Devuelve la fecha, en formato datetime, del último día del mes, antes o después de
un número de meses especificado. Use EOMONTH para calcular las fechas de vencimiento que
caigan en el último día del mes.
• WEEKDAY: Devuelve un número del 1 al 7 que identifica el día de la semana de una fecha. De forma
predeterminada, el día está comprendido entre 1 (domingo) y 7 (sábado).
Aunque estas funciones son útiles para calcular y extraer información de los valores de fecha, no
se aplican a la inteligencia de tiempo, que usa una tabla de fechas.
Permiten manipular datos mediante períodos de tiempo (incluidos días, meses, trimestres y años)
y, luego, compilar y comparar cálculos durante esos períodos.
Función Descripción
CLOSINGBALANCEMONTH Evalúa el valor de expression en la última fecha del mes en el
contexto actual.
CLOSINGBALANCEQUARTER Evalúa el valor de expression en la última fecha del trimestre en el
contexto actual.
CLOSINGBALANCEYEAR Evalúa el valor de expression en la última fecha del año en el
contexto actual.
DATEADD Devuelve una tabla que contiene una columna de fechas,
desplazada hacia delante o hacia atrás en el tiempo, por el número
especificado de intervalos desde las fechas del contexto actual.
DATESBETWEEN Devuelve una tabla que contiene una columna de fechas que
comienza con una fecha de inicio especificada y continúa hasta una
fecha de finalización especificada.
DATESINPERIOD Devuelve una tabla que contiene una columna de fechas que
empieza por una fecha de inicio específica y sigue hasta el número y
tipo de intervalos de fechas especificados.
DATESMTD Devuelve una tabla que contiene una columna con las fechas del
mes hasta la fecha, en el contexto actual.
DATESQTD Devuelve una tabla que contiene una columna con las fechas del
trimestre hasta la fecha, en el contexto actual.
DATESYTD Devuelve una tabla que contiene una columna con las fechas del año
hasta la fecha, en el contexto actual.
ENDOFMONTH Devuelve la última fecha del mes del contexto actual para la
columna de fechas especificada.
ENDOFQUARTER Devuelve la última fecha del trimestre del contexto actual para la
columna de fechas especificada.
ENDOFYEAR Devuelve la última fecha del año del contexto actual para la columna
de fechas especificada.
FIRSTDATE Devuelve la primera fecha del contexto actual para la columna de
fechas especificada.
Se puede definir una variable en cualquier parte en una expresión DAX usando la siguiente
sintaxis:
VARNAME = RETURNEDVALUE
Las variables pueden ser cualquier tipo de datos, incluidas tablas enteras. Tenga en cuenta
que cada vez que haga referencia a una variable en la expresión DAX, Power BI tendrá que
recalcular su valor según la definición. Por este motivo, se recomienda evitar repetir variables
en las funciones.
Ejemplo:
VAR
TotalQuantity = SUM ( sales[Quantity] )
RETURN
IF (
TotalQuantiy > 1000,
TotalQuantity * 0.095,
TotalQuantity * 1.25
)
Para quitar o aplicar filtros a una medida, se utilizan las funciones de filtro. Algunas de estas
funciones son las siguientes:
Ejemplo:
• ALL: Devuelve todas las filas de una tabla, o todos los valores de una columna, omitiendo
los filtros que se puedan haber aplicado. Esta función es útil para borrar filtros y crear
cálculos en todas las filas de una tabla.
Ejemplo:
Proporcion_ventas=
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/
SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
• ALLSELECTED: Quita los filtros de contexto de las columnas y las filas de la consulta
actual, a la vez que conserva todos los demás filtros de contexto o filtros explícitos.
La función ALLSELECTED obtiene el contexto que representa todas las filas y columnas
de la consulta, a la vez que mantiene los filtros y contextos explícitos distintos de los
filtros de fila y columna. Esta función se puede usar para obtener totales visuales en las
consultas.
Sintaxis:
Ejemplo:
Ejemplo:
SELECTEDVALUE(<columnName>, <alternateResult>)
Ejemplo:
Total_cost= IF(HASONEVALUE(Inventory[product_id]),Inventory[Cost],Inventory[Cost])
Total_cost= SELECTEDVALUE (Inventory[Cost], Inventory[Cost])
Sintaxis: ISFILTERED(<TableNameOrColumnName>)
Ejemplo:
Total_condicionado=
IF(
ISFILTERED(Pais[Pais]),
[Envios],
[AVG_envios]
)
En las filas coloca las sumas de los envíos y en la fila de los totales, el promedio.
INDICACIONES
Objetivo
Al finalizar el tema, el participante será capaz de desarrollar columnas calculadas haciendo uso de
operadores y funciones utilizadas también para crear medidas.
Puede crear columnas calculadas en Power BI Desktop seleccionando Nueva columna desde la
pestaña Modelado. Es mejor estar en la vista Datos (en lugar de la vista Informe o Relaciones), ya
que puede ver la nueva columna creada y la barra de fórmulas se rellena y está lista para la fórmula
DAX.
Después de seleccionar el botón Nueva columna, la barra de fórmulas se rellena con un nombre de
columna básico (que por supuesto puede cambiar para adaptarlo a la fórmula) y el operador =, y la
nueva columna aparece en la cuadrícula de datos, como se muestra en la siguiente imagen.
Por ejemplo:
Sintaxis
La función RELATED necesita un contexto de fila; por lo tanto, solo se puede usar en una
expresión de columna calculada, en la que el contexto de la fila actual es inequívoco, o bien
como una función anidada en una expresión que usa una función de recorrido de tabla. Una
función de recorrido de tabla, como SUMX, obtiene el valor de la fila actual y, después, busca
instancias de ese valor en otra tabla.
Ejemplo
Esta expresión usa la función RELATED para buscar el valor de país en la tabla SalesTerritory,
empezando por el valor de la columna de clave, SalesTerritoryKey, en la tabla
InternetSales_USD. La función de filtro usa el resultado de la búsqueda para determinar si la
fila InternetSales_USD está filtrada o no.
El siguiente ejemplo devuelve una versión extendida de la tabla Categoría de producto que
incluye los valores de ventas totales del canal de revendedor y las ventas por Internet.
ADDCOLUMNS(ProductCategory,
, "Internet Sales", SUMX(RELATEDTABLE(InternetSales_USD),
InternetSales_USD[SalesAmount_USD])
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD),
ResellerSales_USD[SalesAmount_USD]))
• SELECTCOLUMNS: Devuelve una tabla con las columnas seleccionadas de la tabla y las
columnas nuevas especificadas por las expresiones DAX.
Ejemplo:
Sintaxis:
SUMMARIZECOLUMNS( <groupBy_columnName> [, < groupBy_columnName >]…,
[<filterTable>]…[, <name>, <expression>]…)
Ejemplo:
SUMMARIZECOLUMNS (
'Sales Territory'[Category], 'Customer' [Education],
FILTER('Customer', 'Customer'[First Name] = "Alicia")
)
INDICACIONES
Introducción
Las tablas calculadas permiten agregar nuevas tablas basadas en los datos que ya se han cargado
en el modelo. En lugar de consultar y cargar valores en las columnas de la nueva tabla desde un
origen de datos, se crea una fórmula de expresiones de análisis de datos (DAX) que define los
valores de la tabla.
Objetivo
Al finalizar el tema, el participante será capaz de crear tablas calculadas utilizando diferentes
expresiones DAX para construir nuevas tablas con los campos a utilizar únicamente.
Con Power BI Desktop, se puede escribir datos directamente y usar esos datos en los informes
y visualizaciones.
Para escribir datos directamente en Power BI Desktop como una tabla nueva,
seleccione Especificar datos en la cinta de Inicio.
Power BI Desktop podría intentar realizar pequeñas transformaciones en los datos, cuando
sea posible, al igual que al cargar datos desde cualquier origen. Por ejemplo, en el siguiente
caso, ha promovido la primera fila de datos como encabezados.
En ambas opciones cuando hacemos clic en “Nueva Tabla” se nos abre la barra de fórmulas,
una fila en la que podemos escribir DAX. Es ahí donde deberemos aplicar nuestras funciones
DAX para generar las tablas numeradas anteriormente.
DAX tiene un amplio conjunto de funciones para crear tablas calculadas, entre las que estan
incluidas las siguientes:
• FILTER
• ALL
• VALUES
• DISTINCT
Estas funciones devuelven una tabla completa en lugar de un valor. Normalmente, usaría los
resultados de una función de tabla en análisis posteriores como parte de una expresión
mayor, en lugar de un valor final en la tabla devuelta.
Es importante recordar que, al usar una función de tabla, los resultados heredan las relaciones
de sus columnas. Puede combinar funciones de tabla en la expresión, siempre y cuando cada
una de ellas use y devuelva una tabla.
• FUNCION ALL
Devuelve todas las filas de una tabla, o todos los valores de una columna, omitiendo los filtros
que se puedan haber aplicado.
Esta función es útil para borrar filtros y crear cálculos en todas las filas de una tabla. El
argumento de la función ALL debe ser una referencia a una tabla base o a una columna base.
No se pueden usar expresiones de tabla ni de columna con la función ALL.
Sintaxis
Parámetros
Valor devuelto
Ejemplo:
Proporcion_venta=SUMX(ResellerSales_USD,
ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD),
ResellerSales_USD[SalesAmount_USD])
Devuelve una tabla que representa un subconjunto de otra tabla o expresión. Tabla que
contiene solo las filas filtradas.
Sintaxis:
FILTER((<table>,<filter>)
Parámetros
table Tabla que se va a filtrar. La tabla también puede ser una expresión que da
lugar a una tabla.
filter Expresión booleana que se va a evaluar para cada fila de la tabla.
Esta expresión aplicaría un filtro en toda la tabla, con lo que omitiría el contenido de filtro
actual.
Ejemplo:
Crear una tabla solo con las ventas que en la columna “Cantidad Monetaria” sean iguales o
superiores a 5000 y que el “Canal” a través del cual han realizado la compra solo sea “XXSS”.
La función DISTINCT devuelve los distintos valores de una columna que también están visibles
en el contexto actual. Por tanto, para usar el anterior ejemplo de expresión de DAX, el uso de
ALL en esa expresión omite los filtros, mientras que cambiar ALL por DISTINCT los observaría.
Sintaxis: DISTINCT(<table>)
Ejemplo:
• FUNCION VALUES
Si el parámetro de entrada es un nombre de columna, devuelve una tabla de una columna que
contiene los valores distintos de la columna especificada. Los valores duplicados se quitan y
solo se devuelven los valores únicos. Se puede agregar un valor BLANK. Si el parámetro de
entrada es un nombre de tabla, devuelve las filas de la tabla especificada. Las filas duplicadas
se conservan. Se puede agregar una fila BLANK.
Sintaxis: VALUES(<TableNameOrColumnName>)
Ejemplo:
La fórmula siguiente cuenta el número de facturas únicas (pedidos de ventas) y genera los
siguientes resultados cuando se usa en un informe que incluye los nombres de categoría de
producto:
= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))
• FUNCION RELATEDTABLE
Evalúa una expresión de tabla en un contexto modificado por los filtros especificados. Copia
un campo en la tabla actual desde la tabla relacionada.
Ejemplo
En el ejemplo siguiente se usa la función RELATEDTABLE para crear una columna calculada
con las ventas por Internet en la tabla Product Category.
• FUNCION CALCULATETABLE
Sintaxis:
La expresión usada como primer parámetro debe ser una tabla de modelo o una función que
devuelve una tabla. Los filtros pueden ser: Expresiones de filtro booleanas Expresiones de
filtro de tabla Funciones de modificación de filtro Cuando hay varios filtros, se evalúan
mediante el operador lógico AND. Esto significa que todas las condiciones deben ser "true" a
la vez.
Ejemplo
En el ejemplo siguiente se usa la función CALCULATETABLE para obtener la suma de las ventas
por Internet de 2006. Este valor se usa posteriormente para calcular la relación de ventas por
Internet con respecto a todas las ventas del año 2006.
Lo que nos permite hacer esta función, es sumar un campo cuantitativo y filtrarlo según otro
campo que escojamos.
Sintaxis:
Ejemplo:
Generar una nueva tabla donde encontramos en una columna el país, y en la otra columna que
hemos llamado “Ingresos” la cantidad total de ventas filtrada por cada uno de los países.
Una tabla de calendario es una tabla de dimensión de tiempo, permite ejecutar informes con
flexibilidad, eficiencia y, lo que es más importante, es necesario para las funciones de
inteligencia de tiempo.
Por lo tanto, cada modelo debe incluir una tabla de este tipo (a veces más de una).
Incluso cuando las tablas de hechos incluyen una columna de fecha.
1- Función CALENDARAUTO()
Ejemplo:
Digamos que en el modelo de datos las fechas van del 4 de agosto de 2019 y termina el 2 de
diciembre de 2020. CALENDARAUTO() crea una columna de fechas desde el 1 de enero de 2019
hasta el 31 de diciembre de 2020.
2- Función CALENDAR()
Devuelve una tabla con una sola columna denominada "Date" que contiene un conjunto
contiguo de fechas. El intervalo de fechas va desde la fecha de inicio especificada hasta la
fecha de finalización especificada, incluidas las dos fechas.
Ejemplos:
Puede crear una nueva tabla de calendario con el código siguiente, Ir a tabla de modelado.
Nueva tabla y pegar, a continuación, cambiar el rango de fechas que necesite, tendrá una
tabla de calendario con todos los campos necesarios.
Calendar =
ADDCOLUMNS(
CALENDAR(date(2018,1,1),date(2021,12,31))
,"Day Name",FORMAT([Date],"DDDD")
,"Day of Week",(WEEKDAY([Date],1))
,"Day of Month",DAY([Date])
,"Week",DATE(YEAR([Date]),MONTH([Date]),DAY([Date]))-(WEEKDAY([Date],1)-1)
,"Week Name", "Week of " & DATE(YEAR([Date]),MONTH([Date]),DAY([Date]))-
(WEEKDAY([Date],1)-1)
,"Week of Year", WEEKNUM([Date],1)
,"Month", DATE(YEAR([Date]),MONTH([Date]),1)
,"Month Name", FORMAT([Date],"MMMM")
,"Month of Year", MONTH([Date])
,"Month Year Name", FORMAT([Date],"MMM") & " " & YEAR([Date])
,"Month Year Name Sort",(100*YEAR([Date])+MONTH([Date]))
,"Quarter",DATE(YEAR([Date]),
SWITCH(ROUNDUP(DIVIDE(MONTH([Date]),3,1),0),1,1,2,4,3,7,4,10),1)
,"Quarter Name", "Q" & ROUNDUP(MONTH([Date])/3,0)
,"Quarter Year Name", "Q" & ROUNDUP(MONTH([Date])/3,0) & " " &
YEAR([Date])
,"Year", DATE(YEAR([Date]),1,1)
,"Year #",YEAR([Date])
)
INDICACIONES
Introducción
Power BI Web es una colección de servicios de software, aplicaciones y conectores que funcionan
conjuntamente para ayudar a crear, compartir y consumir información empresarial de forma que
ayude a los encargados del negocio de la manera más eficaz.
Objetivo
Al finalizar el tema, el participante será capaz de utilizar el servicio de Power BI Web para la
publicación y acceso de reportes a diferentes miembros de la organización. Podrá programar
actualizaciones de reportes y crear cuadros de mandos con los elementos principales para dar a
conocer los resultados más importantes de los reportes.
Una vez publicado el reporte, podrá ser visible desde el servicio de Power BI.
Revise el contenido del cuadro de diálogo y seleccione Crear código para insertar.
En el siguiente cuadro de diálogo se verá una vista previa del aspecto del informe. Seleccione
los valores de Tamaño y Página predeterminada.
También puede agregar una imagen de marcador de posición para que la página web se
cargue más rápidamente. Con una imagen de marcador de posición, los usuarios que
consulten el informe en la Web verán un botón Ver contenido interactivo que pueden
seleccionar para ver el informe en sí.
Realice esos cambios primero. Después, copie el vínculo para enviarlo por correo electrónico
o copie el código HTML para pegarlo en un sitio web. Puede insertarlo en el código como un
iFrame o pegarlo directamente en una página web o blog.
Si utiliza la puerta de enlace personal para actualizar los datos, se debe proporcionar las
credenciales para conectarse al origen de datos. Si se conecta a una aplicación desde un
servicio en línea, las credenciales especificadas para conectarse se transferirán a la
actualización programada.
El equipo debe permanecer encendido o tener ciclos cortos de apagado que no coincidan con
las actualizaciones programadas. Se recomienda que la conexión a internet sea a través de
una red física y no a través de redes inalámbricas.
Instalación
2. Una vez seleccionada dicha opción, se abrirá otra ventana con las opciones para descargar
el ejecutable de Gateway. Seleccionar “Download personal mode”.
Una vez configurado el Gateway, se debe asociar los orígenes de datos a este:
Las métricas en Power BI permiten a los clientes controlar sus métricas y realizar un
seguimiento de ellas con los objetivos empresariales clave, todo en un solo panel.
Se necesita una licencia de Power BI Pro para crear y compartir métricas en áreas de trabajo
estándar. También necesita lo siguiente:
• Rol de Administrador, Miembro o Colaborador en un área de trabajo. Obtenga más
información sobre los roles en las áreas de trabajo.
• Permiso de compilación para un conjunto de datos.
Un panel de Power BI incluye una única página, que se suele denominar lienzo, que cuenta una
historia mediante visualizaciones. Dado que se limita a una sola página, un panel bien diseñado
contiene únicamente los elementos destacados de esa historia. Los lectores pueden ver informes
relacionados para conocer los detalles.
Las visualizaciones que se ven en el panel se denominan iconos. Los iconos se anclan a un panel
desde los informes y cada informe se basa en un conjunto de datos. Un panel es una introducción
a los informes y conjuntos de datos subyacentes. Si selecciona una visualización, se le dirige al
informe y al conjunto de datos en el que se basa.
1. Abra un informe y seleccione Más opciones (...)>Editar para abrir el informe en la vista
de edición.
2. Mantenga el mouse sobre una visualización para mostrar las opciones disponibles.
6. En algunos casos, puede que el elemento que está anclando ya tenga un tema aplicado.
Por ejemplo, objetos visuales anclados desde un libro de Excel. Si es así, seleccione el tema
que se debe aplicar al icono:
• Usar el tema de destino: tema del panel.
• Mantener el tema actual: tema del informe.
7. Al seleccionar Anclar, Power BI crea el nuevo panel en el área de trabajo actual. Cuando
aparezca el mensaje Anclado al panel, seleccione Ir al panel. Si se le pide que guarde el
informe, seleccione Guardar.
Power BI abre el nuevo panel, con un icono: la visualización que acaba de anclar.
8. Seleccione el icono para volver al informe. Ancle algunos iconos más en el nuevo panel.
Cuando aparezca la ventana Anclar en el panel, seleccione Panel existente.
5.4. Alertas
Si los datos van más allá del umbral de una hora o de 24 horas (según la opción seleccionada),
recibirá una alerta. Después, Power BI envía una alerta al Centro de notificaciones y,
opcionalmente, un correo electrónico. Cada alerta contiene un vínculo directo a los datos.
Si tiene una licencia de Power BI Pro, puede establecer alertas también en los iconos de
cualquier otra área de trabajo. Las alertas solo se pueden configurar en los iconos anclados
desde objetos visuales de informes y solo en medidores, KPI y tarjetas.
Las alertas se pueden establecer en los objetos visuales creados a partir de conjuntos de
objetos de streaming que se anclan desde un informe a un panel. No se pueden establecer
alertas en iconos de streaming creados directamente en el panel mediante Agregar
icono>Datos de transmisión personalizados.
1. Empiece en un panel. Por ejemplo, en una tarjeta, seleccione los puntos suspensivos.
2. Seleccione Administrar alertas a fin de agregar una o varias alertas para Total de tiendas.
4. Desplácese hacia abajo y escriba los detalles de la alerta. En este ejemplo, se creará una
alerta que enviará una notificación una vez al día si el número total de tiendas supera las
100.
5. Seleccionar Guardar y Cerrar.
INDICACIONES