Forum Discussion

STIBBS_807's avatar
STIBBS_807
Resolver I
5 years ago
Solved

Replace Value Based on Compound If Statement.

I am looking for help with my ReplaceValue statement.  I pull some code from other discussions but was unsucessful in getting the statement to work appropriatly.

 

Here is what I have:

 

 #"Replaced Value in Supervisor" = Table.ReplaceValue(Source, each [Supervisor],
each if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" then "Ralph"
else Replacer.ReplaceValue,{"Supervisor"})

 

I get this error:

Expression.Error: 4 arguments were passed to a function which expects 5.
Details:
Pattern=
Arguments=[List]

 

Eventually I want to get to this:

 

 #"Replaced Value in Supervisor"= Table.ReplaceValue(Source, each [Supervisor],

each if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" then if [Worker] = "Sue" then "Ralph"

else if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" then if [Worker] = "Anna" then "Stan" 

else if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" then if [Worker] = "Pete" then "George" 

else Replacer.ReplaceValue,{"Supervisor"})

  • Solved my issue:

     

    = Table.ReplaceValue(Source,each [Supervisor],
    each if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" and [Worker]="Sue" then "Ralph"
    else if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" and [Worker]="Anna" then "Stan"
    else if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" and [Worker]="Pete" then "George"
    else [Supervisor],Replacer.ReplaceValue,{"Supervisor"})

  • = let sup = Record.FromList({"Ralph","Stan","George"}, {"Sue","Anna","Pete"}) in Table.ReplaceValue(Source, each [Supervisor], each if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" then Record.FieldOrDefault(sup, [Worker], [Supervisor]) else [Supervisor], Replacer.ReplaceValue, {"Supervisor"})

2 Replies

  • Solved my issue:

     

    = Table.ReplaceValue(Source,each [Supervisor],
    each if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" and [Worker]="Sue" then "Ralph"
    else if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" and [Worker]="Anna" then "Stan"
    else if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" and [Worker]="Pete" then "George"
    else [Supervisor],Replacer.ReplaceValue,{"Supervisor"})

  • CNENFRNL's avatar
    CNENFRNL
    Community Champion
    = let sup = Record.FromList({"Ralph","Stan","George"}, {"Sue","Anna","Pete"}) in Table.ReplaceValue(Source, each [Supervisor], each if [Supervisor]="Not Assigned/Non affecté Not Assigned/Non affecté" then Record.FieldOrDefault(sup, [Worker], [Supervisor]) else [Supervisor], Replacer.ReplaceValue, {"Supervisor"})