Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

conditionally replacing values

Hi

 

I read in a blog that you can conditionally replace values in a column.

 

= Table.ReplaceValue(#"Filtered Rows",each [CATEGORY DETAIL],each if ([CATEGORY]="CAR" and Text.Contains([PRODUCTS],"@"))=true then "BLUE CAR" else if [CATEGORY]="CAR" and Text.Contains([PRODUCTS],"@")=false then "RED CAR" else [CATEGORY DETAIL],Replacer.ReplaceText,{"CATEGORY DETAIL"})

 

Example of entries are

CATEGORY: CAR

PRODUCTS: This is a car@

CATEGORY DETAIL: random text

 

Does anyone know why the conditional replacement does not work?

  • Hi Anonymous ,

    syntax looks alright to me at first sight.
    Please be aware that Power Query is case sensitive.

    Also, you could try the change the replacer function from Replacer.ReplaceText  to Replacer.ReplaceValue.

    Also, make sure to clean and trim the CATEGORY-column.

     

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Greg_Deckler I don't think so. It worked in another dashboard with the exact same syntax which is why I am wondering that power bi doesn't replace the values accordingly nor returns an error

  • ImkeF's avatar
    ImkeF
    Community Champion

    Hi Anonymous ,

    syntax looks alright to me at first sight.
    Please be aware that Power Query is case sensitive.

    Also, you could try the change the replacer function from Replacer.ReplaceText  to Replacer.ReplaceValue.

    Also, make sure to clean and trim the CATEGORY-column.

     

  • v-cazheng-msft's avatar
    v-cazheng-msft
    Community Support

    Hi, Anonymous 

    I have done test with the data and M code you provided. It works well.

    Is the dashboard working well a live page pinned to it and the one with no changes a visual pinned it?

     

    Best Regards,

    Caiyun Zheng