Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

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

У него очень специфическое использование, которое может быть полезно, если вы хотите упростить свою модель данных и формулы DAX.

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

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

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

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

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

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

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

Оглавление

Структура модели для виртуальных отношений

Наша модель здесь довольно подробная, но в этом уроке давайте сосредоточимся на виртуальных таблицах. Если вы посмотрите на таблицу «Региональные бюджеты», вы заметите, что в ней нет физической связи между чем-либо.

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

Подобные виртуальные столы сделают за нас всю тяжелую работу. Они создадут для нас правильные фильтры в соответствии с расчетами, которые мы хотим показать на основе нашего выбора.

Присмотревшись к нашим региональным бюджетам, вы увидите, что они разбиты по городам. У нас есть фактический бюджет на 2018 год по городам . Это было создано с помощью формулы, но я не буду вдаваться в нее сейчас, потому что это тема другого урока.

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

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

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

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

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

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

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

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

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

Использование TREATAS для создания виртуальных отношений

Прежде всего, нам нужно создать вычисление, которое можно фильтровать по чему-либо в таблице регионов. Если вы понимаете, как работает LuckyTemplates TREATAS, вы сможете упростить свои модели и создать эти виртуальные отношения. 

Таким образом, в нашей первой формуле « Годовой бюджет» мы суммируем годовой итог , но мы также можем отфильтровать этот годовой итог по какому-либо признаку в таблице города или региона . Это связано с тем, что мы связываем столбец «Город» в таблице «Региональные бюджеты» со столбцом «Город» в таблице «Регионы».

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

Но в этом случае у нас есть только годовая информация. Нам нужно разбить его по месяцам, и именно здесь возникает чувствительность. Я создал еще один показатель под названием « Ежемесячные бюджеты на 2018 год ».

Здесь мы создаем виртуальную связь между таблицей «Дата» , которая является столбцом «Краткий месяц» , и столбцом «Название месяца» в таблице «Чувствительность к бюджету»

Если в определенном контексте это может быть месяц и год, эта чувствительность бюджета будет отфильтрована на основе этого. Это именно то, что происходит в логике ЕСЛИ этой меры. Затем годовой бюджет умножается на BudgetAllocation .

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

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

Первая часть этой формулы дневного уровня, Ежедневные бюджеты на 2018 год , очень похожа на то, что мы сделали с месячным уровнем. Затем мы вычисляем, сколько дней в любом конкретном месяце или контексте мы можем быть , и это то, что происходит в нашей переменной ( VAR ) для DaysInMonth.

Создание виртуальных отношений в LuckyTemplates с помощью функции TREATAS

Мы используем COUNTROWS в таблице Dates , удаляем контекст для Dates с помощью функции ALL , но затем добавляем его обратно для месяца и года с помощью функции VALUES . Итак, это говорит о том, что если мы в январе, то будет 31 день. И затем мы используем ту же логику ЕСЛИ, но мы умножаем ее на 1, а затем делим на 31 (для января).


Глубокое погружение в функцию TREATAS — виртуальные отношения для LuckyTemplates
Распределение ежемесячных прогнозов по ежедневным результатам в LuckyTemplates Использование DAX
Использование функций LuckyTemplates DAX для работы с продуктами, цены на которые постоянно меняются

Заключение

Виртуальные отношения можно использовать по-разному. Конечно, есть много других сценариев, в которых можно использовать эту технику, но это очень хороший пример. Мы создали виртуальные отношения внутри LuckyTemplates с помощью функции TREATAS.

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

Вместо того, чтобы иметь ряд отношений, которые могут внести ряд сложностей в вашу разработку, функция TREATAS может действительно упростить аспект модели данных и отношения, которые могут быть встроены в ваши формулы 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 для своих бизнес-отчетов.

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать