Forum Discussion
IF conditions for filtering in Power Query
I have a set of data I want to filter in one column but not sure how to go about this. Here is my attempt at the explanation
IF text begins with "L01" or "L04"
then
remove first 3 characters
Else
Remove first character only
Is this possible to write in power query?
pls try this
if Text.Start([DATA],3) ="L01" or Text.Start([DATA],3) ="L04" then Text.RemoveRange([DATA],0,3) else Text.RemoveRange([DATA],0,1) or======== if Text.StartsWith([DATA],"L01") or Text.StartsWith([DATA],"L04") then Text.RemoveRange([DATA],0,3) else Text.RemoveRange([DATA],0,1)
4 Replies
- tackytechtom
Most Valuable Professional
Hi PCarson00 ,
How about this:
I created a new column with your requirement and the following code in M:
if Text.StartsWith([Column], "L01") or Text.StartsWith([Column], "L04") then Text.RemoveRange([Column], 0, 3 ) else Text.RemoveRange([Column], 0, 1 )Let me know if this solves your quest 🙂
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/- PCarson00Frequent Visitor
Thanks Tom. On my end its not working - getting an error 'then' expected. I notice the or command is not blue?
- tackytechtom
Most Valuable Professional
Hi PCarson00 ,
This is probably because there was some other stuff ("Table.AddColumn..., each") in the custom column formula box. My screenshot was probably misleading 🙂
Here how it's supposed to look like:
Happy you found a solution anyway! 🙂
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/
- Ahmedx
Super User
pls try this
if Text.Start([DATA],3) ="L01" or Text.Start([DATA],3) ="L04" then Text.RemoveRange([DATA],0,3) else Text.RemoveRange([DATA],0,1) or======== if Text.StartsWith([DATA],"L01") or Text.StartsWith([DATA],"L04") then Text.RemoveRange([DATA],0,3) else Text.RemoveRange([DATA],0,1)