Forum Discussion

Sai_Alkesh's avatar
Sai_Alkesh
Helper II
4 years ago
Solved

undefined

Hi,

Need help with the following:

I have 2 tables:

Table Currency

Identifier field LCurrency FCurrency FX Rate Type     Period
yyyymm         EUr           GBp           0.8545    AVRS   20214
                      USd          GBp           1.1684     AVRS   20214
                      JPy            EUr            0.88018   RNMJ  20228
Table Sales

Identifier Item      Currency    Sales    Period   Calculated Column
yyyymm 123456   USd          10000    20214    8558.712
              234567   USd          8000      20213    6846.97
               3456789 EUr          2000      20216    2340.55

i have the following DAX for the calculated Column in Table Sales

'Sales'[Sales] *
DIVIDE(1,
CALCULATE(
FIRSTNONBLANK('Currency'[FXRate], TRUE() ),
FILTER(
'Currency',
'Currency'[LCurrency]= 'Sales'[Currency] &&
'Currency'[FCurrency]= "GBP" &&
'Currency'[TypeT]= "AVRS" &&
'Currency'[Period]= "20214")
)
)

The issue is, i get the calculated column values, where the period is 20214, but not for other rows, where the period is not '20214'. Values in Red font in the calculated column are not getting calculated in PBI.

How can i get the values for all rows.

Appreciate your help.

Thanks,

  • v-xiaotang's avatar
    v-xiaotang
    4 years ago

    Hi Sai_Alkesh 

    try this calculated column

     

    ColumnTest = 
    VAR _currency =
        CALCULATE (
            MAX ( 'Currency'[FXRate] ),
            FILTER (
                ALL ( 'Currency' ),
                'Currency'[LCurrency] = EARLIER ( 'Sales'[Currency] )
            )
        )
    RETURN
        'Sales'[Sales] * DIVIDE ( 1, _currency )

     

    Best Regards,

    Community Support Team _Tang

    If this post helps, please consider Accept it as the solution to help the other members find it more quickly.

6 Replies

  • v-xiaotang's avatar
    v-xiaotang
    Community Support

    Hi Sai_Alkesh 

    Thanks for reaching out to us.

    Here are some questions to be confirmed:

    "The issue is, i get the calculated column values, where the period is 20214, but not for other rows, where the period is not '20214'. Values in Red font in the calculated column are not getting calculated in PBI."

    -

    what are the correct values for other rows? Currency & Period of row1/row2/row3 are different, will they affect calculation results? If yes, for row2/3, how to calculate ( Math formula)? 

    Best Regards,

    Community Support Team _Tang

    If this post helps, please consider Accept it as the solution to help the other members find it more quickly.

    • Sai_Alkesh's avatar
      Sai_Alkesh
      Helper II

      Tang 

      Thank you for reaching out.

      The formula is Sales * DIVIDE(1, FX Rate (from currency table), where Sales.Currency=Currency.LCurrency

      For row 2, the example will be 8000 * 1/1.1684 = 6846.97 and 

      For row 3, the exmaple will be 2000 * 1/0.8545 = 2340.55

      • v-xiaotang's avatar
        v-xiaotang
        Community Support

        Hi Sai_Alkesh 

        try this calculated column

         

        ColumnTest = 
        VAR _currency =
            CALCULATE (
                MAX ( 'Currency'[FXRate] ),
                FILTER (
                    ALL ( 'Currency' ),
                    'Currency'[LCurrency] = EARLIER ( 'Sales'[Currency] )
                )
            )
        RETURN
            'Sales'[Sales] * DIVIDE ( 1, _currency )

         

        Best Regards,

        Community Support Team _Tang

        If this post helps, please consider Accept it as the solution to help the other members find it more quickly.

    • Sai_Alkesh's avatar
      Sai_Alkesh
      Helper II

      v-xiaotang : as a follow up, if i want to put more conditions, how do i do that ? 

      The above works, if there is only condition to filter. But if i want to filter more than one column, how will do it?

      Appreciate your help !!