Создание значений для каждой даты с использованием формулы Power Query

В этом руководстве вы узнаете, как создавать значения для каждого дня с помощью формулы Power Query в LuckyTemplates.

Создание значений для дат — важный метод, который следует изучить в LuckyTemplates. Это может дать вам данные, которые вы хотите видеть в течение нескольких дней в вашей модели. Этот метод также закрывает промежутки между столбцами.

Это отличный инструмент для использования, когда в ваших таблицах дат не хватает информации.

Вот пошаговое руководство о том, как это сделать: Вы можете посмотреть полное видео этого урока в нижней части этого блога.

Оглавление

Установите дополнительные значения

Для наборов данных, содержащих идентификаторы, даты и веса, вам необходимо заполнить пробел между этими измерениями. Это можно сделать, создав диапазон дат, чтобы распределить разницу по дням.

Для этого перейдите в Power Query, чтобы увидеть свою таблицу.

Создание значений для каждой даты с использованием формулы Power Query

Вам нужно загрузить копию ваших данных в память. Для этого необходимо использовать меру Table.Buffer .

Если вы нажмете TableBuffer, вы увидите, что делает мера.

Создание значений для каждой даты с использованием формулы Power Query

Затем вернитесь к своему набору данных и нажмите fx в строке формул. Вам нужно добавить Table.Buffer в меру.

Создание значений для каждой даты с использованием формулы Power Query

Затем переименуйте этот шаг в BufferedTable .

Создание значений для каждой даты с использованием формулы Power Query

Затем добавьте пользовательский столбец.

Создание значений для каждой даты с использованием формулы Power Query

Создание значений для каждой даты с использованием формулы Power Query

Создайте условие фильтра для идентификаторов

В этой формуле Power Query измените указанный шаг с BufferedTable на RenameColumns , поскольку сначала следует проверить BufferedTable.

Создание значений для каждой даты с использованием формулы Power Query

Чтобы проверить BufferedTable, используйте Table.SelectRows , который возвращает таблицу, соответствующую выбранному условию.

Итак, для каждого выражения в формуле используйте Table.SelectRows, а затем используйте BufferedTable.

Создание значений для каждой даты с использованием формулы Power Query

В качестве условия фильтра используйте пользовательскую функцию завершения и введите BT для буферизованной таблицы . Проверьте столбец идентификатора, если он равен идентификатору из текущей записи. Затем получите доступ к текущей записи, используя символ подчеркивания в качестве оператора доступа, а затем сошлитесь на тот же столбец ID.

Создание значений для каждой даты с использованием формулы Power Query

Это даст вам отфильтрованную таблицу, содержащую только те идентификаторы, которые соответствуют текущей записи. 

Создание значений для каждой даты с использованием формулы Power Query

Добавьте условие фильтра для дат

Вам нужно отфильтровать столбец даты, потому что вам нужны только даты, которые равны текущей записи.

Используйте эти функции для проверки столбца даты BT:

Создание значений для каждой даты с использованием формулы Power Query

Этот столбец должен быть больше или равен дате текущей записи.

При этом таблица будет содержать две строки вместо трех:

Создание значений для каждой даты с использованием формулы Power Query

Проверка и сортировка столбца даты

Вам нужно проверить правильность сортировки столбца даты с помощью Table.Sort . Функция Table.Sort сортирует таблицу по одному или нескольким столбцам в зависимости от требуемых критериев.

Синтаксис в этом примере довольно сложен, поэтому вам придется углубиться в тему таблицы.

Вам нужно щелкнуть правой кнопкой мыши по таблице и добавить ее как новый запрос.

Создание значений для каждой даты с использованием формулы Power Query

Нажав на нее, вы получите пользовательский запрос, содержащий эту таблицу.

Затем щелкните столбец даты и выберите «Сортировка по возрастанию».

Создание значений для каждой даты с использованием формулы Power Query

Скопируйте всю формулу:

Создание значений для каждой даты с использованием формулы Power Query

Вернитесь к основному запросу и вставьте его в строку формул:

Создание значений для каждой даты с использованием формулы Power Query

Вы должны удалить ссылку Table.Sort, потому что таблица, которая должна передать параметр, должна быть результатом Table.SelectRows.

Когда вы закончите, добавьте условия сортировки обратно. После применения изменений ваша таблица теперь правильно отсортирована по дате.

