Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago

Power bi Dax

Tengo un escenario en Power bi donde en Top 5,10,15 Producto y ciudad por ventas y creo un filtro para arriba e abajo donde si hago clic en arriba puedo ver top 5,10,15 cuando hago clic en cualquiera de los top 5, top 10, top 15 y viceversa también puedo elegir entre producto y región por un filtro. Resolví este escenario a través de un dax, pero cuando elijo el botón superior, el total viene igual y cuando elijo el inferior, el total no se muestra. Por favor, dígame qué podría estar mal con el siguiente dax.
Clasificación = var topproduct = RANKX(ALL(Productos),[Ventas totales], , DESC)
var bottomproduct= RANKX(ALL(Productos),[Ventas totales], , ASC)
var topcity = RANKX(ALL('India City Lat Long'),[Ventas totales], , DESC)
var bottomcity= RANKX(ALL('India City Lat Long'),[Ventas totales], , ASC)
var ranking= IF(CONTAINSSTRING(SELECTEDVALUE(Desglose[Desglose]),"Productos") ,IF(SELECTEDVALUE(TopBottom[Value])= "Top", topproduct,bottomproduct) ,IF(SELECTEDVALUE(TopBottom[Value])= "Top",topcity,bottomcity) )
devolución
IF(ranking <= 'Opción de clasificación'[Valor de la opción de clasificación], [Ventas totales])

2 Replies

  • Hola @Korekar27 ,

    Por favor, pruebe como:

    Ranking =
    VAR topproduct =
        RANKX ( ALL ( Products ), [Total Sales],, DESC )
    VAR bottomproduct =
        RANKX ( ALL ( Products ), [Total Sales],, ASC )
    VAR topcity =
        RANKX ( ALL ( 'India City Lat Long' ), [Total Sales],, DESC )
    VAR bottomcity =
        RANKX ( ALL ( 'India City Lat Long' ), [Total Sales],, ASC )
    VAR ranking =
        IF (
            CONTAINSSTRING ( SELECTEDVALUE ( Breakdown[Breakdown Fields] ), "Products" ),
            IF ( SELECTEDVALUE ( TopBottom[Value] ) = "Top", topproduct, bottomproduct ),
            IF ( SELECTEDVALUE ( TopBottom[Value] ) = "Top", topcity, bottomcity )
        )
    VAR result = 
        IF (
            HASONEVALUE(Products) || HASONEVALUE('India City Lat Long'),
            IF ( ranking <= 'Ranking Option'[Ranking Option Value], [Total Sales] ),
            CALCULATE([Total Sales], ALL(Products), ALL('India City Lat Long'))
        )
    RETURN result

    Pruebe esto y vea si funciona para su escenario. Si no es así, proporcione más detalles (sin datos privados) sobre su modelo de datos.
    Proporcionar datos de ejemplo en el foro de Power BI

    Saludos
    Gao

    Equipo de apoyo a la comunidad

    Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.
    Si no entiendo sus necesidades o aún tiene problemas al respecto, no dude en hacérnoslo saber. ¡Muchas gracias!

    Cómo obtener respuestas rápidas a sus preguntas -- Proporcionar datos de ejemplo en el foro de Power BI

  • Hola, probé el dax, pero ahora viene el mismo total para el producto y la región para la parte superior e inferior.