Рассчитать рабочие дни между двумя датами в LuckyTemplates

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

Я также считаю, что это будет отличным завершением этой серии статей об аналитике времени, зная, что она охватывает множество других элементов, обсуждавшихся ранее. Эти элементы включают , среди прочего, создание таблицы праздников, создание расширенной таблицы дат и использование функции Вы можете посмотреть полное видео этого урока в нижней части этого блога.

Оглавление

Способы расчета рабочих дней между двумя датами

Я собираюсь рассказать о различных подходах, которые вы можете использовать для расчета рабочих дней.

Excel позволяет пользователям легко рассчитывать рабочие дни с помощью функции ЧИСТРАБДНИ . Однако в DAX нет такой функции , поэтому я собираюсь обсудить способы обойти это.

Один из способов сделать это — использовать некоторые элементы из расширенной таблицы дат.

Другой вариант — использовать подход, который я получил от Имке Фельдманн из блога thebiccountant.com. Она создала пользовательскую функцию NetworkDays, которую можно вызывать прямо из Power Query , что значительно ускорило и упростило процесс.

Чтобы показать вам, как работают эти подходы, я собираюсь использовать очень распространенный сценарий.

У меня есть сто проектов, которые я анонимизировал.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

У меня также есть дата начала и дата окончания для каждого проекта.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Я также создал простую меру «Прошедшие дни» . Это в основном необработанное количество дней между каждой из дат начала и окончания . Для этого я использовал функцию , полезную функцию для дифференциации рабочих дней.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Модель данных очень проста. Он содержит таблицы для дат и проектов .

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Он также показывает таблицу фактов, которая включает идентификатор проекта , дату начала и дату окончания .

Рассчитать рабочие дни между двумя датами в LuckyTemplates

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

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Конечно, вы можете сделать то же самое и ввести данные из Excel. Но цель здесь — использовать LuckyTemplates для расчета количества рабочих дней без использования Excel.

Расчет рабочих дней между датами с использованием DAX

Каждый раз, когда вы имеете дело с подсчетом дат, всегда эффективно использовать функцию в таблице Dates.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

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

Я завершил это с помощью фильтра , чтобы учесть контекст слайсеров.

Что касается версии с выходными, то она очень похожа на ту меру, о которой я только что говорил.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Это то же самое выражение, использующее функцию DATESBETWEEN . Я только добавил и IsHoliday.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Опять же, я использовал функцию ALLSELECTED в самом конце.

Посмотрите, что произойдет, когда я перетащу эти две меры в свою таблицу.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Как и ожидалось, столбец «Рабочие дни с праздниками» идеально соответствует столбцу Excel с праздниками . То же самое касается столбца «Рабочие дни без выходных», который соответствует столбцу Excel без выходных .

Расчет рабочих дней с помощью Power Query

Подход, о котором рассказывает Имке Фельдманн из блога thebiccoountant.com, дает еще более простое решение при использовании Power Query.

В своем блоге о функции ЧИСТРАБДНИ она привела М-код, который можно вызвать в Power Query.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Просто скопируйте М-код из ее блога.

Рассчитать рабочие дни между двумя датами в 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 , эквивалентное столбцу NetworkDays в Excel .

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Теперь позвольте мне настроить это так, чтобы я мог исключить праздники. Мне просто нужно зайти за свой праздничный стол.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Если вы помните из шаблона, таблица Holiday является здесь третьим параметром.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Поэтому я просто воспользуюсь здесь таблицей «Праздники» и сошлюсь на столбец «Дата».

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Я поставлю здесь галочку, чтобы применить эти изменения.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

[00:11:00]
Сейчас обновился и убрал все праздники. Это точно так же, как столбец для Excel NetworkDays без праздников.

Рассчитать рабочие дни между двумя датами в LuckyTemplates

Я просто переименую эту колонку в NWD Нет выходных.

Рассчитать рабочие дни между двумя датами в LuckyTemplates


Добавление номеров рабочих дней и выходных в таблицу дат: метод аналитики времени в LuckyTemplates
Демонстрация номера рабочего дня в LuckyTemplates с использованием DAX
Расчет среднего значения в LuckyTemplates: выделение результатов рабочих дней или выходных с помощью DAX

Заключение

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

Это был отличный результат для серии Time Intelligence. Мне понравилось работать с Мелиссой Декорте, чтобы показать вам все эти замечательные сценарии Time Intelligence.

Одна из вещей, которую я действительно хочу здесь подчеркнуть, заключается в том, что DAX — самая интересная часть LuckyTemplates. Но когда вы освоите все тонкости LuckyTemplates, вы начнете ценить другие решения, которые вообще не используют DAX. Последний подход, который я показал вам выше, а также советы, которыми я поделился в прошлых видеороликах о Time Intelligence, доказывают этот факт.

Всего наилучшего,

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.