Forum Discussion

GriRim's avatar
GriRim
Frequent Visitor
1 year ago
Solved

Summarization of recalculated values

Hi all,   Can someone look through what I'm doing wrong in this case. Basiaclly I want to calculate Gross profit (GP) in EUR using GP in local currency, but rate is selected by users seleted perio...
  • v-kathullac's avatar
    v-kathullac
    1 year ago

    Hi GriRim ,

    Thank you for reaching out to Microsoft Fabric Community Forum.

     

    can you try with below measure and let us know if you need anything 

     

    GP in EUR =
    VAR LastDateSelectedPerYear =
    CALCULATETABLE (
    ADDCOLUMNS (
    VALUES('Dim Date'[FINANCIAL_YEAR]),
    "MaxDate", CALCULATE (
    MAX('Dim Date'[FINANCIAL_DATE]),
    ALLSELECTED('Dim Date'),
    'Dim Date'[FINANCIAL_YEAR] = EARLIER('Dim Date'[FINANCIAL_YEAR])
    )
    )
    )

    VAR ExchangeTable =
    FILTER (
    'Fact Exchange Rate',
    'Fact Exchange Rate'[EXCHANGE_RATE_TYPE] = "ACTUALS"
    && 'Fact Exchange Rate'[EXCHANGE_RATE_CURRENCY_CODE_ISO_FROM] = "EUR"
    )

    VAR DataTable =
    ADDCOLUMNS (
    'Fact Customer Profitability',
    "@Rate",
    VAR CurrencyID = RELATED('Dim Currency Name'[CURRENCY_ISO_CODE])
    VAR DateUsed =
    CALCULATE (
    MAX('Dim Date'[FINANCIAL_DATE]),
    FILTER (
    ALLSELECTED('Dim Date'),
    'Dim Date'[FINANCIAL_YEAR] = RELATED('Dim Date'[FINANCIAL_YEAR])
    )
    )
    RETURN
    IF (
    CurrencyID = "EUR",
    1,
    CALCULATE (
    MAX('Fact Exchange Rate'[EXCHANGE_RATE_INVERSE_MULTIPLIER]),
    FILTER (
    ExchangeTable,
    'Fact Exchange Rate'[EXCHANGE_RATE_CURRENCY_CODE_ISO_TO] = CurrencyID
    && 'Fact Exchange Rate'[EXCHANGE_RATE_START_DT] <= DateUsed
    && 'Fact Exchange Rate'[EXCHANGE_RATE_END_DT] >= DateUsed
    )
    )
    )
    )

    RETURN
    SUMX (
    DataTable,
    'Fact Customer Profitability'[CUST_INV_AMT] * [@Rate]
    )

     

    Regards,

    Chaithanya.