Страницы: 1
RSS
PQ: Преобразование таблицы с помощью приемов сведения и отмены свертывания
 
Добрый день.

В приложении файл с базой данных проектов. Часть таблицы с WBS по Description всегда постоянная, и не меняется на протяжении существования проекта.
Информация правее - это 6 повторяющихся столбцов для каждого месяца. То есть одна и та же группа информации, но для конкретного месяца, начиная с января.

Задача: с помощью PQ сгруппировать эти 72 столбца (6 столбцов по 12) в 6 столбцов и протянуть это вниз. То есть, попробую объяснить на примере столбцов с датами: если у меня на данный момент 12 столбцов с датами, то после преобразования я хочу получить один столбец с названием "Дата", а указанные даты протягивались бы вниз для каждого проекта (таким образом постоянная часть должна дублироваться 12 раз). Аналогично с каждым другим столбцом.

Надеюсь, понятно объяснил.

*Сам достиг такого результата только создав 12 разных запросов, а потом объединив их в один - но мне интересно, возможно ли сделать это как-нибудь по-другому, например, сведением, транспонированием или еще чем-нибудь в этом роде.

Спасибо заранее.
 
Доброе время суток
Как-то так.
Успехов.
 
Обалдеть, супер. Спасибо вам.

Не сочтите за наглость, но не могли бы вы вкратце объяснить, что делает код? Просто хочу понять, чтобы каждый раз не бегать на форум, а в случае чего внести правки самостоятельно. Например, если в исходную таблицу придется добавить еще какой-нибудь столбец.
 
Покопался в коде, вот что понял сам.

Шаг 1. Обозначили источник;
Шаг 2. Создали общий список (или это не список?), в котором все названия столбцов этой таблицы;
Шаг 3. Создали список (или это не список?) с названиями столбцов для последующего преобразования (именно эти названия будут использоваться в итоге);
Шаг 4. Создали список из шага 2, в котором перечислены названия столбцов с 1-7 - это те, что не будут изменяться.
Шаг 5. Не понял, что это значит. Получается, что тут создается два столбца: один с названием head, второй с названием idx. Первый столбец заполнен названиями столбцов исходных данных, последовательно, а второй - это индексы, начиная с нуля. Но так до конца и не понял сути :(
Шаг 6. Объединение списка (?) в таблицу?
 
Шаг 5. Создаётся таблица переменных имён столбцов head, и номера их групп в idx
Шаг 6. По номерам групп шага 5
Шаг 6.1 выбираем подтаблицу шага 5 по номеру текущей группы
Шаг 6.2 выбираем столбцы как статическую часть и имена данной группы.
Шаг 6.результат переименовываем групповые столбцы по списку шага 3
Результат объединяем таблицы
 
Спасибо.

Небольшая проблема: запрос выдает ошибку, если:
1. В свойствах внешних данных я поставлю галочку "Сохранить сведения о сортировке/фильтре/формате столбца"
2. Удалю любой столбец из выгрузки запроса и нажму "Обновить".

Тогда выходит ошибка "Исключение из HRESULT: 0x800A03EC
В сети говорили, что это из-за индексов, дескать из-за того, что с нуля начинается, а не с единицы - я поправил, не помогло.
 
Цитата
Framed написал:
Удалю любой столбец
А почему бы не удалять столбец непосредственно в Power Query? А сведения об ошибке отправьте разработчикам.
Страницы: 1
Наверх