Змінні та вирази в редакторі Power Query
У цьому посібнику обговорюватимуться змінні та вирази в редакторі Power Query. Ви навчитеся правильно їх писати та будувати.
Я покажу вам, як обчислити робочі дні / робочі дні між двома датами з урахуванням свят або без них. Це тема, яку знову і знову задавали на .
Я також вважаю, що це буде чудовий спосіб завершити цю серію Time Intelligence, знаючи, що вона охоплює багато інших елементів, які обговорювалися раніше. Ці елементи включають створення святкового столу, створення розширеної таблиці дат і використанняфункції, серед інших. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Зміст
Способи обчислення робочих днів між двома датами
Я розповім про різні підходи, які можна використовувати для розрахунку робочих днів.
Excel дозволяє користувачам обчислювати робочі дні простим способом за допомогою функції NETWORKDAYS . Однак DAX не має такої функції , тому я збираюся обговорити способи, як це обійти.
Одним із способів зробити це є використання деяких елементів із розширеної таблиці дат.
Іншим варіантом є підхід, який я отримав від Імке Фельдманна з блогу thebiccountant.com. Вона створила спеціальну функцію NetworkDays, яку можна викликати прямо з Power Query , що робить процес набагато швидшим і менш складним.
Щоб показати вам, як працюють ці підходи, я використаю дуже поширений сценарій.
У мене є сто проектів, які я анонімізував.
У мене також є дата початку та дата завершення для кожного проекту.
Я також створив простий показник кількості днів, що минули . По суті, це необроблена кількість днів між кожною датою початку та закінчення . Я використовувавфункція для цього, корисна функція datediff робочих днів.
Модель даних дуже проста. Він містить таблиці для дат і проектів .
Він також показує таблицю фактів, яка включає ідентифікатор проекту , дату початку та дату завершення .
Для порівняння я також розрахував NetworkDays ( зі святами та без них) за допомогою Excel (а не power bi).
Звичайно, ви можете зробити те ж саме і отримати дані з Excel. Але мета тут полягає в тому, щоб використовувати LuckyTemplates для розрахунку кількості робочих днів без використання Excel.
Обчислення робочих днів між датами за допомогою DAX
Щоразу, коли ви маєте справу з підрахунком дат, завжди ефективно використовуватиу таблиці Дати.
Я також використав DATESBETWEEN , щоб звузити поле між датою початку та датою закінчення . Я також додав IsWorkingDay , щоб застосувати просту логічну логіку: якщо це робочий день, то він має бути . Вихідні повернуться .
Я закінчив це зфільтр лише для врахування контексту зрізів.
Щодо варіанту з відпустками, то він дуже схожий на той захід, про який я щойно говорив.
Це той самий вираз із використанням функції DATESBETWEEN . Я лише додав aі IsHoliday.
Знову ж таки, я використав функцію ALLSELECTED у самому кінці.
Подивіться, що відбувається, коли я перетягую ці дві міри в свою таблицю.
Як і очікувалося, стовпець «Робочі дні зі святами» ідеально відповідає стовпцю Excel зі святами . Те саме стосується стовпця «Робочі дні без свят», який відповідає стовпцю Excel без свят .
Обчислення робочих днів за допомогою Power Query
Підхід, про який розповідає Імке Фельдманн із блогу thebiccoountant.com, дає ще простіші рішення під час використання Power Query.
У своєму блозі про функцію NETWORKDAYS вона надала код M, який можна викликати в Power Query.
Просто скопіюйте код M з її блогу.
Потім перейдіть до Power Query і в розділі New Source відкрийте пустий запит.
Перейдіть до розширеного редактора .
Потім вставте весь код на сторінку. Переконайтеся, що у вас є зелена галочка, щоб переконатися, що у вашому коді немає помилок.
Після його виклику ви перейдете до цього шаблону.
Насправді не має значення, що я тут введу, тому я просто перейду з 1 січня 2018 року до 1 січня 2020 року.
Тепер це відображатиметься під моїми запитами. Я збираюся перейменувати це, щоб нам було легше використовувати його пізніше.
Я назву його Networkdays .
Тепер я можу почати використовувати цей запит. Я просто зайду в мої дані .
Потім у розділі «Додати стовпець » я клацну «Викликати спеціальну функцію» .
Я викличу цей NWD і використаю функцію Networkdays .
Потім я виберу дату початку та дату завершення зі спадних меню нижче.
Це дає мені можливість змінити початок тижня з понеділка на щось інше.
Для цього підійде понеділок, тому я залишу це як є. Потім я клацну ОК.
Як бачите, він негайно обчислює NetworkDays , еквівалентний стовпцю Excel NetworkDays .
Тепер дозвольте мені налаштувати це, щоб я міг виключити свята. Мені просто потрібно зайти до свого святкового столу.
Якщо ви пам'ятаєте з шаблону, Святковий стіл тут є третім параметром.
Тому я просто використаю тут таблицю «Свята» та посилаюся на стовпець «Дата».
Я клацну позначку тут, щоб застосувати ці зміни.
[00:11:00]
Тепер його оновлено та видалено всі свята. Це точно так само, як стовпець для Excel NetworkDays без свят.
Я просто перейменую цей стовпець на NWD Без вихідних.
Висновок
Ви побачите, що обидва підходи, які я використав, дуже відрізнялися один від одного, але обидва дали однакові результати. Це лише показує, що справді існує багато способів максимізувати LuckyTemplates, навіть якщо конкретна функція Excel, яку ви шукаєте, не має прямого аналога.
Серія Time Intelligence була чудовою. Мені сподобалося працювати з Мелісою Декорте, щоб показати вам усі ці чудові сценарії Інтелектуального часу.
Одна з речей, яку я справді хочу тут підкреслити, це те, що DAX є найцікавішою частиною LuckyTemplates. Але коли ви освоїте всі тонкощі LuckyTemplates, ви почнете цінувати інші рішення, які взагалі не включають DAX. Останній підхід, який я показав вам вище, а також поради, якими я поділився в минулих відео про Time Intelligence, підтверджують цей факт.
Все найкраще,
У цьому посібнику обговорюватимуться змінні та вирази в редакторі Power Query. Ви навчитеся правильно їх писати та будувати.
Теплова карта LuckyTemplates — це тип візуалізації, який використовується для відображення щільності даних на карті. У цьому підручнику я розповім, як ми можемо створити один – не пропустіть!
Я збираюся навчити вас справді цікавому прикладу принципу Парето та тому, як створити діаграму Парето за допомогою важливих формул DAX.
Дізнайтеся, як користувацьку гістограму на ринку можна використовувати для порівняння даних і як ви можете створити їх за допомогою прикладів у LuckyTemplates.
Дізнайтеся, як працює функція Power Automate Static Results і чому її корисно додати до найкращих методів створення блок-схем.
eDNA демонструє, як виконувати переклад мови або тексту за допомогою Python і передавати це в LuckyTemplates. Підручник LuckyTemplates Python.
У цьому підручнику ви дізнаєтеся, як використовувати Gauge Bullet Graph для створення діаграми Ганта в LuckyTemplates Report Builder.
У цьому підручнику ви дізнаєтесь, як створити тривимірну (3D) точкову діаграму за допомогою Python у LuckyTemplates.
Ефективне звітування LuckyTemplates – огляд сеансу та завантаження ресурсу
Аналіз нових клієнтів за допомогою LuckyTemplates – наступна подія лише для учасників