Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DAX Resumen
DAX Resumen
Contenido
I. ¿Qué es DAX? ........................................................................................................................................ 4
II. Requisitos de la sintaxis ........................................................................................................................ 4
III. Requisitos de Nomenclatura .................................................................................................................... 5
III.1 Nomenclatura Tablas ......................................................................................................................... 6
III.2 Nomenclatura Medidas ...................................................................................................................... 6
III.3 Nomenclatura Columnas .................................................................................................................... 7
III.4 Nomenclatura Palabras clave reservadas .......................................................................................... 7
III.5 Nomenclatura Caracteres especiales ................................................................................................. 7
III.6 Ejemplos de nombres de objeto ........................................................................................................ 8
IV Operadores DAX ....................................................................................................................................... 9
IV.1 Operadores aritméticos ..................................................................................................................... 9
IV.2 Operadores de comparación ............................................................................................................. 9
IV.3 Operador de concatenación de texto y Lógicos...............................................................................10
IV.4 Operadores y orden de precedencia ...............................................................................................10
V. Tipos de datos .........................................................................................................................................12
VI. Funciones DAX.................................................................................................................................14
VII. Escribir Formulas en DAX ................................................................................................................15
VII.1 Referencias en Formulas DAX .........................................................................................................16
VII.2 Sintaxis de la Formulas....................................................................................................................17
VII.3 Funciones de Iterador .....................................................................................................................18
VII.4 Función Iterador RANKX .................................................................................................................20
VII.5 Filtro en las Funciones ....................................................................................................................21
VII.5 Ejemplos ..........................................................................................................................................23
Anexos .........................................................................................................................................................26
A.1 Funciones de Agregación ..................................................................................................................26
A.2 Funciones de Información.................................................................................................................27
A.3 Funciones Lógicas .............................................................................................................................29
A.4 Funciones de Fecha y Hora ...............................................................................................................30
A.5 Funciones de gestión de relaciones ..................................................................................................31
A.6 Funciones de Filtro ............................................................................................................................32
A.6 Funciones de manipulación de tablas ...............................................................................................33
A.7 Funciones de Texto ..........................................................................................................................35
A.8 Funciones de agregación estadística. ...............................................................................................36
A.9 Operadores DAX................................................................................................................................39
I. ¿Qué es DAX?
DAX (Data Analysis Expressions) es un lenguaje específico para análisis de datos creado
por Microsoft en el año 2010 para ser usado con un modelo de datos tabular y que se
puede usar en Excel, Analysis Services y Power BI. DAX recopila funciones, operadores y
constantes que se pueden usar en una fórmula o expresión para calcular y devolver uno
o varios valores. Dicho más fácilmente, DAX ayuda a crear información de datos nueva
que ya está en un modelo.
Mediante el uso de Expresiones de análisis de datos (DAX), puede agregar tres tipos de
cálculos a su modelo de datos:
Tablas calculadas
Columnas calculadas
Medidas
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. que incluyen la siguiente información:
Una constante escalar o expresión que usa 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 de las 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.
Fórmula Resultado
=3 3
= "Sales" Sales
= "Sales"[Importe] Si utiliza esta fórmula dentro de la tabla Sales, obtendrá el valor de la
columna Importe en la tabla Sales de la fila actual.
= (0,03 *[Importe]) Tres por ciento del valor de la columna Importe de la tabla actual.
=0,03 *[Amount] Aunque esta fórmula se puede usar para calcular un porcentaje, el
resultado no se muestra como un porcentaje a menos que se aplique el
formato en la tabla.
= PI() Valor de la constante pi.
A menudo, un modelo de datos contiene varias tablas. Las tablas y sus columnas, de
forma conjunta, componen una base de datos almacenada en el motor de análisis en
memoria. En esa base de datos, todas las tablas deben tener nombres únicos. Los
nombres de las columnas también deben ser únicos en cada tabla. Los nombres de
objeto no distinguen mayúsculas de minúsculas; por ejemplo, los
nombres SALES y Sales representarían la misma tabla.
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 entre comillas simples si contienen espacios, otros
caracteres especiales o cualquier carácter alfanumérico que no sea el inglés.
Los nombres de columna deben ser únicos en el contexto de una tabla. Sin embargo,
varias tablas pueden tener columnas con los mismos nombres (la desambiguación viene
con el nombre de la tabla).
En general, se puede hacer referencia a las columnas sin hacer referencia a la tabla base
a la que pertenecen, excepto cuando pueda haber un conflicto de nombres para
resolver o con ciertas funciones que requieren que los nombres de columna estén
completos.
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, 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).
Los caracteres y tipos de caracteres siguientes no son válidos en los nombres de tablas,
columnas o medidas:
.,;':/\|?&%$!+=()[]{}<>|?&%$!+=()[]{}<>
III.6 Ejemplos de nombres de objeto
La sintaxis necesaria para cada función y el tipo de operación que puede realizar varían
en gran medida dependiendo de la función. Pero, por lo general, las reglas siguientes se
aplican a todas las fórmulas y expresiones:
Use los siguientes operadores aritméticos para realizar operaciones matemáticas básicas
(como sumas, restas o multiplicaciones), para combinar números y para producir
resultados numéricos.
Puede comparar dos valores con los siguientes operadores. Cuando se comparan dos
valores con estos operadores, el resultado es un valor lógico, ya sea TRUE o FALSE.
Todos los operadores de comparación, excepto ==, tratan BLANK (resultado en cero)
como equivalente al número 0, una cadena vacía "", DATE(1899, 12, 30), o FALSE. Como
resultado, [Column] = 0 será true cuando el valor de [Column] sea 0 o BLANK. Por el
contrario, [Column] == 0 solo es true cuando el valor de [Column] es 0.
IV.3 Operador de concatenación de texto y Lógicos
El signo " ( & ) permite unir, o concatenar, dos o más cadenas de texto a fin de generar
un único fragmento de texto.
Use los operadores lógicos (&&) y (||) para combinar expresiones para generar un solo
resultado.
En algunos casos, el orden en el que se realiza el cálculo puede afectar al valor devuelto,
de ahí que sea importante comprender cómo se determina el orden y cómo este se
puede cambiar para obtener los resultados deseados.
Una expresión evalúa los operadores y los valores en un orden específico. Todas las
expresiones comienzan siempre con un signo igual (=). Este signo igual indica que los
caracteres tras él constituyen una expresión.
Después del signo igual están los elementos que se van a calcular (los operandos), que
se separan con operadores de cálculo. Las expresiones siempre se leen de izquierda a
derecha, pero el orden en el que los elementos se agrupan se puede controlar en cierto
grado mediante el uso de paréntesis.
Operador Descripción
^ Exponenciación
– Inversión del signo (como en –1)
*y/ Multiplicación y división
! NOT (operador unario)
+y– Suma y resta
& Conecta dos cadenas de texto (concatenación)
=,==,<,>,<=,>=,<> Comparación
Para cambiar el orden de evaluación, debe incluir entre paréntesis la parte de la fórmula
que deba calcularse en primer lugar. Por ejemplo, la siguiente fórmula da como
resultado 11 porque la multiplicación se calcula antes que la suma. La fórmula
multiplica 2 por 3 y, tras ello, suma 5 al resultado.
=5+2*3 = 11
= (5+2)*3 = 21
En el siguiente ejemplo, los paréntesis que rodean la primera parte de la fórmula hacen
que el cálculo evalúe la expresión (3 + 0.25) en primer lugar y, luego, divida el resultado
entre el resultado de la expresión (3 - 0.25).
= (3 + 0.25)/(3 - 0.25)
=-2^2
Para garantizar que el operador de inversión del signo se aplica primero al valor
numérico, se pueden usar paréntesis para controlar los operadores, como se muestra en
el siguiente ejemplo. El resultado de esta expresión es 4.
= (-2)^2
En general, los dos operandos de los lados izquierdo y derecho de cualquier operador
deben ser del mismo tipo de datos. Si los tipos de datos son diferentes, DAX los
convertirá a un tipo de datos común para aplicar el operador en algunos casos:
Por ejemplo, supongamos que tiene dos números que quiere combinar. Un número es
el resultado de una fórmula, como =[Price] * .20, y dicho resultado puede contener
muchos decimales, mientras que el otro número es un entero que se ha proporcionado
como valor de cadena.
En este caso, DAX convertirá ambos números en números reales en formato numérico,
usando el formato numérico más grande que pueda almacenar ambos tipos de
números. Tras ello, DAX aplicará la multiplicación.
V. Tipos de datos
Las columnas del modelo de datos tienen un tipo de datos establecido, lo que garantiza
que todos los valores de las columnas se ajusten a ese tipo de datos. Los tipos de datos
de columna se definen en Power Query o, en el caso de las columnas calculadas, se
infieren de la fórmula. Los tipos de datos de medida, similares a los tipos de datos de
columna calculados, se infieren de la fórmula.
Los tipos de datos del modelo no son los mismos que los tipos de datos DAX, aunque
existe una relación directa entre ellos. La siguiente tabla enumera los tipos de datos del
modelo y los tipos de datos DAX. Observe el rango de valores admitido para cada tipo
de datos.
El tipo de datos EN BLANCO (BLANK) merece una mención especial. DAX usa EN
BLANCO tanto para la base de datos NULL como para las celdas en blanco en Excel. EN
BLANCO no significa cero. Quizás sea más sencillo pensar en ello como la "ausencia de
un valor".
Debido a que DAX se originó con el complemento Power Pivot para Microsoft Excel
2010, hay más de 80 funciones disponibles que también se pueden encontrar en
Excel. Fue una estrategia de diseño deliberada de Microsoft para garantizar que los
usuarios de Excel puedan volverse productivos rápidamente con DAX.
Sin embargo, existen muchas funciones que no encontrará en Excel porque son
específicas del modelado de datos:
Cada tipo de cálculo de modelo, tabla calculada, columna calculada o medida se define
por su nombre, seguido del símbolo igual (=), que luego es seguido por una fórmula
DAX . Por ejemplo, la definición de la tabla calculada Fecha de envío que duplica los
datos de la tabla Fecha es:
Funciones DAX
Operadores DAX
Referencias a objetos de modelo
Valores constantes, como el número 24 o el texto literal "FY" (para el año fiscal)
Variables DAX
Espacio en blanco
Cuando hace referencia a una tabla en una fórmula, oficialmente, el nombre de la tabla
se incluye entre comillas simples. En la siguiente definición de tabla calculada, observe
que la tabla de fecha está entre comillas simples.
Sin embargo, las comillas simples se pueden omitir cuando se cumplen las dos
condiciones siguientes:
Cuando hace referencia a una columna en una fórmula, el nombre de la columna debe
incluirse entre corchetes. Opcionalmente, puede ir precedido de su nombre de
tabla. Por ejemplo, la siguiente definición de medida se refiere a la columna ventas .
Revenue = SUM([ventas])
Debido a que los nombres de columna son únicos dentro de una tabla pero no
necesariamente únicos dentro del modelo, puede eliminar la ambigüedad de la
referencia de columna precediéndola con su nombre de tabla. Esta columna sin
ambigüedad se conoce como columna totalmente calificada .
Cuando hace referencia a una medida en una fórmula, como las referencias al nombre
de una columna, el nombre de la medida debe incluirse entre corchetes. Por ejemplo, la
siguiente definición de medida se refiere a las medidas Ingresos y Costos .
La sintaxis incluye varios elementos que conforman una fórmula o, más simplemente, cómo se
escribe. Por ejemplo, examinemos una fórmula DAX simple utilizada para crear datos nuevos
(valores) para cada fila de una columna calculada, denominada Margin, en una tabla FactSales:
(los colores del texto de la fórmula únicamente son para fines ilustrativos)
1. El operador del signo igual (=) indica el principio de la fórmula y cuando esta fórmula se calcule,
devolverá un resultado o un valor. Todas las fórmulas que calculan un valor empezarán con un
signo de igual.
2. La columna a la que se hace referencia [SalesAmount] contiene los valores de los que se resta.
Una referencia de columna de una fórmula siempre viene entre corchetes []. A diferencia de las
fórmulas de Excel que hacen referencia a una celda, una fórmula DAX hace referencia siempre a
una columna.
3. El operador matemático de resta (-).
4. La columna a la que se hace referencia [TotalCost] contiene los valores que deseamos restar de
los valores de la columna [SalesAmount].
Al intentar entender cómo leer ejemplo anterior de la fórmula de DAX, suele ser útil analizar
cada uno de los elementos de un idioma en el que piense y hable cada día. Por ejemplo, puede
leer esta fórmula como: En la tabla Empresa , para cada fila de la columna calculada margen,
calcule (=) un valor restando (-) los valores de la columna [TotalCost] de los valores de la columna
[SalesAmount]. Esta diferencia nos entrega el margen de ganancia en cada operación.
Para la medida denominada suma del importe de ventas, calcular (=) la suma de los valores de la
columna [ SalesAmount ] en la tabla FactSales .
Es muy importante que las fórmulas tengan la sintaxis correcta. En la mayoría de los casos, si la
sintaxis no es correcta, se devolverá un error de sintaxis.
A estas alturas, ya está familiarizado con las funciones de resumen de una sola columna,
incluidas SUM, COUNT, MIN, MAX y otras. Cada una de estas funciones tiene una
función iteradora equivalente que se identifica con el sufijo "X", como SUMX, COUNTX,
MINX, MAXX y otros. Además, existen funciones de iterador especializadas que
realizan filtrado, clasificación, cálculos semi-aditivos a lo largo del tiempo y más.
Característica de todas las funciones de iterador, debe pasar una tabla y una
expresión. La tabla puede ser una referencia de tabla modelo o una expresión que
devuelve un objeto de tabla. La expresión debe evaluarse a un valor escalar.
Las funciones de resumen de una sola columna, como SUM, son funciones
abreviadas. Internamente, Microsoft Power BI convierte la función SUM en SUMX. Como
resultado, las siguientes dos definiciones de medida producirán el mismo
resultado; Power BI no diferencia entre estas definiciones de medida cuando las evalúa
o su rendimiento.
Y deseamos obtener realizar aplicar una formula DAX que nos entregue el total de la
ventas, dd
Colocar ejemplo
VII.4 Función Iterador RANKX
La función RANKX es una función de iterador especial que puede usar para calcular rangos. Su
sintaxis es la siguiente:
Al igual que con todas las funciones de iterador, debe pasar una tabla y una
expresión. Opcionalmente, puede pasar un valor de rango para encontrar la dirección del
pedido o para ayudarlo a determinar cómo manejar los rangos cuando los valores están
empatados.
La dirección del resultado de la función RANX puede ser ascendente o descendente. Al clasificar
algo favorable, como los valores de ingresos, es probable que use un orden descendente para
que los ingresos más altos se clasifiquen en primer lugar. Al clasificar algo desfavorable, como
las quejas de los clientes, puede usar el orden ascendente para que el número más bajo de
quejas se clasifique en primer lugar. Cuando no pasa un argumento de orden, la función
utilizará el orden descendente.
Ejemplo: La siguiente Medida “Rango de cantidad de Productos”, lista los productos en orden
descendente por cantidad disponible:
En este caso la función RANKX itera sobre una tabla que es devuelta por la función ALL. La
función ALL se usa para devolver todas las filas en una tabla modelo o valores en una o más
columnas e ignora todos los filtros . Por lo tanto, en este caso, devuelve una tabla que consta de
todos los valores de la columna Producto en la tabla Producto. La función RANKX debe usar la
función ALL porque el objeto visual de la tabla se agrupará por producto (que es un filtro en la
tabla Producto).
Puede utilizar la función CALCULATE para modificar el contexto del filtro en sus
fórmulas. La sintaxis de la función CALCULATE es la siguiente:
La función requiere pasar una expresión que devuelva un valor escalar y tantos filtros
como necesite. La expresión puede ser una medida (que es una expresión con nombre)
o cualquier expresión que se pueda evaluar en el contexto del filtro.
Los filtros pueden ser expresiones booleanas o expresiones de tabla. También es posible
pasar funciones de modificación de filtros que proporcionan un control adicional
cuando se modifica el contexto de la formular.
Cuando tiene varios filtros, se evalúan mediante el operador lógico AND, lo que significa
que todas las condiciones deben ser VERDADERAS al mismo tiempo.
La siguiente medida filtra la medida de Ingresos por productos caros. Los productos
caros son aquellos con un precio de lista superior a 1000 USD.
Realiza la suma de todos los registros de la columna Autos, que son parte de la tabla Ventas.
Crear una columna calculada que calcule el producto de las dos columnas (OrderQuantity y
UnitPrice) fila a fila
Crea una medida que sume de los valores de la columna calculada del ejemplo anterior.
La misma operación de los dos ejemplos anteriores se puede realizar por medio de la siguiente
formula:
A partir de la función SUMX para crear directamente la medida sin necesidad de crear una
columna. Las dos medidas devuelven el mismo resultado. Con la primera solución
almacenaríamos en el modelo permanentemente los resultados de multiplicar ambas columnas
fila por fila, mientras que en la segunda solución no. La segunda solución es la más eficiente, es
decir, elegiremos SUMX().
Quantity_Red_Color=CALCULATE(SUM(Sales[OrderQuantity]),Product[Color]="Rojo")
Este ejemplo calcula la cantidad de productos de color rojo vendidos, es importante considerar
que a la función SUM() no se le puede pasar una expresión como parámetro, solo admite
nombres de columnas. Esto implica que no se pueden filtrar las filas de la tabla sobre la que
queremos realizar el cálculo y para lograrlo necesitamos combinarla con la función
CALCULATE().
La operación anterior, en la cual se seleccionó algunos registros que cumplía un atributo en
forma específica (color = rojo), también se puede realizar de las siguientes formas:
La función SUMX admite como primer parámetro una expresión que devuelva una tabla y la
función Filter lo hace. Esto nos permite filtrar la tabla Sales de manera que solo devuelva las filas
donde el color del producto es rojo y luego sumamos los valores de la columna OrderQuantity.
La columna Color está en la tabla Product y por ello necesitamos usar la función RELATED() para
conocer el color del producto relativo a cada fila. La fórmula resultante sería:
En este caso el primer parámetro será la tabla Sales, sin filtrar, y el segundo una expresión.
Recorreremos cada fila de la tabla Sales y comprobamos el valor de la expresión. Si la expresión
es verdadera sumaremos los valores de la columna OrderQuantity. La expresión a utilizar será
“Si el color del producto relacionado es rojo la expresión es verdadera, en otro caso es falsa”. La
fórmula quedará:
Esta sería muy similar a la primera variante solo que usando la función SUMX en lugar de SUM.
Las funciones de agregación devuelven un valor escalar aplicando una función de agregación a
una columna o a una expresión evaluada mediante la iteración de una expresión de tabla.
FUNCIÓN DESCRIPCIÓN
AVERAGE Devuelve el promedio (media aritmética) de todos los números de una
columna.
AVERAGEA Devuelve el promedio (media aritmética) de los valores de una
columna. Maneja texto y valores no numéricos.
AVERAGEX Calcula el promedio (media aritmética) de un conjunto de expresiones
evaluadas sobre una tabla.
COUNT Cuenta el número de filas de la tabla donde la columna especificada tiene
un valor que no está en blanco.
COUNTA Cuenta el número de valores en una columna.
COUNTAX Cuenta el número de valores que resultan de evaluar una expresión para
cada fila de una tabla.
COUNTBLANK Cuenta el número de espacios en blanco en una columna.
COUNTROWS Cuenta el número de filas de una tabla.
COUNTX Cuenta el número de valores que resultan de evaluar una expresión para
cada fila de una tabla.
DISTINCTCOUNT Cuenta el número de valores distintos en una columna.
DISTINCTCOUNTNO Cuenta el número de valores distintos en una columna.
BLANK
MAX Devuelve el valor más grande en una columna o el valor más grande
entre dos expresiones escalares. Ignora los valores lógicos. Las cadenas se
comparan por orden alfabético.
MAXA Devuelve el valor más grande de una columna. No ignora los valores
lógicos y el texto.
MAXX Devuelve el valor más grande que resulta de evaluar una expresión para
cada fila de una tabla. Las cadenas se comparan por orden alfabético.
MIN Devuelve el valor más pequeño de una columna o el valor más pequeño
entre dos expresiones escalares. Ignora los valores lógicos. Las cadenas se
comparan por orden alfabético.
MINA Devuelve el valor más pequeño de una columna. No ignora los valores
lógicos y el texto.
MINX Devuelve el valor más pequeño que resulta de evaluar una expresión para
cada fila de una tabla. Las cadenas se comparan por orden alfabético.
PRODUCT Devuelve el producto de la referencia de columna dada.
PRODUCTX Devuelve el producto de los valores de una expresión en una tabla.
SUM Suma todos los números de una columna.
SUMX Devuelve la suma de una expresión evaluada para cada fila de una tabla.
FUNCIÓN DESCRIPCIÓN
CONTAINS Devuelve VERDADERO si existe al menos una fila en la que todas
las columnas tienen valores especificados.
CONTAINSROW Devuelve VERDADERO si existe al menos una fila en la que todas
las columnas tienen valores especificados.
CONTAINSSTRING Devuelve VERDADERO si una cadena de texto contiene otra
cadena de texto. CONTAINSSTRING no distingue entre mayúsculas
y minúsculas, pero sí acentos.
CONTAINSSTRINGEXACT Devuelve VERDADERO si una cadena de texto contiene otra
cadena de texto. CONTAINSSTRINGEXACT distingue entre
mayúsculas y minúsculas y acentos.
CUSTOMDATA Devuelve el valor de la propiedad de la cadena de conexión
CustomData si está definida; de lo contrario, EN BLANCO ().
HASONEFILTER Devuelve verdadero cuando la tabla o columna especificada tiene
uno y solo un valor resultante de los filtros directos.
HASONEVALUE Devuelve verdadero cuando solo hay un valor en la columna
especificada.
ISAFTER Devuelve verdadero si la lista de parámetros de Value1 se compara
estrictamente después de la lista de parámetros de Value2.
ISBLANK Comprueba si un valor está en blanco y devuelve VERDADERO o
FALSO.
ISCROSSFILTERED Devuelve verdadero cuando se realiza un filtrado cruzado de la
tabla o columna especificada.
ISEMPTY Devuelve verdadero si la tabla o expresión de tabla especificada
está vacía.
ISERROR Comprueba si un valor es un error y devuelve VERDADERO o
FALSO.
ISEVEN Devuelve VERDADERO si el número es par o FALSO si el número es
impar.
ISFILTERED Devuelve verdadero cuando hay filtros directos en la columna
especificada.
ISINSCOPE Devuelve verdadero cuando la columna especificada es el nivel en
una jerarquía de niveles.
ISLOGICAL Comprueba si un valor es un valor lógico (VERDADERO o FALSO) y
devuelve VERDADERO o FALSO.
ISNONTEXT Comprueba si un valor no es texto (las celdas en blanco no son
texto) y devuelve VERDADERO o FALSO.
ISNUMBER Comprueba si un valor es un número y devuelve VERDADERO o
FALSO.
ISODD Devuelve VERDADERO si el número es impar o FALSO si el número
es par.
ISONORAFTER La función IsOnOrAfter es una función booleana que emula el
comportamiento de la cláusula Start At y devuelve verdadero para
una fila que cumple todas las condiciones mencionadas como
parámetros en esta función.
ISSELECTEDMEASURE Devuelve verdadero si una de las medidas especificadas se está
evaluando actualmente.
ISSUBTOTAL Devuelve VERDADERO si la fila actual contiene un subtotal para
una columna especificada y FALSO en caso contrario.
ISTEXT Comprueba si un valor es texto y devuelve VERDADERO o FALSO.
SELECTEDMEASURE Devuelve la medida que se está evaluando actualmente.
SELECTEDMEASUREFORM Devuelve la cadena de formato para la medida que se está
ATSTRING evaluando actualmente.
SELECTEDMEASURENAME Devuelve el nombre de la medida que se está evaluando
actualmente.
USERCULTURE Devuelve el código de cultura del usuario, según su sistema
operativo o la configuración del navegador.
USERNAME Devuelve el nombre de dominio y el nombre de usuario de la
conexión actual con el formato de nombre de dominio \ nombre
de usuario.
USEROBJECTID Devuelve el ID de objeto del usuario actual de Azure AD para
Azure Analysis Server y el SID del usuario actual para Analysis
Server local.
USERPRINCIPALNAME Devuelve el nombre principal del usuario.
Las funciones lógicas actúan sobre una expresión para devolver información sobre los valores o
conjuntos de la expresión.
FUNCIÓN DESCRIPCIÓN
AND Comprueba si todos los argumentos son VERDADEROS y devuelve VERDADERO
si todos los argumentos son VERDADEROS.
COALESCE Devuelve el primer argumento que no se evalúa como un valor en blanco. Si
todos los argumentos se evalúan en valores en blanco, se devuelve EN BLANCO.
FALSE Devuelve el valor lógico FALSO.
IF Comprueba si se cumple una condición y devuelve un valor si es VERDADERO y
otro valor si es FALSO.
IF.EAGER Comprueba si se cumple una condición y devuelve un valor si es VERDADERO y
otro valor si es FALSO. Utiliza un plan de ejecución ávido.
IFERROR Devuelve value_if_error si la primera expresión es un error y el valor de la propia
expresión en caso contrario.
NOT Cambia FALSO a VERDADERO o VERDADERO a FALSO.
OR Devuelve VERDADERO si alguno de los argumentos es VERDADERO y devuelve
FALSO si todos los argumentos son FALSOS.
SWITCH Devuelve resultados diferentes según el valor de una expresión.
TRUE Devuelve el valor lógico VERDADERO.
A.4 Funciones de Fecha y Hora
Las funciones de fecha y hora ayudan a crear cálculos basados en fechas y horas. Muchas de las
funciones de DAX son similares a las funciones de fecha y hora de Excel.
FUNCIÓN DESCRIPCIÓN
CALENDAR Devuelve una tabla con una columna de todas las fechas entre StartDate y
EndDate.
CALENDARAUTO Devuelve una tabla con una columna de fechas calculadas a partir del
modelo automáticamente.
DATE Devuelve la fecha especificada en formato de fecha y hora.
DATEDIFF Devuelve el número de unidades (unidad especificada en Intervalo) entre las
dos fechas ingresadas.
DATEVALUE Convierte una fecha en forma de texto en una fecha en formato de fecha y
hora.
DAY Devuelve un número del 1 al 31 que representa el día del mes.
EDATE Devuelve la fecha que es el número indicado de meses antes o después de
la fecha de inicio.
EOMONTH Devuelve la fecha en formato de fecha y hora del último día del mes antes o
después de un número especificado de meses.
HOUR Devuelve la hora como un número de 0 (12:00 a. M.) A 23 (11:00 p. M.).
MINUTE Devuelve un número del 0 al 59 que representa el minuto.
MONTH Devuelve un número del 1 (enero) al 12 (diciembre) que representa el mes.
NOW Devuelve la fecha y hora actuales en formato de fecha y hora.
QUARTER Devuelve un número del 1 (enero-marzo) al 4 (octubre-diciembre) que
representa el trimestre.
SECOND Devuelve un número del 0 al 59 que representa el segundo.
TIME Convierte horas, minutos y segundos dados como números a una hora en
formato de fecha y hora.
TIMEVALUE Convierte una hora en formato de texto a una hora en formato de fecha y
hora.
TODAY Devuelve la fecha actual en formato de fecha y hora.
UTCNOW Devuelve la fecha y hora actuales en formato de fecha y hora expresada en
hora universal coordinada (UTC).
UTCTODAY Devuelve la fecha actual en formato de fecha y hora expresada en hora
universal coordinada (UTC).
WEEKDAY Devuelve un número que identifica el día de la semana de una fecha. El
número está en un rango de 1 a 7 o de 0 a 6 según la elección del
parámetro ReturnType.
WEEKNUM Devuelve el número de semana del año.
YEAR Devuelve el año de una fecha como un número entero de cuatro dígitos.
YEARFRAC Devuelve la fracción de año que representa el número de días completos
entre fecha_inicio y fecha_finalización.
ADDCOLUMNS Devuelve una tabla con nuevas columnas especificadas por las
expresiones DAX.
ADDMISSINGITEMS Vuelva a agregar las filas con valores de medida vacíos.
CROSSJOIN Devuelve una tabla que es una combinación cruzada de las tablas
especificadas.
CURRENTGROUP Acceso a la (sub) tabla que representa el grupo actual en la función
GroupBy. Solo se puede usar dentro de la función GroupBy.
DATATABLE Devuelve una tabla con datos definidos en línea.
DETAILROWS Devuelve los datos de la tabla correspondientes a la expresión
DetailRows definida en el indicador especificado. Si no se define una
expresión de DetailRows, se devuelve toda la tabla a la que
pertenece el indicador.
DISTINCT Devuelve una tabla de una columna que contiene los valores
distintos (únicos) en una columna, para un argumento de
columna. O varias columnas con una combinación de valores distinta
(única), para un argumento de expresión de tabla.
EXCEPT Devuelve las filas de la tabla del lado izquierdo que no aparecen en
la tabla del lado derecho.
FILTERS Devuelve una tabla de los valores de filtro aplicados directamente a
la columna especificada.
GENERATE La segunda expresión de la tabla se evaluará para cada fila de la
primera tabla. Devuelve la unión cruzada de la primera tabla con
estos resultados.
GENERATEALL La segunda expresión de la tabla se evaluará para cada fila de la
primera tabla. Devuelve la combinación cruzada de la primera tabla
con estos resultados, incluidas las filas para las que la segunda
expresión de la tabla está vacía.
GENERATESERIES Devuelve una tabla con una columna, poblada con valores
secuenciales de principio a fin.
GROUPBY Crea un resumen de la tabla de entrada agrupada por las columnas
especificadas.
IGNORE Etiqueta una expresión de medida especificada en la llamada a la
función SUMMARIZECOLUMNS para que se ignore al determinar las
filas que no están en blanco.
INTERSECT Devuelve las filas de la tabla del lado izquierdo que aparecen en la
tabla del lado derecho.
NATURALINNERJOIN Une la tabla de la izquierda con la tabla de la derecha usando la
semántica de Inner Join.
NATURALLEFTOUTERJOIN Une la tabla izquierda con la tabla derecha usando la semántica de
unión externa izquierda.
NONVISUAL Marque el filtro como No visual.
ROLLUP Identifica un subconjunto de columnas especificadas en la llamada a
la función SUMMARIZE que debe usarse para calcular subtotales.
ROLLUPADDISSUBTOTAL Identifica un subconjunto de columnas especificadas en la llamada a
la función SUMMARIZECOLUMNS que debe usarse para calcular
grupos de subtotales.
ROLLUPGROUP Identifica un subconjunto de columnas especificadas en la llamada a
la función SUMMARIZE que debe usarse para calcular grupos de
subtotales.
ROLLUPISSUBTOTAL Empareja los grupos acumulados con la columna agregada por
ROLLUPADDISSUBTOTAL.
ROW Devuelve una tabla de una sola fila con nuevas columnas
especificadas por las expresiones DAX.
SELECTCOLUMNS Devuelve una tabla con columnas seleccionadas de la tabla y nuevas
columnas especificadas por las expresiones DAX.
SUBSTITUTEWITHINDEX Devuelve una tabla que representa la semiunión de dos tablas
proporcionadas y para las que el conjunto común de columnas se
reemplaza por una columna de índice basada en 0. El índice se basa
en las filas de la segunda tabla ordenadas por expresiones de orden
especificadas.
SUMMARIZE Crea un resumen de la tabla de entrada agrupada por las columnas
especificadas.
SUMMARIZECOLUMNS Cree una tabla de resumen para los totales solicitados sobre un
conjunto de grupos.
TOPN Devuelve un número determinado de filas superiores según una
expresión especificada.
TOPNSKIP Recupera varias filas de una tabla de forma eficaz, omitiendo varias
filas. En comparación con TOPN, la función TOPNSKIP es menos
flexible, pero mucho más rápida.
TREATAS Trata las columnas de la tabla de entrada como columnas de otras
tablas. Para cada columna, filtra los valores que no están presentes
en su columna de salida respectiva.
UNION Devuelve la unión de las tablas cuyas columnas coinciden.
VALUES Cuando se proporciona un nombre de columna, devuelve una tabla
de una sola columna de valores únicos. Cuando se proporciona un
nombre de tabla, devuelve una tabla con las mismas columnas y
todas las filas de la tabla (incluidos los duplicados) con la fila en
blanco adicional si está presente.
FUNCIÓN DESCRIPCIÓN
https://docs.microsoft.com/es-es/dax/
https://dax.guide/
https://docs.microsoft.com/en-us/learn/
https://support.microsoft.com/es-es/office/tutorial-r%C3%A1pido-aprenda-los-fundamentos-
de-dax-en-30-minutos-51744643-c2a5-436a-bdf6-c895762bec1a
https://www.dataxbi.com/