Запрос DAX в LuckyTemplates: понимание его логического потока

В этом руководстве вы узнаете, как выполняется запрос DAX в LuckyTemplates DAX Studio. В этом руководстве представлены две блок-схемы. На первой блок-схеме показан основной процесс выполнения запроса DAX. Между тем, вторая блок-схема дает отличный пример, чтобы лучше визуализировать процесс.

Оглавление

Блок-схема запроса DAX в LuckyTemplates

На этой блок-схеме показано, как DAX Studio выполняет запрос DAX.

Запрос DAX в LuckyTemplates: понимание его логического потока

Первым шагом, конечно же, является написание запроса DAX в LuckyTemplates DAX Studio. Когда вы нажимаете кнопку «Выполнить», запускается синтаксический анализатор DAX . Он проверяет, является ли написанный вами код действительным или нет. Это включает в себя проверку того, является ли запрос каким-либо образом неполным, например, отсутствием синтаксиса или квадратных скобок.

Запрос DAX в LuckyTemplates: понимание его логического потока

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

После построения плана логического запроса модуль формул извлекает данные из механизма хранения. Затем механизм хранения строит план физического запроса. После этого результат возвращается обратно конечному пользователю.

Есть два способа вернуть данные в Formula Engine. Механизм формул может либо отправить запрос в столбцовую базу данных в памяти, VertiPaq , либо в реляционный источник данных.

Запрос DAX в LuckyTemplates: понимание его логического потока

Как только VertiPaq получает запрос от Formula Engine, происходят две вещи: VertiPaq выполняет сканирование и выполняет запрос xmSQL . Кэш данных отправляется обратно в модуль формул, который, в свою очередь, отправляет результат обратно вызывающей стороне.

В случае DirectQuery службы Analysis Services перенаправляют запрос из обработчика формул в источник данных. Затем источник данных выполняет собственный язык, подготавливает кэш данных и отправляет его обратно в службы Analysis Services.

Затем службы Analysis Services отправляют кэш данных в обработчик формул. Этот движок обрабатывает кэш данных и отправляет их конечному пользователю. В случае составной модели в VertiPaq отправляется частичный запрос, который затем отправляется в DirectQuery.

Пример запроса DAX в LuckyTemplates

Давайте рассмотрим пример, чтобы лучше понять процесс.

Запрос DAX в LuckyTemplates: понимание его логического потока

Например, вы хотите написать код DAX , который вычисляет общую сумму продаж, если цвет продукта «красный».

Запрос DAX в LuckyTemplates: понимание его логического потока

Когда вы запускаете этот код, синтаксический анализатор DAX сначала проверяет, не допустили ли вы ошибок в коде.

Если все в порядке, модуль формул подготовит план логического запроса и извлечет кэш данных из механизма хранения. Как только Storage Engine получает запрос, псевдоязык SQL, называемый xmSQL, создает запрос.

Запрос DAX в LuckyTemplates: понимание его логического потока

Затем код xmSQL извлекает кэш данных и отправляет его в обработчик формул.

Запрос DAX в LuckyTemplates: понимание его логического потока

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

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

Заключение

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

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

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

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