Power Query - поворот без пробелов - PullRequest
0 голосов
/ 15 декабря 2018

Извините, я не мог придумать лучшего, подходящего названия.Текст должен уточнить ...

В следующем сценарии: 4 сотрудника должны работать в разные дни.Таблица выглядит следующим образом:

Date        Name
12/13/2018  Carol, John
12/14/2021  Peter, Carol, John, Alice
12/15/2018  Alice
12/16/2018  Peter, Alice
12/17/2018  John, Peter

ОК, разделите имена на "," (с завершающим пробелом) и вставьте в виде строк;поскольку должно быть 3 столбца: вставьте столбец индекса, а затем поворот приведет к следующему результату:

Index     12/13/2018 12/14/2018 12/15/2018 12/16/2018 12/17/2018
      0   Carol      null       null       null       null
      1   John       null       null       null       null
      2   null       Peter      null       null       null
      3   null       Carol      null       null       null
      4   null       John       null       null       null
      5   null       Alice      null       null       null
      6   null       null       Alice      null       null
      7   null       null       null       Peter      null
      8   null       null       null       Alice      null
      9   null       null       null       null       John
     10   null       null       null       null       Peter

Но что я хочу получить в результате:

Index  12/13/2018  12/14/2018  12/15/2018  12/16/2018  12/17/2018
   0   Carol       Peter       Alice       Peter       John
   1   John        Carol       null        Alice       Peter
   2   null        John        null        null        null
   3   null        Alice       null        null        null

Я удалю индекс столбца позже,Таким образом, я достиг желаемой цели: за исключением индекса столбца и (правильно расположенного) столбца 13.12.2008, создайте каждый дополнительный столбец как новый запрос и отфильтруйте / удалите пустые ячейки.Затем удалите предыдущий столбец даты и заново вставьте вновь созданный столбец даты в запрос с помощью слияния.

На мой взгляд, это очень громоздко и утомительно.Есть ли лучший способ в Power Query?

Я был бы рад, если бы вы описали лучший способ простыми словами и, если возможно, пошагово (не только M-Code).

1 Ответ

0 голосов
/ 15 декабря 2018

Возьмите таблицу, разделенную на разделитель (запятые, каждое вхождение), выберите, затем транспонируйте всю таблицу, добавьте индекс

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"List", type text}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "List", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"List.1", "List.2", "List.3", "List.4"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"List.1", type text}, {"List.2", type text}, {"List.3", type text}, {"List.4", type text}}),
#"Transposed Table" = Table.Transpose(#"Changed Type1"),
#"Added Index" = Table.AddIndexColumn(#"Transposed Table", "Index", 0, 1),
#"Reordered Columns" = Table.ReorderColumns(#"Added Index",{"Index", "Column1", "Column2", "Column3", "Column4", "Column5"})
in  #"Reordered Columns"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...