POWER QUERY: необходимо изменить 1-е число в строке в зависимости от его значения и (2 возможных) условий из 2 других столбцов - PullRequest
0 голосов
/ 11 июля 2019

Условное изменение для отдельного столбца, ЕСЛИ 1-я цифра строки содержит "X###", затем изменить на "Y###"

If DC = A and DS = 2XXX replace the 2 with a 3  
If DC = B and DS = 5XXX replace the 5 with a 6  

Зависимый столбец («DC») / Строка данных («DS»)/ Если необходимо преобразовать в

           A        2888        3888    
           B        3888        3888    
           A        8888        8888    
           B        5888        6888    
           A        2888        3888    
           B        2888        2888    

3 условия, 2 из другого столбца (DC), то 1 возможная замена 1-й цифры (из DS)

Мне нужно преобразовать это в PowerQuery, пожалуйста

1 Ответ

0 голосов
/ 11 июля 2019

Вы можете использовать этот код:

let
    Source = YourTable,
    types = Table.TransformColumnTypes(Source,{"Col2", type text}),
    replace = Table.ReplaceValue(types,each Text.Start([Col2],1),
                                       each if [Col1] = "A" and Text.Start([Col2],1) = "2" then "3"
                                       else if [Col1] = "B" and Text.Start([Col2],1)="5" then "6"
                                       else Text.Start([Col2],1),Replacer.ReplaceText,{"Col2"})
in
    replace

Или:

let
Source = YourTable,
types = Table.TransformColumnTypes(Source,{"Col2", type text}),
replace = Table.ReplaceValue(types,0,each Text.ReplaceRange([Col2], 0, 1, if [Col1] = "A" and Text.Start([Col2],1) = "2" then "3"
                                                                          else if [Col1] = "B" and Text.Start([Col2],1)="5" then "6"
                                                                          else Text.Start([Col2],1)), (a,b,c)=>c,{"Col2"})
in
    replace
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...