Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Necesita DAX Rank Fomula para ignoe valores de dimensión que son NULL

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

Vado101
Honda102
GMC103
Mercedes104
Toyota105
Lexus106
Infinidad107

Nombre de la tabla = Sales_Table

ID Ventas

101US$ 28,345
103US$ 30,456
104US$ 12,543
999US$ 45,623
994US$ 93,456
992US$ 23,457
107US$ 23,419
107US$ 83,647
106US$ 12,654
103US$ 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

NombresMonto de las ventasRango
US$ 10,142,5761
VadoUS$ 6,364,1232
HondaUS$ 291,4358
GMCUS$ 3,872,5104
MercedesUS$ 5,123,4713
ToyotaUS$ 981,3425
LexusUS$ 846,2356
InfinidadUS$ 716,3327

Así es como quiero que se vean los resultados.... VISTA CORRECTA

NombresMonto de las ventasRango
US$ 10,142,576
VadoUS$ 6,364,1231
HondaUS$ 291,4357
GMCUS$ 3,872,5103
MercedesUS$ 5,123,4712
ToyotaUS$ 981,3424
LexusUS$ 846,2355
InfinidadUS$ 716,3326

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?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

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] )

7.png
Saludos

Xiaoxin Sheng

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

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] )

7.png
Saludos

Xiaoxin Sheng

Syndicate_Admin
Administrator
Administrator

@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

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

August Carousel

Fabric Community Update - August 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors