Forum Discussion

klehar's avatar
klehar
Helper V
4 years ago
Solved

Conditional calculation based on filter value selected

Hi, 

 

Hi,

 

I have 4 tables in my dataset (stripping the dataset for simplicity)

 

Orders Fact Table : Lease and Order Value are my desired output columns in power bi)

Fiscal QuarterGeoAmountMergeLeaseOrder Value
FY21Q1India100FY21Q1India0.550
FY21Q2India200FY21Q2India0.5100
FY21Q3India300FY21Q3India0.5150
FY21Q4India400FY21Q4India0.5200
FY21Q1Japan1000FY21Q1Japan0.1100
FY21Q2Japan2000FY21Q2Japan0.1200
FY21Q3Japan3000FY21Q3Japan0.1300
FY21Q4Japan4000FY21Q4Japan0.1400

Geo Table

Geo
India
Japan

 

Date Table

Fisacl Quarter
FY21Q1
FY21Q2
FY21Q3
FY21Q4

 

Input Table

MergeQTRCapital LeaseGeo
FY21Q1IndiaFY21Q150%India
FY21Q2IndiaFY21Q250%India
FY21Q3IndiaFY21Q350%India
FY21Q4IndiaFY21Q450%India
FY21Q1JapanFY21Q110%Japan
FY21Q2JapanFY21Q210%Japan
FY21Q3JapanFY21Q310%Japan
FY21Q4JapanFY21Q410%Japan

 

 

 

Order Value = CALCULATE([Amount New]*sum(Inputs[Capital Lease])) 

 

I want to calculate order value such that when a Geo filter is selected its respective capital lease is taken into account

I get this results perfectly.

 

However, when multiple values or all values in a filter are selected then order value should be calculated at geo level first and then summed up for all Geos , instead of summing of capital lease and then calculating order value.

How can i do this?

 

PBIX Link

https://drive.google.com/file/d/1WXsFssi-BS-WiZNVSTchzS5RQqOcoafa/view?usp=sharing

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi klehar ,

     

    I suggest you to create calculated column instead.

    Please check the below formulas.

    C_Capital Lease = LOOKUPVALUE(Inputs[Capital Lease],Inputs[Geo],Orders[Geo])
    C_Order Value = Orders[Amount]*Orders[C_Capital Lease]

    Result:

     

    Best Regards,

    Jay

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi klehar ,

     

    I suggest you to create calculated column instead.

    Please check the below formulas.

    C_Capital Lease = LOOKUPVALUE(Inputs[Capital Lease],Inputs[Geo],Orders[Geo])
    C_Order Value = Orders[Amount]*Orders[C_Capital Lease]

    Result:

     

    Best Regards,

    Jay