Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La función DAY devuelve el día de una fecha como número entero de 1 a 31.
SINTAXIS
DAY(
<fecha>
)
PARÁMETROS
VALOR DEVUELTO
La función DAY devuelve un número entero en el rango 1-31.
MONTH
La función MONTH devuelve el mes de una fecha como número entero de 1
(correspondiente a enero) a 12 (correspondiente a diciembre).
SINTAXIS
MONTH(<fecha>)
PARÁMETROS
VALOR DEVUELTO
La función MONTH devuelve un número entero en el rango 1-12.
QUARTER
La función QUARTER devuelve el trimestre de una fecha como número entero en el rango
1-4.
SINTAXIS
QUARTER(
<fecha>
)
PARÁMETROS
VALOR DEVUELTO
La función QUARTER devuelve un número entero en el rango 1-4.
YEAR
La función YEAR devuelve el año de una fecha como número entero en el rango 100-
9999.
SINTAXIS
YEAR(<fecha>)
PARÁMETROS
VALOR DEVUELTO
La función YEAR devuelve un número entero en el rango 100-9999.
FORMAT
La función FORMAT convierte un valor en texto de acuerdo a un formato específico.
SINTAXIS
FORMAT(
<valor>,
<formato>
)
PARÁMETROS
valor: Valor o expresión que, devolviendo un valor sencillo, se desea convertir en
texto.
formato: Cadena de texto con la plantilla del formato a aplicar.
VALOR DEVUELTO
La función FORMAT devuelve una cadena de texto.
General Date: Muestra una fecha u hora. El formato exacto dependerá del valor de
referencia cultural local.
Long Date, Medium Date o Short Date: Muestra un fecha según el formato largo,
medio o corto del valor de referencia cultural local.
Long Time: Muestra una hora según el formato largo del valor de referencia
cultural local. Normalmente incluye la hora, el minuto y el segundo.
Medium Time: Muestra una hora en formato de 12 horas.
Short Time: Muestra una hora en formato de 24 horas.
CALENDAR
La función CALENDAR devuelve una tabla con una única columna llamada "Date"
conteniendo un rango secuencial de fechas entre dos fechas dadas como argumentos (e
incluidas en el rango).
SINTAXIS
CALENDAR(<fecha_inicial>; <fecha_final>)
PARÁMETROS
VALOR DEVUELTO
La función CALENDAR devuelve una tabla con una única columna llamada "Date"
conteniendo un rango de fechas.
EJEMPLOS
En este ejemplo se crea una tabla personalizada conteniendo como única columna el
rango de fechas entre el 1 de enero de 2016 y el 7 de enero del mismo año:
Y se crea una tabla personalizada con fechas de inicio y final extraídas de la tabla de
ventas mediante las funciones MINX y MAXX:
DATESMTD
La función DATESMTD devuelve una tabla con una única columna que contiene las fechas
desde el principio de mes del contexto actual hasta la última fecha del contexto actual.
SINTAXIS
DATESMTD(
<fechas>
)
PARÁMETROS
VALOR DEVUELTO
La función DATESMTD devuelve una tabla.
EJEMPLOS
Se considera en este ejemplo la siguiente tabla de ventas:
Ventas = SUM(Ventas[Importe])
..y, a continuación, se define la medida "Ventas MTD" que calcula las ventas acumuladas
desde principio de mes:
SINTAXIS
DATESQTD(
<fechas>
)
PARÁMETROS
VALOR DEVUELTO
La función DATESQTD devuelve una tabla.
INFORMACIÓN ADICIONAL
El argumento <fechas> puede ser una referencia a una columna conteniendo fechas, una
expresión que devuelva una tabla con una única columna conteniendo fechas o una
expresión booleana que defina una tabla con una única columna conteniendo fechas.
El trimestre actual siempre comienza el día 1 del primer mes del trimestre (no es
personalizable).
Esta función considera el último día del contexto actual y devuelve una tabla conteniendo
todas las fechas desde el primer día del trimestre al que pertenece dicho día hasta este
último día. Esto significa que si en el contexto actual se ve involucrado más de un
trimestre, solo se considera el último.
En función del contexto en el que se use, es posible que el resultado no sea el esperado
(por ejemplo, en una matriz de meses y años en la que queramos mostrar las ventas
acumuladas desde principio de año, es posible que simplemente veamos las ventas por
mes). En un caso así, asegúrate de haber marcado la consulta conteniendo el calendario
como "tabla de fechas" (seleccionando la consulta en la columna CAMPOS y ejecutando
el comando Modelado > Calendarios > Marcar como tabla de fechas):
EJEMPLOS
Se considera en este ejemplo la siguiente tabla de ventas:
Se define la medida "Ventas":
Ventas = SUM(Ventas[Importe])
..y, a continuación, se define la medida "Ventas QTD" que calcula las ventas acumuladas
desde principio de trimestre:
DATESYTD
La función DATESYTD devuelve una tabla que contiene las fechas desde el principio de
año del contexto actual hasta la última fecha del contexto actual.
SINTAXIS
DATESYTD(
<fechas>
[,<fecha_fin_de_año>]
)
PARÁMETROS
VALOR DEVUELTO
La función DATESYTD devuelve una tabla.
INFORMACIÓN ADICIONAL
El argumento <fechas> puede ser una referencia a una columna conteniendo fechas, una
expresión que devuelva una tabla con una única columna conteniendo fechas o una
expresión booleana que defina una tabla con una única columna conteniendo fechas.
Esta función considera el último día del contexto actual y devuelve una tabla conteniendo
todas las fechas desde el primer día del año al que pertenece dicho día hasta este último
día. Esto significa que si en el contexto actual se ve involucrado más de un año, solo se
considera el último.
En función del contexto en el que se use, es posible que el resultado no sea el esperado
(por ejemplo, en una matriz de meses y años en la que queramos mostrar las ventas
acumuladas desde principio de año, es posible que simplemente veamos las ventas por
mes). En un caso así, asegúrate de haber marcado la consulta conteniendo el calendario
como "tabla de fechas" (seleccionando la consulta en la columna CAMPOS y ejecutando
el comando Modelado > Calendarios > Marcar como tabla de fechas):
EJEMPLOS
En este ejemplo se ha definido una medida que suma la columna conteniendo los importes
de ventas:
Ventas = SUM(Ventas[Importe])
..y, a continuación, se define la medida "Ventas YTD" que calcula las ventas acumuladas
desde principio de año:
Ventas YTD = CALCULATE(
Ventas[Ventas];
DATESYTD(Calendario[Fecha])
)
Si llevamos estas medidas a una matriz, obtenemos:
Puede verse cómo la medida "Ventas YTD" acumula las ventas realizadas desde el 1 de
enero de cada año.
PREVIOUSDAY
La función PREVIOUSDAY devuelve una tabla conteniendo una columna con la fecha
correspondiente al día anterior al contexto actual.
SINTAXIS
PREVIOUSDAY(
<fechas>
)
PARÁMETROS
fechas: Columna conteniendo fechas.
VALOR DEVUELTO
La función PREVIOUSDAY devuelve una tabla.
Ventas = SUM(FactSales[SalesAmount])
...definiendo el total de ventas, y la medida
PREVIOUSMONTH
La función PREVIOUSMONTH devuelve una tabla conteniendo una columna con las
fechas correspondientes al mes anterior al contexto actual.
SINTAXIS
PREVIOUSMONTH(
<fechas>
)
PARÁMETROS
VALOR DEVUELTO
La función PREVIOUSMONTH devuelve una tabla.
EJEMPLOS
Si, dada una tabla con ventas, definimos la medida:
Ventas = SUM(FactSales[SalesAmount])
...definiendo el total de ventas, y la medida
PREVIOUSQUARTER
La función PREVIOUSQUARTER devuelve una tabla conteniendo una columna con las
fechas correspondientes al trimestre anterior al contexto actual.
SINTAXIS
PREVIOUSQUARTER(<fechas>)
PARÁMETROS
VALOR DEVUELTO
La función PREVIOUSQUARTER devuelve una tabla.
EJEMPLOS
Si, dada una tabla con ventas, definimos la medida:
Ventas = SUM(FactSales[SalesAmount])
...definiendo el total de ventas, y la medida
PREVIOUSYEAR
La función PREVIOUSYEAR devuelve una tabla conteniendo una columna con las fechas
correspondientes al año anterior al contexto actual.
SINTAXIS
PREVIOUSYEAR(
<fechas>
[,<último_día_del_año>]
)
PARÁMETROS
VALOR DEVUELTO
La función PREVIOUSYEAR devuelve una tabla.
EJEMPLOS
Si, dada una tabla con ventas, definimos la medida:
Ventas = SUM(FactSales[SalesAmount])
...definiendo el total de ventas, y la medida
SAMEPERIODLASTYEAR
La función SAMEPERIODLASTYEAR devuelve una tabla conteniendo una columna de
fechas que coinciden con las implicadas en el contexto actual desplazadas hacia atrás un
año.
SINTAXIS
SAMEPERIODLASTYEAR(
<fechas>
)
PARÁMETROS
VALOR DEVUELTO
La función SAMEPERIODLASTYEAR devuelve una tabla.
EJEMPLOS
Si, en una tabla conteniendo información de ventas, definimos la medida
Ventas = SUM(FactSales[SalesAmount])
...para totalizar las ventas en el período implicado en el contexto, podemos mostrar las
ventas por año y mes en una visualización tipo matriz:
A continuación podemos crear una medida para calcular las ventas del mismo período que
el implicado en el contexto un año antes:
PARALLELPERIOD
La función PARALLELPERIOD devuelve una tabla conteniendo una columna de fechas
que coinciden con las implicadas en el contexto actual desplazadas hacia adelante o hacia
atrás un número de intervalos determinado pero ampliadas al intervalo que se haya
especificado.
SINTAXIS
PARALLELPERIOD(
<fechas>,
<número_de_intervalos>,
<intervalo>
)
PARÁMETROS
VALOR DEVUELTO
La función PARALLELPERIOD devuelve una tabla.
EJEMPLOS
Si, dada una tabla con ventas, definimos la medida:
Ventas = SUM(FactSales[SalesAmount])
...definiendo el total de ventas, y la medida
SUMMARIZE
La función SUMMARIZE devuelve una tabla agregada según un conjunto de campos.
SINTAXIS
SUMMARIZE(
<tabla>,
<agrupado_por_columna>
[, <agrupado_por_columa>]…
[, ROLLUP(<agrupado_por_columna>
[, <agrupado_por_columa>])]
[, <nombre>; <expresión>]…
)
PARÁMETROS
tabla: Referencia a una tabla o expresión DAX que devuelve una tabla.
agrupado_por_columna: Argumento opcional. Nombre totalmente cualificado de
una columna existente en la tabla a usar o en alguna tabla relacionada para crear
los grupos basados en los valores que se encuentren en ella. Pueden añadirse
varios campos.
nombre: Nombre dado al total calculado en <expresión>.
expresión: Expresión DAX que devuelve un escalar que será utilizada para el
cálculo de los totales.
VALOR DEVUELTO
La función SUMMARIZE devuelve una tabla teniendo como columnas las especificadas en
el parámetro <agrupado_por_columna> (valores que van a especificar los criterios de
agregación) y las añadidas como <nombre> que contendrán el resultado de evaluar su
<expresión> para las combinaciones de los campos <agrupado_por_columna>. En el caso
de añadir campos en el bloque ROLLUP, la tabla incluirá también totales parciales para las
columnas en cuestión.
EJEMPLOS
En este ejemplo partimos de una tabla conteniendo las ventas (Sales), una tabla con el
calendario (Calendar) y otra con el listado de categorías a las que pertenecen los
productos vendidos (Category). El objetivo es crear una tabla calculada que muestre, para
cada año y para cada categoría, el total de ventas y el total de tasas pagadas
(campos SalesAmount y TaxAmt de la tabla Sales, respectivamente).
SINTAXIS
SUMMARIZECOLUMNS(
<agrupado_por_columna>
[, <agrupado_por_columna>]...,
[<tabla_de_filtrado>]...,
[, <nombre>,
<expresión>]…
)
PARÁMETROS
EJEMPLOS
Si tenemos una tabla con información de clientes, Customer, podemos crear el mismo
informe para mostrar las ventas solo para los hombres, por ejemplo (información contenida
en el campo Gender de Customer):
RANKX
La función RANKX devuelve la posición (rango) de cada valor resultante de aplicar una
expresión a las filas de una tabla.
SINTAXIS
RANKX(
<tabla>,
<expresión>
[, <valor>
[, <orden>
[, <igualdades>]]]
)
PARÁMETROS
VALOR DEVUELTO
La función RANKX devuelve un número entero.
EJEMPLOS
Supongamos que tenemos un listado de ventas en el que se incluye el producto vendido y
el número de unidades vendidas:
Comencemos definiendo una medida que calcule las ventas totales para cada producto:
Si deseásemos saber qué productos son los más vendidos -independientemente del
contexto- y en qué posición se ordenan tras este análisis, podríamos recurrir a la función
RANKX:
Rango = RANKX(ALL(Ventas[Producto]); Ventas[Ventas totales])
Si añadimos esta medida a la tabla anterior obtenemos:
Como puede verse, la función RANKX ha aplicado los rangos correctamente, dando el
valor 1 al producto más vendido (el producto B, con 7 unidades) y el valor 4 al producto
menos vendido (el producto D, con 2 unidades).
Supongamos ahora que deseamos que los rangos se apliquen en orden inverso, es decir,
que se dé el valor 1 al producto menos vendido y el 4 al más vendido. Para esto bastaría
con incluir el parámetro <orden>:
Si, volviendo a ordenar los rangos de mayor a menos, queremos saber qué posición ocupa
el producto que ha tenido ventas de 6 unidades, la medida tendría que ser modificada de
la siguiente forma:
Imaginemos ahora que queremos calcular la posición del producto del que se vendieron 5
unidades (ya sabemos que no hay ningún producto con esta cifra de ventas):
Básicamente, lo que está diciéndonos la medida es "si existiese un producto para el que se
hubiesen registrado ventas por valor de 5 unidades, ocuparía la posición 3 en el ranking".
Como se ha comentado, en el caso de estar calculando rankings para elementos
duplicados, la máquina DAX los combina en un único elemento y le aplica el ranking más
elevado que tendrían por separado.
Para ver esto, consideremos el listado de clientes (en el que tenemos tanto el nombre de
pila como el apellido y el nombre completo) y las ventas asociadas a cada uno.
Suponiendo que el nombre completo se encuentre en el campo Customer[Name] y que las
ventas estén calculadas en la medida [Sales], podemos evaluar el ranking de cada clientes
con la siguiente medida:
TOPN
La función TOPN devuelve las N filas con valores más elevados de la tabla indicada.
SINTAXIS
TOPN(
<número_filas>,
<tabla>,
<ordenación_por>
[, <orden>
[, <ordenación_por>
[, <orden>]]...]
)
PARÁMETROS
VALOR DEVUELTO
La función TOPN devuelve una tabla con las N filas con mayores valores.
EJEMPLOS
Si tenemos un listado de ventas que incluye el nombre del producto vendido y la cantidad
vendida:
Podemos definir una medida que nos sume, por ejemplo, las ventas de los 3 productos
más vendidos. Comencemos añadiendo una medida que suma las ventas totales (en el
contexto que corresponda):