Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
I have a performance issue while using IF condition in DAX Expression.
if i remove the 2nd part of if statment and simply add 0. Result Calculated: 03 Seconds Only
if i kept the every thing as it is. Restult Calcuated Time: 4 to 5 mintues (even if only one BL is selected).
My observation is that "if condition" is always calcuate the false part even if the condition is true while there is no need to calculate 2nd condition.
Measure Projected Closing =
VAR BLs =
VALUES ( SalesCurr[BL_CODE1] )
VAR RDB =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "RDB", BLs ),
0
)
VAR KLG =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "KLG", BLs ),
0
)
VAR UBJ =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "UBJ", BLs ),
0
)
VAR HLB =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "HLB", BLs ),
0
)
VAR PGL =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "PGL", BLs ),
0
)
VAR MRS =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "MRS", BLs ),
0
)
VAR IFC =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "IFC", BLs ),
0
)
VAR AXE =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "AXE", BLs ),
0
)
VAR LNT =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "LNT", BLs ),
0
)
VAR LRL =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "LRL", BLs ),
0
)
VAR DSS =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "DSS", BLs ),
0
)
VAR MBR =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "MBR", BLs ),
0
)
VAR WRG =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "WRG", BLs ),
0
)
VAR OVL =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "OVL", BLs ),
0
)
VAR SHK =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "SHK", BLs ),
0
)
VAR HIZ =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "HIZ", BLs ),
0
)
VAR BLG =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "BLG", BLs ),
0
)
VAR GAN =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "GAN", BLs ),
0
)
VAR NOR =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "NOR", BLs ),
0
)
VAR TNG =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], SalesCurr[BL_CODE1] = "TNG", BLs ),
0
)
VAR BL_1 =
IFERROR (
CALCULATE ( [Gross Sales] / [LD_AVG_%age], VALUES ( SalesCurr[BL_CODE1] ) ),
0
)
RETURN
IF (
HASONEVALUE ( SalesCurr[BL_CODE1] ),
BL_1,
RDB+KLG+UBJ+HLB+PGL+MRS+IFC+AXE+LNT+LRL+DSS+MBR+WRG+OVL+SHK+HIZ+BLG+GAN+NOR+TNG)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.