Forum Discussion
Power Query to replace multiple columns with different values based on another column value
Anonymous Sorry, having trouble following, can you post sample data as text and expected output?
Not really enough information to go on, please first check if your issue is a common issue listed here: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882
Also, please see this post regarding How to Get Your Question Answered Quickly: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
The most important parts are:
1. Sample data as text, use the table tool in the editing bar
2. Expected output from sample data
3. Explanation in words of how to get from 1. to 2.
Current data
Greg, thank you for quick. I a beginner to power bi so I will try to explain to best as I can. I want to be able search text like "Delivery" from column (Condition Reason) and replace those other columns highlighted in yellow with different values as shown.
I can get UNIT column to change as follow:
Table.ReplaceValue(#"Changed Type", each [UNIT], each if Text.Contains([Condition Reason], "Delivery") then "SelfService" else [UNIT],Replacer.ReplaceText, {"UNIT"}),
But when I try to have multiple replace value, it will only replace the last value in M code.
This is the final result I am trying to achieve.
Any suggestion?
- Greg_Deckler5 years agoCommunity Champion
Anonymous Please paste sample data as text so that can copy and paste easily to test out different methods.
- Anonymous4 years agoNot applicable
This is current data that I am trying to convert.
Status Condition Reason Unit Dept UNKNOWN Troubleshooting:NewTask::DeliveryOrderSuccess DediccatedService HR UNKNOWN Troubleshooting: Request-Agent-DeliveryGateway::DeliveryGateway DediccatedService Finance UNKNOWN Troubleshooting:NewTask::DeliveryOrderSuccess SelfService Finance UNKNOWN Troubleshooting:NewTask::DeliveryOrderSuccess SelfService Finance UNKNOWN Troubleshooting:NewTask::Deliverylneligible UNKNOWN Finance UNKNOWN Troubleshooting:NewTask::DeliveryOrderSuccess SelfService HR UNKNOWN Troubleshooting:NewTask::DeliveryOrderSuccess SelfService Finance UNKNOWN Troubleshooting:NewTask::DeliveryOrderSuccess SelfService Finance UNKNOWN Troubleshooting: Request-Agent-DeliveryGateway::DeliveryGateway SelfService Finance I want to convert the data into this based on search criteria on column (Condition Reason)
Status Condition Reason Unit Dept Success Troubleshooting:NewTask::DeliveryOrderSuccess SelfService TechSupport Failed Troubleshooting: Request-Agent-DeliveryGateway::DeliveryGateway SelfService TechSupport Success Troubleshooting:NewTask::DeliveryOrderSuccess SelfService TechSupport Success Troubleshooting:NewTask::DeliveryOrderSuccess SelfService TechSupport Failed Troubleshooting:NewTask::Deliverylneligible SelfService TechSupport Success Troubleshooting:NewTask::DeliveryOrderSuccess SelfService TechSupport Success Troubleshooting:NewTask::DeliveryOrderSuccess SelfService TechSupport Success Troubleshooting:NewTask::DeliveryOrderSuccess SelfService TechSupport Failed Troubleshooting: Request-Agent-DeliveryGateway::DeliveryGateway SelfService TechSupport I have tried this but it only allow me to convert the last one only.
Replaced Unit" = Table.ReplaceValue(#"Changed Type1", each [Unit], each if Text.Contains([Condition Reason], "DropShip") then "SelfService" else [Unit],Replacer.ReplaceText, {"Unit"})
Replaced Dept" = Table.ReplaceValue(#"Changed Type1", each [Dept], each if Text.Contains([Condition Reason], "DropShip") then "TechSupport" else [Dept],Replacer.ReplaceText, {"Dept"})