Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

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

Цей приклад надійшов від одного зініціативи під назвою «Проблема тижня», де щомісяця ми беремо реальну проблему DAX або Power Query і розбираємо її в деталях.

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

Я використав техніку під назвою «Налагодження гумовою качечкою». Зазвичай він використовується для налагодження, але я вважаю, що він також дуже цінний для розробки початкового фреймворку, який ви збираєтеся використовувати для вирішення складної проблеми, як у LuckyTemplates.

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

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

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

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

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

Для цього нам потрібно розібрати поле Day на два компоненти. Перший розбір – це подія (третій, останній, перший, другий), а другий – день (понеділок, четвер). Це дві важливі частини інформації, які нам потрібно розділити.

Зміст

Розрахунок конкретних дат у святковому календарі LuckyTemplates

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

Нам потрібно обчислити мінімальну та максимальну дати для зазначеного року, місяця та назви дня. У цьому випадку, наприклад, ми можемо сказати про 2027 рік, січень і третій понеділок. Отримавши цей мінімальний день для даного місяця, ми можемо додати до нього сім днів, щоб дістатися до другого понеділка, 14 днів, щоб дістатися до третього понеділка, і 21 день, щоб дістатися до четвертого понеділка.

Інша техніка, якою я хочу поділитися з вами, пов’язана з цим завданням, це те, що я називаю «Побудова по частинах» під час створення міри. Я вважаю, що це дуже корисно для комплексного вимірювання, де, якщо у вас є багато змінних, у вас є багато компонентів для створення.

Я завжди маю змінну результату ( VAR Result ) у кінці та мій останній оператор, який є просто Return Result . Це робить дуже легким повернутися назад і перевірити створені мною змінні. Я можу пройти, відстежити та вирішити це по частинах.

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

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

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

Тут є дуже гарна функція під назвою Групи (ліворуч), де функції згруповано за типом. Тому, наприклад, якщо я думаю про розбір текстового рядка, я можу шукати Text functions .

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

Він надає всі текстові функції, які має DAX. Це чудовий спосіб швидко знайтивам потрібна міра.

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

Показники DAX для святкового календаря LuckyTemplates

Для міри «Дата свята» я створив цю серію s , збираючи дати з розділювача, місяць свята, номер місяця та день із таблиці «Дати».  

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

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

CharsBeforeSpace (символи перед пробілом) це просто SpacePosition. Кількість CharsAfterSpace (символів після пробілу) — це просто довжина ( SelDayLen ) рядка мінус позиція пробілу. З цього ми можемо виконати FirstParse і SecondParse .

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

На даний момент у нас є дві змінні, одна представляє подію, а друга — день.

І тоді ми маємо базове ( Calc1st ), де ми знімаємо фільтр із таблиці Dates. Потім ми застосовуємо фільтри вибраного року зі зрізу, назву місяця, а потім день тижня з того другого аналізу, який ми зробили.

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

Подібним чином ми робимо те саме для останнього обчислення ( VAR CalcLast ).

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

Коли ми все це маємо, він переходить до оператора, а остання частина – результат RETURN.

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX

Нарешті, я хочу розповісти вам про захід Celebrated On як додатковий бонус від змагання. Це простоде я взяв дату свята, яку ми обчислили в попередньому заході, перейшов до таблиці «Дати» та знайшов назву дня тижня. А потім я просто зробив оператор SWITCH , де ми взяли цей результат DayLookup . І, нарешті, я завершую це RETURN DateAdjust .

Святковий календар LuckyTemplates – обчислення дати за допомогою DAX




Висновок

Цей виклик LuckyTemplates Holiday Calendar, як я вже згадував, є проблемою реального світу. Рішення, яке я придумав, досить складне, але дійсно ефективне для розрахунку конкретних святкових дат.

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

здоров'я!

Leave a Comment

Змініть формати дати за допомогою редактора 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

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