Страницы: 1
RSS
PQ. Вывод в pivot table только не пустые колонки
 
Добрый день!
Есть источник в csv с множеством колонок (могут меняться/добавляться - завязываться на имена нежелательно), в PQ ставится фильтр на строку и цель выводить только не пустые колонки.
Пример как сейчас и как хотелось бы в файле.

Заранее спасибо.
Изменено: Solomama - 14.01.2022 20:35:06
 
Ну, Вы, на мой взгляд, не совсем правильно источник для сводной готовите. Любую сводную всегда необходимо строить по плоской таблице, а у вас на выходе двумерная.

Да и фильтровать можно уже в самой сводной, а не в PQ.
Как вариант- убираете из своего кода  
Код
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Дата] = #date(2022, 1, 14)))


и вставляете
Код
 UnpivotOther = Table.UnpivotOtherColumns(#"Changed Type", {"Дата"}, "Категория", "Значение")


итог выглядит так
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
    #"Replaced Value" = Table.ReplaceValue(Source,".",",",Replacer.ReplaceText,{ "A", "B", "C", "D", "E", "F", "G", "ПУШКА"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Replaced Value",{{"A", type number}, {"B", type number}, {"C", type number}, {"D", type number}, {"E", type number}, {"F", type number}, {"G", type number}, {"ПУШКА", type number}, {"Дата", type date}}),
    UnpivotOther = Table.UnpivotOtherColumns(#"Changed Type", {"Дата"}, "Категория", "Значение")
in
    UnpivotOther


Да и вообще... Заменять значения и присваивать типы в таком случае лучше после Unpivot, а то вдруг у вас столбцы появятся новые, а у вас в коде несколько колонок жестко прописаны.
А когда уже все развернули и потом меняете- все четко отработает

Код
    let
    Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
    UnpivotOther = Table.UnpivotOtherColumns(Source, {"Дата"}, "Категория", "Значение"),
    Replase = Table.ReplaceValue(UnpivotOther,".",",",Replacer.ReplaceText,{"Значение"}),
    ChangedType = Table.TransformColumnTypes(Replase,{{"Дата", type date}, {"Значение", type number}})
in
    ChangedType
Изменено: Dyroff - 15.01.2022 02:11:07
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Dyroff, огромаднейшее вам спасибо!
Очень долго ждала ответа, круто, что не прошли мимо моего вопроса.
Вы правы по всем пунктам, сделала как вы и писали - все работает отлично! Действительно так все намного логичней и проще получается.

Хороших выходных!
 
Solomama,  рад, что помощь оказалась полезной)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Страницы: 1
Читают тему (гостей: 1)
Наверх