Страницы: 1
RSS
Создание столбцов по условию
 
Добрый день! Подскажите, позволяет ли Power Query делать кол-во столбцов исходя из повторяющихся значений у одного клиента?

То есть если было два событие, должно появится 2 столбца м1 и м2, если было 3 события - 3 столбца, м1, м2, м3
Может быть как-то через префикс и подсчёт значений в столбце...

Пример прилагаю.  
 
добрый
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    a = Table.Group(Source, "Клиент", {"q", (x)=> 
    [a = Table.AddColumn(x, "q", (x)=> List.RemoveFirstN(Record.ToList(x), 2))[q],
    b = Table.FromList({{x[Клиент]{0}} & List.Combine(a)}, (x)=>x)][b]}),
    b = Table.Combine(a[q])
in
    b
 
Цитата
написал:
добрый
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8      let          Source = Excel.CurrentWorkbook(){[Name=  "Таблица1"  ]}[Content],          a = Table.Group(Source,   "Клиент"  , {  "q"  , (x)=>           [a = Table.AddColumn(x,   "q"  , (x)=> List.RemoveFirstN(Record.ToList(x), 2))[q],          b = Table.FromList({{x[Клиент]{0}} & List.Combine(a)}, (x)=>x)][b]}),          b = Table.Combine(a[q])    in          b   
 
Огромное человеческое ВАМ спасибо !
 
Цитата
написал:
добрый
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8      let          Source = Excel.CurrentWorkbook(){[Name=  "Таблица1"  ]}[Content],          a = Table.Group(Source,   "Клиент"  , {  "q"  , (x)=>           [a = Table.AddColumn(x,   "q"  , (x)=> List.RemoveFirstN(Record.ToList(x), 2))[q],          b = Table.FromList({{x[Клиент]{0}} & List.Combine(a)}, (x)=>x)][b]}),          b = Table.Combine(a[q])    in          b   
 
Подскажите, а можно добавить столбец "Номер" к клеинту? Нужна группировка просто по двум сценариям, не понимаю как учесть это в этой строке :
b = Table.FromList({{x[Клиент]{0}} & List.Combine(a)}, (x)=>x)][b]}),  
 
Код
b = Table.FromList({{x[Номер]{0}} & {x[Клиент]{0}} & List.Combine(a)}, (x)=>x)][b]})
 
Видимо, я не совсем корректно объяснил. Посмотрите , пожалуйста. Вот по- первому клиенту два развития событий, базовый и максимальный сценарий, если так, то должно быть две строки (базовый сценарий и ход развития и максимальный). В данном случае в базовом лишь одно мероприятие, в максимальном два.
Возможно ли так ? или лучше сделать две разные таблицы ? \

Большое спасибо за помощь.
 
Код
a = Table.Group(Source, {"Сценарий", "Клиент"}, {"q", (x)=> 
    [a = Table.AddColumn(x, "q", (x)=> List.RemoveFirstN(Record.ToList(x), 2))[q],
   b = Table.FromList({{x[Сценарий]{0}} & {x[Клиент]{0}} & List.Combine(a)}, (x)=>x)][b]}),
Страницы: 1
Наверх