Forum Discussion

jaryszek's avatar
jaryszek
Super User
1 year ago
Solved

If statement between 2 tables - reproducing sql

Hello, my sql statement is:  -- This query calculates the applied discount rate for SKUs based on their retail prices and effective prices. WITH OnDemandPrices AS ( SELECT DISTINCT PartNumbe...
  • bhanu_gautam's avatar
    1 year ago

    jaryszek 

    Create a new calculated table that joins OnDemandPrices and RetailPricing:

    dax
    CombinedTable =
    VAR OnDemandPrices =
    DISTINCT (
    SELECTCOLUMNS (
    vnomic_Daily[Fct_EA_AmortizedCosts],
    "PartNumber", vnomic_Daily[Fct_EA_AmortizedCosts][PartNumber],
    "PayGPrice", vnomic_Daily[Fct_EA_AmortizedCosts][PayGPrice]
    )
    )
    VAR RetailPricing =
    ADDCOLUMNS (
    SUMMARIZE (
    vnomic_Daily[Fct_EA_AmortizedCosts],
    vnomic_Daily[Fct_EA_AmortizedCosts][PricingModel],
    vnomic_Daily[Fct_EA_AmortizedCosts][BenefitName],
    vnomic_Daily[Fct_EA_AmortizedCosts][ReservationName],
    vnomic_Daily[Fct_EA_AmortizedCosts][PayGPrice],
    vnomic_Daily[Fct_EA_AmortizedCosts][MeterCategory]
    ),
    "RetailPrice", IF (
    vnomic_Daily[Fct_EA_AmortizedCosts][PricingModel] = "Reservation",
    CALCULATE ( MAX ( OnDemandPrices[PayGPrice] ) ),
    CALCULATE ( MAX ( vnomic_Daily[Fct_EA_AmortizedCosts][PayGPrice] ) )
    ),
    "EffectivePrice", CALCULATE ( MAX ( vnomic_Daily[Fct_EA_AmortizedCosts][EffectivePrice] ) ),
    "SumCostInBillingCurrency", CALCULATE ( SUM ( vnomic_Daily[Fct_EA_AmortizedCosts][CostInBillingCurrency] ) )
    )
    RETURN
    RetailPricing

     

    Create a calculated column or measure for DetailPrice in the CombinedTable:

    dax
    DetailPrice =
    IF (
    CombinedTable[PricingModel] = "Reservation",
    CombinedTable[RetailPrice],
    CombinedTable[EffectivePrice]
    )

     

    Use Detailprice in matrix