Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
5 years ago
Solved

Si con selectedvalue

Hola expertos

Necesito una condición if con un valor seleccionado en DAX.

Por lo tanto, si el usuario no selecciona una región, entonces

Margen de contribución ( Contribution Margin)
VAR Mth1 ?
SELECTEDVALUE ( SelMth_Current[Mes] )
Se dizzy ?
SELECTEDVALUE ( SelYr[Año] )
VAR Fcst1 ?
SELECTEDVALUE ( SelMth4[Actual] )
Var Prod ( VAR Prod)
SELECTEDVALUE(Product_Grp[Producto])
VAR MthVal ?
CALCULAR (
SUM ( Profitability_Consolidation[Beneficio] ),
Profitability_Consolidation[Período] - Fcst1,
Profitability_Consolidation[Mes] - Mth1,
Profitability_Consolidation [Año] - Año,
Profitability_Consolidation[Producto] Profitability_Consolidation[AccountGroup] á"Margen de contribución"
)
devolución
MthVal/1000
Si la región está seleccionada de sclier, entonces

Margen de contribución ( Contribution Margin)

VAR Mth1 ?

SELECTEDVALUE ( SelMth_Current[Mes] )

VAR yr ?

SELECTEDVALUE ( SelYr[Año] )

Reg de VAR (VAR Reg)

SELECTEDVALUE (Region_Grp [Región])

VAR Fcst1 ?

SELECTEDVALUE ( SelMth4[Actual] )

Var Prod ( VAR Prod)

SELECTEDVALUE(Product_Grp[Producto])

VAR MthVal ?

CALCULAR (

SUM ( Profitability_Consolidation[Beneficio] ),

Profitability_Consolidation[Período] - Fcst1,

Profitability_Consolidation[Mes] - Mth1,

Profitability_Consolidation [Año] - Año,

Profitability_Consolidation [Producto] - Prod,

Profitability_Consolidation [Región] - Reg,

Profitability_Consolidation[AccountGroup] á"Margen de contribución"

)

devolución

MthVal/1000

  • Hola, @Cloud11

    De acuerdo con su descripción, creo que puede utilizar la función 'isfiltered' en medida.

    Así:

    Contribution Margin =
    VAR Mth1 =
        SELECTEDVALUE ( SelMth_Current[Month] )
    VAR yr =
        SELECTEDVALUE ( SelYr[Year] )
    VAR Fcst1 =
        SELECTEDVALUE ( SelMth4[Actual] )
    VAR Prod =
        SELECTEDVALUE ( Product_Grp[Product] )
    VAR Reg =
        SELECTEDVALUE ( Region_Grp[Region] )
    VAR MthVal1 =
        CALCULATE (
            SUM ( Profitability_Consolidation[Profit] ),
            Profitability_Consolidation[Period] = Fcst1,
            Profitability_Consolidation[Month] = Mth1,
            Profitability_Consolidation[Year] = yr,
            Profitability_Consolidation[Product] = Prod,
            Profitability_Consolidation[AccountGroup] = "Contribution Margin"
        )
    VAR MthVal2 =
        CALCULATE (
            SUM ( Profitability_Consolidation[Profit] ),
            Profitability_Consolidation[Period] = Fcst1,
            Profitability_Consolidation[Month] = Mth1,
            Profitability_Consolidation[Year] = yr,
            Profitability_Consolidation[Product] = Prod,
            Profitability_Consolidation[Region] = Reg,
            Profitability_Consolidation[AccountGroup] = "Contribution Margin"
        )
    RETURN
        IF ( ISFILTERED ( 'table'[Region] ), MthVal2 / 1000, MthVal1 / 1000 )

    Si no resuelve su problema, por favor no dude en preguntarme.

    Saludos

    Janey Guo

    Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

5 Replies

  • Hola, @Cloud11

    De acuerdo con su descripción, creo que puede utilizar la función 'isfiltered' en medida.

    Así:

    Contribution Margin =
    VAR Mth1 =
        SELECTEDVALUE ( SelMth_Current[Month] )
    VAR yr =
        SELECTEDVALUE ( SelYr[Year] )
    VAR Fcst1 =
        SELECTEDVALUE ( SelMth4[Actual] )
    VAR Prod =
        SELECTEDVALUE ( Product_Grp[Product] )
    VAR Reg =
        SELECTEDVALUE ( Region_Grp[Region] )
    VAR MthVal1 =
        CALCULATE (
            SUM ( Profitability_Consolidation[Profit] ),
            Profitability_Consolidation[Period] = Fcst1,
            Profitability_Consolidation[Month] = Mth1,
            Profitability_Consolidation[Year] = yr,
            Profitability_Consolidation[Product] = Prod,
            Profitability_Consolidation[AccountGroup] = "Contribution Margin"
        )
    VAR MthVal2 =
        CALCULATE (
            SUM ( Profitability_Consolidation[Profit] ),
            Profitability_Consolidation[Period] = Fcst1,
            Profitability_Consolidation[Month] = Mth1,
            Profitability_Consolidation[Year] = yr,
            Profitability_Consolidation[Product] = Prod,
            Profitability_Consolidation[Region] = Reg,
            Profitability_Consolidation[AccountGroup] = "Contribution Margin"
        )
    RETURN
        IF ( ISFILTERED ( 'table'[Region] ), MthVal2 / 1000, MthVal1 / 1000 )

    Si no resuelve su problema, por favor no dude en preguntarme.

    Saludos

    Janey Guo

    Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.