Forum Discussion
How to write DAX to filter only specific rows dynamically even when data is changed in the future.
Hello Guys,
I'm trying to filter data to show the result on specific criteria from the below data dynamically even when the data gets updated but the logic should remain same..
Expected Result:
I need to use line chart to show "Estimated" values from November 2021 to June 2022.
Please let me know.
Thanks in advance.
Dee
Hi,
Sorry for my misunderstanding.
Please try the below.
Estimated measure: =
VAR newtable =
FILTER (
SUMMARIZE ( ALL ( Data ), 'Calendar'[Date], Data[Type] ),
AND ( Data[Type] <> "Actual", Data[Type] <> "Current" )
)
VAR groupbymindate =
GROUPBY (
newtable,
Data[Type],
"@mindate", MINX ( CURRENTGROUP (), 'Calendar'[Date] )
)
VAR filter_table =
FILTER (
CALCULATETABLE ( Data, TREATAS ( groupbymindate, Data[Type], Data[Date] ) ),
Data[Type] = MAX ( Data[Type] )
&& Data[Date] IN VALUES ( 'Calendar'[Date] )
)
VAR monthyeartable =
SUMMARIZE (
ADDCOLUMNS (
SUMMARIZE ( Data, 'Calendar'[Month & Year], Data[Type] ),
"@result",
CALCULATE (
IF (
SELECTEDVALUE ( Data[Type] ) = "Current",
SUM ( Data[Estimated] ),
SUMX ( filter_table, Data[Estimated] )
)
)
),
'Calendar'[Month & Year],
[@result]
)
RETURN
IF (
HASONEVALUE ( 'Calendar'[Month & Year] ),
SUMX ( monthyeartable, [@result] )
)
13 Replies
- amitchandakSuper User
Anonymous , Create a measure like
Calculate(Sum(Table[Estimate]), filter(Table, Table[Date] = minx(filter(allselected(Table), Table[Type] = max(Table[Type])),[Date]) && Table[Type] in {"02-Update", "05-TNP", "06-APP")) + Calculate(Sum(Table[Estimate]), filter(Table, Table[Type] = "01-Current"))
- AnonymousNot applicable
Hi amitchandak
Thank you very much for the response.
I'm getting below error in the DAX calculation.
Thanks
Dee
- Jihwan_KimSuper User
Hi,
I tried to follow the concept and created a sample pbix file like attached.
Please check the below picture and the attached pbix file.
Estimated measure: =
VAR newtable =
FILTER (
SUMMARIZE ( ALL ( Data ), 'Calendar'[Date], Data[Type] ),
AND ( Data[Type] <> "Actual", Data[Type] <> "Current" )
)
VAR groupbymindate =
GROUPBY (
newtable,
Data[Type],
"@mindate", MINX ( CURRENTGROUP (), 'Calendar'[Date] )
)
VAR filter_table =
FILTER (
CALCULATETABLE ( Data, TREATAS ( groupbymindate, Data[Type], Data[Date] ) ),
Data[Type] = MAX ( Data[Type] )
&& Data[Date] IN VALUES ( 'Calendar'[Date] )
)
RETURN
IF (
HASONEVALUE ( 'Calendar'[Month & Year] ),
IF (
SELECTEDVALUE ( Data[Type] ) = "Current",
SUM ( Data[Estimated] ),
SUMX ( filter_table, Data[Estimated] )
)
)- AnonymousNot applicable
Thank you very much Jihwan_Kim that's a great solution.
But the line chart is broken with the points. Please see below
Thanks
Dee
- Jihwan_KimSuper User
Hi,
Thank you for your feedback.
May I know how your expected result looks like?