Рвав-рвав, сегодня я — собака-разузнака!
Перед вами 9-я заметка из нашего цикла «Мелкие радости», ниже мы рассмотрим такую проблему, как обработка двойной шапки в исходных данных.
Обычно подобна штукенция присутствует в данных при использовании файловой выгрузки (если она не самописная, конечно) из «материнской» системы, например, 1С и пр.
В общем, сегодня мы будем совместно познавать Power Query, используя, так сказать, классику жанра, поскольку подобная задача далеко не нова…
В качестве исходных данных используется файл MS Excel, с таблицей, содержащий двойной заголовок следующего вида:
![Таблица](https://static.tildacdn.com/tild6263-6430-4133-b734-643064306534/udalenie-dvoynogo-za.png)
Задача:
Трансформировать исходную таблицу таким образом, чтобы устранить двойной заголовок, то есть, в итоге, таблица должна стать плоской.
Решение:
- Для начала необходимо импортировать данные в Power BI:
- Удалить все шаги до шага «Навигация», поскольку в настройке «по умолчанию» при загрузке происходит автоматическое повышение заголовков и автоматическое присвоение типов данных:
![Таблица](https://static.tildacdn.com/tild6165-3964-4163-b362-643562356130/udalenie-dvoynogo-za.png)
- Транспонировать таблицу, использовав на вкладке «Преобразование» кнопку «Транспонировать»:
![Таблица](https://static.tildacdn.com/tild3865-6232-4735-a337-303465316430/udalenie-dvoynogo-za.png)
- Объединить первые 2 столбца, поскольку шапка таблицы содержит 2 уровня, использовав на вкладке «Преобразование» кнопку «Объединить столбцы»:
![Таблица](https://static.tildacdn.com/tild6238-3862-4837-b261-326133643335/udalenie-dvoynogo-za.png)
Рвав-рвав, при объединении столбцов необходимо указать какой-нибудь разделитель, в нашем случае это знак равенства («=»).
- Транспонировать получившуюся таблицу обратно:
![Таблица](https://static.tildacdn.com/tild3737-6365-4663-b535-383263643135/udalenie-dvoynogo-za.png)
- Поставить заголовки столбцов, например, воспользовавшись функционалом повышения заголовков:
![Таблица](https://static.tildacdn.com/tild3565-6164-4836-b432-386531646636/udalenie-dvoynogo-za.png)
- Повышение заголовков повлечет за собой шаг изменения типа данных, который можно оставить.
- Следующим шагом необходимо отменить свертывание «дополнительных» столбцов, для этого на вкладке «Преобразование» следует воспользоваться кнопкой «Отменить свертывание столбцов», использовав при этом функцию «Отменить свертывание других столбцов»:
- Разделить столбец «Атрибут» по имеющемуся разделителю, то есть знаку равенства («=»), который использовался ранее в качестве разделителя, воспользовавшись кнопкой «Разделить столбец» на вкладке «Главная»:
![Таблица](https://static.tildacdn.com/tild3732-6337-4064-b462-313961356661/udalenie-dvoynogo-za.png)
- Присвоить окончательные заголовки получившимся столбцам:
![Таблица](https://static.tildacdn.com/tild6537-6235-4532-a134-386464653639/udalenie-dvoynogo-za.png)
- Далее следует заменить значение «Пусто» на значение «null» в столбце «Город», воспользовавшись кнопкой «Замена значений» на вкладке «Преобразование»:
![Таблица](https://static.tildacdn.com/tild6138-3738-4636-a636-343031643665/udalenie-dvoynogo-za.png)
- Последним шагом является корректное заполнение ячеек, содержащих значение «null», по столбцу «Город». Данное действие можно выполнить автоматически, выбрав опцию «Заполнить вниз», имеющуюся у кнопки «Заполнить» на вкладке «Преобразование»:
![Таблица](https://static.tildacdn.com/tild6166-3532-4233-b162-626435636234/udalenie-dvoynogo-za.png)
- После последовательного выполнения перечисленных шагов для сохранения внесенных изменений необходимо нажать кнопку «Закрыть и применить», расположенную на закладке «Главная».
Извините, но я уже все, лапы ломит, и хвост отваливается…
Ваш Смайл
P. P. S. Рва-ва-вав, собака Смайл прислушивается к аудитории (по крайней мере, иногда, и к некоторым товарищам :-Р)