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

здоров'я!


Що таке Power Query та мова M: детальний огляд

Що таке Power Query та мова M: детальний огляд

Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.

Створення звіту з розбивкою на сторінки: додавання текстів і зображень

Створення звіту з розбивкою на сторінки: додавання текстів і зображень

Дізнайтеся, як створити звіт із розбивкою на сторінки, додати тексти та зображення, а потім експортувати звіт у різні формати документів.

Функція автоматизації SharePoint | Вступ

Функція автоматизації SharePoint | Вступ

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

Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

Вирішіть задачу аналізу даних за допомогою прискорювача LuckyTemplates

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

Підсумки в LuckyTemplates за допомогою DAX

Підсумки в LuckyTemplates за допомогою DAX

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

Змінні LuckyTemplates Dax постійні: що це означає?

Змінні LuckyTemplates Dax постійні: що це означає?

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

Діаграма нахилу LuckyTemplates: огляд

Діаграма нахилу LuckyTemplates: огляд

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

Колірні теми LuckyTemplates для однорідної візуалізації

Колірні теми LuckyTemplates для однорідної візуалізації

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

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

Обчислення середнього значення в LuckyTemplates: виділення результатів у будні чи вихідні за допомогою DAX

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

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

Шаблони LuckyTemplates | Стандартне оформлення робочого столу LuckyTemplates

Давайте заглибимося в стандартну тематику LuckyTemplates і розглянемо деякі функції, вбудовані в саму програму LuckyTemplates Desktop.