Использование функции смещения в расширенных таблицах дат

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

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

Оглавление

Понимание механики функции смещения

Я начну с того, что покажу вам механику функции смещения.

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

Как вы можете видеть в моей таблице дат ниже, я сосредоточился на кварталах и годах , чтобы видеть фактическое движение данных.

Использование функции смещения в расширенных таблицах дат

Фиолетовая строка показывает текущий период . Обратите внимание, что текущий период всегда имеет значение смещения 0 .

Использование функции смещения в расширенных таблицах дат

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

Использование функции смещения в расширенных таблицах дат

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

Использование функции смещения в расширенных таблицах дат

Так что же делает смещения эффективными?

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

Например, кварталы будут проходить от 1 до 4, что соответствует 4 кварталам в году. Месяцы идут от 1 до 12, а недели могут идти от 1 до 52 или 53, в зависимости от того, какой сейчас год. Но как только я достигну последнего числа, мне придется начать сначала.

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

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

Пример столбца недельного смещения

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

В моем примере данных сегодняшняя дата отображается как 24 апреля 2020 года .

Использование функции смещения в расширенных таблицах дат

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

Использование функции смещения в расширенных таблицах дат

У меня также есть слайсер на моей странице, который содержит значение WeekOffset. В настоящее время он показывает все значения от -53 до 0, где 0 представляет текущую неделю .

Использование функции смещения в расширенных таблицах дат

24 апреля (то есть сегодня) приходится на 17 неделю .

Использование функции смещения в расширенных таблицах дат

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

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

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

Возвращаясь к примерам данных, вы могли заметить, что значения WeekOffset находятся в идеальном диапазоне порядковых номеров .

Использование функции смещения в расширенных таблицах дат

Это потому, что они имеют одинаковую степень детализации во всем . Нет повторяющихся значений и пропущенных значений.

Конечно, мера Total Sales , используемая здесь, выполняется обычным способом, с обычным над Sales для количества , умноженного на цену . Затем все это агрегируется для получения недельного значения.

Но что, если я хочу увидеть только последние 4 недели продаж?

Мне просто нужно изменить свой слайсер в диапазоне от -3 до 0 .

Использование функции смещения в расширенных таблицах дат

Моя таблица показывает только продажи за последние четыре недели.

Использование функции смещения в расширенных таблицах дат

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

Использование смещений в DAX

На этот раз я покажу вам, как функцию смещения можно использовать в показателях DAX.

У меня есть таблица с неделей и годом и общим объемом продаж .

Использование функции смещения в расширенных таблицах дат

Итак, если я хочу рассчитать продажи за предыдущую неделю без смещений, мне сначала нужно будет извлечь, что такое номер CurrWeek , а затем проверить, что такое значение CurrYear .

Использование функции смещения в расширенных таблицах дат

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

Использование функции смещения в расширенных таблицах дат

Оттуда я бы использовал SUMX в качестве итерационной функции в таблице дат. Я также должен был бы проверить, является ли CurrWeek неделей номер 1 .

Использование функции смещения в расширенных таблицах дат

Если это не неделя 1, мне просто нужно вычесть 1 из значения CurrWeek для CurrYear . После этого можно окончательно подвести общий объем продаж .

Использование функции смещения в расширенных таблицах дат

Глядя на таблицу ниже, вы можете видеть, что все значения идеально агрегированы. Значения, отображаемые в разделе «Общий объем продаж» , просто переносятся на следующую неделю.

Использование функции смещения в расширенных таблицах дат

Даже если я преодолею границу года с 2017 по 2018 год, шаблон не сломается. Общий объем продаж за последнюю неделю 2017 года по-прежнему идеально рассчитан для недели номер 1 2018 года.

Использование функции смещения в расширенных таблицах дат

На этот раз я собираюсь сделать тот же расчет, но с применением смещения таблицы дат.

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

Использование функции смещения в расширенных таблицах дат

Итак, чтобы получить значение PrevWeek , мне просто нужно сослаться на выбранный WeekOffset и вычесть 1.

Использование функции смещения в расширенных таблицах дат

Затем я буду использовать функцию для общего объема продаж за даты , где WeekOffset равен значению PrevWeek .

Использование функции смещения в расширенных таблицах дат

Глядя на результаты, они кажутся идеальными даже при переходе с 2017 на 2018 год.

Использование функции смещения в расширенных таблицах дат

Проблема, однако, в Total . Очевидно, это не правильное значение.

Использование функции смещения в расширенных таблицах дат

Вот как я собираюсь это исправить.

Во-первых, обратите внимание, что столбец «Неделя и год» расположен в порядке возрастания .

Использование функции смещения в расширенных таблицах дат

Я собираюсь изменить это и вместо этого отсортировать столбец в порядке убывания , с 2020 наверху.

Использование функции смещения в расширенных таблицах дат

Поск��льку из Week & Year нет контекста , он не идентифицирует значение смещения текущей недели, но все равно вычитает 1 . Но что я могу сделать, так это применить кумулятивный итог, чтобы скорректировать итог .

Вот как будет выглядеть мера:

Использование функции смещения в расширенных таблицах дат

Начало такта не меняется. Это точно так же, как предыдущая мера, которую я применил.

Но поскольку мне нужно использовать шаблон, аналогичный кумулятивным итогам, я должен использовать функцию РАСЧЕТ на первой неделе по ВСЕ датам с вычитанием из нее 1.

Использование функции смещения в расширенных таблицах дат

Я также должен определить значение MAX WeekOffset из дат ALLSELECTED и вычесть из него единицу.

Использование функции смещения в расширенных таблицах дат

Затем я снова использую функцию РАСЧЕТ для общего объема продаж . Я буду использовать функцию , чтобы включить ВСЕ даты . Значение WeekOffset должно быть больше или равно значению FirstWeek и меньше или равно значению LastWeek .

Использование функции смещения в расширенных таблицах дат

Опять же, это соответствует основному шаблону для кумулятивных итогов.

Затем я могу перейти к проверке общей суммы, используя шаблоны .

Использование функции смещения в расширенных таблицах дат

Итак, ЕСЛИ неделя и год ISINSCOPE , я ожидаю, что результаты покажут LWSales . Но если это не так, я ожидаю появления LWTotal .

Использование функции смещения в расширенных таблицах дат

Итак, если я вернусь к своей таблице, теперь она покажет правильную сумму.

Использование функции смещения в расширенных таблицах дат

Смещения для определенных недель

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

Использование функции смещения в расширенных таблицах дат

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

Использование функции смещения в расширенных таблицах дат

Мне просто нужно было определить текущее значение WeekOffset для контекста, поступающего из строк.

Использование функции смещения в расширенных таблицах дат

Получив это, я могу применить функцию РАСЧЕТ к общему объему продаж ВСЕХ дат , где WeekOffset больше или равен ThisWeek минус 3 или меньше или равен значению ThisWeek .

Использование функции смещения в расширенных таблицах дат

Это возвращает точно такое же значение, как пример, который я пытаюсь воспроизвести.

Использование функции смещения в расширенных таблицах дат


Совокупные итоги на основе среднемесячных результатов в LuckyTemplates
Нормализация данных в LuckyTemplates для результатов за разные дни
Создание комплексной таблицы дат в LuckyTemplates очень быстро

Заключение

Примеры, которые я показал вам выше, доказывают, насколько динамическими являются смещения. Вы можете использовать их в фильтрах, срезах и даже в вычислениях DAX.

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

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

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

Мелисса

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