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

Обозреватель каталогов предоставляет визуальный интерфейс для создания представлений метрик. Вы определяете поля и меры в интерактивном режиме без написания определения YAML.

На этой странице описывается создание представления метрик в пользовательском интерфейсе обозревателя каталогов. Более сложный пример с соединениями и расширенными мерами см. в руководстве по созданию представления метрик с помощью соединений и моделирования данных. Сведения о создании представления метрик на основе существующих ресурсов Tableau или Power BI см. в статье "Использование кода Genie для импорта файла Tableau или Power BI".

Необходимые условия

Перед созданием представления метрик убедитесь, что у вас есть следующие разрешения:

  • SELECT привилегии на актив, подобный таблице или SQL-запрос, используемый как источник.
  • CREATE TABLE и USE SCHEMA привилегии в схеме, в которой требуется создать представление метрик.
  • USE CATALOG привилегии в родительском каталоге.
  • CAN USE разрешение на хранилище SQL или другой вычислительный ресурс под управлением Databricks Runtime 17.3 или более поздней версии.

Администратор хранилища метаданных или владелец каталога может предоставить все эти привилегии. Владелец схемы или пользователь с MANAGE привилегиями может предоставлять USE SCHEMA и CREATE TABLE привилегии в схеме.

Note

Создание представления метрик поддерживается в Databricks Runtime 16.4 и выше. На этой странице используются функции, требующие Databricks Runtime 17.3 или более поздней версии, поэтому 17.3 является минимальным для примера. Для отдельных функций YAML может потребоваться более поздняя среда выполнения. Сведения о минимальной версии среды выполнения для каждой функции см. в разделе Доступность функций представления метрик.

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

Создайте представление метрик в обозревателе каталогов с помощью одного из следующих методов:

Следующие действия используют вкладку пользовательского интерфейса и samples.tpch.orders таблицу, доступную в каждой рабочей области, для создания примера представления метрик аналитики продаж. Готовое представление метрик соответствует определению в представлении метрик в SQL или YAML. Дополнительные сведения об этом наборе данных см. в разделе "Примеры наборов данных".

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

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

Откроется редактор на вкладке пользовательского интерфейса . Редактор добавляет все исходные столбцы на вкладку "Поля " автоматически и добавляет пример COUNT(*) меры.

Интерфейс редактирования представления метрик в обозревателе каталогов.

Шаг 2. Добавление соединения

Пример присоединяет таблицу customer , чтобы атрибуты клиента были доступны в виде полей. Чтобы добавить соединение, нажмите кнопку "Присоединиться" в правом верхнем углу редактора:

  1. Чтобы присоединиться к источнику, выберите samples.tpch.customer и нажмите кнопку "Добавить".
  2. Введите customerимя присоединения.
  3. Используйте раскрывающиеся списки, чтобы установить условие объединения на source.o_custkey = customer.c_custkey. Чтобы добавить несколько столбцов соединения, нажмите кнопку +Присоединить ключ. Чтобы задать условие, отличное от равенства, щелкните выражение и укажите условие.
  4. В поле Кратность соединения выберите Многие к одному. Рекомендации по выбору кратности см. в разделе "Кратность соединения".
  5. Выберите по крайней мере одно совпадение в разделе производительности запросов. Каждый заказ соответствует минимум одному клиенту, поэтому эта оптимизация безопасна и задает at_most_one_match: true в определении YAML.
  6. Нажмите кнопку "Присоединиться".
  7. В диалоговом окне "Добавление полей " нажмите кнопку "Добавить все столбцы ", чтобы динамически импортировать все столбцы из исходной таблицы. Если вы хотите добавить отдельные столбцы, пропустите этот шаг. Поля из присоединенного объекта отображаются в раскрывающемся списке с полями из источника.

Операции соединения объединяют исходную таблицу с другими таблицами или запросами. Основные понятия моделирования соединения, включая схемы star и snowflake, а также шаблоны YAML, см. в статье "Работа с соединениями".

Шаг 3. Определение фильтра

Полное определение YAML далее на этой странице включает фильтр, который ограничивает представление метрик заказами, размещенными после 1 января 1990 года.

Вводите выражения с помощью Builder или Custom

При определении фильтра, поля или меры его выражение можно задать одним из двух вариантов в разделе "Выражение ".

  • Конструктор: Выберите из контекстно-зависимых раскрывающихся списков, и редактор автоматически составляет для вас SQL-выражение.
  • Custom: введите выражение SQL напрямую.

В приведённых ниже шагах используется Builder для простой фильтрации столбцов, преобразований и агрегирования, а Custom — для выражений, которые Builder не может создать, например CASE-инструкций и составных мер.

Чтобы определить фильтр, выполните следующие действия.

  1. Щелкните значок фильтра.Фильтруйте в правом верхнем углу редактора представления метрик.
  2. Задайте выражение фильтра:
    • В Builder выберите Столбецsource.o_orderdate, ОператорGreater than и Значение1990-01-01.
    • В Custom напишите выражение SQL source.o_orderdate > '1990-01-01'.

