Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
PowerQuery Сделать заголовками 2 строки
 
Добрый день!

Есть таблица, в таблице сотня столбцов. Не умная таблица, просто данные на листе.
По сути заголовками являются 2 первые строки. Допустим, в первой строке даты, во второй - пометка план/факт.  По строкам таблицы идут разные показатели.
показатель 1января1января 2января 2января
план факт план факт
шампанское 510 8 7
мороженое 15 18 45 6
Для приведения этого в приличный вид делается запрос данных с листа, в котором потом делается отмена сворачивания столбцов, чтобы получить данные в приличном виде.  Если бы строка заголовков была одна - я бы их "загнала" в заголовки столбцов и запрос был бы самый простой.
Но строк заголовков 2. В исходных файлах сделать общий заголовок сцепив эти строки, невозможно - файлы приходят извне.

Я придумала всю сотню вручную переименовать, но это как-то грустно  8-0 Может быть, есть что-то простое?  
Сцепить строки в PQ... или что это могло бы быть...

Помогите, пожалуйста
Изменено: Xel - 22 Мар 2018 22:44:15
 
Если я правильно понял задачу, то вот так:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Column1", type text}, {"Column2", type any}, {"Column3", type any}, {"Column4", type any}, {"Column5", type any}}),
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Измененный тип", [PromoteAllScalars=true]),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"Column1", type text}, {"Column2", type any}, {"Column3", type any}, {"Column4", type any}, {"Column5", type any}}),
    #"Транспонированная таблица" = Table.Transpose(#"Измененный тип1"),
    #"Объединенные столбцы" = Table.CombineColumns(#"Транспонированная таблица",{"Column1", "Column2"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Сведено"),
    #"Транспонированная таблица1" = Table.Transpose(#"Объединенные столбцы"),
    #"Повышенные заголовки1" = Table.PromoteHeaders(#"Транспонированная таблица1", [PromoteAllScalars=true]),
    #"Измененный тип2" = Table.TransformColumnTypes(#"Повышенные заголовки1",{{"показатель ", type text}, {"1января план", Int64.Type}, {"1января факт", Int64.Type}, {"2января план", Int64.Type}, {"2января факт", Int64.Type}})
in
    #"Измененный тип2"


Для загрузки в Power Query  необходимо:

1) Выделить все данные таблицы, захватывая сверху одну пустую строку
2) На вкладке "Конструктор" отключить строку заголовков (но можно и без этого попробовать)
3) Отформатировать таблицу, как таблицу (сделать умной)

Но Вы в следующий раз не ленитесь пример прикрепить.
И желательно объяснить, что в Вашем понимании означает выражение: "Приличный вид данных"
Изменено: Dyroff - 22 Мар 2018 23:57:30
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Наверное, можно попробовать преобразовать два заголовка в один: Как из оборотно-сальдовой ведомости сделать сводную таблицу при помощи Power Query
Без примера сказать наверняка сложно, но вполне можно обойтись без умной таблицы.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Xel написал:
Сцепить строки в PQ... или что это могло бы быть...
Вот вы почти сами додумались что надо делать, осталось продолжить логически:
Сцеплять строки мы не можем, НО зато можем сцеплять столбцы, значит нужно строки сделать столбцами, сцепить, потом опять сделать их строками.
Собственно два предыдущих поста, они именно об этом.
 
Огромное всем спасибо! Отдельное - за угадайку, айм сорри.

Конечно, транспонировать  :oops:  
Страницы: 1
Читают тему (гостей: 1)