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

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

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

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

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

Меліса


Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

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

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

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

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

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

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

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