Повторяющиеся строки в Power BI несколько раз по числу, указанному в другом столбце - PullRequest
1 голос
/ 23 мая 2019

Идея проблемы, с которой я столкнулся, заключается в том, что в Power BI у меня есть таблица типа:

col1 col2
entry1 1
entry2 2
entry3 1

Я хотел бы создать таблицу вида:

col1
entry1
entry2
entry2
entry3

То есть вы дублируете каждую строку числом, указанным в другом столбце.В моем случае в моей таблице есть много других столбцов, значения которых также должны дублироваться в каждой строке.

Я бы хотел сделать это, используя мощные запросы.

Спасибо

1 Ответ

2 голосов
/ 23 мая 2019

Вы можете добавить пользовательский столбец в вашу таблицу с формулой

List.Repeat( { [col1] }, [col2] )

Это создает столбец со списком в каждой строке, где элементы списка [col1] перечислены [col2] количество раз.

Оттуда вы можете развернуть этот список в строки, используя кнопку в таблице.

Вот как выглядит полный код M:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSs0rKao0VNJRMlSK1YFyjYBcIwTXGCIbCwA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [col1 = _t, col2 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"col1", type text}, {"col2", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each List.Repeat({[col1]},[col2])),
    #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom")
in
    #"Expanded Custom"

Expanded Rows

Здесь вы можете выбрать col1 или Custom и удалить другие столбцы, если хотите.

...