Forum Discussion
Power BI DAX
- 4 years ago
En ella @Learner_SG ,
Entiendo. Aquí está mi solución.
1.Cree una medida de comprobación.
Check = IF(MAX('Sheet4'[Parsed_Date])=TODAY()-7,1)Coloque la medida en el filtro visual y deje que el valor sea 1.
2. Crea una medida de rango.
Rank = RANKX ( FILTER ( ALL ( 'Sheet4' ), 'Sheet4'[Parsed_Date] = TODAY () - 7 ), CALCULATE ( SUM ( 'Sheet4'[WC Water Consumption(mL)] ) ), , DESC, DENSE )Coloque la medida en el filtro visual y deje que el valor < = 4, obtenga el resultado correcto.
Adjunto mi muestra a continuación como referencia.
Saludos
Equipo de apoyo a la comunidad _ kalyjSi esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
En ella @Learner_SG ,
¿Te refieres a mostrar los 4 tiempos más altos en los últimos 7 días? Si este es el caso, aquí está mi solución.
1.Cree una tabla de fechas.
Date = CALENDAR(DATE(2022,1,1),TODAY())
2.Haga una relación entre las dos tablas, tenga en cuenta que la fecha analizada debe ser Tipo de fecha.
3.Coloque la columna de fecha en una segmentación de datos, seleccione Fecha relativa>Última 7 días.
4.In el filtro visual, coloque consumo de agua wc en el cuadro debajo de "Por valor" y seleccione Top 4.
Siempre obtendrá los 4 valores principales en los últimos 7 días.
Adjunto mi muestra a continuación como referencia.
Saludos
Equipo de apoyo a la comunidad _ kalyj
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hola @v-kalyj-msft , gracias por la explicación detallada y la solución. De hecho mi requisito es que , necesito mostrar en la tabla , datos anteriores del 7º día. eso significa que, si muestro el tablero hoy (viernes), debería mostrarme la hora más alta de los 4 del viernes pasado cuando el uso + ocupación es alta y cambiará cada día. Espero que esté claro ahora. Lo siento, si mi redacción anterior de la oración causó confusión. ¿Podría guiarme en esto?
- Syndicate_Admin4 years ago
Administrator
En ella @Learner_SG ,
Entiendo. Aquí está mi solución.
1.Cree una medida de comprobación.
Check = IF(MAX('Sheet4'[Parsed_Date])=TODAY()-7,1)Coloque la medida en el filtro visual y deje que el valor sea 1.
2. Crea una medida de rango.
Rank = RANKX ( FILTER ( ALL ( 'Sheet4' ), 'Sheet4'[Parsed_Date] = TODAY () - 7 ), CALCULATE ( SUM ( 'Sheet4'[WC Water Consumption(mL)] ) ), , DESC, DENSE )Coloque la medida en el filtro visual y deje que el valor < = 4, obtenga el resultado correcto.
Adjunto mi muestra a continuación como referencia.
Saludos
Equipo de apoyo a la comunidad _ kalyjSi esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
- Syndicate_Admin4 years ago
Administrator
@v-kalyj-msft , Muchas gracias. Hice una comprobación rápida, funciona,
- Syndicate_Admin4 years ago
Administrator
seleccionado comprobar 1 filtro como 1.
la función Rango que modifiqué para seleccionar los 4 más altos de cada día me da una respuesta incorrecta. ¿Podría dar una sugerencia para hacerlo bien?
y después de rank_measure filtrado con <=4 me da la siguiente respuesta.
con estos 2 problemas resueltos, se liquidaría. Gracias por la ayuda.
- Syndicate_Admin4 years ago
Administrator
Hola @v-kalyj-msft , podría despejar una duda que pasó desapercibida en ese momento. La función de rango no parece funcionar bien. Muestra todos los datos de la tabla y todos ellos tienen rango1. No pude resolverlo. podría ayudar?
- Syndicate_Admin4 years ago
Administrator
En ella @Learner_SG ,
Al igual que en la fórmula, TODAY()-7 es igual a 3/10/2022, que no tiene datos en su muestra, por lo que todo el rango devuelve 1. En lo que respecta a sus capturas de pantalla, modifique TODAY()-7 a TODAY()-20, funcionará.
Saludos
Equipo de apoyo a la comunidad _ kalyj