Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
¡Hola!
Quiero poder RANKX por fecha y 2 columnas más.
Hasta ahora con 1 columna funciona, para eso utilizo la siguiente medida:
RANK Room_Date =
RANKX(
FILTER('FACT Rooms', 'FACT Rooms'[RoomID] = EARLIER('FACT Rooms'[RoomID])),
[Date],,ASC,Dense)
Sin embargo, quiero adaptar esto a una medida que también tenga en cuenta el 'Estado', como se muestra en el conjunto de datos a continuación, la última columna 'RANK Room_Date_Status'. Como se puede ver comienza de 1 otra vez cuando cambia de Vacío a Completo o al revés.
| RoomID | Estado | FromDate | ToDate | Días | DateDiff (ToDate - Fecha) | Fecha | RANK Room_Date | RANK Room_Date_Status |
| 1 | Vacío | 1/1/2020 | 1/10/2020 | 10 | 7 | 1/3/2020 | 3 | 3 |
| 1 | Vacío | 1/1/2020 | 1/10/2020 | 10 | 6 | 1/4/2020 | 4 | 4 |
| 1 | Vacío | 1/1/2020 | 1/10/2020 | 10 | 5 | 1/5/2020 | 5 | 5 |
| 1 | Vacío | 1/1/2020 | 1/10/2020 | 10 | 4 | 1/6/2020 | 6 | 6 |
| 1 | Vacío | 1/1/2020 | 1/10/2020 | 10 | 3 | 1/7/2020 | 7 | 7 |
| 2 | Completo | 1/1/2020 | 1/4/2020 | 4 | 1 | 1/3/2020 | 3 | 3 |
| 2 | Completo | 1/1/2020 | 1/4/2020 | 4 | 0 | 1/4/2020 | 4 | 4 |
| 2 | Vacío | 1/5/2020 | 1/6/2020 | 2 | 1 | 1/5/2020 | 5 | 1 |
| 2 | Vacío | 1/5/2020 | 1/6/2020 | 2 | 0 | 1/6/2020 | 6 | 2 |
| 2 | Completo | 1/7/2020 | 1/10/2020 | 4 | 3 | 1/7/2020 | 7 | 1 |
| 3 | Completo | 1/1/2020 | 1/5/2020 | 5 | 2 | 1/3/2020 | 3 | 3 |
| 3 | Completo | 1/1/2020 | 1/5/2020 | 5 | 1 | 1/4/2020 | 4 | 4 |
| 3 | Completo | 1/1/2020 | 1/5/2020 | 5 | 0 | 1/5/2020 | 5 | 5 |
¿Alguna sugerencia de cómo hacer esto?
Atentamente
Igor
Solved! Go to Solution.
Gracias por la respuesta rápida, esos enlaces son muy valiosos y me hicieron entender fácilmente lo que necesitaba para adaptarme.
Hice la siguiente columna calculada que realmente hace el truco. Por supuesto, podría simplemente agregar más declaraciones en mi instrucción FILTER.
RANK Room_Date_Status =
RANKX(
FILTER(
'FACT Rooms',
'FACT Rooms'[RoomID] = EARLIER('FACT Rooms'[RoomID]) &&
'FACT Rooms'[Status] = EARLIER('FACT Rooms'[Status]) &&
'FACT Rooms'[FromDate] = EARLIER('FACT Rooms'[FromDate])
),
[Date],,ASC,Dense)
La fecha MAX se utiliza simplemente para que pueda mostrar el recuento de días en una visualización matrix. No permito una columna calculada como valor, así que simplemente pongo un MAX o MIN alrededor de ella. No lo uso en ningún otro lugar que no sea la visualización.
Gracias por la respuesta rápida, esos enlaces son muy valiosos y me hicieron entender fácilmente lo que necesitaba para adaptarme.
Hice la siguiente columna calculada que realmente hace el truco. Por supuesto, podría simplemente agregar más declaraciones en mi instrucción FILTER.
RANK Room_Date_Status =
RANKX(
FILTER(
'FACT Rooms',
'FACT Rooms'[RoomID] = EARLIER('FACT Rooms'[RoomID]) &&
'FACT Rooms'[Status] = EARLIER('FACT Rooms'[Status]) &&
'FACT Rooms'[FromDate] = EARLIER('FACT Rooms'[FromDate])
),
[Date],,ASC,Dense)
La fecha MAX se utiliza simplemente para que pueda mostrar el recuento de días en una visualización matrix. No permito una columna calculada como valor, así que simplemente pongo un MAX o MIN alrededor de ella. No lo uso en ningún otro lugar que no sea la visualización.
Solo se puede crear una medida de clasificación en Medir. Como tomar máximo de fecha lo reducirá uno, eso no es posible.
Para rango Consulte estos enlaces
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
https://community.powerbi.com/t5/Community-Blog/Dynamic-TopN-made-easy-with-What-If-Parameter/ba-p/3...
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.