Несколько строк в один ряд - PullRequest
0 голосов
/ 23 января 2020

Я новичок в powerbi и мне нужна помощь с трансформацией. excel view

Что я пытаюсь сделать с powerquery :

сначала я хочу сгруппировать следующие столбцы: call_key ivr_agent cli dnis lang_id

и после того, как мне нужно скопировать другую информацию только в одну строку: вся остальная информация должна go в одной строке.

вторая строка с такой же call_key (и другими) потребностями до go в новом столбце.

В двух словах: мне нужно, чтобы все строки с одним и тем же call_key были только в одной строке

final view

enter image description here

Тест файла Excel: https://1drv.ms/x/s! AqE6W5akVSvUh59KfGmUiCSnZH6OVg

Большое спасибо за помощь, Фил

1 Ответ

1 голос
/ 24 января 2020

Я не могу точно понять, нужно ли вам строки в новых столбцах или просто объединить их в один.

Для объединения в один, попробуйте этот запрос:

let
    Origen = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    RemoveBlanks = Table.SelectRows(Origen, each [call_key] <> null and [call_key] <> ""),
    CombineCols = Table.AddColumn(RemoveBlanks, "MergedCol", each Text.Combine({Text.From([action_time], "es-CO"), [ivr_module], [action_location], [action_type], [action], [action_data1_desc], Text.From([action_data1_value], "es-CO"), [action_data2_desc], [action_data2_value], [action_data3_desc], Text.From([action_data3_value], "es-CO")}, "|"), type text),
    RemoveCols = Table.SelectColumns(CombineCols,{"call_key", "ivr_agent", "cli", "dnis", "lang_id", "MergedCol"}),
    GroupAndMerge = Table.Group(RemoveCols, {"call_key", "ivr_agent", "cli", "dnis", "lang_id"}, {{"New", each Text.Combine([MergedCol], "#(lf)"), type text}})
in
    GroupAndMerge

РЕДАКТИРОВАТЬ: Вы можете разделить его снова, как это:

let
    Origen = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    RemoveBlanks = Table.SelectRows(Origen, each [call_key] <> null and [call_key] <> ""),
    CombineCols = Table.AddColumn(RemoveBlanks, "MergedCol", each Text.Combine({Text.From([action_time], "es-CO"), [ivr_module], [action_location], [action_type], [action], [action_data1_desc], Text.From([action_data1_value], "es-CO"), [action_data2_desc], [action_data2_value], [action_data3_desc], Text.From([action_data3_value], "es-CO")}, "|"), type text),
    RemoveCols = Table.SelectColumns(CombineCols,{"call_key", "ivr_agent", "cli", "dnis", "lang_id", "MergedCol"}),
    GroupAndMerge = Table.Group(RemoveCols, {"call_key", "ivr_agent", "cli", "dnis", "lang_id"}, {{"New", each Text.Combine([MergedCol], "#(lf)"), type text}}),
    SplitColumn = Table.SplitColumn(GroupAndMerge, "New", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"New.1", "New.2", "New.3", "New.4", "New.5", "New.6", "New.7", "New.8", "New.9", "New.10", "New.11", "New.12", "New.13", "New.14", "New.15", "New.16", "New.17", "New.18", "New.19", "New.20", "New.21", "New.22", "New.23", "New.24", "New.25", "New.26", "New.27", "New.28", "New.29", "New.30", "New.31", "New.32", "New.33", "New.34", "New.35", "New.36", "New.37", "New.38", "New.39", "New.40", "New.41", "New.42", "New.43", "New.44", "New.45", "New.46", "New.47", "New.48", "New.49", "New.50", "New.51", "New.52", "New.53", "New.54", "New.55", "New.56", "New.57", "New.58", "New.59"})
in
    SplitColumn
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...