Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola.
Quiero hacer notación cuando el precio cambia y dar número seqencial también.
Porque, quiero ver los datos cambiados en las últimas 6 veces.
Mis datos se ven así.
AAAAMM | Sku | Montón | Precio |
202001 | MM01 | F1 | 10 |
202001 | MM01 | F2 | 10 |
202001 | MF01 | D1 | 5 |
202002 | MM01 | F1 | 12 |
202002 | MM01 | F2 | 10 |
202002 | MF01 | D1 | 5 |
202003 | MM01 | F1 | 12 |
202003 | MM01 | F2 | 9 |
202003 | MF01 | D1 | 5 |
202004 | MM01 | F1 | 12 |
202004 | MM01 | F2 | 10 |
202004 | MF01 | D1 | 4 |
Mi plan era cambiar la notación primero, y darles rangos desc orden como abajo.
AAAAMM | Sku | Montón | Precio | Estado | rango |
202001 | MM01 | F1 | 10 | Cambiado | 2 |
202001 | MM01 | F2 | 10 | Cambiado | 4 |
202001 | MF01 | D1 | 5 | Cambiado | 2 |
202002 | MM01 | F1 | 12 | Cambiado | 1 |
202002 | MM01 | F2 | 10 | Cambiado | 3 |
202002 | MF01 | D1 | 5 | ||
202003 | MM01 | F1 | 12 | ||
202003 | MM01 | F2 | 9 | Cambiado | 2 |
202003 | MF01 | D1 | 5 | ||
202004 | MM01 | F1 | 12 | ||
202004 | MM01 | F2 | 10 | Cambiado | 1 |
202004 | MF01 | D1 | 4 | Cambiado | 1 |
Hice la columna STATUS,
ESTADO DE LA PANTALLA DE ESTADO DE LA VAR lastStatus ? CALCULAR( MIN([PRECIO]) , PREVIOUSMONTH('D_Dates'[AAAAMMDD]) , ALLEXCEPT(FACTTABLE, 'FACTTABLE'[SKU], 'FACTTABLE'[LOT]) ) devolución IF([PRICE]-lastStatus, "", "Changed") |
pero RANK.
Estoy tirando aplicar RANKX() de muchas maneras, pero, puedo ver mensajes de error solamente.
¿Mi enfoque es correcto? y ¿Cómo puedo dar el segundo a los cambios?
Gracias por leer, y esperaré el consejo tuyo.
saludos.
Solved! Go to Solution.
Hola
Por favor, pruebe esta columna de rango:
Column-Rank =
VAR a =
RANKX (
FILTER (
ALLSELECTED ( FactTable ),
FactTable[Column-Status] <> BLANK ()
&& FactTable[SKU] = EARLIER ( FactTable[SKU] )
&& FactTable[LOT] = EARLIER ( FactTable[LOT] )
),
FactTable[MonthNo],
,
DESC,
DENSE
)
RETURN
IF ( FactTable[Column-Status] <> BLANK (), a, BLANK () )
El resultado muestra:
Saludos
Giotto Zhi
Hola
De acuerdo con su descripción, por favor tome los siguientes pasos:
1)Crear dos columnas en FactTable:
YYYYMM = FORMAT(FactTable[Date],"YYYYMM")
MonthNo = FactTable[Date].[MonthNo]
2)Crear una medida de estado:
Status =
VAR LastMonthPrice =
CALCULATE (
MAX ( FactTable[PRICE] ),
FILTER (
ALLSELECTED ( FactTable ),
FactTable[SKU] IN FILTERS ( FactTable[SKU] )
&& FactTable[LOT] IN FILTERS ( FactTable[LOT] )
&& FactTable[MonthNo]
= MAX ( FactTable[MonthNo] ) - 1
)
)
RETURN
IF (
MONTH ( MAX ( FactTable[Date] ) )
= MONTH ( MINX ( ALL ( FactTable ), FactTable[Date] ) ),
"Changed",
IF ( MAX ( FactTable[PRICE] ) = LastMonthPrice, "", "Changed" )
)
3)Crear una medida de rango:
Rank =
VAR a =
RANKX (
FILTER (
ALLSELECTED ( FactTable ),
[Status] <> BLANK ()
&& FactTable[SKU] IN FILTERS ( FactTable[SKU] )
&& FactTable[LOT] IN FILTERS ( FactTable[LOT] )
),
CALCULATE ( SUM ( FactTable[MonthNo] ) ),
,
DESC,
DENSE
)
RETURN
IF ( [Status] <> BLANK (), a, BLANK () )
4)El resultado muestra:
Consejos: Creo que el estado de la fila marcado por la línea roja en el resultado esperado debe estar en blanco no "Cambiado" porque en el mismo [SKU] y [LOT], el precio del mes anterior es el mismo con el precio de esta fila como 10.
Así que el resultado debe mostrarse como mi captura de pantalla anterior.
Si he malinterpretado su requisito y lógica, por favor por favor por favor por favor por favor, por favor, hágamelo saber.
Aquí está mi archivo pbix de prueba:
Espero que esto ayude.
Saludos
Giotto Zhi
Hola, @v-gizhi-msft.
¡Son medidas lo que quiero! Muchas gracias 🙂
Si no le importa, ¿puede ayudarme a aplicar eso a las columnas calculadas?
Porque quiero filtrar datos por cambio o no. Las medidas no se pueden filtrar en la página, por lo que necesito hacer esas columnas.
Pero, cuando intenté, un mensaje devolvió: "Se detectó una dependencia circular"
O bien, ¿hay alguna manera de aplicar la medida al filtro de página?
saludos
Jihong.
Hola
Por favor, pruebe esta columna:
Column =
VAR LastMonthDate =
DATE ( YEAR ( [Date] ), MONTH ( [Date] ) - 1, DAY ( [Date] ) )
VAR LastMonthPrice =
CALCULATE (
SUM ( FactTable[PRICE] ),
FILTER (
ALLSELECTED ( FactTable ),
FactTable[SKU] = EARLIER ( FactTable[SKU] )
&& FactTable[LOT] = EARLIER ( FactTable[LOT] )
&& FactTable[Date] = LastMonthDate
)
)
RETURN
IF (
MONTH ( FactTable[Date] )
= MONTH ( CALCULATE ( MIN ( FactTable[Date] ), 'FactTable' ) ),
"Changed",
IF ( FactTable[PRICE] = LastMonthPrice, "", "Changed" )
)
El resultado muestra:
Y luego puede filtrar fácilmente esta columna de estado en el panel de filtro de página.
Si mi respuesta ha resuelto su problema, por favor márquelo como una solución para que otros lo vean.
¡Gracias!
Saludos
Giotto Zhi
Lo siento. No tenía suficiente explicación.
También quiero agregar la columna RANK (seq).
Para ello, puedo agregar la condición de límite o el filtro de segmentación de datos.
(por ejemplo, mostrar el historial del cambio hasta 3 veces, o 6 veces...)
He estado en problemas por dos días, pero tu consejo me saca de.
saludos
Jihong.
Hola
Por favor, pruebe esta columna de rango:
Column-Rank =
VAR a =
RANKX (
FILTER (
ALLSELECTED ( FactTable ),
FactTable[Column-Status] <> BLANK ()
&& FactTable[SKU] = EARLIER ( FactTable[SKU] )
&& FactTable[LOT] = EARLIER ( FactTable[LOT] )
),
FactTable[MonthNo],
,
DESC,
DENSE
)
RETURN
IF ( FactTable[Column-Status] <> BLANK (), a, BLANK () )
El resultado muestra:
Saludos
Giotto Zhi
Hola @ezh0ng ,
¿puede por favor profundizar en la clasificación, tengo que admitir que no entiendo cómo se compone la clasificación (secuencia)?.
saludos
Tom
@TomMartens, Gracias por responder.
Quiero dar seq por YYYYMM desc por SKU.
Por favor, consulte la tabla a continuación.
AAAAMM | Sku | Montón | Precio | Estado | RANK(seq) |
202004 | MF01 | D1 | 4 | Cambiado | 1 |
202001 | MF01 | D1 | 5 | Cambiado | 2 |
202002 | MF01 | D1 | 5 | ||
202003 | MF01 | D1 | 5 | ||
202002 | MM01 | F1 | 12 | Cambiado | 1 |
202001 | MM01 | F1 | 10 | Cambiado | 2 |
202003 | MM01 | F1 | 12 | ||
202004 | MM01 | F1 | 12 | ||
202004 | MM01 | F2 | 10 | Cambiado | 1 |
202003 | MM01 | F2 | 9 | Cambiado | 2 |
202002 | MM01 | F2 | 10 | Cambiado | 3 |
202001 | MM01 | F2 | 10 | Cambiado | 4 |
Cree una medida de este mes y el mes pasado y utilíquela en el rango. para obtener este mes y el último rango de la polilla
Obtener una fecha primero
fecha: Fecha(izquierda([AAAAMM],4),derecha([AAAAMM],2),1)
Utilícelo con el calendario de fechas
MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
last MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
Ahora crea dos medidas de rango
Para el rango Refiera estos links
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
https://radacad.com/how-to-use-rankx-in-dax-part-1-of-3-calculated-columns
https://radacad.com/how-to-use-rankx-in-dax-part-3-of-3-the-finale
Para obtener lo mejor de la función de inteligencia de tiempo. Asegúrese de que tiene un calendario de fechas y se ha marcado como la fecha en la vista de modelo. Además, únase a él con la columna de fecha de su hecho/s. Consulte:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |