Utiliser des paramètres avec des vues de métrique
Les paramètres vous permettent de transmettre des valeurs dans un affichage sous forme métrique lorsque vous l'interrogez. Utilisez des paramètres pour réutiliser une seule définition d'affichage sous forme métrique pour différentes entrées, tels qu'un taux de remise ou une fenêtre de date. Référencez un parameter partout où une expression SQL constante est valide, par exemple dans les filtres, les expressions de champ et de mesure, la source et les jointures. Transmettez une valeur en tant qu'argument lorsque vous interrogez la vue.
Les parameters réduisent la duplication. Au lieu de maintenir une vue métrique distincte pour chaque variante, vous définissez la logique une seule fois et laissez chaque appelant fournir ses propres valeurs. Un paramètre peut inclure une valeur par default, de sorte que les appelants qui ne transmettent pas d'argument reviennent à la valeur par default.
Vous pouvez transmettre des valeurs de paramètres à partir d'une query SQL ou d'un AI/BI dashboard. Dans un tableau de bord, connectez un paramètre à un widget de filtre pour permettre aux utilisateurs de choisir la valeur à l'exécution. Voir Utiliser une query paramétrée dans un tableau de bord.
Exigences
- Pour créer une vue métrique qui définit les parameters, vous avez besoin des privilèges
CREATE TABLEetUSE SCHEMAsur le schéma et du privilègeUSE CATALOGsur le catalogue parent. Pour la liste complète des privilèges requis pour créer une vue métrique, consultez Créer une vue métrique. - Pour interroger une vue métrique qui définit des paramètres, vous avez besoin d’un SQL Warehouse ou d’une autre ressource de compute exécutant Databricks Runtime 18.2 ou version ultérieure. Pour plus d’informations sur les exigences de version, consultez la disponibilité des fonctionnalités de vue métrique.
Limitations
Les limitations suivantes s’appliquent aux vues de métriques qui définissent des paramètres :
- Vous ne pouvez pas matérialiser une vue de métrique qui définit des parameters.
- Les valeurs default ont des restrictions. A default value must be castable to the parameter's declared data type, and it can't reference another parameter or contain a subquery. Si vous définissez un default pour un paramètre, chaque paramètre qui suit doit également avoir un default. See parameter.
Définir les paramètres
Vous pouvez définir des parameters dans l'éditeur low-code de l'Explorateur de catalogues ou directement en YAML. Après avoir créé un parameter, référencez-le par son nom partout où une expression SQL constante est valide, par exemple dans les filtres, les expressions de champ et de mesure, la source et les jointures.
Pour définir des paramètres en YAML, ajoutez un bloc parameters de niveau supérieur à la définition de la vue métrique. Pour la référence complète des champs et un exemple YAML, consultez Paramètres.
Les étapes suivantes utilisent l'éditeur low-code de Catalog Explorer et la table samples.tpch.orders, disponible dans chaque Workspace, pour créer une vue métrique avec un discount parameter et deux mesures. Une mesure applique le parameter, et l'autre calcule le total non remisé afin que vous puissiez comparer les deux.
Étape 1 : Créer une vue métrique
Créer une vue métrique pour contenir le paramètre et les mesures.
- Cliquez sur
Catalogue dans la barre latérale du Workspace, puis utilisez la barre de recherche pour trouver
samples.tpch.orderset cliquez sur le nom de la table. - Cliquez sur Créer > Vue sous forme métrique .
- Dans la boîte de dialogue Créer une vue de métrique , saisissez un nom, puis sélectionnez un catalogue et un schéma pour créer la vue de métrique. Cliquez sur Créer .
L’éditeur s’ouvre sur l’onglet **tab**. Pour une présentation complète de l'éditeur de vue métrique, consultez Créer une vue métrique.
Étape 2 : Ajoutez un paramètre
Ajoutez un discount paramètre avec un type numérique et une default valeur.
-
Dans l'en-tête de l'éditeur, cliquez sur Ajouter un parameter .
-
Dans la boîte de dialogue Détails du paramètre :
- Saisissez
discountpour le **Nom**. - Choisissez Numérique dans la liste déroulante Type .
- Choisissez Double dans la liste déroulante Type numérique qui apparaît.

- Saisissez
-
Cliquez en dehors de la boîte de dialogue pour la fermer, puis entrez
0.15comme default pour discount .
Le paramètre apparaît dans l'en-tête de l'éditeur après que vous l'ayez créé. La valeur que vous définissez ici est la default qui s'applique lorsqu'une query omet l'argument.
Étape 3 : Ajoutez une mesure qui utilise le paramètre
Référencez le parameter par son nom dans une expression de mesure. Cette mesure applique la remise au total de chaque commande.
-
Cliquez sur l'onglet tab près du haut de l'éditeur.
-
Cliquez sur + Ajouter .
-
Saisissez
Discounted Salescomme nom de la mesure . -
Cliquez sur Personnalisé , puis saisissez l’expression suivante :
SQLSUM((1 - discount) * source.o_totalprice)
Étape 4 : Ajoutez une autre mesure
Ajoutez une deuxième mesure pour le total non remisé.
- Cliquez sur + Ajouter .
- Saisissez
Total Salescomme nom de la mesure . - Dans Builder , sélectionnez
source.o_totalpriceet l'agrégation Somme pour produireSUM(source.o_totalprice).
Étape 5 : Enregistrer la vue métrique
Cliquez sur Enregistrer . Pour query la vue de métrique et passer une valeur pour le paramètre discount, consultez Query une vue de métrique avec des paramètres.
Interroger une vue métrique avec des paramètres
Pour query une vue de métrique qui définit des paramètres, appelez la vue de métrique comme une fonction table et transmettez les paramètres en tant qu’arguments. Vous pouvez transmettre des arguments par nom ou par position, ou les omettre pour utiliser les valeurs par default.
Transmettez les arguments par nom
Pour passer un argument par nom, utilisez l’opérateur =>. L'exemple suivant transmet une valeur discount de 0.15:
SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(discount => 0.15)
GROUP BY product;
Passer les arguments par position
Pour passer des arguments par position, listez les valeurs dans l’ordre de définition des paramètres. L’exemple suivant transmet la même valeur discount de 0.15:
SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(0.15)
GROUP BY product;
Utiliser les valeurs de default parameter
Pour utiliser les valeurs par default du paramètre lorsque vous appelez l'affichage métrique, omettez les arguments. Les requêtes suivantes sont équivalentes et utilisent toutes les valeurs par 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;
Afficher les paramètres définis par une vue de métrique
Pour afficher les parameters qu'une vue métrique définit, consultez sa définition YAML, qui comprend le bloc parameters. Voir la définition et les métadonnées de l'affichage métrique.
Utilisez une requête paramétrée dans un tableau de bord
Vous pouvez utiliser n'importe laquelle de ces queries pour définir un dataset dans un AI/BI dashboard. Référencez la vue métrique dans un dataset SQL et transmettez le paramètre en tant qu'argument dans l'appel de fonction à valeur de table. Pour permettre aux utilisateurs du tableau de bord de choisir la valeur au moment de l'exécution, transmettez un paramètre de tableau de bord à l'argument et connectez-le à un widget de filtre. Consultez Transmettre des paramètres à une vue métrique.