Страницы: 1
RSS
PQ, перевернуть строки в столбцы
 
Добрый день!
Друзья, подскажите, пожалуйста, как решить данный вопрос.
Во вложении таблица.
в столбце 2 встречаются 3 уникальных значения (группы), справа - число.
Как в PQ данные 3 значение преобразовать в столбцы, а из значение разместить снизу.
В файле указал, что должно получится.
Изменено: OblivionR - 15.11.2019 13:48:06
 
Доброе время суток
OblivionR, числа в таблице-результате даны от балды? Решение нужно аналогично-рандомное?
 
Андрей VG, переделал файлик под конкретный пример. Числа корректные.  
 
OblivionR,

Знакома ли Вам эта статья?Трансформация столбца в таблицу
 
Цитата
OblivionR написал:
Числа корректные.  
Уверены?
По СПБ / купили есть 3 значения, 91/48/47, откуда в примере что должно получиться взялось значение 41? По Москве купили в исходнике нет вообще ничего, а в примере стоит 56.

Как бы если вам плевать на помогающих, то и отношение от них будет соответствующим.
Изменено: PooHkrd - 15.11.2019 13:41:18
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Как бы если вам плевать на помогающих, то и отношение от них будет соответствующим.
Дико извиняюсь, пятница, нужно все быстрее и быстрее, работа горит...
В общем файл я прикрепил правильный, если кто-то сможет помочь, буду признателен.
Еще раз сорри(
 
Топ можно закрывать решение нашел.
Преобразование / столбец сведения * без агрегирования.
Спасибо.
 
Цитата
OblivionR написал:
Преобразование / столбец сведения * без агрегирования.
Как пример результата без смысла, так решение такое же :)  
Утанцовка исходного файла с сохранением порядка
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    addGlobalId = Table.AddIndexColumn(Source, "gid"),
    addBaseId = Table.AddIndexColumn(Table.Group(addGlobalId, {"where"}, {"temp", each _}, GroupKind.Local), "baseid"),
    restoreBase = Table.ExpandTableColumn(addBaseId, "temp", {"what", "value", "gid"}),
    addLocalId = Table.Combine(Table.Group(restoreBase, {"where", "what"}, {"temp", each Table.AddIndexColumn(_, "loc")})[temp]),
    beforeRowId = Table.Sort(addLocalId,{{"loc", Order.Ascending}, {"where", Order.Ascending}, {"gid", Order.Ascending}}),
    rowId = Table.Group(beforeRowId, {"where", "loc"}, {{"temp", each _}, {"rowId", each List.Min([baseid])}}),
    #"Expanded {0}" = Table.Buffer(Table.ExpandTableColumn(rowId, "temp", {"what", "value"}, {"what", "value"})),
    #"Sorted Rows" = Table.Sort(#"Expanded {0}",{{"rowId", Order.Ascending}, {"loc", Order.Ascending}}),
    result = Table.RemoveColumns(#"Sorted Rows",{"loc"}),
    return = Table.Pivot(#"Expanded {0}", List.Distinct(Source[what]), "what", "value"),
    #"Sorted Rows1" = Table.Sort(return,{{"rowId", Order.Ascending}, {"loc", Order.Ascending}}),
    #"Removed Columns" = Table.RemoveColumns(#"Sorted Rows1",{"loc", "rowId"})
in
    #"Removed Columns"
 
Цитата
OblivionR написал:
решение нашел.
Отлично!
Ждем вас, когда в исходнике в разрезе первых двух столбцов появятся повторы.  ;) Правда тут такие случаи уже разбирались несколько десятков раз. Может и поиском найдете решение.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх