Power Query LuckyTemplates | Создание новых записей на основе полей даты

Power Query LuckyTemplates | Создание новых записей на основе полей даты

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

Я собираюсь продемонстрировать два метода того, как этого добиться. Этот пример пришел от участника , который разместил вопрос с датой и количеством ночей пребывания. Участник хотел знать, как создавать новые записи для каждой ночи, проведенной человеком в мотеле, с помощью Power Query.

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

Оглавление

Способ 1: использование функции Number.From в Power Query LuckyTemplates

Если вы знакомы с вычислениями даты в Excel, вы, вероятно, знаете, что каждый день можно преобразовать в целое число, и вы можете сделать это и здесь, чтобы получить числовой эквивалент для каждой даты. Мы можем использовать функцию Number.From .

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

Я сошлюсь на свой исходный запрос, щелкнув его правой кнопкой мыши и выбрав Reference . Затем через эту мини-таблицу перейдите в Add Custom Column . Теперь давайте введем функцию Number.From и укажем на первый фактический столбец, содержащий наши даты. Не забудьте закрывающую скобку и нажмите OK .

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

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

Если мы проверим первую запись, этот человек остался всего на одну ночь, поэтому нам нужно вернуть только это первое фактическое значение даты. Затем для второй записи этот человек останавливался на две ночи подряд. Мы должны вернуть значение как для 13, так и для 14 декабря. Мы можем добиться этого, если добавим значение из столбца «Ночи» к значению, имеющемуся в нашем столбце «Пользовательский» , а затем вычтем единицу , потому что мы уже передали это начальное значение.

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

Итак, давайте перейдем к строке формул и расширим созданную нами логику. Мы должны использовать это числовое значение для даты дважды, поэтому я сохраню его в переменной. Я добавлю выражение let , затем добавлю имя для своей переменной. Я назову это FirstNight . И тогда мы можем добавить предложение in .

Списки можно расширить до новых строк с помощью набора инициализаторов списка, которые представляют собой фигурные скобки. Мы можем создать список с датами. Мы собираемся начать с нашей переменной FirstNight до переменной FirstNight, плюс все, что находится в нашем количестве ночей. С помощью набора квадратных скобок укажите на столбец «Ночи» и вычтите один . Я нажму OK , и теперь у нас есть список.

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

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

Теперь с помощью этих боковых стрелок мы можем Expand to New Rows . Затем я могу установить тип данных в дату. Итак, вы видите, что теперь у нас есть даты. Для первой записи мы возвращаем то же значение, что и в первом фактическом. Для этой второй записи у нас есть одна запись от 13 декабря и одна от 14 декабря.

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

Способ 2: использование M Function List.Dates в Power Query LuckyTemplates

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

Я добавлю эту функцию List.Date, а затем помещу ее в открывающую скобку. Во-первых, ему требуется начальное значение в виде даты, и оно находится в нашем первом фактическом столбце, содержащем наши значения даты. Итак, выбираем то, что потом ставим запятую. Далее идет счет в виде числа, означающего, сколько дат вы хотите вернуть в этот список. И мы можем видеть это в колонке «Ночи» .

Далее шаг как продолжительность. Думайте об этом как об интервале. Теперь мы ищем последовательные ночи и нам нужен непрерывный список дат. Один день имеет числовой эквивалент единице, поэтому я ввожу продолжительность от единицы , затем закрываю круглую скобку и нажимаю OK.

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

Опять же, у нас есть вложенный список. Для первой записи у нас есть только одно значение, а для второй записи у нас есть 13 и 14 декабря.

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

Затем мы можем снова развернуть это до новых строк и установить соответствующий тип данных на сегодняшний день.

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

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

Power Query LuckyTemplates |  Создание новых записей на основе полей даты

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


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

Заключение

В этом блоге я продемонстрировал два способа создания новых записей на основе полей даты. Первый — путем создания списка дат с помощью инициализаторов списка, а второй — с помощью функции List.Dates.

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

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

Мелисса


Что такое 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 для своих бизнес-отчетов.

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать