biz_wiz
Hola,
Todavía estoy aprendiendo DAX y realmente agradecería algún apoyo para crear un número de índice en DAX basado en dos columnas en los datos.
Los datos se ven así:
Fecha de Transacción | Identificación del cliente | Producto |
1.2.2019 | A | X |
5.2.2019 | A | X |
16.2.2019 | A | Y |
4.2.2019 | B | X |
20.2.2019 | B | Y |
6.3.2019 | A | X |
El resultado deseado es una tabla visual con un número de índice basado en TransactionDate (filas de grupo por mes) e ID de cliente (agrupado por ID único)
Salida deseada, una tabla visual se ve así:
Índice | Inicio del período | Fin del periodo | Cliente | Número de compras X | Número de compras Y |
1 | 1.2.2019 | 28.2.2019 | A | 2 | 1 |
2 | 1.2.2019 | 28.2.2019 | B | 1 | 1 |
3 | 1.3.2019 | 31.3.2019 | A | 1 | 0 |
Como puede ver, la fila 3 en la tabla visual es el mismo cliente A pero el mes es marzo, por lo que se asigna un nuevo número de índice (3).
Las últimas dos columnas las puedo hacer con medidas y los atributos de fecha que puedo hacer con columnas calculadas usando la función EOMONTH.
¿Alguna pista sobre cómo se podría hacer este número de índice en DAX? ¡Gracias por cualquier aporte!
v-yulgu-msft
Hola @biz_wiz,
Agregue dos columnas calculadas en la tabla de origen.
Start of period =DATE ( YEAR ( Sample1[TransactionDate] ), MONTH ( Sample1[TransactionDate] ), 1 ) End of period = EOMONTH(Sample1[Start of period],0)
Nuevas medidas.
index based = SELECTEDVALUE(Sample1[Start of period])&SELECTEDVALUE(Sample1[Customer ID]) Index = RANKX(ALLSELECTED(Sample1),[index based],,ASC,Dense) Number of purchases X = CALCULATE(COUNT(Sample1[Product]),Sample1[Product]="X")+0 Number of purchases Y = CALCULATE(COUNT(Sample1[Product]),Sample1[Product]="Y")+0
Atentamente,
Yuliana Gu
v-yulgu-msft
Hola @biz_wiz,
Agregue dos columnas calculadas en la tabla de origen.
Start of period =DATE ( YEAR ( Sample1[TransactionDate] ), MONTH ( Sample1[TransactionDate] ), 1 ) End of period = EOMONTH(Sample1[Start of period],0)
Nuevas medidas.
index based = SELECTEDVALUE(Sample1[Start of period])&SELECTEDVALUE(Sample1[Customer ID]) Index = RANKX(ALLSELECTED(Sample1),[index based],,ASC,Dense) Number of purchases X = CALCULATE(COUNT(Sample1[Product]),Sample1[Product]="X")+0 Number of purchases Y = CALCULATE(COUNT(Sample1[Product]),Sample1[Product]="Y")+0
Atentamente,
Yuliana Gu
biz_wiz
En respuesta a v-yulgu-msft
muchas gracias yuliana 🙂 @v-yulgu-msft