Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Estoy tratando de escribir una medida de rango DAX, sin embargo, la fórmula de rango funciona incluso cuando no hay ningún valor en mi columna Nombre (Dimensión). Necesito la fórmula de clasificación para ignorar los valores de nombre nulo... Intenté filtrar la tabla dinámica (desmarcar espacios en blanco), sin embargo, los números de rango siguen siendo los mismos. ¿Qué y yo haciendo mal....? Aquí están mis datos de muestra...
Tengo dos mesas, una tabla One Dimension con nombres de coches e identificación... la segunda tabla es mi tabla de hechos con id. de automóvil y monto de ventas ... Muchas filas aquí ... más de 200K. En el modelo de datos, ID de Car_Names se une a Sales_Table. Uno a muchos....
Tengo una medida DAX para Ventas $: Monto de Ventas =: Suma('Sales_Table'[Ventas])
Necesito una fórmula de rango DAX que omita un valor de rango cuando los nombres nulos están en pivote. ¿Qué se supone que debo hacer para esto?
Nombre de la tabla = Car_Names
ID de nombre
Vado | 101 |
Honda | 102 |
GMC | 103 |
Mercedes | 104 |
Toyota | 105 |
Lexus | 106 |
Infinidad | 107 |
Nombre de la tabla = Sales_Table
ID Ventas
101 | US$ 28,345 |
103 | US$ 30,456 |
104 | US$ 12,543 |
999 | US$ 45,623 |
994 | US$ 93,456 |
992 | US$ 23,457 |
107 | US$ 23,419 |
107 | US$ 83,647 |
106 | US$ 12,654 |
103 | US$ 39,571 |
… | … |
A continuación se muestra una tabla dinámica simple que construí con una fórmula RankX. El monto de las ventas es la medida dax enumerada anteriormente...
NOTA Hay algunos identificadores de la Sales_Tables que no se asignan a la tabla Car_Names, por lo que hay un valor en blanco para Nombres.... La mayoría de los $ de ventas no están asignados a la tabla de Car_Names DIM y tienen el valor de rango más alto en el pivote, por lo que la fórmula Rank lo convierte en un "1"... Lo necesito para ignorar esta fila y el valor de $ 10.1M ...
Pivote actual con rango = Vista no correcta
Nombres | Monto de las ventas | Rango |
US$ 10,142,576 | 1 | |
Vado | US$ 6,364,123 | 2 |
Honda | US$ 291,435 | 8 |
GMC | US$ 3,872,510 | 4 |
Mercedes | US$ 5,123,471 | 3 |
Toyota | US$ 981,342 | 5 |
Lexus | US$ 846,235 | 6 |
Infinidad | US$ 716,332 | 7 |
Así es como quiero que se vean los resultados.... VISTA CORRECTA
Nombres | Monto de las ventas | Rango |
US$ 10,142,576 | ||
Vado | US$ 6,364,123 | 1 |
Honda | US$ 291,435 | 7 |
GMC | US$ 3,872,510 | 3 |
Mercedes | US$ 5,123,471 | 2 |
Toyota | US$ 981,342 | 4 |
Lexus | US$ 846,235 | 5 |
Infinidad | US$ 716,332 | 6 |
Solo quiero que la medida de rango funcione en los valores de Taxt mapeados de la tabla SALES FACT.... no valores de texto NULL.... ¿Cómo escribirías esto?
Solved! Go to Solution.
HI @tbucki1,
Puede utilizar la siguiente expresión de medida para obtener el rango de la cantidad que excluye los registros no coincidentes:
Measure =
VAR currName =
SELECTEDVALUE ( T1[Name] )
VAR summary =
FILTER (
SUMMARIZE ( ALLSELECTED ( T2 ), [Name], [ID], "total", SUM ( T2[Amount] ) ),
[Name] <> BLANK ()
)
VAR ranked =
ADDCOLUMNS ( summary, "Rank", RANKX ( summary, [total],, DESC ) )
RETURN
MAXX ( FILTER ( ranked, [Name] = currName ), [Rank] )
Saludos
Xiaoxin Sheng
HI @tbucki1,
Puede utilizar la siguiente expresión de medida para obtener el rango de la cantidad que excluye los registros no coincidentes:
Measure =
VAR currName =
SELECTEDVALUE ( T1[Name] )
VAR summary =
FILTER (
SUMMARIZE ( ALLSELECTED ( T2 ), [Name], [ID], "total", SUM ( T2[Amount] ) ),
[Name] <> BLANK ()
)
VAR ranked =
ADDCOLUMNS ( summary, "Rank", RANKX ( summary, [total],, DESC ) )
RETURN
MAXX ( FILTER ( ranked, [Name] = currName ), [Rank] )
Saludos
Xiaoxin Sheng
@tbucki1 , primero debe tratar de abordar el problema. parece que uno de los nombres del automóvil está allí en las ventas, no en car_name. o hay ventas con el nombre del coche balnk
crear una medida como
calculate(Sum('Sales_Table'[Ventas]), filter(care_name, not(isblank(car_name[name]))))
Usa esta medida en el rango y prueba