Змініть формати дати за допомогою редактора Power Query
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Отримання значень попереднього періоду в LuckyTemplates є звичайним завданням, але отримання значень попереднього тижня вимагає особливої уваги. У цьому підручнику я обговорю два прості та універсальні методи отримання значень LuckyTemplates за попередній тиждень, які можуть бути корисними доповненнями до вашої панелі інструментів – один за допомогою DAX, а інший за допомогою Power Query. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Цей підручник був створений на основі запитання, яке я отримав від учасника LuckyTemplates. Учасник запитав, який найпростіший спосіб визначити номер попереднього тижня. Це поширене запитання, з яким я стикаюся. Це здається досить простим, але чим більше ви заглиблюєтеся в це, тим більше розумієте, що є багато чого для обробки.
Зміст
Значення попереднього тижня в LuckyTemplates: проблема
Якщо ми подивимося на номер тижня, ми маємо 52 тижні; помножте це на сім днів (тиждень), і отримаєте 364. Отже, у кожному році є додатковий день, а потім у високосні роки є два додаткові дні. Ці один-два додаткових дні призводять до багатьох проблем.
Давайте створимо міру з нашої таблиці Dates. Ми назвемо це MAX Week # (номер). У цьому аналізі ми використовуємо розширену таблицю дат LuckyTemplates; тут є номер тижня ISO , що дуже корисно. Тепер давайте візьмемо MAX числа тижня ISO.
Тепер давайте візьмемо таблицю та відпустимо рік , а також наш MAX Week # . Цей набір даних містить дані за 10 років, і ми бачимо, що перші два роки мають 52 тижні. Тоді у нас є два роки з 53 тижнями, три роки з 52 тижнями, а потім ще два роки з 53 і один з 52.
Тут насправді немає чіткої закономірності. Непросто повернутися назад і передбачити, що в один рік у вас буде 52 тижні, а в інший рік у вас буде 53.
Наступне, про що ви можете подумати, якщо ви знайомі з функціями аналізу часу DAX, це використовувати функцію DATEADD , яка зсуває діапазон дат назад на певний період. Він дуже добре робить це для дня, місяця, кварталу та року, але не включає тиждень, тому нам потрібно знайти інший спосіб зробити це.
У розширену таблицю дат LuckyTemplates, яку ми використовуємо, Меліса (один із експертів LuckyTemplates) включила функцію під назвою OFFSETS . Давайте зануримося в цю функцію, оскільки вона є абсолютно ключовою для вирішення проблеми з точки зору DAX.
Дивлячись на поточний період (наприклад, 20 січня, який є періодом створення цього посібника), ми бачимо, що зсув дорівнює нулю . Принцип роботи зсуву полягає в тому, що для поточного періоду зсув дорівнює нулю.
Тиждень, що передує поточному тижню, є від’ємною одиницею, два тижні перед поточним тижнем – від’ємною двійкою і так далі. І потім, він йде вперед від додатних чисел; наступний тиждень отримує одиницю, два тижні отримує двійку тощо.
Щоразу, коли ви відкриваєте звіт відносно сьогоднішньої дати, він обчислює зміщення. Це неймовірно потужно, і зараз я покажу вам, як легко вирішувати деякі складні проблеми, як цей номер попереднього тижня LuckyTemplates, коли ви використовуєте зміщення.
Отримання LuckyTemplates минулого тижня за допомогою DAX
Давайте створимо новий показник і назвемо його Previous Wk # . Ми збираємося почати зі змінної ( SelWkOffset ), де ми просто збираємося зробити SELECTEDVALUE для WeekOffset . Отже, у поточному рядку буде намальовано WeekOffset і додано його до нашої змінної.
Наступною змінною буде Результат . Це кінцевий результат, який ми хочемо, і ми збираємося використовувати CALCULATE , оскільки ми будемо змінювати контекст.
Потім ми хочемо МАКСИМАЛЬНЕ число тижня ISO , і воно підпорядковуватиметься цим умовам фільтра. Отже, ми видалимо всі фільтри з таблиці дат і використаємо тут УСІ . Якби у нас був зрізувач дат, ми могли б використовувати ALLSELECTED , але зараз ми цього не робимо, тому ми просто використаємо ALL, щоб видалити фільтр із цієї таблиці Dates.
І тоді ми скажемо, що WeekOffset дорівнюватиме нашому SelWkOffset мінус один . Ось де ЗМІЩЕННЯ стають такими потужними. Ви не можете використовувати номер тижня мінус один, тому що він скидається кожного року. Але оскільки ВСІ ЗМІЩЕННЯ є послідовними, ви можете розглядати це так, як ви б розглядали пошук попереднього року та просто віднімання одного для кожного попереднього року. Отже, це зміщення функціонує так само, як і послідовне число.
Тепер ми можемо взяти та закрити цю умову фільтра, закрити CALCULATE і просто ПОВЕРНУТИ наш результат .
Тепер давайте розглянемо, як працює цей захід. У таблиці нижче ми бачимо, що він робить саме те, на що ми сподівалися. На 52-му тижні для першого періоду наступного року попередній тиждень дорівнює 52-му. Потім він повертається на один крок назад за кожен період і так далі.
Тепер, що ви робите у випадках, коли у вас немає заліку?
Припустімо, ви працюєте з корпоративною таблицею дат, яка надходить із вашого сховища даних і не включає ці зсуви. Є техніка, яку я хочу показати вам у Power Query. Вперше я побачив це в записі в блозі Імке Фельдманн.
Цей підхід дуже добре працює в будь-якій ситуації, коли ви можете впорядкувати таблицю в порядку зростання, і вона не обов’язково має зсув. Він не повинен мати навіть поле дати. Це може бути зовсім інший тип столу. Ви можете використовувати цю техніку, поки її можна сортувати в порядку зростання.
Отже, давайте посилатимемося на цю таблицю Dates Raw і назвемо її Dates . Потім ми обов’язково сортуємо це в порядку зростання .
Далі ми хочемо згрупувати за тижнями . Причина цього полягає в тому, що ми збираємося додати два стовпці індексу. Коли ми додаємо ці стовпці індексів, ми хочемо, щоб вони мали деталізацію за тиждень , а не за день.
Далі ми хочемо додати ці стовпці індексу. Тут важливо те, що перший індекс, який ми додамо, буде базуватися на 0. А потім ми додамо другий індекс, який базується на 1.
Потім ми візьмемо цей стовпець і об’єднаємо таблицю в себе. Ми об’єднаємо його на основі двох різних стовпців індексу. Це дасть нам зсув у рядках.
Отже, якщо ми візьмемо це та об’єднаємо перший індекс на основі 0 з індексом на основі 1, це збігається з 521 у 522 рядках. Це саме те, чого ми очікували, тому що друга таблиця не збирається отримувати нульовий індекс, оскільки вона починається з одиниці.
Після цього ми просто розгорнемо це належним чином, просто використовуючи ISO Weeknumber.
Це дає нам номер попереднього тижня. А тепер ми просто розширимо наше початкове групування та видалимо поле WeekEnding і вихідний номер тижня ISO, щоб не дублювати.
Якщо ми помістимо це в таблицю, ви побачите, що результати точно такі ж, як і за допомогою техніки DAX. Він працює точно так само, як і наш показник DAX, але в цьому випадку нам не потрібно було використовувати зміщення.
Висновок
Це два різні способи дуже різноманітного пошуку номера попереднього тижня. У першій техніці ви можете побачити силу зсувів у тому, що те, що інакше було б складним розрахунком, є досить простим. Другий метод працює точно так само, як і наш показник 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, налаштований відповідно до ваших потреб і вподобань.
У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.