Power Query - сложная настраиваемая колонка - PullRequest
0 голосов
/ 03 июля 2019

Мне нужно создать пользовательский столбец, который просматривает 1 столбец a и на основе a обрезает значение из b и помещает значение в c.

Часть B: Теперь, если значение в a не соответствует моим критериям, тогда он смотрит на столбец d, чтобы найти, было ли оно таким же, как и в предыдущей строке, и если да, то устанавливает значение c из предыдущего ряда в новый ряд.

Теперь у меня есть одна часть:

if Text.End ([SAP segment name],3) = "K09"
then Text.Trim (Text.Start([Application data],35)) else ""

Мне нужна помощь с частью B

1 Ответ

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

Ваша формула [B3 = IF (RIGHT (R3,3) = "K09", TRIM (LEFT (W3,35)), B2)] будет возвращать ошибку для каждой строки, пока первый раз R не закончится в K09.Однако, если это то, что вы хотите, то

let Source = Table.FromList({
[SAP segment name="L04K29", Application data ="ABCDEFGHIJKLMNOP12345VWXYZabcdefghijklmnopqrstuvwxyz"] ,  
[SAP segment name="R03L09", Application data ="abcdefghijklmnop67890qrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"] ,  
[SAP segment name="L04K09", Application data ="ABCDEFGHIJKLMNOP987654QRSTUVWXYZabcdefghijklmnopqrstuvwxyz"] ,  
[SAP segment name="L04K09", Application data ="ABCDEFGHIJKLMNOPQR321254STUVWXYZabcdefghijklmnopqrstuvwxyz"] ,  
[SAP segment name="R03G09", Application data ="abcdefghijklmnopqrst87562uvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"] ,  
[SAP segment name="L04K09", Application data ="ABCDEFGHIJKLMNOPQRSTU45265VWXYZabcdefghijklmnopqrstuvwxyz"] 
}, Record.FieldValues, {"SAP segment name", "Application data"}),
#"Added Custom" = Table.AddColumn(Source, "Custom", each if Text.End ([SAP segment name],3) = "K09" then Text.Trim(Text.Start([Application data],35)) else null),
#"Filled Down" = Table.FillDown(#"Added Custom",{"Custom"})
in
#"Filled Down"
...