I need help on below Dax Query to optimized the switch case for the better performance and make faster.
Query:
_Actuals_MTD =
VAR CurrentItem = SELECTEDVALUE( 'wt_fin_staging pl_sorting'[Row_Index])
RETURN
SWITCH( HASONEFILTER( 'wt_fin_staging pl_sorting'[Row_Index]),
CurrentItem = 1 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'Mapping'[Level 1] IN { "AC=10000" }),
CurrentItem = 2 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),Mapping[Level 1] IN { "AC=10900" }),
CurrentItem = 3 ,CALCULATE (SUM ( 'wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values] ),Mapping[Level 1] IN { "AC=13900" }),
CurrentItem = 5 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'Mapping'[Level 4] IN { "AC=14050", "AC=14070" }),
CurrentItem = 6 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'Mapping'[Level 3] IN { "AC=14400" }),
CurrentItem = 7 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'Mapping'[Level 4]IN { "AC=14600", "AC=14602", "AC=14605" }),
CurrentItem = 8 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'wt_fin_pl_actuals_monthly_summary'[account_code] IN { "AC=14050","AC=14070","AC=14400","AC=14600","AC=14602","AC=14605" }),
CurrentItem = 9 ,[HolidayPay_PeriodType],
CurrentItem = 10 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'Mapping'[Level 3] IN { "AC=14250", "AC=14252" }),
CurrentItem = 11 , _Measures[OtherStaffCost_MTD],
CurrentItem = 12 ,_Measures[StaffCosts(PreBonus)_MTD],
CurrentItem = 13 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'wt_fin_pl_actuals_monthly_summary'[account_code]IN { "AC=34553" })/[NetSales],
CurrentItem = 14 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'wt_fin_pl_actuals_monthly_summary'[account_code]IN { "AC=34590" })/[NetSales],
CurrentItem = 16 ,[Establishment_MTD],
CurrentItem = 17 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'Mapping'[Level 1]IN { "AC=15900" })/[NetSales],
CurrentItem = 19 ,_Measures[PersonalCost_MTD],
CurrentItem = 20 , _Measures[CommercialExNWCAgingProvisions_MTD],
CurrentItem = 21 ,_Measures[OfficeCost_MTD],
CurrentItem = 22 ,_Measures[ITCost_MTD],
CurrentItem = 23 ,_Measures[Finance&GeneralCost_MTD],
CurrentItem = 24 ,_Measures[OverheadAllocation_MTD],
CurrentItem = 25 ,[G&ACost_MTD],
CurrentItem = 26 ,([PersonalCost_MTD]+[CommercialExNWCAgingProvisions_MTD]+[OfficeCost_MTD]+[ITCost_MTD]+[Finance&GeneralCost_MTD]+[OverheadAllocation_MTD])/[NetSales],
CurrentItem = 28 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'Mapping'[Level 2]IN { "AC=17115","AC=17120","AC=17125","AC=17320" }),
CurrentItem = 29 ,CALCULATE(SUM('wt_fin_pl_actuals_monthly_summary'[total_actual_Monthly_values]),'wt_fin_pl_actuals_monthly_summary'[account_code] IN { "AC=17115","AC=17120","AC=17125","AC=17320" })/[NetSales],
CurrentItem = 31 ,_Measures[PBOP_MTD],
CurrentItem = 32 ,([NetSales]-[StaffCosts(PreBonus)_MTD]-[Establishment_MTD]-[G&ACost_MTD]-[NWC_AgingProvision_MTD])/[NetSales],
CurrentItem = 34 ,_Measures[Contractual/Earnout_MTD],
CurrentItem = 35 ,_Measures[STIP&PSA_MTD],
CurrentItem = 36 ,_Measures[OtherIncentives_MTD],
CurrentItem = 37 ,_Measures[Incentives_MTD],
CurrentItem = 38 ,_Measures [Incentives_MTD]/[PBOP_MTD],
CurrentItem = 40 ,_Measures[OP_MTD],
CurrentItem = 41 ,([PBOP_MTD]-[Incentives_MTD])/[NetSales],
CurrentItem = 43 ,_Measures[Equity&OtherIncome_PeriodType],
CurrentItem = 45 ,_Measures[PBITexCovid_PeriodType],
CurrentItem = 46 ,_Measures[PBITexCovid_PeriodType]/[NetSales],
CurrentItem = 48 ,_Measures[ClosingHeadcount_PeriodType],
CurrentItem = 49 ,_Measures[ClosingFreelance_MTD]
)