Змініть формати дати за допомогою редактора Power Query
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Я збираюся показати вам, як використовувати функцію зсуву в 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 в LuckyTemplates.
Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.
Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.
Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.
У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.
У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.
Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.
Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.
У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.
У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.