Розрахунок робочих днів між двома датами в LuckyTemplates

Я покажу вам, як обчислити робочі дні / робочі дні між двома датами з урахуванням свят або без них. Це тема, яку знову і знову задавали на .

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

Зміст

Способи обчислення робочих днів між двома датами

Я розповім про різні підходи, які можна використовувати для розрахунку робочих днів.

Excel дозволяє користувачам обчислювати робочі дні простим способом за допомогою функції NETWORKDAYS . Однак DAX не має такої функції , тому я збираюся обговорити способи, як це обійти.

Одним із способів зробити це є використання деяких елементів із розширеної таблиці дат.

Іншим варіантом є підхід, який я отримав від Імке Фельдманна з блогу thebiccountant.com. Вона створила спеціальну функцію NetworkDays, яку можна викликати прямо з Power Query , що робить процес набагато швидшим і менш складним.

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

У мене є сто проектів, які я анонімізував.

Розрахунок робочих днів між двома датами в LuckyTemplates

У мене також є дата початку та дата завершення для кожного проекту.

Розрахунок робочих днів між двома датами в LuckyTemplates

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

Розрахунок робочих днів між двома датами в LuckyTemplates

Модель даних дуже проста. Він містить таблиці для дат і проектів .

Розрахунок робочих днів між двома датами в LuckyTemplates

Він також показує таблицю фактів, яка включає ідентифікатор проекту , дату початку та дату завершення .

Розрахунок робочих днів між двома датами в LuckyTemplates

Для порівняння я також розрахував NetworkDays ( зі святами та без них) за допомогою Excel (а не power bi).

Розрахунок робочих днів між двома датами в LuckyTemplates

Звичайно, ви можете зробити те ж саме і отримати дані з Excel. Але мета тут полягає в тому, щоб використовувати LuckyTemplates для розрахунку кількості робочих днів без використання Excel.

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

Щоразу, коли ви маєте справу з підрахунком дат, завжди ефективно використовуватиу таблиці Дати.

Розрахунок робочих днів між двома датами в LuckyTemplates

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

Я закінчив це зфільтр лише для врахування контексту зрізів.

Щодо варіанту з відпустками, то він дуже схожий на той захід, про який я щойно говорив.

Розрахунок робочих днів між двома датами в LuckyTemplates

Це той самий вираз із використанням функції DATESBETWEEN . Я лише додав aі IsHoliday.

Розрахунок робочих днів між двома датами в LuckyTemplates

Знову ж таки, я використав функцію ALLSELECTED у самому кінці.

Подивіться, що відбувається, коли я перетягую ці дві міри в свою таблицю.

Розрахунок робочих днів між двома датами в LuckyTemplates

Як і очікувалося, стовпець «Робочі дні зі святами» ідеально відповідає стовпцю Excel зі святами . Те саме стосується стовпця «Робочі дні без свят», який відповідає стовпцю Excel без свят .

Обчислення робочих днів за допомогою Power Query

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

У своєму блозі про функцію NETWORKDAYS вона надала код M, який можна викликати в Power Query.

Розрахунок робочих днів між двома датами в LuckyTemplates

Просто скопіюйте код M з її блогу.

Розрахунок робочих днів між двома датами в LuckyTemplates

Потім перейдіть до Power Query і в розділі New Source відкрийте пустий запит.

Розрахунок робочих днів між двома датами в LuckyTemplates

Перейдіть до розширеного редактора .

Розрахунок робочих днів між двома датами в LuckyTemplates

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

Розрахунок робочих днів між двома датами в LuckyTemplates

Після його виклику ви перейдете до цього шаблону.

Розрахунок робочих днів між двома датами в LuckyTemplates

Насправді не має значення, що я тут введу, тому я просто перейду з 1 січня 2018 року до 1 січня 2020 року.

Розрахунок робочих днів між двома датами в LuckyTemplates

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

Розрахунок робочих днів між двома датами в LuckyTemplates

Я назву його Networkdays .

Розрахунок робочих днів між двома датами в LuckyTemplates

Тепер я можу почати використовувати цей запит. Я просто зайду в мої дані .

