Святковий календар 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.

здоров'я!


Спеціальна тематика в LuckyTemplates

Спеціальна тематика в LuckyTemplates

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

Коли використовувати TOPN у LuckyTemplates – огляд формули DAX

Коли використовувати TOPN у LuckyTemplates – огляд формули DAX

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

Як розрахувати кількість днів зайнятості на місяць у LuckyTemplates за допомогою DAX

Як розрахувати кількість днів зайнятості на місяць у LuckyTemplates за допомогою DAX

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

LuckyTemplates Custom Visual – Створення текстових підсумків

LuckyTemplates Custom Visual – Створення текстових підсумків

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

Візуальна таблиця в LuckyTemplates | Динамічний піднабір

Візуальна таблиця в LuckyTemplates | Динамічний піднабір

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

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

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

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

Геопросторовий аналіз LuckyTemplates: Вступ

Геопросторовий аналіз LuckyTemplates: Вступ

Це вступ до LuckyTemplates Geospatial Analysis для побудови переконливих динамічних карт, що створює багато проблем для користувачів.

Панелі даних LuckyTemplates у візуалізаціях таблиць

Панелі даних LuckyTemplates у візуалізаціях таблиць

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

Розробка періодів продажів за допомогою DAX у LuckyTemplates: будні проти Вихідні

Розробка періодів продажів за допомогою DAX у LuckyTemplates: будні проти Вихідні

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

Звіти про заявки на страхування в LuckyTemplates

Звіти про заявки на страхування в LuckyTemplates

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