Forum Discussion
Switch between measures?
Based on the results you are showing, the column "Switch Logic" should equal "Switch" for all the records of year 2017. The column "technicalperiodcode" should be of type number and not text
Then the following DAX should get you the right results:
Measure =
SUMX (
SUMMARIZE (
Data,
Data[technicalyear],
Data[Switch Logic]
),
SWITCH (
[Switch Logic],
"Pre-Switch", CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
Data[Level4TransactionTypeDescription] = "Inward Estimated Premium"
) - CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
Data[Level4TransactionTypeDescription] = "Inward Unearned Premium Reserve"
),
"Post-Switch", CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
Data[Level4TransactionTypeDescription] = "Inward Booked Premium"
),
"Switch", CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
ALL ( Data ),
Data[technicalyear] <= EARLIER ( Data[technicalyear] ),
Data[Level4TransactionTypeDescription] = "Inward Booked Premium"
) - CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
ALL ( Data ),
Data[technicalyear] <= EARLIER ( Data[technicalyear] ),
Data[Level4TransactionTypeDescription] = "Inward Estimated Premium"
)
)
)
2 Replies
- LivioLanzoSolution Sage
Based on the results you are showing, the column "Switch Logic" should equal "Switch" for all the records of year 2017. The column "technicalperiodcode" should be of type number and not text
Then the following DAX should get you the right results:
Measure =
SUMX (
SUMMARIZE (
Data,
Data[technicalyear],
Data[Switch Logic]
),
SWITCH (
[Switch Logic],
"Pre-Switch", CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
Data[Level4TransactionTypeDescription] = "Inward Estimated Premium"
) - CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
Data[Level4TransactionTypeDescription] = "Inward Unearned Premium Reserve"
),
"Post-Switch", CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
Data[Level4TransactionTypeDescription] = "Inward Booked Premium"
),
"Switch", CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
ALL ( Data ),
Data[technicalyear] <= EARLIER ( Data[technicalyear] ),
Data[Level4TransactionTypeDescription] = "Inward Booked Premium"
) - CALCULATE (
SUM ( Data[AmountInReportingCurrency] ),
ALL ( Data ),
Data[technicalyear] <= EARLIER ( Data[technicalyear] ),
Data[Level4TransactionTypeDescription] = "Inward Estimated Premium"
)
)
)- AnonymousNot applicable
This is extremely helpful and did the trick. Thank you LivioLanzo!