Forum Discussion
slschmidt
2 years agoFrequent Visitor
Switch-Performance
I am trying to assign a segment code to my customters based on a calculation (in this case average 12 month net adt) over the past 12 months. I created the following measures. It works in the deskt...
- 2 years ago
Thank you again for your help! Here is what I changed and it worked:
Segment L12M Net ADT =VAR enddate =MAX ( 'Calendar'[Date] )VAR dailtable =CALCULATETABLE (DailyDetailReport,DATESINPERIOD ( 'Calendar'[Date], enddate, -12, MONTH ))VAR nettheo = CALCULATE([Net Theo])VAR slotsessions=CALCULATE([Slot Visits])VAR l12mnetadt=CALCULATE(nettheo/slotsessions)VAR summary =SUMMARIZE ( dailtable, PlayerInfo[PlayerID] )VAR results =ADDCOLUMNS (summary,"nettheo", CALCULATE (nettheo),"slotsessions", CALCULATE (slotsessions ),"l12mnetadt", CALCULATE(l12mnetadt),"Segment",SWITCH (TRUE (),l12mnetadt >= 1000, 1,l12mnetadt >= 750, 2,l12mnetadt >= 500, 3,l12mnetadt >= 400, 4,l12mnetadt >= 300, 5,l12mnetadt >= 200, 6,l12mnetadt >= 150, 7,l12mnetadt >= 100, 8,l12mnetadt >= 75, 9,l12mnetadt>= 50, 10,l12mnetadt >= 25, 11,l12mnetadt >= 10, 12,l12mnetadt >= 5, 13,14))RETURNSUMX ( results, [Segment] )I cannot thank you enough!!
Anonymous
2 years agoNot applicable
Hi slschmidt ,
Please try to update the formula of measure [Segment L12M Net ADT] as below and check if the related visual can display the data normally in Service.
Segment L12M Net ADT =
VAR enddate =
MAX ( 'Calendar'[Date] )
VAR dailtable =
CALCULATETABLE (
DailyDetailReport,
DATESINPERIOD ( 'Calendar'[Date], enddate, -12, MONTH )
)
VAR summary =
SUMMARIZE ( dailtable, PlayerInfo[PlayerID] )
VAR results =
ADDCOLUMNS (
summary,
"nettheo", CALCULATE ( [Net Theo] ),
"slotsessions", CALCULATE ( [Slot Visits] ),
"l12mnetadt", [nettheo] / [slotsessions],
"Segment",
SWITCH (
TRUE (),
[l12mnetadt] >= 1000, 1,
[l12mnetadt] >= 750, 2,
[l12mnetadt] >= 500, 3,
[l12mnetadt] >= 400, 4,
[l12mnetadt] >= 300, 5,
[l12mnetadt] >= 200, 6,
[l12mnetadt] >= 150, 7,
[l12mnetadt] >= 100, 8,
[l12mnetadt] >= 75, 9,
[l12mnetadt] >= 50, 10,
[l12mnetadt] >= 25, 11,
[l12mnetadt] >= 10, 12,
[l12mnetadt] >= 5, 13,
14
)
)
RETURN
SUMX ( results, [Segment] )
In addition, you can refer the following links to optimize your DAX...
Use Performance Analyzer to examine report element performance (can see and record logs that measure how each of your report elements performs when users interact with them, and which aspects of their performance are most (or least) resource intensive.)
Best Regards
slschmidt
2 years agoFrequent Visitor
Thank you so much for responding.
I am getting errors at
"l12mnetadt", [nettheo] / [slotsessions] and in the switch statement.
Cannot find name nettheo.
Cannot find name slotsessions
Cannot find name l12mnetadt
I appreciate your willingness to assist me!