Страницы: 1
RSS
Power Query Добавления столбца в таблице
 
Привет.

Не могу решить, как казалось мне вначале очень легкую задачу

Дано:
Таблица в которой два столбца(Name,Data), в столбце Data находится ещё одна таблица.
Мне нужно, чтобы во вложенных таблицах столбцах Data выполнялась следующая операция:

Добавление новой колонки, где (Текст из Column1 строка один) в данном случае это 0010 будет соединяться с всеми значениями Column2,Column3,Column4 + разделитель
Результат должен получиться как в Column5
И то же самое для других таблиц из колонки Data.   (То есть в след таблице Column1 строка один это 0020, 0020--A_1--B_1--C_1 и т.д)

Я пытался делать это с помощью формул Table.AddColumn и Text.Combine , только я никак не могу вытягивать из каждой таблицы  (Текст из Column1 строка один) 0010,0020... не знаю как сослаться на ячейку в которой 0010 + чтобы это сработало в Text.Combine.

Развернуть таблицу Data нельзя.(т.к это только маленький пример, это оригинальная таблица большая и их в [Data] очень много)

P.S. Можно брать 0010 ,0020, 0030 из колонки Name, я пробовал, но у меня не получилось
 
Jerzy Speer, что-то Вы в Text.Combine лишнее засунули :) Удалите и все получится:
Код
  #"Added Custom" = Table.AddColumn (
    test, 
    "Custom", 
    each Table.AddColumn ( [Data], "XXX", each Text.Combine ( { [Column1], [Column2], [Column3] }, "--" ) )
  ),
 
Но в таком случае получиться не то, что я хочу:(
Будет примерно так
0010--А_1--В_1--С_1
null--А_2--В_2--С_2
null--А_3--В_3--С_3

Мне  нужно именно, чтобы с Column1 - строка 1 брался текст (в примере 0010) и  дальше этот тест соединялся в новой колонке с данными из других колонок
Как-то так
0010--0010--А_1--В_1--С_1
0010--null--А_2--В_2--С_2
0010--null--А_3--В_3--С_3

И дальше следующая таблица и там в Column1 - строка 1 уже 0020. Но я не могу сослаться почему-то на текст из этой ячейки ([Column1]{0} - всегда ошибка). Миллион всего пробовал не получается.
Вообще  в данной ситуации не могу додоуматься, как добавить в вложенную таблицу  столбец, где бы везде было бы значение из определённой ячейки. То есть к таблицам столбце Data приделать Col5

Col1 Col2 Col3 Col4 Col5
0010 А_1 В_1 С_1 0010 (данные из [Col1]{0})
null А_2 В_2 С_2 0010 (данные из [Col1]{0})
null А_3 В_3 С_3 0010 (данные из [Col1]{0})
 
Jerzy Speer,
Код
  #"Added Custom" = Table.AddColumn (
    test, 
    "Custom", 
    each Table.AddColumn ( Table.FillDown ( [Data], { "Column1" } ), "XXX", each Text.Combine ( { [Column1], [Column2], [Column3] }, "--" ) )
  )

Если столбец Column1 не всегда пустой, как в таблице 0030, а нужно именно первое значение, то так:
Код
  #"Added Custom" = Table.AddColumn (
    test, 
    "Custom", 
    each [ x = [Data][Column1]{0}, result = Table.AddColumn ( [Data], "XXX", each Text.Combine ( { x, [Column2], [Column3] }, "--" ) ) ][result]
  )
Изменено: surkenny - 18.11.2021 06:58:58
Страницы: 1
Наверх