Использование параметров с представлениями метрик

Параметры позволяют передавать значения в представление метрик при запросе. Используйте параметры, чтобы повторно использовать одно определение представления метрики для разных входных значений, таких как ставка дисконтирования или диапазон дат. Можно ссылаться на параметр везде, где допустимо константное выражение SQL, например в фильтрах, в выражениях полей и мер, в источнике и в соединениях. Вы также можете ссылаться на целочисленный параметр как на значение меры range окна или offset, чтобы вызывающий передавал размер окна во время запроса. Передайте значение в качестве аргумента при запросе представления.

Параметры сокращают дублирование. Вместо того, чтобы поддерживать отдельное представление метрик для каждого варианта, вы определяете логику один раз и позволяет каждому вызывающему объекту предоставлять свои собственные значения. Параметр может иметь значение по умолчанию, поэтому, если при вызове аргумент не передаётся, используется значение по умолчанию.

Значения параметров можно передать из SQL-запроса или панели мониторинга AI/BI. На панели мониторинга подключите параметр к мини-приложению фильтра, чтобы позволить зрителям выбирать значение во время выполнения. См. Использование параметризованного запроса на панели мониторинга.

Требования

  • Чтобы создать представление метрики, определяющее параметры, необходимы права CREATE TABLE и USE SCHEMA на схему, а также право USE CATALOG на родительский каталог. Полный список привилегий, необходимых для создания представления метрик, см. в разделе "Создание представления метрик".
  • Чтобы запросить представление метрик, определяющее параметры, требуется хранилище SQL или другой вычислительный ресурс, работающий под управлением Databricks Runtime 18.2 или более поздней версии. Дополнительные требования к версии см. в разделе " Доступность функций представления метрик".

Limitations

Следующие ограничения применяются к представлениям метрик, определяющим параметры:

  • Невозможно материализовать представление метрик, определяющее параметры.
  • Значения по умолчанию имеют ограничения. Значение по умолчанию должно допускать приведение к объявленному типу данных параметра и не может ссылаться на другой параметр или содержать подзапрос. Если для одного параметра задано значение по умолчанию, каждый следующий параметр также должен иметь значение по умолчанию. См. параметры.

Определить параметры

Параметры можно определить в редакторе с низким кодом обозревателя каталогов или непосредственно в YAML. После создания параметра ссылайтесь на него по имени в любом месте допустимого константного выражения SQL, например в фильтрах, выражениях полей и мерах, источнике и соединениях. Вы также можете ссылаться на целочисленный параметр как на значение меры range окна или offset. См. размеры окна.

Чтобы определить параметры в YAML, добавьте блок верхнего уровня parameters в определение представления метрик. Полный справочник по полю и пример YAML см. в разделе "Параметры".

В следующих шагах используются low-code-редактор Catalog Explorer и таблица samples.tpch.orders, доступная в каждой рабочей области, для создания представления метрик с параметром discount и двумя показателями. Одна мера применяет параметр, а другая вычисляет нерасчетную общую сумму, чтобы можно было сравнить два.

Шаг 1. Создание представления метрик

Создайте представление метрик для хранения параметра и мер.

  1. Щелкните значок данных.Каталог на боковой панели рабочей области, а затем используйте панель поиска, чтобы найти samples.tpch.orders и щелкнуть имя таблицы.
  2. Нажмите кнопку "Создать>представление метрик".
  3. В диалоговом окне "Создание представления метрик " введите имя, а затем выберите каталог и схему, чтобы создать представление метрик. Нажмите кнопку Создать.

Откроется редактор на вкладке пользовательского интерфейса . Полное пошаговое руководство редактора представления метрик см. в разделе "Создание представления метрик".

Шаг 2. Добавление параметра

discount Добавьте параметр с числовым типом и значением по умолчанию.

  1. В заголовке редактора нажмите кнопку "Добавить параметр".

  2. В диалоговом окне Сведения о параметрах:

    1. Введите discountимя.
    2. Выберите Числовой в раскрывающемся списке Тип.
    3. Выберите Double в появившемся раскрывающемся списке Числовой тип.

    Кнопка

  3. Щелкните вне диалогового окна, чтобы закрыть его, а затем введите 0.15 в качестве значения по умолчанию для discount.

    Параметр скидки со значением по умолчанию 0,15.

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

Шаг 3. Добавление меры, которая использует параметр

Ссылка на параметр по имени в выражении меры. Эта мера применяет скидку к общей сумме каждого заказа.

  1. Щелкните вкладку "Меры " в верхней части редактора.

  2. Выберите + Добавить.

  3. Введите Discounted Sales в качестве названия меры.

  4. Нажмите кнопку "Пользовательский", а затем введите следующее выражение:

    SUM((1 - discount) * source.o_totalprice)
    

Шаг 4. Добавление другой меры

Добавьте второй показатель для общей суммы без скидки.

  1. Выберите + Добавить.
  2. Введите Total Sales в качестве названия меры.
  3. В Builder выберите source.o_totalprice и агрегацию Сумма, чтобы создать SUM(source.o_totalprice).

Шаг 5. Сохранение представления метрик

Нажмите кнопку Сохранить. Чтобы запросить представление метрик и передать значение параметра discount , см. статью "Запрос представления метрик с параметрами".

Запрос представления метрик с параметрами

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

Передача аргументов по имени

Чтобы передать аргумент по имени, используйте оператор =>. В следующем примере передается discount значение 0.15:

SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(discount => 0.15)
GROUP BY product;

Передача аргументов по позиции

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

SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(0.15)
GROUP BY product;

Использование значений параметров по умолчанию

Чтобы использовать значения параметров по умолчанию при вызове представления метрик, опустите аргументы. Следующие запросы эквивалентны и используют все значения по умолчанию:

SELECT product, MEASURE(discountedSales) FROM catalog.schema.metric_view() GROUP BY product;
SELECT product, MEASURE(discountedSales) FROM catalog.schema.metric_view GROUP BY product;

Просмотр параметров, определяющих представление метрик

Чтобы просмотреть параметры, определяющие представление метрик, просмотрите его определение YAML, включающее parameters блок. См. Просмотр определения представления метрик и метаданных.

Использование параметризованного запроса на панели мониторинга

Вы можете использовать любой из этих запросов для определения набора данных на панели мониторинга ИИ/BI. Сошлитесь на представление метрик в SQL-наборе данных и передайте параметр как аргумент при вызове табличнозначной функции. Чтобы пользователи панели мониторинга могли выбирать значение во время работы, передайте параметр панели мониторинга в аргумент и свяжите его с виджетом фильтра. См. раздел "Передача параметров в представление метрик".

Дополнительные ресурсы