Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hello everyone,
I am trying to summarise a data table using the following DAX;
Solved! Go to Solution.
Hi @Anonymous
Try this
VAR _table =
CALCULATETABLE (
SUMMARIZE (
'GPS Data',
'GPS Data'[Name],
'GPS Data'[Session ID],
'GPS Data'[Maximum Velocity (m/s)]
),
VAR date1_ =
DATE ( 2017, 07, 03 )
VAR date2_ =
DATE ( 2018, 08, 16 )
RETURN
UNION (
FILTER (
ALL ( 'GPS Data'[Date], 'GPS Data'[Matchday (+/-)] ),
'GPS Data'[Date] >= date1_
&& 'GPS Data'[Date] <= date2_
&& NOT 'GPS Data'[Matchday (+/-)] IN { "MD", "PSF", "Off Season", BLANK () }
),
FILTER (
ALL ( 'GPS Data'[Date], 'GPS Data'[Matchday (+/-)] ),
'GPS Data'[Date] > date2_
&& NOT 'GPS Data'[Matchday (+/-)] IN { "PSF", "Off Season", BLANK () }
)
)
)
or this
VAR _table =
CALCULATETABLE (
SUMMARIZE (
'GPS Data',
'GPS Data'[Name],
'GPS Data'[Session ID],
'GPS Data'[Maximum Velocity (m/s)]
),
VAR date1_ =
DATE ( 2017, 07, 03 )
VAR date2_ =
DATE ( 2018, 08, 16 )
RETURN
FILTER (
ALL ( 'GPS Data'[Date], 'GPS Data'[Matchday (+/-)] ),
IF (
'GPS Data'[Date] >= date1_
&& 'GPS Data'[Date] <= date2_,
NOT 'GPS Data'[Matchday (+/-)] IN { "MD", "PSF", "Off Season", BLANK () },
NOT 'GPS Data'[Matchday (+/-)] IN { "PSF", "Off Season", BLANK () }
)
)
)
Both approaches filter out everything before 03/07/2018
Please mark the question solved when done and consider giving a thumbs up if posts are helpful.
Contact me privately for support with any larger-scale BI needs, tutoring, etc.
Cheers
@Anonymous
What slicers exactly? Are they all on from the Date table?
Variables in DAX are immutable. Their value, assigned at creation, will never change. Think of them as constants. So the CALCULATE ( ..... , ALL( ...)) will have no effect whatsoever in _table
You would have to apply that when creating the VAR _table, not afterwards. Something like (based on the previous code):
VAR _table =
CALCULATETABLE (
SUMMARIZE (
'GPS Data',
'GPS Data'[Name],
'GPS Data'[Session ID],
'GPS Data'[Maximum Velocity (m/s)]
),
VAR date1_ = DATE ( 2017, 07, 03 )
VAR date2_ = DATE ( 2018, 08, 16 )
RETURN
FILTER (
ALL ( 'GPS Data'[Date], 'GPS Data'[Matchday (+/-)] ),
IF (
'GPS Data'[Date] >= date1_ && 'GPS Data'[Date] <= date2_,
NOT 'GPS Data'[Matchday (+/-)] IN { "MD", "PSF", "Off Season", BLANK () },
NOT 'GPS Data'[Matchday (+/-)] IN { "PSF", "Off Season", BLANK () }
)
),
ALL ( Dates )
)
Please mark the question solved when done and consider giving a thumbs up if posts are helpful.
Contact me privately for support with any larger-scale BI needs, tutoring, etc.
Cheers
Hi @Anonymous
Try this
VAR _table =
CALCULATETABLE (
SUMMARIZE (
'GPS Data',
'GPS Data'[Name],
'GPS Data'[Session ID],
'GPS Data'[Maximum Velocity (m/s)]
),
VAR date1_ =
DATE ( 2017, 07, 03 )
VAR date2_ =
DATE ( 2018, 08, 16 )
RETURN
UNION (
FILTER (
ALL ( 'GPS Data'[Date], 'GPS Data'[Matchday (+/-)] ),
'GPS Data'[Date] >= date1_
&& 'GPS Data'[Date] <= date2_
&& NOT 'GPS Data'[Matchday (+/-)] IN { "MD", "PSF", "Off Season", BLANK () }
),
FILTER (
ALL ( 'GPS Data'[Date], 'GPS Data'[Matchday (+/-)] ),
'GPS Data'[Date] > date2_
&& NOT 'GPS Data'[Matchday (+/-)] IN { "PSF", "Off Season", BLANK () }
)
)
)
or this
VAR _table =
CALCULATETABLE (
SUMMARIZE (
'GPS Data',
'GPS Data'[Name],
'GPS Data'[Session ID],
'GPS Data'[Maximum Velocity (m/s)]
),
VAR date1_ =
DATE ( 2017, 07, 03 )
VAR date2_ =
DATE ( 2018, 08, 16 )
RETURN
FILTER (
ALL ( 'GPS Data'[Date], 'GPS Data'[Matchday (+/-)] ),
IF (
'GPS Data'[Date] >= date1_
&& 'GPS Data'[Date] <= date2_,
NOT 'GPS Data'[Matchday (+/-)] IN { "MD", "PSF", "Off Season", BLANK () },
NOT 'GPS Data'[Matchday (+/-)] IN { "PSF", "Off Season", BLANK () }
)
)
)
Both approaches filter out everything before 03/07/2018
Please mark the question solved when done and consider giving a thumbs up if posts are helpful.
Contact me privately for support with any larger-scale BI needs, tutoring, etc.
Cheers
Hi @AlB , thanks very much for your solution which worked for me! Kudos!
From the DAX you have provided me I have done the following to attain the value I need from filtered table;
@Anonymous
What slicers exactly? Are they all on from the Date table?
Variables in DAX are immutable. Their value, assigned at creation, will never change. Think of them as constants. So the CALCULATE ( ..... , ALL( ...)) will have no effect whatsoever in _table
You would have to apply that when creating the VAR _table, not afterwards. Something like (based on the previous code):
VAR _table =
CALCULATETABLE (
SUMMARIZE (
'GPS Data',
'GPS Data'[Name],
'GPS Data'[Session ID],
'GPS Data'[Maximum Velocity (m/s)]
),
VAR date1_ = DATE ( 2017, 07, 03 )
VAR date2_ = DATE ( 2018, 08, 16 )
RETURN
FILTER (
ALL ( 'GPS Data'[Date], 'GPS Data'[Matchday (+/-)] ),
IF (
'GPS Data'[Date] >= date1_ && 'GPS Data'[Date] <= date2_,
NOT 'GPS Data'[Matchday (+/-)] IN { "MD", "PSF", "Off Season", BLANK () },
NOT 'GPS Data'[Matchday (+/-)] IN { "PSF", "Off Season", BLANK () }
)
),
ALL ( Dates )
)
Please mark the question solved when done and consider giving a thumbs up if posts are helpful.
Contact me privately for support with any larger-scale BI needs, tutoring, etc.
Cheers
@AlB The slicers are year and week no, from a date table.
Thank you for the explanation, I understand.
And again thanks very much for the solution. Now I have exactly what I need 🙂
Cheers
Sean
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
10 | |
9 | |
8 | |
8 | |
6 |
User | Count |
---|---|
14 | |
13 | |
11 | |
9 | |
9 |