Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Hi
I am moving an existing Excel report into Power BI and need to replicate an Excel formula in Power Query. Below screenshot shows the formla in calculated column E in Excel.
I think it is doable by defining several steps in Power Query and adding multiple conditional columns, but I believe there should be a better way of writing a query statement that I can use, instead. Can you please help? Thank you.
Solved! Go to Solution.
See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test (later on when you use the query on your dataset, you will have to change the source appropriately. If you have columns other than these, then delete Changed type step and do a Changed type for complete table from UI again)
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMtQ1MNE1NFTSQXBMkThGRkqxOgiFRsgKjQzgHFMgQlFoaIHdRFNdQ2Ol2FgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Arrival Date" = _t, #"Start Date" = _t, #"Collection Date" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Arrival Date", type date}, {"Start Date", type date}, {"Collection Date", type date}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "DAYS", each if [Arrival Date]=null or [Start Date]=null or [Collection Date]=null then "NA" else Duration.Days([Collection Date]-List.Min({[Arrival Date],[Start Date]})))
in
#"Added Custom"
👍 It's been a pleasure to help you | Help Hours: 11 AM to 9 PM (UTC+05:30)
How to get your questions answered quickly -- How to provide sample data
Thank you heaps for your prompt answer and help. It worked properly. 🙂
Cheers
See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test (later on when you use the query on your dataset, you will have to change the source appropriately. If you have columns other than these, then delete Changed type step and do a Changed type for complete table from UI again)
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMtQ1MNE1NFTSQXBMkThGRkqxOgiFRsgKjQzgHFMgQlFoaIHdRFNdQ2Ol2FgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Arrival Date" = _t, #"Start Date" = _t, #"Collection Date" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Arrival Date", type date}, {"Start Date", type date}, {"Collection Date", type date}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "DAYS", each if [Arrival Date]=null or [Start Date]=null or [Collection Date]=null then "NA" else Duration.Days([Collection Date]-List.Min({[Arrival Date],[Start Date]})))
in
#"Added Custom"
👍 It's been a pleasure to help you | Help Hours: 11 AM to 9 PM (UTC+05:30)
How to get your questions answered quickly -- How to provide sample data
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.
User | Count |
---|---|
29 | |
27 | |
16 | |
13 | |
10 |
User | Count |
---|---|
28 | |
24 | |
21 | |
16 | |
12 |