Используйте функцию Table.FirstN

Для этого шага вам нужно всего 2 записи вместо 3.

Чтобы исправить это, вернитесь к пользовательскому запросу. Щелкните Сохранить ряды, а затем Сохранить верхние ряды.

Создание значений для каждой даты с использованием формулы Power Query

Введите 2 в поле для количества строк.

Создание значений для каждой даты с использованием формулы Power Query

Вы заметите, что функция Table.FirstN появляется в строке формул. Table.FirstN возвращает первые строки таблицы в зависимости от значения countOrCondition .

Вставьте эту функцию вместе с необходимым количеством строк в основной запрос. В конце включите таблицу типов функций.

Создание значений для каждой даты с использованием формулы Power Query

Каждый объект таблицы в наборе теперь будет иметь 1 или 2 строки.

Получите разницу в днях между двумя значениями даты

Следующий шаг — получить количество дней между значениями даты и извлечь дату, которая была во второй записи.

Начните с добавления пользовательского столбца. Назовите это Дни . Затем следуйте этой формуле Power Query:

Создание значений для каждой даты с использованием формулы Power Query

Синтаксис гарантирует наличие 2 записей в таблице. Если есть только 1, разница в днях равна 0, потому что у нее нет следующей записи. Если их 2, вы можете получить разницу из значений даты.

Затем добавьте номер типа в формулу следующим образом.

Создание значений для каждой даты с использованием формулы Power Query

Как видите, вы получаете разницу в 385 дней с 14 сентября 2017 года по 4 октября 2018 года.

Создание значений для каждой даты с использованием формулы Power Query

Определите шаг веса

Далее необходимо рассчитать, каким должен быть вес на каждый день.

Вам нужно снова добавить настраиваемый столбец, назвать его WeightStep и скопировать эту формулу Power Query:

Создание значений для каждой даты с использованием формулы Power Query

Синтаксис проверяет, содержит ли таблица более 1 строки, вычитает вес из текущей записи и делит эту разницу на количество дней.

Опять же, добавьте номер типа в формулу, чтобы вы могли видеть вес каждого дня.

Создание значений для каждой даты с использованием формулы Power Query

Заполни пропуски

Теперь, когда у вас есть количество дней, вы можете создать список дат, чтобы заполнить пробел в наборе данных.

Сначала добавьте еще один настраиваемый столбец и назовите его DateKey . Затем следуйте этой формуле Power Query:

Создание значений для каждой даты с использованием формулы Power Query

Формула проверяет, есть ли разница в дате. Если есть, он создает список дат между начальной датой из текущей записи и расширяет его на количество дней. Но если нет никаких различий, он возвращает дату.

Вот результат:

Создание значений для каждой даты с использованием формулы Power Query

Субъектам таблицы, не имевшим различий, была возвращена дата; таблицы, которые сделали, получили список дат.

Создание значений для каждой даты с использованием формулы Power Query

Если вы развернете DateKey на новые строки, вы сможете увидеть записи всех дней.

Создание значений для каждой даты с использованием формулы Power Query

Создание значений для каждой даты с использованием формулы Power Query

Получите весовую проекцию дат

После создания списка дат вам необходимо получить прогноз веса для дат.

Сначала добавьте пользовательский столбец и назовите его WeightProjection . Затем введите эту формулу Power Query:

Создание значений для каждой даты с использованием формулы Power Query

Синтаксис получает значение веса, добавляет его к значению DateKey, вычитает его из значения даты и умножает на WeightStep.

Снова добавьте номер типа в конец формулы.

Теперь у вас есть прогноз веса для каждой даты.

Создание значений для каждой даты с использованием формулы Power Query

Удалите вспомогательные столбцы: Custom, Days и WeightStep, используя приведенную ниже формулу, и измените формат столбца DateKey на Date.

Создание значений для каждой даты с использованием формулы Power Query

Заключение

В этом руководстве вы узнали, как заполнить пробелы в наборе данных, создав значения в каждом списке дат.

Эти значения даты помогут вам получить ценную информацию из вашей модели. Если в ваших таблицах недостаточно информации, вы можете использовать эту технику, чтобы сделать их более полными.

В вашей таблице могут быть важные данные, которые вы упускаете, поэтому всегда максимизируйте каждую строку и столбец.

Всего наилучшего,

Мелисса

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.