Forum Discussion

smithmc3's avatar
smithmc3
Advocate I
9 years ago
Solved

Query editor replacing values based on another column

I am trying to change the subdivision name from "Asset Management" to "Land Use Office" for those items where the the department is "land use office"  I can't figure out the query editor language, see below.  Everything works great up to the "Replaced LandUse", mainly because everything else is done straight throught the basic user interface edits. 

------

let
Source = 
#"Use First Row As Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
#"Change Type" = Table.TransformColumnTypes(#"Use First Row As Headers",{{"EmplID", type text}, {"Name", type text}, {"District", type text}, {"Subdivision Code", Int64.Type}, {"Subdivision Name", type text}, {"FileDate", type datetime}}),
#"Filtered Rows" = Table.SelectRows(#"Change Type", each ([District] <> "")),
#"Changed Type" = Table.TransformColumnTypes(#"Filtered Rows",{{"EmplID", Int64.Type}, {"FileDate", type date}}),
#"Replaced CDP" = Table.ReplaceValue(#"Changed Type","Learning Center","Core Development Program",Replacer.ReplaceText,{"Subdivision Name"}),
#"Replaced ACO" = Table.ReplaceValue(#"Replaced CDP","Audit","Assurance & Compliance Office",Replacer.ReplaceText,{"Subdivision Name"}),
#"Replaced OTP3" = Table.ReplaceValue(#"Replaced ACO","PPTA","Office of Transportation Public-Private Partnerships",Replacer.ReplaceText,{"Subdivision Name"}),
#"Replaced LandUse" = Table.ReplaceValue(#"if({"Department", type text}="Land Use Office" then Table.ReplaceValue(#"Replaced OTP3", "Asset Management", "Land Use Office",Replacer.ReplaceText,{"Subdivision Name"}) else {"Subdivision Name"}="Asset Management")")
in
#"Replaced LandUse"

  • We ended up just adding a custom calculated column to do make the adjustment.  See text below.  To make it a little cleaner, we will add the other replace value steps into the custom calculated colum.

     

    #"Added Custom" = Table.AddColumn(#"Replaced OTP3", "Res", each if [Department] = "Land Use Office" then "Land Use Office" else [Subdivision Name]),

2 Replies

    • smithmc3's avatar
      smithmc3
      Advocate I

      We ended up just adding a custom calculated column to do make the adjustment.  See text below.  To make it a little cleaner, we will add the other replace value steps into the custom calculated colum.

       

      #"Added Custom" = Table.AddColumn(#"Replaced OTP3", "Res", each if [Department] = "Land Use Office" then "Land Use Office" else [Subdivision Name]),