Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

Отримання значень попереднього періоду в LuckyTemplates є звичайним завданням, але отримання значень попереднього тижня вимагає особливої ​​уваги. У цьому підручнику я обговорю два прості та універсальні методи отримання значень LuckyTemplates за попередній тиждень, які можуть бути корисними доповненнями до вашої панелі інструментів – один за допомогою DAX, а інший за допомогою Power Query. Ви можете переглянути повне відео цього підручника внизу цього блогу.

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

Зміст

Значення попереднього тижня в LuckyTemplates: проблема

Якщо ми подивимося на номер тижня, ми маємо 52 тижні; помножте це на сім днів (тиждень), і отримаєте 364. Отже, у кожному році є додатковий день, а потім у високосні роки є два додаткові дні. Ці один-два додаткових дні призводять до багатьох проблем.

Давайте створимо міру з нашої таблиці Dates. Ми назвемо це MAX Week # (номер). У цьому аналізі ми використовуємо розширену таблицю дат LuckyTemplates; тут є номер тижня ISO , що дуже корисно. Тепер давайте візьмемо MAX числа тижня ISO.

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

Тепер давайте візьмемо таблицю та відпустимо рік , а також наш MAX Week # . Цей набір даних містить дані за 10 років, і ми бачимо, що перші два роки мають 52 тижні. Тоді у нас є два роки з 53 тижнями, три роки з 52 тижнями, а потім ще два роки з 53 і один з 52.

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

Тут насправді немає чіткої закономірності. Непросто повернутися назад і передбачити, що в один рік у вас буде 52 тижні, а в інший рік у вас буде 53.

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

У розширену таблицю дат LuckyTemplates, яку ми використовуємо, Меліса (один із експертів LuckyTemplates) включила функцію під назвою OFFSETS . Давайте зануримося в цю функцію, оскільки вона є абсолютно ключовою для вирішення проблеми з точки зору DAX.

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

Тиждень, що передує поточному тижню, є від’ємною одиницею, два тижні перед поточним тижнем – від’ємною двійкою і так далі. І потім, він йде вперед від додатних чисел; наступний тиждень отримує одиницю, два тижні отримує двійку тощо.

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

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

Отримання LuckyTemplates минулого тижня за допомогою DAX

Давайте створимо новий показник і назвемо його Previous Wk # . Ми збираємося почати зі змінної ( SelWkOffset ), де ми просто збираємося зробити SELECTEDVALUE для WeekOffset . Отже, у поточному рядку буде намальовано WeekOffset і додано його до нашої змінної.

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

Потім ми хочемо МАКСИМАЛЬНЕ число тижня ISO , і воно підпорядковуватиметься цим умовам фільтра. Отже, ми видалимо всі фільтри з таблиці дат і використаємо тут УСІ . Якби у нас був зрізувач дат, ми могли б використовувати ALLSELECTED , але зараз ми цього не робимо, тому ми просто використаємо ALL, щоб видалити фільтр із цієї таблиці Dates.

І тоді ми скажемо, що WeekOffset дорівнюватиме нашому SelWkOffset мінус один . Ось де ЗМІЩЕННЯ стають такими потужними. Ви не можете використовувати номер тижня мінус один, тому що він скидається кожного року. Але оскільки ВСІ ЗМІЩЕННЯ є послідовними, ви можете розглядати це так, як ви б розглядали пошук попереднього року та просто віднімання одного для кожного попереднього року. Отже, це зміщення функціонує так само, як і послідовне число.

Тепер ми можемо взяти та закрити цю умову фільтра, закрити CALCULATE і просто ПОВЕРНУТИ наш результат .

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

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

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

Тепер, що ви робите у випадках, коли у вас немає заліку?

Припустімо, ви працюєте з корпоративною таблицею дат, яка надходить із вашого сховища даних і не включає ці зсуви. Є техніка, яку я хочу показати вам у Power Query. Вперше я побачив це в записі в блозі Імке Фельдманн.

Цей підхід дуже добре працює в будь-якій ситуації, коли ви можете впорядкувати таблицю в порядку зростання, і вона не обов’язково має зсув. Він не повинен мати навіть поле дати. Це може бути зовсім інший тип столу. Ви можете використовувати цю техніку, поки її можна сортувати в порядку зростання.

Отже, давайте посилатимемося на цю таблицю Dates Raw і назвемо її Dates . Потім ми обов’язково сортуємо це в порядку зростання .

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

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

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

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

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

Потім ми візьмемо цей стовпець і об’єднаємо таблицю в себе. Ми об’єднаємо його на основі двох різних стовпців індексу. Це дасть нам зсув у рядках.

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

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

Після цього ми просто розгорнемо це належним чином, просто використовуючи ISO Weeknumber.

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

Це дає нам номер попереднього тижня. А тепер ми просто розширимо наше початкове групування та видалимо поле WeekEnding і вихідний номер тижня ISO, щоб не дублювати.

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

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

Отримайте значення LuckyTemplates за попередній тиждень за допомогою DAX і Power Query

Висновок

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

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

здоров'я!


Як використовувати запит природною мовою (Q&A) у LuckyTemplates

Як використовувати запит природною мовою (Q&A) у LuckyTemplates

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

Динамічно сортуйте візуалізації у звітах LuckyTemplates

Динамічно сортуйте візуалізації у звітах LuckyTemplates

Дізнайтеся, як динамічно сортувати візуалізації у звітах LuckyTemplates. Отримуйте якісну статистику, творчо підходячи до представлення даних.

Поле пошуку PowerApps: як додати та налаштувати

Поле пошуку PowerApps: як додати та налаштувати

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

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Збирайте або фіксуйте значення в мірі для повторного використання в іншій мірі для динамічних обчислень за допомогою SELECTEDVALUE DAX у LuckyTemplates.

Історія версій у списках SharePoint

Історія версій у списках SharePoint

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

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

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

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

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

Таблиці пропорцій і частот в Excel

Таблиці пропорцій і частот в Excel

Збирався зануритися в частотні таблиці в Excel, а також у таблиці пропорцій. Добре подивіться, що це таке і коли їх використовувати.

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Дізнайтеся, як завантажити та інсталювати DAX Studio та Tabular Editor 3 і як налаштувати їх для використання в LuckyTemplates і Excel.

Візуалізація карти форми LuckyTemplates для просторового аналізу

Візуалізація карти форми LuckyTemplates для просторового аналізу

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