Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Я собираюсь показать вам, как рассчитать рабочие дни / рабочие дни между двумя датами с учетом праздников или без праздников. Это тема, которую снова и снова задают на .
Я также считаю, что это будет отличным завершением этой серии статей об аналитике времени, зная, что она охватывает множество других элементов, обсуждавшихся ранее. Эти элементы включают , среди прочего, создание таблицы праздников, создание расширенной таблицы дат и использование функции Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Оглавление
Способы расчета рабочих дней между двумя датами
Я собираюсь рассказать о различных подходах, которые вы можете использовать для расчета рабочих дней.
Excel позволяет пользователям легко рассчитывать рабочие дни с помощью функции ЧИСТРАБДНИ . Однако в DAX нет такой функции , поэтому я собираюсь обсудить способы обойти это.
Один из способов сделать это — использовать некоторые элементы из расширенной таблицы дат.
Другой вариант — использовать подход, который я получил от Имке Фельдманн из блога thebiccountant.com. Она создала пользовательскую функцию NetworkDays, которую можно вызывать прямо из Power Query , что значительно ускорило и упростило процесс.
Чтобы показать вам, как работают эти подходы, я собираюсь использовать очень распространенный сценарий.
У меня есть сто проектов, которые я анонимизировал.
У меня также есть дата начала и дата окончания для каждого проекта.
Я также создал простую меру «Прошедшие дни» . Это в основном необработанное количество дней между каждой из дат начала и окончания . Для этого я использовал функцию , полезную функцию для дифференциации рабочих дней.
Модель данных очень проста. Он содержит таблицы для дат и проектов .
Он также показывает таблицу фактов, которая включает идентификатор проекта , дату начала и дату окончания .
Для сравнения я также рассчитал NetworkDays ( с праздниками и без них) с помощью Excel (не power bi).
Конечно, вы можете сделать то же самое и ввести данные из Excel. Но цель здесь — использовать LuckyTemplates для расчета количества рабочих дней без использования Excel.
Расчет рабочих дней между датами с использованием DAX
Каждый раз, когда вы имеете дело с подсчетом дат, всегда эффективно использовать функцию в таблице Dates.
Я также использовал DATESBETWEEN , чтобы сузить поле между датой начала и датой окончания . Я также добавил IsWorkingDay , чтобы применить простую логическую логику: если это рабочий день, то он должен быть . Выходные вернут .
Я завершил это с помощью фильтра , чтобы учесть контекст слайсеров.
Что касается версии с выходными, то она очень похожа на ту меру, о которой я только что говорил.
Это то же самое выражение, использующее функцию DATESBETWEEN . Я только добавил и IsHoliday.
Опять же, я использовал функцию ALLSELECTED в самом конце.
Посмотрите, что произойдет, когда я перетащу эти две меры в свою таблицу.
Как и ожидалось, столбец «Рабочие дни с праздниками» идеально соответствует столбцу Excel с праздниками . То же самое касается столбца «Рабочие дни без выходных», который соответствует столбцу Excel без выходных .
Расчет рабочих дней с помощью Power Query
Подход, о котором рассказывает Имке Фельдманн из блога thebiccoountant.com, дает еще более простое решение при использовании Power Query.
В своем блоге о функции ЧИСТРАБДНИ она привела М-код, который можно вызвать в Power Query.
Просто скопируйте М-код из ее блога.
Затем перейдите в Power Query и в разделе New Source откройте пустой запрос.
Зайдите в расширенный редактор .
Затем вставьте весь код на страницу. Убедитесь, что у вас есть зеленая галочка, чтобы убедиться, что в вашем коде нет ошибок.
Как только он будет вызван, он приведет вас к этому шаблону.
На самом деле не имеет значения, что я здесь ввожу, поэтому я просто перейду с 1 января 2018 года на 1 января 2020 года.
Теперь это будет отображаться под моими запросами. Я собираюсь переименовать его, чтобы нам было проще использовать его позже.
Я назову его Networkdays .
Теперь я могу начать использовать этот запрос. Я просто войду в свои данные .
Затем в разделе «Добавить столбец » я нажму «Вызвать пользовательскую функцию» .
Я позвоню этому NWD и воспользуюсь функцией Networkdays .
Затем я выберу дату начала и дату окончания из этих раскрывающихся меню ниже.
Это дает мне возможность изменить начало недели с понедельника на что-то другое.
Для этой цели подойдет понедельник, поэтому я оставлю все как есть. Затем я нажму ОК.
Как видите, он сразу вычисляет значение NetworkDays , эквивалентное столбцу NetworkDays в Excel .
Теперь позвольте мне настроить это так, чтобы я мог исключить праздники. Мне просто нужно зайти за свой праздничный стол.
Если вы помните из шаблона, таблица Holiday является здесь третьим параметром.
Поэтому я просто воспользуюсь здесь таблицей «Праздники» и сошлюсь на столбец «Дата».
Я поставлю здесь галочку, чтобы применить эти изменения.
[00:11:00]
Сейчас обновился и убрал все праздники. Это точно так же, как столбец для Excel NetworkDays без праздников.
Я просто переименую эту колонку в NWD Нет выходных.
Добавление номеров рабочих дней и выходных в таблицу дат: метод аналитики времени в LuckyTemplates
Демонстрация номера рабочего дня в LuckyTemplates с использованием DAX
Расчет среднего значения в LuckyTemplates: выделение результатов рабочих дней или выходных с помощью DAX
Заключение
Вы увидите, что оба подхода, которые я использовал, сильно отличались друг от друга, но оба они дали одинаковые результаты. Это только показывает, что существует множество способов максимизировать LuckyTemplates, даже если конкретная функция Excel, которую вы ищете, не имеет прямого аналога.
Это был отличный результат для серии Time Intelligence. Мне понравилось работать с Мелиссой Декорте, чтобы показать вам все эти замечательные сценарии Time Intelligence.
Одна из вещей, которую я действительно хочу здесь подчеркнуть, заключается в том, что DAX — самая интересная часть LuckyTemplates. Но когда вы освоите все тонкости LuckyTemplates, вы начнете ценить другие решения, которые вообще не используют DAX. Последний подход, который я показал вам выше, а также советы, которыми я поделился в прошлых видеороликах о Time Intelligence, доказывают этот факт.
Всего наилучшего,
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.