Forum Discussion
Compare Data within the same table
HI tonijj,
I don't think quick measure can generate similar dax formula.
>>Is there a way to modify it so it would work on both levels, both "Host Name" and "SIN" ?
You can try to add values function to apply filter effect on that formula:
MOM Diff =
VAR currDate =
MAX ( DateTable[DateKey] )
VAR currTotal =
CALCULATE (
SUM ( DetailedVolumes[Volume] ),
FILTER (
ALLSELECTED ( DetailedVolumes ),
MONTH ( [DateKey] ) = MONTH ( currDate )
),
VALUES ( Services[SIN] )
)
VAR prevTotal =
CALCULATE (
SUM ( DetailedVolumes[Volume] ),
FILTER (
ALLSELECTED ( DetailedVolumes ),
MONTH ( [DateKey] )
= MONTH ( currDate ) - 1
),
VALUES ( Services[SIN] ),
VALUES ( Service[Host Name] )
)
RETURN
IF ( prevtotal <> BLANK (), currTotal - prevTotal )
Regards,
Xiaoxin Sheng
- tonijj7 years agoHelper IV
Anonymous
Thanks for the response!
I tried adding the "Hostname" as well, the remaining issue is that the Totals are not correct. I have found the issue; The formula for "Diff MOM" does not add a variance per hostname level when drilling down, which means that the Total is incorrect. See attached pictures.
At first I thought it had to do with "Allselected" and changed it to use the "All" formula, but that didnt do it.
Any ideas for this last step?
Thanks again, I really do appreciate the help!
- Anonymous7 years agoNot applicable
Hi tonijj,
It seems like I only add 'host name' filter on previous total variable,now I add it to current total variable, maybe you can try ot use following formula if it fix the issue.
MOM Diff = VAR currDate = MAX ( DateTable[DateKey] ) VAR currTotal = CALCULATE ( SUM ( DetailedVolumes[Volume] ), FILTER ( ALLSELECTED ( DetailedVolumes ), MONTH ( [DateKey] ) = MONTH ( currDate ) ), VALUES ( Services[SIN] ), VALUES ( Service[Host Name] ) ) VAR prevTotal = CALCULATE ( SUM ( DetailedVolumes[Volume] ), FILTER ( ALLSELECTED ( DetailedVolumes ), MONTH ( [DateKey] ) = MONTH ( currDate ) - 1 ), VALUES ( Services[SIN] ), VALUES ( Service[Host Name] ) ) RETURN IF ( prevtotal <> BLANK (), currTotal - prevTotal )BTW, 'all' function will ignore other filter effects, so I use 'allselected' function to instead.(it can also break current row contents filter but not ignore other filters)
Regards,
Xiaoxin Sheng
- tonijj7 years agoHelper IV
Anonymous
Hi,
I actually did try to add that line to the formula, but it didnt work. Well, except for that the "hostname" is in the table "Detailedvolume". In any case, I get the same result, it leaves the "MOM Diff" blank even though there is a difference, but only on hostname level.
If the formula would calculate on that level as well Im pretty sure the Totals would be fine. Any other suggestions?
Ps. Of course youre right about the "ALL" function, thanks for the explanation, think I was just too tired when I tried that out last week :) Appreciate the explanation!
- Anonymous7 years agoNot applicable
Hi tonijj,
Yes, measure with specific filters has some trouble to calculate on total level, maybe you can take a look at following blog which told about hierarchy level handling.
Clever Hierarchy Handling in DAX
Regards,
Xiaoxin Sheng