Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hello!
It's me again with another date conundrum.
What I want to do is filter a range of data based on its date. For example, I want to filter out anything from 1st April of the previous year. So for 2020 that would be 1st April 2019 and for 2021, this would be 1st April 2020.
I can easily do this with a fixed date, but I have struggled to make this dynamic.
I have tried the following but get an error about not passing through a date value: -
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Date] >= Date.From(Date.AddMonths(Date.StartOfYear(DateTime.LocalNow)),-9))
In my mind, I'm asking it to filter out anything that is less than equal to the start of today's year minus 9 months. E.g. 1st April 2019.
If anyone can shed some light on this for me, I would be much obliged.
Solved! Go to Solution.
@Anonymous - Try ditching your Date.From, I don't see why you need that. Also, you need () on your .LocalNow
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Date] >= Date.AddMonths(Date.StartOfYear(DateTime.LocalNow())),-9)
Exact error message: -
Expression.Error: The Date value must contain the Date component.
Details:
[Function]
@Anonymous - Try ditching your Date.From, I don't see why you need that. Also, you need () on your .LocalNow
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Date] >= Date.AddMonths(Date.StartOfYear(DateTime.LocalNow())),-9)
Thanks, @Greg_Deckler - I always struggle with the date/datetime/datetimezone fields!
I've tried what you have suggested but now get: -
Expression.Error: 3 arguments were passed to a function which expects 2.
Details:
Pattern=
Arguments=[List]
Then I realised there were not enough brackets (or not in the right place) and get: -
Expression.Error: We cannot apply operator < to types DateTime and Date.
Details:
Operator=<
Left=01/10/2019 00:00:00
Right=21/08/2019
Ah I may have cracked it...
#"Filtered Rows" = Table.SelectRows(#"Added Conditional Column1", each [Date] >= Date.From(Date.AddMonths(Date.StartOfYear(DateTime.LocalNow()),-9)))
Converting datetime to date with the Date.From - then matches the "Date" format in [Date]
User | Count |
---|---|
79 | |
74 | |
44 | |
32 | |
28 |
User | Count |
---|---|
104 | |
93 | |
52 | |
50 | |
46 |