Criar uma exibição de métrica

O Gerenciador de Catálogos fornece uma interface visual para criar exibições de métrica. Você define campos e medidas interativamente, sem escrever uma definição de YAML.

Esta página mostra como criar uma visualização de métrica na interface do Explorador de Catálogo. Para obter um exemplo mais complexo com junções e medidas avançadas, consulte Tutorial: criar uma exibição de métrica com junções e modelagem de dados. Para criar uma exibição de métrica com base em ativos existentes do Tableau ou Power BI, consulte Usar o Genie Code para importar um arquivo Tableau ou Power BI.

Pré-requisitos

Antes de criar uma exibição de métrica, verifique se você tem as seguintes permissões:

  • SELECT privilégios no ativo semelhante à tabela ou na consulta SQL usada como origem.
  • CREATE TABLE e USE SCHEMA privilégios no esquema em que você deseja criar a exibição de métrica.
  • USE CATALOG privilégio no catálogo pai.
  • CAN USE permissão em um sql warehouse ou outro recurso de computação executando o Databricks Runtime 17.3 ou superior.

Um administrador de metastore ou proprietário do catálogo pode conceder todos esses privilégios. Um proprietário de esquema ou usuário com MANAGE privilégios pode conceder USE SCHEMA e CREATE TABLE privilégios no esquema.

Note

Há suporte para a criação de uma exibição de métrica no Databricks Runtime 16.4 e superior. Esta página usa recursos que exigem o Databricks Runtime 17.3 ou superior, portanto, 17.3 é o mínimo para o exemplo. Os recursos individuais do YAML podem exigir um runtime posterior. Para obter o tempo de execução mínimo para cada recurso, consulte a disponibilidade do recurso de exibição de métrica.

Criar uma exibição de métricas

Crie uma exibição de métrica no Gerenciador de Catálogos usando um dos seguintes métodos:

  • Editor de interface do usuário: na guia interface do usuário , defina campos e medidas interativamente, sem escrever código.
  • Editor yaml: clique no <> botão para editar a definição diretamente. Para obter a sintaxe, consulte a referência de sintaxe YAML da exibição de métrica. Você também pode usar uma definição YAML em uma instrução SQL para criar uma exibição de métrica. Para obter o exemplo completo no YAML e no SQL, consulte Definir uma exibição de métrica em SQL ou YAML.
  • Genie Code: abra o Genie Code pelo botão ícone do Genie Code do Sparkle. no canto superior direito e descreva o que você deseja em linguagem natural. Consulte Uso do código do Genie.

As etapas a seguir usam a guia IU e a tabela samples.tpch.orders, disponíveis em todos os espaços de trabalho, para criar um exemplo de visualização de métrica de análise de vendas. A exibição de métrica concluída corresponde à definição em Definir uma exibição de métrica no SQL ou YAML. Para saber mais sobre esse conjunto de dados, consulte Conjuntos de dados de exemplo.

Etapa 1: Criar a exibição de métrica e abrir o editor

  1. Clique no ícone Dados.Catálogo na barra lateral do workspace.
  2. Use a barra de pesquisa para localizar samples.tpch.orderse clique no nome da tabela.
  3. Clique em Criar>Visão de métrica. Na caixa de diálogo Criar exibição de métrica , insira um nome, selecione um catálogo e um destino de esquema e clique em Criar.

O editor é aberto na guia interface do usuário . O editor adiciona todas as colunas de origem à guia Campos automaticamente e adiciona uma medida de exemplo COUNT(*) .

A interface de edição do modo de exibição de métrica no Gerenciador de Catálogos.

Etapa 2: adicionar uma junção

O exemplo une a tabela para que os customer atributos do cliente estejam disponíveis como campos. Para adicionar a junção, clique no botão de junção no canto superior direito do editor:

  1. Para adicionar a origem, selecione samples.tpch.customer e clique em Adicionar.
  2. Insira customer como nome da associação.
  3. Use as listas suspensas para definir a condição de junção como source.o_custkey = customer.c_custkey. Para adicionar mais de uma coluna de junção, clique em + Chave de Junção. Para definir uma condição diferente de igualdade, clique em Expressão e refinar a condição.
  4. Em Cardinalidade da Junção, selecione Muitos para um. Para obter orientação sobre como escolher uma cardinalidade, consulte Cardinalidade de junção.
  5. Selecione No máximo uma correspondência em desempenho da consulta. Cada pedido corresponde no máximo a um cliente, portanto, essa otimização é segura e é configurada at_most_one_match: true na definição yaml.
  6. Clique em Ingressar.
  7. Na caixa de diálogo Adicionar campos , clique em Adicionar todas as colunas para importar dinamicamente todas as colunas da tabela de origem. Se você quiser adicionar colunas individuais, ignore esta etapa. Os campos do objeto associado aparecem na lista suspensa junto com os campos da origem.

Junções combinam a tabela de origem com outras tabelas ou consultas. Para unir conceitos de modelagem, incluindo esquemas de estrela e floco de neve e padrões YAML, consulte Trabalhar com junções.

Etapa 3: Definir um filtro

A definição completa do YAML posteriormente nesta página inclui um filtro que limita a exibição de métrica aos pedidos feitos após 1º de janeiro de 1990.

Digite expressões com Builder ou Custom

Quando você define um filtro, campo ou medida, define sua expressão usando uma das duas opções na seção Expressão :

  • Construtor: Selecione em listas suspensas sensíveis ao contexto, e o editor monta a expressão SQL para você.
  • Personalizado: insira a expressão SQL diretamente.

As etapas a seguir usam o Construtor para filtragem simples de colunas, transformações e agregações, e Personalizado para expressões que o Construtor não consegue compor, como CASE comandos e medidas compostas.

Para definir o filtro:

  1. Clique no ícone Filtrar.Filtre no canto superior direito do editor de exibição de métrica.
  2. Defina a expressão de filtro:
    • No Construtor, selecione a Colunasource.o_orderdate, o OperadorGreater than e o Valor1990-01-01.
    • Em Personalizado, escreva a expressão SQL source.o_orderdate > '1990-01-01'.

Um filtro se aplica a todas as consultas que fazem referência à exibição de métrica. Para conceitos de modelagem de filtro e padrões YAML, consulte Aplicar filtros.

Etapa 4: Adicionar campos

Quando você define um filtro, campo ou medida, define sua expressão usando uma das duas opções na seção Expressão :

  • Construtor: Selecione em listas suspensas sensíveis ao contexto, e o editor monta a expressão SQL para você. As opções disponíveis são alteradas com base no tipo de coluna e nos valores.
  • Personalizado: insira a expressão SQL diretamente.

As etapas a seguir alternam entre as duas opções com base na complexidade de cada expressão. Use Builder para transformações e agregações simples nas colunas e mude para Custom em expressões que o Builder não consegue compor, como CASE instruções e medidas compostas.

O exemplo define três campos: duas colunas transformadas da origem e uma coluna da tabela unida customer . Os campos, também chamados de dimensões, comportam-se como colunas de tabela regulares. Um campo pode ser uma coluna categórica usada para agrupamento e filtragem ou uma coluna numérica não agregada que você pode agregar no momento da consulta. Para obter mais informações sobre campos de modelagem, consulte Campos.

O editor adiciona todas as colunas de origem à guia Campos automaticamente. Para corresponder ao exemplo, remova as colunas de que você não precisa para que apenas source.o_orderdate, source.o_orderstatuse customer.c_mktsegment permaneça.

Para remover um campo:

  1. Clique na guia Campos.
  2. Clique na caixa de seleção à esquerda do nome do campo para selecionar os campos que você deseja remover.
  3. Clique em Excluir.

Para excluir campos individuais, use o ícone de menu Kebab à direita do nome do campo.

Ao editar um campo, você também pode adicionar metadados:

  • Nome de exibição: um rótulo descritivo.
  • Comentário: uma descrição do campo.
  • Sinônimos: nomes alternativos que ajudam as ferramentas de IA a descobrir o campo. Consulte Sinônimos.
  • Formato: formatação de dados personalizada que controla como os valores são exibidos. O formato só está disponível para colunas numéricas, de data e de data e hora. Consulte as especificações de formato.
  • Marcas governadas: marcas governadas para classificação e governança.

O editor de campos na interface de visualização de métricas.

Para definir cada campo, clique em seu nome na guia Campos , crie sua expressão e adicione um comentário opcional. Para executar a transformação e ver o resultado, clique em ícone ReproduzirVisualização.

  1. Mês do pedido: Clique em Builder. Em seguida, selecione source.o_orderdate e aplique uma transformação de mês para produzir DATE_TRUNC('MONTH', source.o_orderdate). Adicione o comentário Month of order.

  2. Status do pedido: clique em Personalizar. Em seguida, adicione o comentário Status of order e insira a seguinte expressão:

    CASE
      WHEN source.o_orderstatus = 'O' THEN 'Open'
      WHEN source.o_orderstatus = 'P' THEN 'Processing'
      WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
    END
    
  3. Segmento de Mercado: No Builder, selecione a coluna customer.c_mktsegment da tabela associada customer. Adicione o comentário Customer market segment.

Etapa 5: Adicionar medidas

O exemplo define três medidas. As medidas são expressões de agregação que produzem métricas de negócios, como receita total ou contagem de pedidos. O editor adiciona uma COUNT(*) medida automaticamente; você pode editá-la ou removê-la.

