
Мелкие радости - удаление двойного заголовка таблицы
Рвав-рвав, сегодня я – собака-разузнака!
Перед вами – 9-я заметка из нашего цикла “Мелкие радости”, ниже мы рассмотрим такую проблему, как обработка двойной шапки в исходных данных.
Обычно подобна штукенция присутствует в данных при использовании файловой выгрузки (если она не самописная, конечно) из “материнской” системы, например, 1С и пр.
В общем, сегодня мы будем совместно познавать Power Query, используя, так сказать, классику жанра, поскольку подобная задача далеко не нова…
Пример:
В качестве исходных данных файл MS Excel, с таблицей, содержащий двойной заголовок следующего вида:
Задача:
Трансформировать исходную таблицу таким образом, чтобы устранить двойной заголовок, то есть, в итоге, таблица должна стать плоской.
Процесс разработки:
Для начала необходимо импортировать данные в Power BI:
Удалить все шаги до шага “Навигация”, поскольку в настройке “по умолчанию” при загрузке происходит автоматическое повышение заголовков и автоматическое присвоение типов данных:
Транспонировать таблицу, использовав на вкладке “Преобразование” кнопку “Транспонировать”:
Объединить первые 2 столбца, поскольку шапка таблицы содержит 2 уровня, использовав на вкладке “Преобразование” кнопку “Объединить столбцы”:
Рвав-рвав, при объединении столбцов необходимо указать какой-нибудь разделитель, в нашем случае это знак равенства ( «=» ).
Транспонировать получившуюся таблицу обратно:
Поставить заголовки столбцов, например, воспользовавшись функционалом повышения заголовков:
Повышение заголовков потянет за собой шаг изменения типа данных, который можно оставить.
Следующим шагом необходимо отменить свертывание «дополнительных» столбцов, для этого на вкладке “Преобразование” следует воспользоваться кнопкой “Отменить свертывание столбцов”, использовав при этом функцию “Отменить свертывание других столбцов”:
Разделить столбец “Атрибут” по имеющемуся разделителю, то есть знаку равенства ( «=») , который использовался ранее в качестве разделителя, воспользовавшись кнопкой “Разделить столбец” на вкладке “Главная”:
Присвоить окончательные название получившимся столбцам:
Далее следует заменить значение “Пусто” на значение “null” в столбце “Город”, воспользовавшись кнопкой “Замена значений” на вкладке “Преобразование”:
Последним шагом является корректное заполнение ячеек, содержащих значение “null”, по столбцу “Город”. Данное действие можно выполнить автоматически, выбрав опцию “Заполнить вниз”, имеющуюся у кнопки “Заполнить” на вкладке “Преобразование”:
После последовательного выполнения перечисленных шагов для сохранения внесенных изменений необходимо нажать кнопку “Закрыть и применить”, расположенную на закладке “Главная”.
Рвав-рвав, извините, но я уже все, лапы ломит, и хвост отваливается…
Ваш Смайл
P.S. Рвав-рвав, после публикации ссылки на Facebook, и, сообетственно, просмотра материала, поступило предложение заполнить значения “null” сразу после 1-го транспонирования. Я с этим согласен, так, действительно, у нас будет потом чуть меньше шагов, но текст оставляю в оригинальном виде.
P.P.S. Рва-ва-вав, собака Смайл прислушивается к аудитории (по крайней мере, иногда, и к некоторым товарищам :-Р)