Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
В этом блоге я собираюсь сравнить вычисляемый столбец и показатели LuckyTemplates, а затем рассказать о некоторых их различиях. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Я также собираюсь показать вам оптимальные ситуации, когда вы можете использовать любой из них.
Оглавление
Создание вычисляемых столбцов
Я собираюсь начать с создания вычисляемого столбца в LuckyTemplates . Это, вероятно, то, с чем вы больше всего знакомы, если у вас есть опыт работы с Excel.
В Excel вы привыкли получать таблицу данных, вводить некоторые формулы Excel, а затем повторять все это снова, пока не получите желаемый результат.
Вы также можете сделать это внутри LuckyTemplates.
Как видите, в таблице Sales не так уж много информации, которой я располагаю.
Однако в моей таблице «Продукты» есть довольно много полезной информации, которую я мог бы использовать, например, текущая цена продукта, стоимость продукта и так далее.
Я добавлю вычисляемый столбец в таблицу «Продажи», а затем найду формулу или функцию, которая позволит мне переносить фрагменты информации из таблицы «Продукты» в таблицу «Продажи». Затем я бы поместил его в этот вычисляемый столбец.
Модель — это большая часть того, почему я могу это делать. Эта модель, которую я построил, позволяет мне добиться этого.
Чтобы создать вычисляемый столбец в LuckyTemplates, нажмите «Новый столбец».
Я назову этот столбец «Цены».
В строке формул я изменю «Столбец» на «Цены».
Я собираюсь начать добавлять формулы, которые мне нужны.
Во-первых, я собираюсь использовать функцию, функцию, которая возвращает связанное значение из другой таблицы.
Внутри СВЯЗАННОЙ функции введите «Текущая цена», выберите столбец «Текущая цена» в таблице «Товары», а затем сразу же закройте скобки.
По сути, я перенес значения из столбца «Текущая цена» в таблице «Продукты» в вычисляемый столбец. Я сделал это, обратившись к столбцу «Текущая цена» внутри функции RELATED.
Каждая строка этой таблицы Sales представляет одну транзакцию.
Обратите внимание, что после ввода формулы теперь отображаются цены, соответствующие каждому продукту, который был куплен в каждой транзакции.
Я также могу добавить новый вычисляемый столбец LuckyTemplates, который я назову «Доход».
Для этого снова нажмите на столбец New.
Затем в строке формул измените столбец на доход.
Введите «Цены», а затем щелкните столбец «Цены» в таблице «Продажи», чтобы сослаться на него.
После этого я собираюсь умножить значения в этом столбце на значения в столбце «Количество».
Я введу оператор умножения « * » и выберу столбец «Количество» в таблице «Продажи».
Я добавил столбец «Доход» в таблицу «Продажи», сославшись на столбец «Цены», а затем умножив его на столбец «Количество».
Чтобы добавить в таблицы дополнительную информацию, как это сделал я, вам потребуется создать множество вычисляемых столбцов.
Однако замечательная особенность LuckyTemplates заключается в том, что если вы правильно настроили свою модель, вам не нужно этого делать. Вы можете использовать меры и функции DAX внутри этих мер вместо вычисляемых столбцов.
Хотя у вычисляемых столбцов есть свое предназначение, размещение их в таблице фактов на самом деле не является оптимизированным способом.
Однако имеет смысл использовать вычисляемые столбцы в таблице поиска . Я объясню почему позже.
Но перед этим я покажу вам, как меры работают в LuckyTemplates.
Создание мер
Сначала я возьму имя клиента, а затем перетащу его на холст.
А затем я превращу его в таблицу, щелкнув выделенный значок на вкладке «Визуализации».
Теперь я собираюсь написать формулу в качестве меры, чтобы показать вам, что я также могу рассчитать число доходов, которое я получил ранее, без необходимости добавлять точки данных в таблицу фактов.
На вкладке «Поля» под таблицей «Продажи» я вижу столбец «Доход», который я сделал ранее.
Я возьму эту колонку и перетащу ее на стол.
После этого я теперь могу видеть доход, который я получаю от каждого из клиентов.
Я не хочу, чтобы вы делали это в LuckyTemplates. Если вы хотите внести некоторые вычисления в свой визуальный элемент, захват столбца и перетаскивание его в визуальный элемент — неправильный способ сделать это.
Использование мер для расчета является более оптимальным способом ведения дел.
Я просто перетащил столбец в свою таблицу, чтобы проверить, действительно ли я могу получить тот же результат, используя меры.
Показатели, которые сильно отличаются от вычисляемых столбцов, похожи на виртуальные вычисления.
В то время как вычисляемый столбец LuckyTemplates выполняет вычисление, а затем внедряет данные в таблицу, мера выполняет вычисление только тогда, когда вы переносите его в визуальный элемент.
Это отличный способ выполнить множество вычислений в вашей модели, не занимая много места.
Сейчас я покажу вам, как работает мера. Сначала перейдите на вкладку Главная, а затем выберите Новая мера.
Я назову этот показатель «Общий объем продаж».
Первая функция, которую я собираюсь использовать, называется , итерирующая функция , которая возвращает сумму выражения, оцениваемого для каждой строки в таблице.
Чтобы добавить эту функцию, я собираюсь перейти на новую строку, нажав Shift + Enter на клавиатуре, а затем ввести SUMX.
Как видите, функция требует от меня ввода таблицы и выражения.
Функция будет перебирать таблицу, а затем запускать выражение или логику, в зависимости от того, что вы вводите внутри функции.
Здесь я собираюсь использовать таблицу Sales, которая у меня есть.
Внутри функции я введу «Продажи», а затем щелкну таблицу «Продажи», чтобы сослаться на нее.
Для выражения я пройдусь по таблице Sales. Затем в каждой строке я буду умножать значения из столбца «Количество» на значения из столбца «Текущая цена» в таблице «Товары».
Точно так же, как я делал ранее, чтобы получить значения из столбца «Текущая цена», мне нужно использовать СВЯЗАННУЮ функцию.
Для этого введите «Количество», а затем выберите столбец «Количество» в таблице «Продажи». Затем введите оператор умножения '*' сразу после.
Теперь, чтобы получить значения из столбца Текущая цена, введите СВЯЗАННУЮ функцию. Внутри него введите «Текущая цена», а затем выберите столбец «Текущая цена» в таблице «Товары».
СВЯЗАННАЯ функция возвращает связанное значение из другой таблицы, в данном случае таблицы Products.
Формула, которую я установил, показанная выше, может показаться вам знакомой. Это то, что я сделал именно в вычисляемых столбцах, чтобы получить число доходов.
Основное отличие состоит в том, что внутри меры расчеты выполняются виртуально. Это означает, что он использует ту же логику, но мне не нужно добавлять какие-либо точки данных в таблицу фактов.
После нажатия Enter вы можете увидеть меру в передней части таблицы «Продажи» на вкладке «Поля».
Вы бы знали, что это мера, когда рядом с именем есть значок калькулятора.
Возьмите показатель Total Sales и перетащите его в таблицу.
Вы увидите, что я получил точно такой же результат без добавления точек данных в мою таблицу фактов. Это было сделано практически более оптимизированным способом с использованием .
Теперь, как я уже говорил ранее, я не рекомендую перетаскивать столбцы в ваши визуальные эффекты. Я собираюсь удалить столбец «Доход», нажав X, как показано ниже.
Поскольку я могу рассчитать доход без расчетных столбцов, которые я сделал ранее, я собираюсь удалить их, так как они мне действительно не нужны.
Сначала я удалю столбец «Доход».
И затем я также удалю столбец «Цены».
Каждая точка данных в вашей модели занимает некоторую память. В небольших моделях наличие ненужных точек данных не имеет большого значения.
Но иногда вы сталкивались с моделями с миллионами строк. В этом случае мы тратим часть памяти на миллионы строк, которые нам на самом деле не нужны.
В этой конкретной таблице у меня 15 000 строк. Удалив ненужные точки данных в таблице, я оптимизировал свою модель. Я удалил много строк, которые мне не нужны.
Теперь показатель Total Sales, который я сделал, полностью динамичен. И я покажу вам, почему.
На вкладке «Поля» возьмите таблицу «Продавец» и перетащите ее в визуальное представление.
После этого я собираюсь добавить фильтр, щелкнув выделенный значок на изображении ниже.
В этом фильтре вы можете увидеть общий объем продаж от каждого продавца.
Давайте выберем Карла Эллиота.
Вы видите, что число меняется. Эти новые цифры теперь представляют собой общий объем продаж, который вы получаете от продуктов, проданных Карлом Эллиоттом.
Вы можете отсортировать эти числа, щелкнув заголовок столбца «Общий объем продаж».
Вот еще одно визуальное представление, которое вы получаете, щелкнув выделенный значок на вкладке «Визуализации».
Если мы выберем Эрнеста Уилера в слайсере «Продавец», мы получим общий объем продаж по продуктам, которые он продал.
Как вы заметили, цифры или визуальные эффекты меняются каждый раз, когда мы меняем продавца.
Вот почему меры динамичны. Все расчеты производятся практически за кулисами, в зависимости от контекста.
Это всего лишь одна формула. Есть еще много формул DAX, которые вы можете использовать для различных целей.
Если вы хорошо используете меры DAX и комбинируете их с правильной моделью, вы можете рассчитать практически все, о чем только можете мечтать.
Если вы не понимаете, что происходит внутри вашей модели, вы начнете думать, что вам нужно писать более сложные формулы DAX. Однако DAX легко реализовать, если вы хорошо настроите свою модель.
DAX, конечно, не простой. Но кривая обучения для этого не так велика, особенно если вы знаете, как правильно настроить свою модель.
Теперь, в качестве другого примера, я собираюсь создать новую меру.
На вкладке «Главная» нажмите «Новая мера».
Я назову эту новую меру как Общее количество. В строке формул измените «Мера» на «Общее количество».
В этом показателе я собираюсь рассчитать общее количество продуктов, которые я продаю каждому покупателю.
Для этого я буду использовать функцию , которая складывает все числа в столбце. Внутри функции СУММ я буду ссылаться на столбец «Количество» из таблицы «Продажи».
Вот как я установил формулу.
Что происходит, так это то, что функция суммирует все числа внутри нашего столбца «Количество». Я в основном суммирую количество продуктов, которые я продал.
Теперь возьмите показатель «Общее количество» на вкладке «Поля» и перетащите его в таблицу.
После этого вы теперь можете увидеть количество продуктов, которые вы продаете каждому из ваших клиентов.
Если вы хотите увидеть разбивку продуктов, которые вы продали, и посмотреть, какие продукты вы продали каждому клиенту, вы можете перетащить столбец «Название продукта» на вкладку «Значения».
Итак, теперь у меня есть разбивка общего объема продаж и общего количества с точки зрения клиента и названия продукта. Это стало возможным только благодаря модели данных, которую я настроил.
Правильное использование вычисляемых столбцов
Последнее, что я хочу вам показать, — это где использовать вычисляемый столбец в LuckyTemplates. Вычисляемые столбцы помогают расширить возможности нарезки и фильтрации.
Поскольку все ваши транзакции лежат в основе вашей модели, которая также является вашей таблицей фактов, все расчеты выполняются там.
С другой стороны, верхние части вашей модели, которые являются вашими таблицами поиска, фильтруют все ваши вычисления в зависимости от того, какую логику вы вкладываете в свои вычисления.
В качестве примера я перейду к таблице Dates.
Скажем, например, я хочу отфильтровать свои расчеты по месяцам. Но для целей визуализации я хочу, чтобы названия месяцев были короткими, поэтому я буду использовать только первые 3 буквы названия месяца.
Поскольку в моей таблице «Даты» нет фильтра «Короткий месяц», я собираюсь его создать.
Добавьте новый столбец в таблицу «Даты», нажав «Новый столбец».
Поскольку я хочу назвать этот столбец «Короткий месяц», я собираюсь изменить столбец на «Короткий месяц» в строке формул.
Затем я собираюсь использовать функцию , которая возвращает указанное количество символов из текста.
Введите функцию LEFT, а затем внутри нее обратитесь к столбцу MonthName из таблицы Dates. Поставьте 3, так как нам нужны только первые 3 буквы названия месяца.
Вот как я установил формулу.
Формула берет первые 3 буквы каждого значения в столбце MonthName и возвращает его в столбец Short Month, который мы только что создали.
Вот что я имею в виду, когда говорю о построении таблиц фильтрации.
Здесь вы фактически не можете использовать меры DAX, так как расчеты не требуются.
Таким образом, чтобы построить столбцы, которые вы будете использовать для фильтрации своих вычислений, вам нужно использовать вычисляемые столбцы.
Давайте теперь воспользуемся столбцом, который я только что сделал, чтобы отфильтровать наши более ранние вычисления.
На вкладке «Поля» возьмите столбец «Короткий месяц» и перетащите его в таблицу.
Чтобы создать фильтр с использованием столбца «Короткий месяц», щелкните выделенный значок на вкладке «Визуализации», как показано ниже.
Теперь, если вы выберете определенный месяц, вы увидите, что расчеты фильтруются в зависимости от продаж, которые у вас были в этом месяце.
Вот пример, если вы выбрали январь в качестве фильтра «Короткий месяц».
Как видите, месяцы в фильтре «Короткий месяц» на самом деле не отсортированы. Чтобы исправить это, вернитесь к таблице «Даты». Вы можете увидеть столбец MonthOfYear, который можно использовать для сортировки фильтра.
Чтобы отсортировать фильтр, выберите столбец «Короткий месяц», перейдите на вкладку «Инструменты для столбцов», выберите «Сортировать по столбцу», а затем щелкните столбец «Месяц года».
После этого вы увидите, что ваш фильтр теперь находится в правильном порядке.
Узнайте, как собирать выборки LuckyTemplates Slicer для использования в других измерениях
Размещение номеров рабочих и выходных дней в таблице дат в LuckyTemplates
Показать результаты до текущей даты или определенной даты в LuckyTemplates
Заключение
В этом блоге я рассказал о различиях между вычисляемым столбцом LuckyTemplates и показателями DAX. Я также обсудил оптимальные способы использования любого из них.
В ваших расчетах гораздо эффективнее использовать показатели DAX. Вы можете сделать это, не добавляя точки данных в свою таблицу фактов.
Но при построении таблиц поиска, которые вы будете использовать для фильтрации вычислений, имеет смысл использовать вычисляемые столбцы.
Я надеюсь, что это поможет в вашем анализе, и я рад, что вы используете оба!
Хорошего дня!
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.