Фильтр применяется ко всем запросам, ссылающимся на представление метрик. Основные понятия моделирования фильтров и шаблоны YAML см. в разделе "Применение фильтров".

Шаг 4. Добавление полей

При определении фильтра, поля или меры его выражение можно задать одним из двух вариантов в разделе "Выражение ".

  • Конструктор: Выберите из контекстно-зависимых раскрывающихся списков, и редактор автоматически составляет для вас SQL-выражение. Доступные варианты изменяются на основе типа столбца и значений.
  • Custom: введите выражение SQL напрямую.

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

В примере определяются три поля: два преобразованных столбца из источника и один столбец из присоединенной customer таблицы. Поля, также называемые измерениями, ведут себя как обычные столбцы таблицы. Поле может быть категориальным столбцом, используемым для группировки и фильтрации, или неуверенным числовым столбцом, который можно агрегировать во время запроса. Дополнительные сведения о полях моделирования см. в разделе "Поля".

Редактор автоматически добавляет все исходные столбцы на вкладку "Поля ". Чтобы соответствовать примеру, удалите ненужные столбцы так, чтобы остались только source.o_orderdate, source.o_orderstatus и customer.c_mktsegment.

Чтобы удалить поле, выполните приведенные действия.

  1. Перейдите на вкладку Поля .
  2. Установите флажок слева от имени поля, чтобы выбрать поля, которые нужно удалить.
  3. Нажмите кнопку Удалить.

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

При изменении поля можно также добавить метаданные:

  • Отображаемое имя: описательная метка.
  • Комментарий: описание поля.
  • Синонимы: альтернативные имена, которые помогают средствам ИИ обнаруживать поле. См. синонимы.
  • Формат: настраиваемое форматирование данных, которое управляет отображением значений. Формат доступен только для числовых столбцов, а также столбцов с датой и датой и временем. См. спецификации формата.
  • Управляемые теги: управляемые теги для классификации и управления.

Редактор полей в пользовательском интерфейсе представления метрик.

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

  1. Месяц заказа: щелкните Builder. Затем выберите source.o_orderdate и примените месяц преобразования для создания DATE_TRUNC('MONTH', source.o_orderdate). Добавьте комментарий Month of order.

  2. Состояние заказа: Нажмите "Настраиваемый". Затем добавьте комментарий Status of order и введите следующее выражение:

    CASE
      WHEN source.o_orderstatus = 'O' THEN 'Open'
      WHEN source.o_orderstatus = 'P' THEN 'Processing'
      WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
    END
    
  3. Сегмент рынка: в Builder выберите столбец customer.c_mktsegment из присоединенной таблицы customer. Добавьте комментарий Customer market segment.

Шаг 5. Добавление мер

В примере определены три меры. Меры — это агрегированные выражения, которые создают бизнес-метрики, такие как общий доход или количество заказов. Редактор автоматически добавляет меру COUNT(*) ; ее можно изменить или удалить.

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

Чтобы добавить каждую меру, на вкладке "Меры " щелкните +, создайте его выражение и добавьте необязательный комментарий. Чтобы запустить агрегацию и просмотреть результат, нажмите значок воспроизведенияПредварительный просмотр. При добавлении меры предложения Genie отображаются в верхней части области редактора мер; Щелкните предложение для создания этой меры.

  1. Число заказов: в Builder выберите агрегацию Count, чтобы получить COUNT(1). Добавьте комментарий Total number of orders.
  2. Общая выручка: в Builder выберите source.o_totalprice и агрегацию Sum, чтобы получить SUM(source.o_totalprice). Добавьте комментарий Sum of all order prices.
  3. Общий доход на одного клиента: В поле Пользовательский введите SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey). Добавьте комментарий Average revenue per unique customer.

Просмотр меры в интерфейсе просмотра метрик.

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

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

Нажмите кнопку Сохранить. Готовое представление метрик соответствует определению в представлении метрик в SQL или YAML.

Определение представления метрик в SQL или YAML

Вместо создания метрического представления в интерфейсе его можно определить непосредственно в YAML или в SQL с помощью инструкции CREATE VIEW с клаузой WITH METRICS. Ниже приведено полное определение примера представления метрик. Это отфильтрованное представление samples.tpch.orders, объединённое с samples.tpch.customer, с полями для месяца заказа, статуса заказа и сегмента рынка клиентов, а также с показателями количества заказов, общей выручки и выручки на клиента.

Note

В этих примерах используется ключевое fields слово. Когда вы создаёте представление метрик в low-code-редакторе, создаваемый им YAML использует вместо этого эквивалентное ключевое слово dimensions. См. поля.

Определение YAML

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

Просмотр определения YAML
version: 1.1
comment: 'Orders KPIs for sales analysis'
source: samples.tpch.orders

