Поделиться через


Работа с виджетами параметров

При добавлении именованного маркера параметра в запрос Azure Databricks отображает виджет для параметра в пользовательском интерфейсе. Мини-приложения позволяют пользователям задавать значения параметров, не изменяя запрос напрямую. Вы можете настроить тип, заголовок и значение по умолчанию каждого мини-приложения.

Мини-приложения параметров поддерживаются в редакторе SQL, записных книжках, панелях мониторинга ИИ/BI и пространствах Genie, но работают по-разному в этих поверхностях. На этой странице описываются мини-приложения параметров в редакторе SQL. Сведения о других поверхностях см. в статье:

В редакторе SQL любой тип параметра (String, Integer, Decimal, Date, Timestamp) может использовать любой тип мини-приложения.

Настройка параметрического виджета

  1. Добавьте именованный маркер параметра в запрос. Мини-приложение отображается в пользовательском интерфейсе.
  2. Щелкните значок шестеренки рядом с мини-приложением, чтобы открыть диалоговое окно мини-приложения. Диалоговое окно создания мини-приложения
  3. Задайте следующие поля:
    • Имя параметра: имя параметра, отображаемого в запросе. При изменении имени параметра в диалоговом окне мини-приложения необходимо также изменить его в запросе.
    • Метка мини-приложения: строка, описывающая мини-приложение
    • Тип мини-приложения: определяет, как пользователи вводят значение. См. сведения о типах мини-приложений ниже.
    • Тип параметра: тип данных параметра. См. типы параметров.
  4. Щелкните за пределами диалогового окна мини-приложения, чтобы сохранить изменения.

Изменение, удаление и изменение порядка мини-приложений

Изменить: щелкните значок шестеренки рядом с мини-приложением, чтобы открыть область параметров.

Удалить: удалите маркер параметра из запроса. Мини-приложение удаляется автоматически.

Переупорядочение: используйте дескриптор перетаскивания слева от виджета для переупорядочения.

Типы мини-приложений

Azure Databricks поддерживает следующие типы мини-приложений для параметров запроса:

Тип мини-приложения Описание
Выпадающий список Пользователи должны выбрать из предопределенного списка.
Combobox Пользователи могут выбрать из предопределенного списка или ввести настраиваемое значение.
Ввод текста Принимает любое значение свободной формы без предложений.
Multiselect Пользователи могут выбрать несколько значений из предопределенного списка.
Динамический раскрывающийся список Заполняет варианты из сохраненного запроса вместо статического списка.
Диапазон даты и времени Определяет начальный и конечный диапазон, используя .min и .max параметры.

Ввод текста

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

SELECT * FROM samples.tpch.region WHERE r_name = :region_param

Представляет предопределенный список значений. Пользователи должны выбрать из списка — свободный ввод не разрешен. Введите допустимые значения в области параметров по одной строке.

SELECT * FROM samples.tpch.orders WHERE o_orderstatus = :status_param

Чтобы создать виджет выпадающего списка, выполните следующие шаги:

  1. Щелкните значок шестеренки рядом с виджетом :status_param.
  2. Установите тип виджета как раскрывающийся список.
  3. Установите тип параметра на String.
  4. Введите значения в поле " Выбор значения параметра" текстового ввода. Нажмите кнопку "Добавить " или нажмите клавишу ВВОД между каждым значением.

Поле со списком

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

SELECT * FROM samples.tpch.part WHERE p_brand = :brand_param

Multiselect

Позволяет пользователям выбирать несколько значений из предопределенного списка. Выбранные значения передаются в запрос в виде коллекции.

SELECT * FROM samples.nyctaxi.trips WHERE
  array_contains(
    TRANSFORM(SPLIT(:list_parameter, ','), s -> TRIM(s)),
    CAST(dropoff_zip AS STRING)
  )

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

  1. Щелкните значок шестеренки рядом с виджетом list_parameter.
  2. Установите тип виджета на Multiselect.
  3. Установите тип параметра на String.
  4. Введите значения в поле " Выбор значения параметра" текстового ввода. Нажмите кнопку "Добавить " или нажмите клавишу ВВОД между каждым значением.

Динамический раскрывающийся список

Замечание

Динамические виджеты выпадающего списка доступны только в редакторе SQL, а не в блокнотах.

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

Чтобы использовать динамический раскрывающийся список:

  1. Создайте и сохраните запрос, возвращающий нужные значения в раскрывающемся списке:

    SELECT DISTINCT c_mktsegment FROM samples.tpch.customer ORDER BY c_mktsegment
    
  2. В новом или существующем запросе добавьте именованный маркер параметра:

    SELECT c_custkey, c_name, c_acctbal
    FROM samples.tpch.customer
    WHERE c_mktsegment = :segment_param
    
  3. Щелкните значок шестеренки рядом с виджетом segment_param.

  4. Задайте тип мини-приложения, как Динамическое раскрывающееся меню.

  5. Щелкните поле "Запрос" , чтобы открыть диалоговое окно "Выбор существующего запроса ". Выберите сохраненный запрос на шаге 1, а затем нажмите кнопку "Выбрать".

  6. Выберите значение параметра по умолчанию.

  7. Нажмите кнопку Применить изменения.

Диапазон дат и временных отметок

Параметры даты и метки времени поддерживают тип мини-приложения Range . При выборе Azure Databricks создает два параметра с помощью .min и .max суффиксов, чтобы определить начало и конец диапазона.

SELECT * FROM samples.nyctaxi.trips
WHERE tpep_pickup_datetime
BETWEEN CAST(:date_range_min AS TIMESTAMP) AND CAST(:date_range_max AS TIMESTAMP)

Щелкните синий значок молнии, чтобы выбрать динамические значения, например today, yesterday, , this week, last weeklast monthили last year. Эти значения обновляются автоматически.

Это важно

Динамические значения дат несовместимы с запланированными запросами.