Ao editar uma medida, você também pode adicionar um nome de exibição, comentário, sinônimos, formato e marcas governadas, os mesmos metadados disponíveis para campos.

Para adicionar cada medida, clique na guia Medidas+, crie sua expressão e adicione um comentário opcional. Para executar a agregação e ver o resultado, clique no ícone ReproduzirVisualização. Quando você adiciona uma medida, as sugestões do Genie aparecem na parte superior do painel do editor de medidas; clique em uma sugestão para criar essa medida.

  1. Contagem de Pedidos: no Construtor, selecione a agregação Contagem para produzir COUNT(1). Adicione o comentário Total number of orders.
  2. Receita total: no Builder, selecione source.o_totalprice e a agregação Soma para produzir SUM(source.o_totalprice). Adicione o comentário Sum of all order prices.
  3. Receita total por cliente: Em Personalizado, insira SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey). Adicione o comentário Average revenue per unique customer.

Visualizar uma medida na interface do usuário do modo de exibição de métrica.

Para adicionar uma medida de janela para cálculos de série temporal, como médias móveis ou totais em execução, clique em + Janela ao editar a medida. Veja as medidas da janela.

Etapa 6: salve a visualização de métricas

Clique em Salvar. A exibição de métrica concluída corresponde à definição em Definir uma exibição de métrica no SQL ou YAML.

Definir uma exibição de métrica no SQL ou YAML

Em vez de criar uma visualização de métrica na interface do usuário, você pode defini-la diretamente em YAML ou em SQL, usando a instrução CREATE VIEW com a cláusula WITH METRICS. A seguir está a definição completa da visualização de métrica de exemplo. É uma visualização filtrada de samples.tpch.orders associado a samples.tpch.customer, com campos para mês do pedido, status do pedido e segmento de mercado do cliente, e medidas para contagem de pedidos, receita total e receita por cliente.

Note

Esses exemplos usam a fields palavra-chave. Quando você cria uma visualização de métrica no editor low-code, o YAML que ele gera usa a palavra-chave equivalente dimensions em vez disso. Consulte Campos.

Definição de YAML

Para definir a exibição de métrica diretamente no YAML, use a seguinte definição:

Exibir a definição de 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'

Para detalhes completos da sintaxe YAML, consulte a referência de sintaxe YAML para exibição de métricas.

Instrução SQL

Para criar a visualização de métrica em SQL, envolva a definição YAML em uma instrução CREATE VIEW com a cláusula WITH METRICS e coloque o YAML entre os delimitadores $$:

Exibir a instrução 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"
$$

Campos e medidas de importação em massa com curingas

Aplica-se a: Databricks Runtime 18.2 e superior com a especificação YAML 1.1

Em vez de listar todos os campos, você pode usar um curinga em um expr para importar todas as colunas da origem ou de uma tabela unida. Isso é útil quando você deseja que a exibição de métrica exponha todas as colunas de um ativo upstream. Omita name em um caractere curinga, pois o Azure Databricks deriva cada nome de coluna a partir da origem. Você pode misturar caracteres curinga com campos e medidas definidos explicitamente.

A definição a seguir importa todos os campos da origem, exceto um, adiciona um campo da tabela unida customer e define uma medida explícita:

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)

Para obter a sintaxe completa de curingas, incluindo a importação de todas as colunas de uma tabela associada (customer.*), a expansão da estrutura e a resolução de colisões de nomes, consulte Importação em massa de campos e medidas com curingas.

Usar Código Genial

O Genie Code é um assistente de IA que você abre pelo botão ícone do Genie Code do Sparkle, no canto superior direito do editor. Descreva o que você deseja em linguagem natural e o Genie Code atualiza a definição de exibição de métrica para você. O Genie Code tem reconhecimento de contexto: na guia interface do usuário, ele atualiza o editor para você e, no editor yaml, ele insere YAML.

Para adicionar uma única medida a uma exibição de métrica existente, descreva-a:

Dica

Peça ao Genie Code (modo do agente) para fazer isso para você:

add an average sales per customer measure

Para criar uma exibição de métrica completa com base em uma descrição de linguagem natural, descreva-a para o Genie Code. O resultado é uma definição semelhante ao exemplo nesta página; os nomes de campo exatos e os comentários podem variar.

Dica

Peça ao Genie Code (modo do agente) para fazer isso para você:

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.

Você também pode criar uma exibição de métrica importando um arquivo Tableau ou Power BI. Consulte Usar o Genie Code para importar um arquivo Tableau ou Power BI.

Recursos adicionais

Depois de criar uma exibição de métrica, use os seguintes recursos para consultar, modelar e gerenciar seu trabalho.