Розрахунок робочих днів між двома датами в LuckyTemplates

Потім у розділі «Додати стовпець » я клацну «Викликати спеціальну функцію» .

Розрахунок робочих днів між двома датами в LuckyTemplates

Я викличу цей NWD і використаю функцію Networkdays .

Розрахунок робочих днів між двома датами в LuckyTemplates

Потім я виберу дату початку та дату завершення зі спадних меню нижче.

Розрахунок робочих днів між двома датами в LuckyTemplates

Це дає мені можливість змінити початок тижня з понеділка на щось інше.

Розрахунок робочих днів між двома датами в LuckyTemplates

Для цього підійде понеділок, тому я залишу це як є. Потім я клацну ОК.

Розрахунок робочих днів між двома датами в LuckyTemplates

Як бачите, він негайно обчислює NetworkDays , еквівалентний стовпцю Excel NetworkDays .

Розрахунок робочих днів між двома датами в LuckyTemplates

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

Розрахунок робочих днів між двома датами в LuckyTemplates

Якщо ви пам'ятаєте з шаблону, Святковий стіл тут є третім параметром.

Розрахунок робочих днів між двома датами в LuckyTemplates

Тому я просто використаю тут таблицю «Свята» та посилаюся на стовпець «Дата».

Розрахунок робочих днів між двома датами в LuckyTemplates

Я клацну позначку тут, щоб застосувати ці зміни.

Розрахунок робочих днів між двома датами в LuckyTemplates

[00:11:00]
Тепер його оновлено та видалено всі свята. Це точно так само, як стовпець для Excel NetworkDays без свят.

Розрахунок робочих днів між двома датами в LuckyTemplates

Я просто перейменую цей стовпець на NWD Без вихідних.

Розрахунок робочих днів між двома датами в LuckyTemplates




Висновок

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

Серія Time Intelligence була чудовою. Мені сподобалося працювати з Мелісою Декорте, щоб показати вам усі ці чудові сценарії Інтелектуального часу.

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

Все найкраще,


Змінні та вирази в редакторі Power Query

Змінні та вирази в редакторі Power Query

У цьому посібнику обговорюватимуться змінні та вирази в редакторі Power Query. Ви навчитеся правильно їх писати та будувати.

Як створити теплову карту LuckyTemplates

Як створити теплову карту LuckyTemplates

Теплова карта LuckyTemplates — це тип візуалізації, який використовується для відображення щільності даних на карті. У цьому підручнику я розповім, як ми можемо створити один – не пропустіть!

Створення діаграми Парето в LuckyTemplates – Advanced DAX

Створення діаграми Парето в LuckyTemplates – Advanced DAX

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

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

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

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

Статичні результати Power Automate: огляд

Статичні результати Power Automate: огляд

Дізнайтеся, як працює функція Power Automate Static Results і чому її корисно додати до найкращих методів створення блок-схем.

Підручник LuckyTemplates Python: як перекладати тексти

Підручник LuckyTemplates Python: як перекладати тексти

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

Створіть діаграму Ганта в конструкторі звітів LuckyTemplates

Створіть діаграму Ганта в конструкторі звітів LuckyTemplates

У цьому підручнику ви дізнаєтеся, як використовувати Gauge Bullet Graph для створення діаграми Ганта в LuckyTemplates Report Builder.

Створіть тривимірну точкову діаграму за допомогою Python у LuckyTemplates

Створіть тривимірну точкову діаграму за допомогою Python у LuckyTemplates

У цьому підручнику ви дізнаєтесь, як створити тривимірну (3D) точкову діаграму за допомогою Python у LuckyTemplates.

Ефективне звітування LuckyTemplates – огляд сеансу та завантаження ресурсу

Ефективне звітування LuckyTemplates – огляд сеансу та завантаження ресурсу

Ефективне звітування LuckyTemplates – огляд сеансу та завантаження ресурсу

Аналіз нових клієнтів за допомогою LuckyTemplates – наступна подія лише для учасників

Аналіз нових клієнтів за допомогою LuckyTemplates – наступна подія лише для учасників

Аналіз нових клієнтів за допомогою LuckyTemplates – наступна подія лише для учасників