Forum Discussion
IF Function Should not Apply to Column Total
I have a matrix table on the report page
- Column A: Overwork is ≥ 10h
- Column B: Overwork is < 10h
I used this formula for A: IF([Measure 1]>=10,[Measure 1],BLANK())
And I used this one for B: IF([Measure 1]<10,[Measure 1],BLANK())
As you can see it works generally. Only values are displayed based on the IF function. However, unfortunately it also applies to the totals (bold numbers). In this particular case column A should be empty and the total of 13,63 should be displayed in column B.
How can I achieve this?
3 Replies
- dedelman_clng
Community Champion
Hi TimmK -
Try this type of pattern
MeasureA = IF ( HASONEVALUE ( 'Table (2)'[Column1] ), IF ( SUM ( 'Table (2)'[Column1] ) > 10, SUM ( 'Table (2)'[Column1] ), BLANK () ), SUMX ( FILTER ( ALLSELECTED ( 'Table (2)' ), 'Table (2)'[Column1] > 10 ), 'Table (2)'[Column1] ) )MeasureB = IF ( HASONEVALUE ( 'Table (2)'[Column1] ), IF ( SUM ( 'Table (2)'[Column1] ) <= 10, SUM ( 'Table (2)'[Column1] ), BLANK () ), SUMX ( FILTER ( ALLSELECTED ( 'Table (2)' ), 'Table (2)'[Column1] <= 10 ), 'Table (2)'[Column1] ) )Hope this helps
David
- TimmK
Helper IV
Hm, not sure if this can work this way.
There are quite complex formulas behind the measures. First, I calculate the total work hours, then I calculate the target hours per day, and finally I substract the latter from the first.
Is there no other easy way where I can directly use the measures, instead of referencing to table[column]?Total Hours Workweek =
CALCULATE (
SUM ( Arbeitszeiten[Duration] ),
FILTER (
Arbeitszeiten,
Arbeitszeiten[Zeitartnummer] = 1
|| Arbeitszeiten[Zeitartnummer] = 2
|| Arbeitszeiten[Zeitartnummer] = 4
|| Arbeitszeiten[Zeitartnummer] = 52
|| Arbeitszeiten[Zeitartnummer] = 20
|| Arbeitszeiten[Zeitartnummer] = 21
|| Arbeitszeiten[Zeitartnummer] = 30
|| Arbeitszeiten[Zeitartnummer] = 31
|| Arbeitszeiten[Zeitartnummer] = 50
),
'Date'[WD] <> 6
&& 'Date'[WD] <> 7
) * 24
+ CALCULATE (
SUM ( Arbeitszeiten[ARP Zeit] ),
'Date'[WD] <> 6
&& 'Date'[WD] <> 7
) / 60 + [A08 Holiday]Target Hours =
SUMX (
ADDCOLUMNS (
SUMMARIZE ( Arbeitszeiten, Arbeitszeiten[Datum] ),
"MAX Soll",
IF (
[A08 Holiday] = BLANK (),
CALCULATE ( MAX ( Arbeitszeiten[Tagesvorgabe] ) ),
[A08 Holiday]
)
),
[MAX Soll]
)- dedelman_clng
Community Champion
Hi TimmK - it depends on what is creating the "filter" on the table/matrix display. You haven't given much detail on the data or your model, or what the entire visual should look like (a table with nothing but measures is going to have one row). If you can provide more detail we might be able to help better.
See How-to-Get-Your-Question-Answered-Quickly for tips on what to share with your question.
David