Hi, it is a simple code with SWITCH statement, but I had to add extra groups and then everything slowed down. How could I optimize this?
test_New Price =
VAR vPurchase_price_EUR = CALCULATE(SUM(Invent[EstCostPrice])*[Currency ratio Value])
RETURN
SWITCH(TRUE(),
– pricing
SELECTEDVALUE(Invent[GroupId]) = "101",
DIVIDE(vPurchase_price_EUR,(1-0.80)),
SELECTEDVALUE(Invent[GroupId]) = "102",
DIVIDE(vPurchase_price_EUR,(1-0.70)),
SELECTEDVALUE(Invent[GroupId]) = "103",
DIVIDE(vPurchase_price_EUR,(1-0.55)),
SELECTEDVALUE(Invent[GroupId]) = "104",
DIVIDE(vPurchase_price_EUR,(1-0.90)),
SELECTEDVALUE(Invent[GroupId])= "105",
DIVIDE(vPurchase_price_EUR,(1-0.35)),
SELECTEDVALUE(Invent[GroupId]) = "190",
DIVIDE(vPurchase_price_EUR,(1-0.25)),
SELECTEDVALUE(Invent[GroupId])= "195",
DIVIDE(vPurchase_price_EUR,(1-0.60)),
SELECTEDVALUE(Invent[GroupId]) = "198",
DIVIDE(vPurchase_price_EUR,(1-0.60)),
–SONY
SELECTEDVALUE(Invent[GroupId]) = “211” && SELECTEDVALUE(Invent[Brand])=“Sony”,
DIVIDE(vPurchase_price_EUR,(1-0.80)),
SELECTEDVALUE(Invent[GroupId]) = “211” ,
DIVIDE(vPurchase_price_EUR,(1-0.30)),
–ELSE // All other
DIVIDE(vPurchase_price_EUR,(1-0.50)))