joins:
  - name: customer
    source: samples.tpch.customer
    'on': source.o_custkey = customer.c_custkey
    rely:
      at_most_one_match: true

filter: source.o_orderdate > '1990-01-01'

fields:
  - name: Order Month
    expr: DATE_TRUNC('MONTH', source.o_orderdate)
    comment: 'Month of order'

  - name: Order Status
    expr: |-
      CASE
        WHEN source.o_orderstatus = 'O' THEN 'Open'
        WHEN source.o_orderstatus = 'P' THEN 'Processing'
        WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
      END
    comment: 'Status of order'

  - name: Market Segment
    expr: customer.c_mktsegment
    comment: 'Customer market segment'

measures:
  - name: Order Count
    expr: COUNT(1)
    comment: 'Total number of orders'

  - name: Total Revenue
    expr: SUM(source.o_totalprice)
    comment: 'Sum of all order prices'

  - name: Total Revenue per Customer
    expr: SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey)
    comment: 'Average revenue per unique customer'

Полные сведения о синтаксисе YAML см. в справочнике по синтаксису YAML для представления метрик.

Инструкция SQL

Чтобы создать метрическое представление в SQL, оберните определение YAML в оператор CREATE VIEW с предложением WITH METRICS и поместите YAML между разделителями $$:

Просмотр инструкции SQL
CREATE OR REPLACE VIEW orders_metric_view WITH METRICS LANGUAGE YAML AS
$$
  version: 1.1
  comment: "Orders KPIs for sales analysis"
  source: samples.tpch.orders

  joins:
    - name: customer
      source: samples.tpch.customer
      'on': source.o_custkey = customer.c_custkey
      rely:
        at_most_one_match: true

  filter: source.o_orderdate > '1990-01-01'

  fields:
    - name: Order Month
      expr: DATE_TRUNC('MONTH', source.o_orderdate)
      comment: "Month of order"

    - name: Order Status
      expr: |-
        CASE
          WHEN source.o_orderstatus = 'O' THEN 'Open'
          WHEN source.o_orderstatus = 'P' THEN 'Processing'
          WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
        END
      comment: "Status of order"

    - name: Market Segment
      expr: customer.c_mktsegment
      comment: "Customer market segment"

  measures:
    - name: Order Count
      expr: COUNT(1)
      comment: "Total number of orders"

    - name: Total Revenue
      expr: SUM(source.o_totalprice)
      comment: "Sum of all order prices"

    - name: Total Revenue per Customer
      expr: SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey)
      comment: "Average revenue per unique customer"
$$

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

Применимо к: Databricks Runtime 18.2 и более поздних версий с спецификацией YAML 1.1

Вместо перечисления всех полей можно использовать подстановочный знак в expr, чтобы импортировать все столбцы из исходной или объединённой таблицы. Это полезно, если нужно, чтобы метрическое представление включало все столбцы из вышестоящего ассета. Не указывайте name при использовании подстановочного символа, так как Azure Databricks получает имя каждого столбца из источника. Можно смешивать подстановочные знаки с явно заданными полями и показателями.

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

version: 1.1
source: samples.tpch.orders

joins:
  - name: customer
    source: samples.tpch.customer
    'on': source.o_custkey = customer.c_custkey

fields:
  - expr: source.* EXCEPT (o_comment)
  - name: Market Segment
    expr: customer.c_mktsegment

measures:
  - name: Order Count
    expr: COUNT(1)

Полный синтаксис подстановочных знаков, включая импорт всех столбцов из присоединенной таблицы (customer.*), расширение структуры и разрешение конфликтов имен, см. в полях массового импорта и мерах с подстановочными знаками.

Использование кода Genie

Genie Code — это ИИ-помощник, которого можно открыть с помощью кнопки значка Sparkle genie code в правом верхнем углу редактора. Описать, что требуется на естественном языке, и Genie Code обновляет определение представления метрик для вас. Код Genie учитывает контекст: на вкладке пользовательского интерфейса он обновляет редактор для вас, а в редакторе YAML он вставляет YAML.

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

Подсказка

Попросите Genie Code (режим агента) выполнить это для вас.

add an average sales per customer measure

Чтобы создать полное представление метрик из описания естественного языка, опишите его в Genie Code. Результатом является определение, аналогичное примеру на этой странице; Точные имена полей и комментарии могут отличаться.

Подсказка

Попросите Genie Code (режим агента) выполнить это для вас.

Create a metric view on samples.tpch.orders joined to samples.tpch.customer on o_custkey = c_custkey. Add a field for order month by truncating the order date to the month, a field for order status that maps 'O' to Open, 'P' to Processing, and 'F' to Fulfilled, and a field for the customer market segment. Add measures for the total number of orders, the total revenue as the sum of order price, and the total revenue per unique customer. Filter to orders placed after January 1, 1990.

Вы также можете создать представление метрик, импортируя файл Tableau или Power BI. См. раздел "Использование кода Genie" для импорта файла Tableau или Power BI.

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

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