Використання функції зміщення в розширених таблицях дат

Я збираюся показати вам, як використовувати функцію зсуву в 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 знаходяться в ідеальному діапазоні послідовних номерів .

Використання функції зміщення в розширених таблицях дат

Це тому, що вони мають однакову деталізацію всюди . Немає повторюваних значень і відсутніх значень.

Звичайно, вимірювання загального обсягу продажів , що використовується тут, виконується звичайним способом, лише звичайнимбільше продажів на кількість , помножену на ціну . Потім усе це агрегується, щоб отримати тижневе значення.

Але що, якщо я хочу бачити розпродажі лише за останні 4 тижні?

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

Використання функції зміщення в розширених таблицях дат

Тепер у моїй таблиці відображаються лише продажі за останні чотири тижні.

Використання функції зміщення в розширених таблицях дат

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

Використання зсувів у DAX

Цього разу я покажу вам, як функцію зсуву можна використовувати в показниках DAX.

У мене є таблиця з тижнем і роком і загальним обсягом продажів .

Використання функції зміщення в розширених таблицях дат

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

Використання функції зміщення в розширених таблицях дат

Якщо мені потрібно перескочити річну межу, мені доведеться обчислити, що Номер тижня для цього минулого року.

Використання функції зміщення в розширених таблицях дат

Звідти я б використав SUMX як функцію ітерації в таблиці дат. Мені також потрібно перевірити, чи CurrWeek є тижнем номер 1 .

Використання функції зміщення в розширених таблицях дат

Якщо це не тиждень 1, мені просто потрібно відняти 1 від значення CurrWeek для CurrYear . Після цього можна нарешті підсумувати загальні продажі .

Використання функції зміщення в розширених таблицях дат

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

Використання функції зміщення в розширених таблицях дат

Навіть якщо я перейду річну межу з 2017 на 2018, шаблон не порушиться. Загальний обсяг продажів за останній тиждень 2017 року все ще ідеально розрахований для першого тижня 2018 року.

Використання функції зміщення в розширених таблицях дат

Цього разу я зроблю те саме обчислення, але із застосуванням зсувів таблиці дат.

Ось як ця міра виглядає, коли я використовую зміщення.

Використання функції зміщення в розширених таблицях дат

Отже, щоб отримати значення PrevWeek , мені просто потрібно посилатися на вибраний WeekOffset і відняти 1.

Використання функції зміщення в розширених таблицях дат

Тоді я скористаюсяфункція для загального обсягу продажів Дати , у яких WeekOffset дорівнює значенню PrevWeek .

Використання функції зміщення в розширених таблицях дат

Дивлячись на результати, результати здаються ідеальними, навіть на переході з 2017 на 2018 рік.

Використання функції зміщення в розширених таблицях дат

Проблема, однак, у Total . Очевидно, це не вірне значення.

Використання функції зміщення в розширених таблицях дат

Ось як я збираюся це виправити.

По-перше, зауважте, що стовпець "Тиждень і рік" розміщено в порядку зростання .

Використання функції зміщення в розширених таблицях дат

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

Використання функції зміщення в розширених таблицях дат

Оскільки немає контексту, що надходить із тижня та року , він не визначає значення зміщення поточного тижня, але все ще віднімає 1 . Але що я можу зробити, це застосувати кумулятивний підсумок, щоб скоригувати загальну суму .

Ось так виглядатиме міра:

Використання функції зміщення в розширених таблицях дат

Початок такту не змінюється. Це точно так само, як попередній захід, який я застосував.

Але оскільки мені потрібно використовувати шаблон, подібний до кумулятивних підсумків, я повинен використовувати функцію CALCULATE на FirstWeek протягом Дати з відніманням 1.

Використання функції зміщення в розширених таблицях дат

Мені також потрібно визначити значення MAX WeekOffset з усіх ВИБРАНИХ дат і також відняти з цього значення.

Використання функції зміщення в розширених таблицях дат

Потім я знову використаю функцію CALCULATE для загальних продажів . Я буду використовуватифункція для включення ВСІХ дат . Значення WeekOffset має бути більше або дорівнювати FirstWeek і менше або дорівнювати LastWeek .

Використання функції зміщення в розширених таблицях дат

Знову ж таки, це відповідає базовій моделі для кумулятивних підсумків.

Потім я можу перейти до перевірки загальної суми за допомогою шаблонів.

Використання функції зміщення в розширених таблицях дат

Тож ЯКЩО тиждень і рік ISINSCOPE , я очікую, що результати покажуть LWSales . Але якщо ні, я очікую, що з’явиться LWTotal .

Використання функції зміщення в розширених таблицях дат

Отже, якщо я повернуся до своєї таблиці, тепер вона покаже правильний загальний підсумок.

Використання функції зміщення в розширених таблицях дат

Зміщення за конкретні тижні

Дозвольте мені повернутися до прикладу, який я використав раніше, де я відфільтрував дані, щоб показати лише останні чотири тижні.

Використання функції зміщення в розширених таблицях дат

Якщо я ввійду в вимірювання, я зможу отримати ті самі результати, використовуючи зміщення. Ось як це виглядатиме.

Використання функції зміщення в розширених таблицях дат

Мені просто потрібно було визначити поточне значення WeekOffset для контексту, що надходить із рядків.

Використання функції зміщення в розширених таблицях дат

Отримавши це, я можу застосувати функцію CALCULATE до загального обсягу продажів УСІХ дат , де WeekOffset більше або дорівнює ThisWeek мінус 3, або менше або дорівнює значенню ThisWeek .

Використання функції зміщення в розширених таблицях дат

Це повертає точно таке ж значення, як приклад, який я намагаюся відтворити.

Використання функції зміщення в розширених таблицях дат




Висновок

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

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

Просто продовжуйте грати зі зсувами та подивіться, як їх ще можна використати. Ви також можете перевіритидля інших випадків, коли функція зсуву виявилася корисною.

Все найкраще,

Меліса


Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.

Вилучення тем і зображень LuckyTemplates із PBIX

Вилучення тем і зображень LuckyTemplates із PBIX

Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Python у LuckyTemplates: як встановити та налаштувати

Python у LuckyTemplates: як встановити та налаштувати

Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.

Сортування стовпців таблиці дат у LuckyTemplates

Сортування стовпців таблиці дат у LuckyTemplates

Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.

Вимір сміття: що це таке і чому це щось інше, але не сміття

Вимір сміття: що це таке і чому це щось інше, але не сміття

Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.