Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
Сегодня я хотел рассказать об уникальной методике кумулятивных итогов на основе среднемесячных результатов в LuckyTemplates . Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Чтобы установить диапазон дат для расчета среднемесячных результатов, мы будем использовать срез даты.
Срез LuckyTemplates — это альтернатива фильтрации , которая сужает часть набора данных , отображаемую в других визуализациях отчета. Срез даты или фильтр просто используются для ограничения относительных диапазонов дат в LuckyTemplates.
Суммарный итог , с другой стороны, используется для отображения общей суммы данных по мере ее роста со временем или любого другого ряда или прогрессии.
Обычно, когда мы просматриваем , мы анализируем их за определенную дату или за месяцы и годы . В этой статье мы собираемся рассчитать совокупные итоги только за месяцы.
Интересная вещь в этом конкретном методе заключается в том, что когда у вас есть контекст только для месяца , вам нужно учитывать разные выбранные годы. Это может произойти с помощью выбора среза даты LuckyTemplates или фильтра на уровне страницы.
Этот конкретный пример взят из очень интересной темы на форуме поддержки . Проверьте это, если вы хотите просмотреть больше.
Оглавление
Оценка проблемы
Кто-то хотел показать совокупный объем продаж по названию месяца , а не по месяцам и годам .
Теперь проблема заключается в том, что выбор даты, который у вас есть, в конечном итоге длится целый год.
Итак, нам нужно проанализировать, как мы можем, скорее всего, просто продолжать получать совокупный итог, как это было в один выбранный конкретный год.
Например, если у вас в таблице дат есть январь-сентябрь следующего года, скорее всего, у вас там будет 20 месяцев. В этом случае стандартный паттерн Cumulative Total не будет работать, поэтому нам придется его переработать.
Это определенно интересный сценарий и действительно хорошая возможность изучить продвинутый DAX для всех.
Во-первых, давайте кратко рассмотрим, как на самом деле работает стандартный паттерн Cumulative Total .
Обзор кумулятивной общей модели
В этом примере мы рассмотрим очень общий Sales .
Эта формула предназначена для расчета продаж в пределах выбранного диапазона . Функция ALLSELECTED здесь в первую очередь отображает значения, основанные на любом диапазоне дат, выбранном в этом конкретном отчете.
И, как вы можете видеть здесь, в этом слайсере дат LuckyTemplates , сейчас мы находимся между 2 февраля и 20 сентября .
Теперь, в этой текущей контекстной таблице, мы можем проверить, что формула для совокупных продаж работает совершенно нормально. Это связано с тем, что он по-прежнему рассчитывает накопление общего объема продаж с января по сентябрь.
Конфликт при использовании кумулятивной общей модели для среднемесячных результатов
Хотя в настоящее время формула Cumulative Total работает нормально, могут возникнуть проблемы при расчете на основе среза даты .
Как показано на изображении, я просто медленно расширил диапазон дат и перетащил его на следующий год.
Эта формула накапливает ежемесячный общий объем продаж , но также начинает переносить накопление в новые месяцы. Итак, это приводит к нечетному значению для января , которое на самом деле является просто продолжением всех предшествующих месяцев .
Другими словами, он правильно вычисляет, но на самом деле не дает нам того результата, который нам особенно нужен.
Что он сейчас делает здесь, так это то, что он начинается со значения для января и продолжается до декабря ; а затем снова возвращается к январю , накапливая данные с декабря и так далее.
Если я просто перетащу дату еще раз, вы увидите, что значение «Совокупный объем продаж» снизится еще ниже по мере продвижения.
И затем, когда вы на самом деле затянете это довольно далеко, вы заметите, что Совокупные продажи с января по май составили 23 миллиона , что в основном составляет общее количество. Это просто своего рода цикл для каждого отдельного месяца каждого отдельного года.
На самом деле нам может понадобиться здесь получить обновленный Cumulative Total на основе среднемесячных результатов ; при этом он должен начинаться с общего объема продаж за январь , а затем накапливаться оттуда.
Чтобы решить эту проблему, требуется техника, которая немного отличается от того, что вы думаете. Нам также необходимо убедиться, что итоговые значения верны и что они динамически адаптируются к различным выборам в слайсере дат , которые могут исходить от пользователей.
Столбец совокупных продаж за месяц
Я собираюсь привести результат моей формулы для этой конкретной проблемы и показать, почему она действительно работает.
По-видимому, вы увидите здесь, что он всегда накапливает ежемесячный общий объем продаж .
Но посмотрите, что происходит, когда я пытаюсь расширить this.
Он всегда накапливается с января . Он не выполняет странных вычислений, которые делает паттерн Cumulative Sales .
Очевидно, что столбец «Совокупные ежемесячные продажи» дает более логичный результат.
С другой стороны, результат совокупных продаж не имеет особого смысла с точки зрения визуализации.
Что я сделал в своем решении, так это воссоздал новый шаблон, который дал нам ответ, который нам нужен для этого конкретного сценария.
Давайте теперь обсудим, как мы смогли работать над предоставленным решением.
Создание диапазона дат
Создание диапазона дат — это первое, что нам нужно, чтобы установить формулу.
Чтобы создать это, мы инициализировали минимальную дату , которая была представлена переменной MinDate; и максимальная дата , которая была представлена переменной MaxDate . Затем мы произвели расчет для каждой переменной, используя ALLSELECTED, MIN и .
Функция ALLSELECTED получает контекст, который представляет все строки и столбцы в запросе , сохраняя при этом явные фильтры и контексты , отличные от фильтров строк и столбцов . Эту функцию можно использовать для получения визуальных итогов в запросах.
При этом возвращает наименьшее значение в столбце или между двумя скалярными выражениями, а функция MAX возвращает наибольшее значение.
После инициализации минимальной и максимальной даты мы смогли создать диапазон дат немного другим способом, чем мы сделали в шаблоне Cumulative Total .
Мне нужно было воссоздать эту часть таблицы, где у меня было название месяца и общий объем продаж. Это потому, что мы хотели рассчитать его только в этом конкретном диапазоне дат.
Итак, с помощью функции SUMMARIZE я смог сузить диапазон дат .
Добавление столбцов MonthName и MonthNumber
Как видите, мы включили столбец MonthName из таблицы Dates и столбец Sales , который в основном представляет собой Total Sales .
Итак, первая часть формулы в настоящее время сильно отличается от шаблона кумулятивных продаж .
Кроме того, мы добавили MonthNumber в логический шаблон. Это было получено из таблицы Dates . Это будет виртуальный или воображаемый столбец , в котором будут установлены значения от 1 до 12 для месяцев с января по декабрь .
Из значений столбца MonthNumber я смог рассчитать совокупный итог на основе количества месяцев.
Расчет совокупного итога на основе количества месяцев
Чтобы быть более конкретным, последующие части формулы перебирают каждую строку в указанной таблице.
Затем столбец MonthNumber будет оцениваться, если он меньше или равен максимальному месяцу года .
Эта часть вычисляет номер текущего месяца.
Например, если мы находимся в мае месяце , значение MonthNumber будет равно 5 . Затем этот конкретный логический шаблон внутри перебирает эту таблицу для каждой отдельной строки .
В этот момент он оценит, есть ли какие-либо числа, которые меньше или равны 5 . Если они есть, он включит их в расчет и сохранит этот столбец из таблицы.
Наконец, мы подсчитаем количество продаж .
И вот как мы добираемся до 11-го ряда , то есть ноября .
Эта часть оценила ноябрь как 11 .
Мы прошлись по всей таблице и оценили, меньше или равно ли 11-е число месяца текущему месяцу в контексте, который равен 11 .
Затем мы пойдем и подсчитаем продажи , которые представлены этим конкретным столбцом внутри .
Совокупные итоги в LuckyTemplates без каких-либо дат — расширенные
промежуточные итоги DAX в LuckyTemplates: как рассчитать с помощью формулы DAX
Сравнить совокупную информацию за разные месяцы в LuckyTemplates
Заключение
В моем предложенном решении я использовал комбинацию формул DAX, включая SUMX и SUMMARIZE . Но что вам также нужно сделать, так это убедиться, что вы обертываете эти конкретные функции оператором FILTER.
Этот оператор фильтра позволит вам в конечном итоге получить правильный совокупный итог на основе динамической логики даты.
В этом конкретном руководстве есть чему поучиться, но это действительно интересное содержание. Надеюсь, вы сможете реализовать некоторые из этих методов в своих собственных моделях.
Когда вы научитесь объединять множество внутри LuckyTemplates , решение этих уникальных сценариев станет абсолютно достижимым.
Удачи вам в этом.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать