Forum Discussion
Conditional calculation based on three slicers
- Anonymous4 years ago
Hi JJRubio ,
SUM( IF(GrossNet = 'Gross' AND ShrunkUnshrunk = 'Shrunk', 'GrossShrunkBOE', IF(GrossNet = 'Gross' AND ShrunkUnshrunk = 'Unshrunk', 'GrossUnshrunkBOE', IF(GrossNet = 'Net' AND ShrunkUnshrunk = 'Shrunk', 'NetShrunkBOE', IF(GrossNet = 'Net' AND ShrunkUnshrunk = 'Unshrunk', 'NetUnshrunkBOE',0 ) ) ) ) )Are 'GrossShrunkBOE'/'GrossUnshrunkBOE'/'NetShrunkBOE'/'NetUnshrunkBOE' in true result part of IF function measures which will return number type value? I see your measure will return 0 in last false result.
According to your code, I think there should be two slicers GrossNet and ShrunkUnshrunk in your data model.
Measure = VAR _SELECT_GrossNet = SELECTEDVALUE('Slicer1'[GrossNet]) VAR _SELECT_ShrunkUnshrunk = SELECTEDVALUE('Slicer2'[ShrunkUnshrunk]) RETURN SWITCH( TRUE(), _SELECT_GrossNet = 'Gross' && _SELECT_ShrunkUnshrunk = 'Shrunk', [GrossShrunkBOE], _SELECT_GrossNet = 'Gross' && _SELECT_ShrunkUnshrunk = 'Unshrunk', [GrossUnshrunkBOE], _SELECT_GrossNet = 'Net' && _SELECT_ShrunkUnshrunk = 'Shrunk', [NetShrunkBOE], _SELECT_GrossNet = 'Net' && _SELECT_ShrunkUnshrunk = 'Unshrunk', [NetUnshrunkBOE], 0 )Do not sum the measure in one code unless you create a virtual table in your measure. Try sumx function to sum your measure.
SUM = SUMX('DataTable',[Measure])Best Regards,
Rico ZhouIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi JJRubio ,
SUM(
IF(GrossNet = 'Gross' AND ShrunkUnshrunk = 'Shrunk', 'GrossShrunkBOE',
IF(GrossNet = 'Gross' AND ShrunkUnshrunk = 'Unshrunk', 'GrossUnshrunkBOE',
IF(GrossNet = 'Net' AND ShrunkUnshrunk = 'Shrunk', 'NetShrunkBOE',
IF(GrossNet = 'Net' AND ShrunkUnshrunk = 'Unshrunk', 'NetUnshrunkBOE',0
)
)
)
)
)
Are 'GrossShrunkBOE'/'GrossUnshrunkBOE'/'NetShrunkBOE'/'NetUnshrunkBOE' in true result part of IF function measures which will return number type value? I see your measure will return 0 in last false result.
According to your code, I think there should be two slicers GrossNet and ShrunkUnshrunk in your data model.
Measure =
VAR _SELECT_GrossNet = SELECTEDVALUE('Slicer1'[GrossNet])
VAR _SELECT_ShrunkUnshrunk = SELECTEDVALUE('Slicer2'[ShrunkUnshrunk])
RETURN
SWITCH(
TRUE(),
_SELECT_GrossNet = 'Gross' && _SELECT_ShrunkUnshrunk = 'Shrunk', [GrossShrunkBOE],
_SELECT_GrossNet = 'Gross' && _SELECT_ShrunkUnshrunk = 'Unshrunk', [GrossUnshrunkBOE],
_SELECT_GrossNet = 'Net' && _SELECT_ShrunkUnshrunk = 'Shrunk', [NetShrunkBOE],
_SELECT_GrossNet = 'Net' && _SELECT_ShrunkUnshrunk = 'Unshrunk', [NetUnshrunkBOE],
0
)
Do not sum the measure in one code unless you create a virtual table in your measure. Try sumx function to sum your measure.
SUM = SUMX('DataTable',[Measure])
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.