Use parâmetros com view de métricas
Os parâmetros permitem passar valores para uma view de métricas ao query-la. Use parâmetros para reutilizar uma única definição de métrica view em diferentes entradas, como uma taxa de desconto ou um período de datas. Referencie um parâmetro onde uma expressão SQL constante for válida, como em filtros, expressões de campo e de medida, a fonte e junções. Passe um valor como um argumento ao consultar a visualização.
Parâmetros reduzem a duplicação. Em vez de manter uma view de métricas separada para cada variante, você define a lógica uma vez e permite que cada chamador forneça seus próprios valores. Um parâmetro pode incluir um valor default, de modo que os chamadores que não passam um argumento recorrem ao default.
É possível passar valores de parâmetros de uma query SQL ou de um AI/BI dashboard. Em um dashboard, conecte um parâmetro a um widget de filtro para permitir que os visualizadores escolham o valor no Runtime. Consulte Usar uma query parametrizada em um dashboard.
Requisitos
- Para criar uma view de métricas que define parâmetros, são necessários os privilégios
CREATE TABLEeUSE SCHEMAno esquema e o privilégioUSE CATALOGno catálogo pai. Para a lista completa de privilégios necessários para criar uma view de métricas, consulte Criar uma view de métricas. - Para consultar uma view de métricas que define parâmetros, você precisa de um SQL warehouse ou outro recurso de compute executando o Databricks Runtime 18.2 ou acima. Para mais requisitos de versão, consulte Disponibilidade do recurso de view de métricas.
Limitações
As seguintes limitações se aplicam às views de métricas que definem parâmetros:
- Não é possível materializar uma view de métricas que defina parâmetros.
- Os valores default têm restrições. Um valor default deve ser compatível com o tipo de dados declarado do parâmetro e não pode referenciar outro parâmetro ou conter uma subquery. Se o senhor definir um default para um parâmetro, todo parâmetro que o seguir também deve ter um default. Consulte Parâmetros.
Definir parâmetros
Você pode definir parâmetros no editor de baixo código do Catalog Explorer ou diretamente em YAML. Depois de criar um parâmetro, referencie-o pelo nome em qualquer lugar onde uma expressão SQL constante seja válida, como em filtros, expressões de campo e medida, na fonte e em joins.
Para definir parâmetros em YAML, adicione um bloco parameters de nível superior à definição da view de métricas. Para a referência completa de campos e um exemplo de YAML, consulte Parâmetros.
Os passos a seguir usam o editor de low-code do Catalog Explorer e a tabela samples.tpch.orders, disponível em todo Workspace, para criar uma view de métricas com um parâmetro discount e duas medidas. Uma medida aplica o parâmetro, e a outra calcula o total não descontado para que você possa comparar os dois.
o passo 1: Crie uma view de métricas
Crie uma view de métricas para conter o parâmetro e as medidas.
- Clique em
Catálogo na barra lateral do Workspace, em seguida, use a barra de pesquisa para encontrar
samples.tpch.orderse clique no nome da tabela. - Clique em Criar > View de métricas .
- Na caixa de diálogo Criar view de métricas , insira um nome e selecione um catálogo e um esquema para criar a view de métricas. Clique em Criar .
O editor abre na tab **UI**. Para um passo a passo completo do editor de view de métricas, consulte Criar uma view de métricas.
Passo 2: Adicionar um parâmetro
Adicione um parâmetro discount com um tipo numérico e um valor default.
-
No cabeçalho do editor, clique em Adicionar parâmetro .
-
Na caixa de diálogo **Detalhes do parâmetro**:
- Insira
discountpara o Nome . - Escolha **Numérico** no menu suspenso **Tipo**.
- Escolha **Duplo** no menu suspenso **Tipo numérico** que aparece.

- Insira
-
Clique fora da caixa de diálogo para fechá-la, em seguida, insira
0.15como o valor default para **desconto**.
O parâmetro aparece no cabeçalho do editor depois que o senhor o cria. O valor definido aqui é o default que se aplica quando uma query omite o argumento.
O passo 3: Adicione uma métrica que usa o parâmetro.
Referencie o parâmetro pelo nome em uma expressão de métrica. Esta medida aplica o desconto ao total de cada pedido.
-
Clique na tab Métricas perto do topo do editor.
-
Clique em + Adicionar .
-
Discounted SalesInsira como o **Nome da medida**. -
Clique em Personalizado e insira a seguinte expressão:
SQLSUM((1 - discount) * source.o_totalprice)
Passo 4: Adicionar outra medida
Adicione uma segunda medida para o total não descontado.
- Clique em + Adicionar .
Total SalesInsira como o **Nome da medida**.- Em **Construtor**, selecione
source.o_totalpricee a agregação **Soma** paraSUM(source.o_totalprice)produzir.
Etapa 5: Salvar a view de métricas
Clique em Salvar . Para fazer query da view de métricas e passar um valor para o parâmetro discount, consulte Faça query de uma view de métricas com parâmetros.
Query uma view de métricas com parâmetros
Para fazer uma query em uma view de métricas que define parâmetros, chame a view de métricas como uma função com valor de tabela e passe os parâmetros como argumentos. É possível passar argumentos por nome ou por posição, ou omiti-los para usar os valores default.
Passar argumentos por nome
Para passar um argumento por nome, use o operador =>. O exemplo a seguir passa um valor discount de 0.15:
SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(discount => 0.15)
GROUP BY product;
Passe argumentos por posição
Para passar argumentos por posição, liste os valores na ordem em que os parâmetros são definidos. O exemplo a seguir passa o mesmo valor discount de 0.15:
SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(0.15)
GROUP BY product;
Usar valores de parâmetro default
Para usar os valores de parâmetro default ao chamar a view de métricas, omita os argumentos. As seguintes queries são equivalentes e usam todos os valores default:
SELECT product, MEASURE(discountedSales) FROM catalog.schema.metric_view() GROUP BY product;
SELECT product, MEASURE(discountedSales) FROM catalog.schema.metric_view GROUP BY product;
Exiba os parâmetros que uma view de métricas define
Para ver os parâmetros que uma view de métricas define, visualize sua definição YAML, que inclui o bloco parameters. Consulte Ver definição e metadados da view de métricas.
Use uma query parametrizada em um dashboard
Você pode usar qualquer uma dessas queries para definir um dataset em um AI/BI dashboard. Referencie a view de métricas em um dataset SQL e passe o parâmetro como um argumento na chamada de função com valor de tabela. Para permitir que os visualizadores do dashboard escolham o valor em tempo de Runtime, passe um parâmetro do dashboard para o argumento e conecte-o a um widget de filtro. Consulte Passe parâmetros para uma view de métricas.