Страницы: 1
RSS
Power Query, не все столбцы попадают в обработку при развертывании
 
Приветствую, друзья, помогите решить проблему:

Собираю данные с нескольких листов через Power Query  и потом по подключению строю сводную.
Проблема в том, что в срезе сводной я не вижу одного из листов "Про солюшн". А все потому, что на шаге извлечения (развертывания) данных из таблицы попадают не все столбцы.
Подскажите, как в этом шаге
Код
Table.ExpandTableColumn(#"Удаленные столбцы", "Data", {"Столбец1", "CS/CX 820, 860, 32x, 42x, 52x, 62x", "MX/MX 31x-61x, MS/MX 32x-36x", "MX/MS3-8", "CS/CX72x", "MS/MX7-8 C/X 7xx series", "CX/CS72x, X/C95x", "series-X,W,T,E,C", "Xerox WC PE120/120i", "Xerox Phaser 3117/3122", "Xerox Phaser 4400", "Xerox WC PE 114e", "Xerox Phaser 3116", "Xerox WC 5790/99", "Xerox 2515/20, 2995", "Xerox 5331/32", "Xerox 3030/50/60", "Xerox DocuColor 5750", "Xerox 5621", "Xerox 5316/17", "Xerox WC 123/128/133 WC5225/30", "Xerox WC M118/M118i", "Xerox WC PRO 420", "Xerox WC PRO 315/320", "Xerox 5826", "Xerox WC M15/M15i", "Xerox WC M20/ M20i", "Xerox 5328/34", "AltaLink B8045-B8090", "Phaser 3330 WC 3335/3345", "VersaLink B400-B405", "ConnectKey", "Xerox Phaser 3635", "Xerox Phaser 3610 WC 3615", "Xerox WC 5845", "Induction", "Xerox Phaser 3320 WC 3315/3325", "Phaser 5335", "Xerox WC 5222/5225/5230", "Xerox WC 5016/5020DB/5020DN", "Phaser 3300", "Phaser 3435", "Phaser 3100", "Phaser 3250", "Xerox WC 5735-5790", "Xerox WC 4118/M20", "Phaser 3428", "Phaser 3600", "WCPro 35-55, 232-275; WC5632-5687", "Phaser 3450", "Phaser 4510", "Phaser 5500", "Phaser 3500", "Phaser 6300/6350", "Xerox Phaser 6600; WC 6605", "Xerox WC 6505/ Phaser 6500", "Phaser 6140", "Phaser 7760"}, {"Столбец1", "CS/CX 820, 860, 32x, 42x, 52x, 62x", "MX/MX 31x-61x, MS/MX 32x-36x", "MX/MS3-8", "CS/CX72x", "MS/MX7-8 C/X 7xx series", "CX/CS72x, X/C95x", "series-X,W,T,E,C", "Xerox WC PE120/120i", "Xerox Phaser 3117/3122", "Xerox Phaser 4400", "Xerox WC PE 114e", "Xerox Phaser 3116", "Xerox WC 5790/99", "Xerox 2515/20, 2995", "Xerox 5331/32", "Xerox 3030/50/60", "Xerox DocuColor 5750", "Xerox 5621", "Xerox 5316/17", "Xerox WC 123/128/133 WC5225/30", "Xerox WC M118/M118i", "Xerox WC PRO 420", "Xerox WC PRO 315/320", "Xerox 5826", "Xerox WC M15/M15i", "Xerox WC M20/ M20i", "Xerox 5328/34", "AltaLink B8045-B8090", "Phaser 3330 WC 3335/3345", "VersaLink B400-B405", "ConnectKey", "Xerox Phaser 3635", "Xerox Phaser 3610 WC 3615", "Xerox WC 5845", "Induction", "Xerox Phaser 3320 WC 3315/3325", "Phaser 5335", "Xerox WC 5222/5225/5230", "Xerox WC 5016/5020DB/5020DN", "Phaser 3300", "Phaser 3435", "Phaser 3100", "Phaser 3250", "Xerox WC 5735-5790", "Xerox WC 4118/M20", "Phaser 3428", "Phaser 3600", "WCPro 35-55, 232-275; WC5632-5687", "Phaser 3450", "Phaser 4510", "Phaser 5500", "Phaser 3500", "Phaser 6300/6350", "Xerox Phaser 6600; WC 6605", "Xerox WC 6505/ Phaser 6500", "Phaser 6140", "Phaser 7760"})

Изменить перечисление столбцов (которые в итоге не все попадают) Функцией, которая бы извлекала все столбцы
Пробовал Table.ColumnNames - но не то, нужно что-то ещё дописывать.

Пример в прикрепленном файле

PS
Интересно, что в обработку не попадают ровно те столбцы, что не попадают в визуальное представление, (если выделить шаг "Развернутый элемент Data" и нажать шестеренку рядом)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Dyroff, нажмите сюда, у вас не все столбцы раскрываются
Изменено: Anton555 - 31.01.2019 19:44:24
 
Dyroff, добавьте вспомогательный столбец и измените шаг с развёртыванием:
Код
    add = Table.AddColumn(#"Удаленные столбцы", "headers", each Table.ColumnNames([Data])),
    #"Развернутый элемент Data" = Table.ExpandTableColumn(add, "Data", List.Distinct(List.Combine(add[headers]))),

Возможно, порядок столбцов изменится.

 
Anton555, Я в курсе) Я про это и говорю, что на этом шаге не подгружаются столбцы, не каждый же раз при добавлении новых столбцов вручную раскрывать список и проставлять галки:)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Aleksei_Zhigulin, Спасибо, отлично сработало!
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Dyroff, можно еще и без доп. столбца вот так:
Код
= Table.ExpandTableColumn(#"Удаленные столбцы", "Data", List.Union( List.Transform( #"Удаленные столбцы"[Data], (x) => Table.ColumnNames(x) ) ) )

З.Ы. Мощно вы, конечно с распространением персональной информации боретесь, в исходниках ФИО исковеркали, а сводную забыли обновить. Уж если делать до конца.  ;)
Изменено: PooHkrd - 01.02.2019 10:00:52
Вот горшок пустой, он предмет простой...
 
PooHkrd,Спасибо большое за интересный вариант)

Про  фамилии- ну да, про сводную забыл:)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Страницы: 1
Наверх