Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обозреватель каталогов предоставляет визуальный интерфейс для создания представлений метрик. Вы определяете поля и меры в интерактивном режиме без написания определения 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 может потребоваться более поздняя среда выполнения. Сведения о минимальной версии среды выполнения для каждой функции см. в разделе Доступность функций представления метрик.
Создание представления метрик
Создайте представление метрик в обозревателе каталогов с помощью одного из следующих методов:
- Редактор пользовательского интерфейса: на вкладке пользовательского интерфейса определите поля и меры в интерактивном режиме без написания кода.
-
Редактор YAML: нажмите
<>кнопку, чтобы изменить определение напрямую. Сведения о синтаксисе см. в справочнике по синтаксису YAML представления метрик. Для создания представления метрик можно также использовать определение YAML в инструкции SQL. Полный пример в YAML и SQL см. в разделе "Определение представления метрик" в SQL или YAML. -
Genie Code: откройте Genie Code с помощью кнопки
в правом верхнем углу и опишите, что вы хотите, на естественном языке. См. раздел "Использование кода Genie".
Следующие действия используют вкладку пользовательского интерфейса и samples.tpch.orders таблицу, доступную в каждой рабочей области, для создания примера представления метрик аналитики продаж. Готовое представление метрик соответствует определению в представлении метрик в SQL или YAML. Дополнительные сведения об этом наборе данных см. в разделе "Примеры наборов данных".
Шаг 1. Создание представления метрик и открытие редактора
- Щелкните
Каталог на боковой панели рабочей области.
- Используйте строку поиска, чтобы найти
samples.tpch.orders, затем нажмите на имя таблицы. - Нажмите кнопку "Создать>представление метрик". В диалоговом окне "Создание представления метрик " введите имя, выберите каталог и назначение схемы, а затем нажмите кнопку "Создать".
Откроется редактор на вкладке пользовательского интерфейса . Редактор добавляет все исходные столбцы на вкладку "Поля " автоматически и добавляет пример COUNT(*) меры.
Шаг 2. Добавление соединения
Пример присоединяет таблицу customer , чтобы атрибуты клиента были доступны в виде полей. Чтобы добавить соединение, нажмите кнопку "Присоединиться" в правом верхнем углу редактора:
- Чтобы присоединиться к источнику, выберите
samples.tpch.customerи нажмите кнопку "Добавить". - Введите
customerимя присоединения. - Используйте раскрывающиеся списки, чтобы установить условие объединения на
source.o_custkey = customer.c_custkey. Чтобы добавить несколько столбцов соединения, нажмите кнопку +Присоединить ключ. Чтобы задать условие, отличное от равенства, щелкните выражение и укажите условие. - В поле Кратность соединения выберите Многие к одному. Рекомендации по выбору кратности см. в разделе "Кратность соединения".
- Выберите по крайней мере одно совпадение в разделе производительности запросов. Каждый заказ соответствует минимум одному клиенту, поэтому эта оптимизация безопасна и задает
at_most_one_match: trueв определении YAML. - Нажмите кнопку "Присоединиться".
- В диалоговом окне "Добавление полей " нажмите кнопку "Добавить все столбцы ", чтобы динамически импортировать все столбцы из исходной таблицы. Если вы хотите добавить отдельные столбцы, пропустите этот шаг. Поля из присоединенного объекта отображаются в раскрывающемся списке с полями из источника.
Операции соединения объединяют исходную таблицу с другими таблицами или запросами. Основные понятия моделирования соединения, включая схемы star и snowflake, а также шаблоны YAML, см. в статье "Работа с соединениями".
Шаг 3. Определение фильтра
Полное определение YAML далее на этой странице включает фильтр, который ограничивает представление метрик заказами, размещенными после 1 января 1990 года.
Вводите выражения с помощью Builder или Custom
При определении фильтра, поля или меры его выражение можно задать одним из двух вариантов в разделе "Выражение ".
- Конструктор: Выберите из контекстно-зависимых раскрывающихся списков, и редактор автоматически составляет для вас SQL-выражение.
- Custom: введите выражение SQL напрямую.
В приведённых ниже шагах используется Builder для простой фильтрации столбцов, преобразований и агрегирования, а Custom — для выражений, которые Builder не может создать, например CASE-инструкций и составных мер.
Чтобы определить фильтр, выполните следующие действия.
- Щелкните
Фильтруйте в правом верхнем углу редактора представления метрик.
- Задайте выражение фильтра:
- В Builder выберите Столбец
source.o_orderdate, ОператорGreater thanи Значение1990-01-01. - В Custom напишите выражение SQL
source.o_orderdate > '1990-01-01'.
- В Builder выберите Столбец
Фильтр применяется ко всем запросам, ссылающимся на представление метрик. Основные понятия моделирования фильтров и шаблоны YAML см. в разделе "Применение фильтров".
Шаг 4. Добавление полей
При определении фильтра, поля или меры его выражение можно задать одним из двух вариантов в разделе "Выражение ".
- Конструктор: Выберите из контекстно-зависимых раскрывающихся списков, и редактор автоматически составляет для вас SQL-выражение. Доступные варианты изменяются на основе типа столбца и значений.
- Custom: введите выражение SQL напрямую.
Последующие шаги переключаются между двумя вариантами в зависимости от сложности каждого выражения. Используйте Builder для простых преобразований столбцов и агрегаций, а для выражений, которые Builder не может составить, например инструкций и составных мер, перейдите к CASE.
В примере определяются три поля: два преобразованных столбца из источника и один столбец из присоединенной customer таблицы. Поля, также называемые измерениями, ведут себя как обычные столбцы таблицы. Поле может быть категориальным столбцом, используемым для группировки и фильтрации, или неуверенным числовым столбцом, который можно агрегировать во время запроса. Дополнительные сведения о полях моделирования см. в разделе "Поля".
Редактор автоматически добавляет все исходные столбцы на вкладку "Поля ". Чтобы соответствовать примеру, удалите ненужные столбцы так, чтобы остались только source.o_orderdate, source.o_orderstatus и customer.c_mktsegment.
Чтобы удалить поле, выполните приведенные действия.
- Перейдите на вкладку Поля .
- Установите флажок слева от имени поля, чтобы выбрать поля, которые нужно удалить.
- Нажмите кнопку Удалить.
Чтобы удалить отдельные поля, используйте справа от имени поля.
При изменении поля можно также добавить метаданные:
- Отображаемое имя: описательная метка.
- Комментарий: описание поля.
- Синонимы: альтернативные имена, которые помогают средствам ИИ обнаруживать поле. См. синонимы.
- Формат: настраиваемое форматирование данных, которое управляет отображением значений. Формат доступен только для числовых столбцов, а также столбцов с датой и датой и временем. См. спецификации формата.
- Управляемые теги: управляемые теги для классификации и управления.
Чтобы определить каждое поле, щелкните его имя на вкладке "Поля" , создайте его выражение и добавьте необязательный комментарий. Чтобы выполнить преобразование и просмотреть результат, нажмите Предпросмотр.
Месяц заказа: щелкните Builder. Затем выберите
source.o_orderdateи примените месяц преобразования для созданияDATE_TRUNC('MONTH', source.o_orderdate). Добавьте комментарийMonth of order.Состояние заказа: Нажмите "Настраиваемый". Затем добавьте комментарий
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Сегмент рынка: в Builder выберите столбец
customer.c_mktsegmentиз присоединенной таблицыcustomer. Добавьте комментарийCustomer market segment.
Шаг 5. Добавление мер
В примере определены три меры. Меры — это агрегированные выражения, которые создают бизнес-метрики, такие как общий доход или количество заказов. Редактор автоматически добавляет меру COUNT(*) ; ее можно изменить или удалить.
При изменении меры можно также добавить отображаемое имя, комментарий, синонимы, формат и управляемые теги, те же метаданные, доступные для полей.
Чтобы добавить каждую меру, на вкладке "Меры " щелкните +, создайте его выражение и добавьте необязательный комментарий. Чтобы запустить агрегацию и просмотреть результат, нажмите Предварительный просмотр. При добавлении меры предложения Genie отображаются в верхней части области редактора мер; Щелкните предложение для создания этой меры.
-
Число заказов: в Builder выберите агрегацию Count, чтобы получить
COUNT(1). Добавьте комментарийTotal number of orders. -
Общая выручка: в Builder выберите
source.o_totalpriceи агрегацию Sum, чтобы получитьSUM(source.o_totalprice). Добавьте комментарийSum of all order prices. -
Общий доход на одного клиента: В поле Пользовательский введите
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 — это ИИ-помощник, которого можно открыть с помощью кнопки в правом верхнем углу редактора. Описать, что требуется на естественном языке, и 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.
Дополнительные ресурсы
После создания представления метрик используйте следующие ресурсы для запроса, модели и управления работой.
- Запрашивайте представления метрик: запрашивайте представления метрик из редакторов SQL, ноутбуков, панелей мониторинга и оповещений.
- Представления метрик модели: источники модели, поля, меры, фильтры и соединения.
- Управление представлениями метрик: управление доступом, включение совместного редактирования и управление жизненным циклом представления метрик.
- Справочник по синтаксису YAML для представления метрик: См. полную спецификацию YAML для представления метрик.