Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Цель этого руководства — обсудить, как рассчитать расстояние и азимут в LuckyTemplates и как их эффективно использовать для геопространственного анализа .
Вы можете найти множество расчетов расстояния в Интернете. Для этой демонстрации я буду использовать упрощенный пример решения, которое мне нужно было построить для одного из моих проектов сети цепочки поставок.
Я также покажу расчет расстояния по прямой линии от склада доставки до пунктов обслуживания.
Здесь у меня есть слайсер для выбора расстояния с использованием меры DAX . Это позволяет динамически анализировать клиентов, потоки, вес, доход и любые другие значения в пределах выбранного расстояния.
Вычисление расстояния по большому кругу, также известное как формула Хаверсина , является основной мерой этого руководства. Если вы освоите эту технику, вы сможете выполнить расчет любого требуемого расстояния и азимута.
Хотя я предпочитаю выполнять большинство вычислений в Power Query, необходимо использовать меру DAX, когда вам нужно динамически анализировать данные на основе выбираемого расстояния.
Если возможно, фактическое расстояние может быть предпочтительным вариантом. Однако во многих случаях вам это не понадобится, так как расстояния по прямой будет достаточно.
Google или Bing API можно использовать для добавления расстояния в Power Query как для фактического, так и для прямого расстояния. Рекомендуется иметь больше инструментов в вашем наборе геопространственных инструментов. Однако в этом руководстве не будет обсуждаться применение API к LuckyTemplates.
Оглавление
Понимание сценария
Меня попросили помочь с привязкой ближайших к бизнесу посылочных автоматов по домашнему адресу сервисных инженеров.
Сервисные инженеры работали в заранее определенных рабочих зонах, которые со временем могли меняться, и начинали эту работу из дома.
Ночью произошло пополнение срочных запчастей в посылочные автоматы. На следующее утро инженер собирал запчасти из почтового ящика по дороге на работу.
Обычно для такого анализа я использую программное обеспечение ГИС (географическая информационная система). Но теперь я попытаюсь сделать это с помощью LuckyTemplates, чтобы получить модель динамического распределения. Я также использовал как расстояние по прямой, так и расчет пеленга.
В ГИС угол азимута используется для навигации или направления. В этом примере я добавил азимут , преобразованный в направление ( Ориентация ), потому что само по себе расстояние не дает полного решения.
Ближайший посылочный автомат может располагаться в противоположном направлении от рабочей зоны. Итак, я также хотел показать направление.
Это позволяет ограничить выбор для распределения шкафчиков на основе соответствующих географических заголовков с рабочей областью.
Например, рабочая зона находится к северу от его дома. Таким образом, предпочтительное местонахождение почтового ящика должно быть в том же направлении.
Анализ набора данных расстояния и азимута
В этом упрощенном примере набор данных включает адреса в Нидерландах и места расположения бесплатных посылочных автоматов.
Он содержит столбцы для Широты и Долготы (от и до ) , Депо , Имя , Стоимость запчастей и Спрос .
Рядом с исходной таблицей находятся вычисляемые столбцы и расчеты расстояний в Excel. Сначала я вычислил радианы.
Затем я создал фактические расчеты расстояния как для миль, так и для километров, используя радианы и формулу гаверсина .
Расчет расстояния и азимута: создание демонстрационных данных
Расчеты пеленга первоначально приводят к десятичному числу в градусах. Итак, мне нужно преобразовать это во что-то более практичное.
Я создал столбец таблицы с градусами от 1 до 360. Я также добавил столбец для направлений по компасу.
Кроме того, я добавил столбец SORT для сортировки направлений по часовой стрелке в LuckyTemplates.
После этого я загрузил набор данных sourceNL и таблицу Orientation в Power Query.
Давайте взглянем на исходную таблицу NL .
Добавление столбцов
Во-первых, я добавил столбец Index . Всякий раз, когда я делаю преобразования в редакторе, я добавляю столбец индекса либо для справки, либо для сортировки.
Затем я округлил широту и долготу до 4 цифр , что важно для больших наборов данных. Сделав это, он вернет точность 11 метров , чего все еще достаточно.
Ради этого примера я добавил каждый шаг в отдельный вычисляемый столбец, чтобы показать карту. Я вычислил значения широты и долготы в радианах точно так же, как в Excel.
Затем я применил формулу Хаверсина для расчета расстояний как в милях, так и в километрах.
Подшипник и ориентация
Для подшипника расчет по другой формуле, которую я взял из сети. Я просто немного подправил его, чтобы он соответствовал моим целям для этого сценария .
Первоначально этот расчет производится в радианах. Это совершенно бесполезно. Итак, мне нужно преобразовать его.
Это предварительный шаг подшипника . Это для преобразования радианов в следующий шаг моего расчета.
Для следующего шага я изменил отрицательные числа и скорректировал их, применив этот расчет.
После этого я округлил Пеленг, чтобы получить целое число.
Я удалил столбцы Bearing (rad) , Bearing pre и Bearing . Затем я переименовал колонку Naar boven afronden в Bearing Roundup .
Теперь я могу объединить столбец Bearing Roundup в этой таблице со столбцом BEARING из таблицы Orientation .
Сделав это, я смогу получить направление.
Теперь у меня есть столбцы пеленга ( Bearing Roundup ) и направления ( Orientation_Direction ), которые я буду использовать для следующей модели.
Вот результат в Power Query.
Скрипт R для расчета расстояния и азимута
Для этого я буду использовать решение со скриптом R. Это набор данных с рассчитанными расстояниями в милях и километрах.
Я запускаю этот R-скрипт , который намного короче и чище, чем формулы.
После запуска сценария R у меня теперь есть 3 таблицы.
Вот результат. Я тоже округлил.
Как видите, результаты расчета R-скрипта и расчета Excel аналогичны.
Добавление визуальных элементов карты
Наконец, я добавлю визуальное отображение конечного результата.
Для этого я повторил шаги в отчете LuckyTemplates . Я загрузил таблицу с 3 местоположениями. Я также загрузил таблицу Orientation и набор данных ( selectionNL ) со столбцом Sort . Затем я объединил столбцы для ориентации .
Это завершает окончательную модель.
Геопространственный анализ — новый курс по
визуализации данных LuckyTemplates LuckyTemplates — динамические карты во всплывающих подсказках
Визуализация карты формы LuckyTemplates для пространственного анализа
Заключение
В этом отчете я решил показать направление, которое видит клиент. Вы можете отменить это или показать оба в своем отчете, в зависимости от ваших предпочтений. Все, что требуется, это поменять местами от и до широту и долготу в расчете.
Надеемся, что это руководство способствовало лучшему пониманию расчетов расстояния и азимута в целом.
Перейдите по ссылкам ниже для получения дополнительных примеров и соответствующего контента.
Ваше здоровье!
Павел
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.