murratore
Tengo un RawTable con tales valores:
Usuarios | Clave de tiempo
46577 | 2017T1
78776 | 2017Q2
89764 | 2017T3
87876 | 2017T4
49874 | 2018T1
Ahora quiero crear una columna de medida con el valor del mismo período del año pasado. Lo que significa que en la fila 2018Q1 el valor de la medida sería 46577. La columna TimeKey está vinculada a una dimensión de fecha calculada (y allí con la columna Quartar).
Lo probé con «Medida = CALCULAR (Suma (RawTable[Users]);SAMEPERIODLASTYEAR(FechaDimensión[Date]))». Esto da como resultado un valor vacío.
El segundo intento fue «Medida = CALCULAR (Suma (RawTable[Users]); FILTRO (Tabla sin procesar; Tabla sin procesar[TimeKey]=(IZQUIERDA(Tabla sin procesar[TimeKey];4)-1 & DERECHA(RawTable[TimeKey];2)))). (Absolutamente no es una buena solución….)
¿Alguien puede darme una pista?
v-lili6-msft
En respuesta a murratore
hola, @murratore
Para su caso, simplemente ajuste la fórmula de la siguiente manera:
Measure 2 = CALCULATE ( SUM ( RawTable[Users] ), FILTER ( ALLEXCEPT( RawTable,RawTable[AdditionalDim] ), RawTable[TimeKey] = ( LEFT ( MAX ( RawTable[TimeKey] ), 4 ) - 1 & RIGHT ( MAX ( RawTable[TimeKey] ), 2 ) ) ) )
Use ALLEXCEPT en lugar de ALL
Resultado:
Atentamente,
Lin
v-lili6-msft
hola, @murratore
Podrías usar esta fórmula para agregar una medida
Measure 2 = CALCULATE ( SUM ( RawTable[Users] ), FILTER ( ALL ( RawTable ), RawTable[TimeKey] = ( LEFT ( MAX ( RawTable[TimeKey] ), 4 ) - 1 & RIGHT ( MAX ( RawTable[TimeKey] ), 2 ) ) ) )
Resultado:
Atentamente,
Lin
murratore
En respuesta a v-lili6-msft
Gracias hasta ahora.
Para este caso donde solo se elige TimeKey, funciona. Tan pronto como elijo una dimensión adicional, ya no funciona. ¿Cómo puedo «respetar» las dimensiones elegidas y sobrescribir solo el «TimeKey»?
v-lili6-msft
En respuesta a murratore
hola, @murratore
Para su caso, simplemente ajuste la fórmula de la siguiente manera:
Measure 2 = CALCULATE ( SUM ( RawTable[Users] ), FILTER ( ALLEXCEPT( RawTable,RawTable[AdditionalDim] ), RawTable[TimeKey] = ( LEFT ( MAX ( RawTable[TimeKey] ), 4 ) - 1 & RIGHT ( MAX ( RawTable[TimeKey] ), 2 ) ) ) )
Use ALLEXCEPT en lugar de ALL
Resultado:
Atentamente,
Lin