Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les calculs personnalisés vous permettent de définir des métriques et transformations dynamiques sans modifier les requêtes de jeu de données. Cet article explique comment utiliser des calculs personnalisés dans des tableaux de bord IA/BI.
Pourquoi utiliser des calculs personnalisés ?
Les calculs personnalisés vous permettent de créer et de visualiser de nouveaux champs à partir de jeux de données de tableau de bord existants sans modifier le sql source. Vous pouvez définir jusqu’à 200 calculs personnalisés par jeu de données.
Les calculs personnalisés sont l’un des types suivants :
-
Mesures calculées : valeurs agrégées telles que le total des ventes ou le coût moyen. Les mesures calculées peuvent utiliser la
AGGREGATE OVERcommande pour calculer des valeurs sur des intervalles de temps. - Dimensions calculées : valeurs ou transformations non agrégées, telles que la catégorisation des plages d’âge ou des chaînes de mise en forme.
Les calculs personnalisés se comportent de la même façon que les vues de métriques, mais elles sont limitées au jeu de données et au tableau de bord où elles sont définies. Pour définir des métriques personnalisées qui peuvent être utilisées avec d’autres ressources de données, consultez les vues de métriques du catalogue Unity.
Créer des métriques dynamiques avec des mesures calculées
Supposons que vous disposez du jeu de données suivant :
| Élément | Région | Prix | Coûts | Date |
|---|---|---|---|---|
| Apples | USA | 30 | 15 | 2024-01-01 |
| Apples | Canada | 20 | 10 | 2024-01-01 |
| Oranges | USA | 20 | 15 | 2024-01-02 |
| Oranges | Canada | 15 | 10 | 2024-01-02 |
Vous souhaitez visualiser la marge bénéficiaire par région. Sans calculs personnalisés, vous devrez créer un nouvel ensemble de données avec une colonne margin :
| Région | Margin |
|---|---|
| USA | 0.40 |
| Canada | 0.43 |
Bien que cette approche fonctionne, le nouveau jeu de données est statique et peut uniquement prendre en charge une visualisation unique. Les filtres appliqués au jeu de données d’origine n’affectent pas le nouveau jeu de données sans ajustement manuel supplémentaire.
Avec des calculs personnalisés, vous pouvez exprimer la marge bénéficiaire en tant qu’agrégation à l’aide de la formule suivante :
(SUM(Price) - SUM(Cost)) / SUM(Price)
Cette mesure est dynamique. Lorsqu’elle est utilisée dans une visualisation, elle met automatiquement à jour les filtres appliqués au jeu de données.
Définir des mesures calculées sur un intervalle
Une tâche courante dans les visualisations de tableau de bord consiste à calculer une mesure, comme SUM(sales) sur une plage, telle que les 7 derniers jours. Pour les jeux de données de tableau de bord, utilisez la AGGREGATE OVER commande pour définir ces types de calculs de mesure basés sur des plages.
La AGGREGATE OVER commande peut incorporer des données en dehors du groupe ou de la partition actuel. Par exemple, si une visualisation regroupe les données par jour, une plage mobile de 7 jours permet à chaque point de données quotidien d’inclure les données des 6 jours précédents. Si la même mesure est utilisée dans une visualisation regroupée par mois, la plage de 7 jours utilise uniquement les 7 derniers jours de chaque mois.
À l’aide du même jeu de données que l’exemple précédent, l’expression suivante calcule la marge bénéficiaire moyenne mobile des 7 derniers jours.
(
(SUM(Price) - SUM(Cost)) / SUM(Price)
) AGGREGATE OVER (
ORDER BY Date
TRAILING 7 DAY
)
Après la création, cette mesure peut être appliquée dans n’importe quelle visualisation.
Syntaxe de AGGREGATE OVER
La AGGREGATE OVER commande nécessite la syntaxe suivante :
{expr} AGGREGATE OVER (ORDER BY {field} {frame})
Arguments
expr
Expression de mesure calculée valide à évaluer
champ (obligatoire)
Nom de colonne valide
Frame (obligatoire) Peut être l’une des suivantes :
CURRENTCUMULATIVEALL-
(TRAILING|LEADING)uniténumérique- nombre est un entier
- unité est
DAY,MONTHouYEAR - exemple :
TRAILING 7 DAYouLEADING 1 MONTH
Le tableau suivant indique comment la spécification de cadre pour l’agrégation (AGGREGATE OVER) se compare à la clause de cadre de fenêtre SQL équivalente.
| Spécification de trame | Clause de cadre de fenêtre SQL équivalente |
|---|---|
| CURRENT | PLAGE ENTRE LA LIGNE ACTUELLE ET LA LIGNE ACTUELLE |
| ALL | PLAGE ENTRE SANS LIMITE PRÉCÉDENT ET SANS LIMITE SUIVANT |
| CUMULATIF | PLAGE ENTRE LA LIGNE PRÉCÉDENTE ET LA LIGNE ACTIVE NON LIÉES |
FUITE <NUMBER><UNIT> |
PLAGE COMPRISE ENTRE <NUMBER><UNIT> PRÉCÉDENT et 1 <UNIT> PRÉCÉDENT |
DIRECTEUR <NUMBER><UNIT> |
PLAGE COMPRISE ENTRE 1 <UNIT> SUIVANT ET <NUMBER><UNIT> SUIVANT |
AGGREGATE OVER par rapport aux fonctions de fenêtre
La AGGREGATE OVER commande est similaire aux fonctions de fenêtre dans SQL, qui sont souvent utilisées pour calculer des métriques. Toutefois, contrairement aux fonctions de fenêtre, vous pouvez utiliser AGGREGATE OVER sans spécifier de champ de partition dans l’expression. À la place, il hérite des partitions du regroupement de la requête de visualisation. Cela signifie que vous pouvez utiliser ces mesures plus dynamiquement. Par exemple, vous pouvez calculer une moyenne mobile de 7 jours par ligne de produit en ajoutant la mesure à l’axe y d’une visualisation et d’une ligne de produit à l’axe x.
Si le ORDER BY champ n’est pas regroupé dans la visualisation, AGGREGATE OVER prend la valeur agrégée de la dernière ligne comme valeur à afficher pour chaque groupe. Si vous êtes familiarisé avec les mesures semi-additives, vous pouvez le reconnaître comme équivalent au last comportement semi-additif.
Définir des valeurs non agrégées avec des dimensions personnalisées
Les dimensions calculées vous permettent de définir des valeurs non agrégées ou des transformations légères sans modifier le jeu de données source. Cela est utile lorsque vous souhaitez organiser ou reformater des données pour la visualisation.
Par exemple, pour analyser les tendances d’âge par groupe d’âge au lieu des âges individuels, vous pouvez définir une dimension personnalisée age_group à l’aide de l’expression suivante :
CASE
WHEN age < 18 THEN '<18'
WHEN age >= 18 AND age < 25 THEN '18–24'
WHEN age >= 25 AND age < 35 THEN '25–34'
WHEN age >= 35 AND age < 45 THEN '35–44'
WHEN age >= 45 AND age < 55 THEN '45–54'
WHEN age >= 55 AND age < 65 THEN '55–64'
WHEN age >= 65 THEN '65+'
END
Avantages en matière de performances
Les calculs personnalisés sont optimisés pour les performances. Pour les petits jeux de données (≤100 000 lignes et ≤100 Mo), les calculs s’exécutent dans le navigateur pour accélérer la réactivité. Les jeux de données plus volumineux sont traités par l’entrepôt SQL. Pour plus d’informations, consultez optimisation et mise en cache du jeu de données .
Créer un calcul personnalisé
Cet exemple crée une mesure calculée basée sur le jeu de données samples.nyctaxi.trips. Il suppose des connaissances générales sur l’utilisation des tableaux de bord IA/BI. Si vous n’êtes pas familiarisé avec la création de tableaux de bord IA/BI, consultez Créer un tableau de bord pour commencer.
Ouvrez un jeu de données existant ou créez-en un.
Cliquez sur Calcul personnalisé.
Un panneau Créer un calcul s’ouvre sur le côté droit de l’écran. Dans le champ texte Nom, entrez Coût par mile.
(Facultatif) Dans la Description champ de texte, entrez « Utilise le montant du tarif et la distance de trajet pour calculer le coût par mile ».
Dans le champ Expression , entrez les éléments suivants :
try_divide(SUM(fare_amount), SUM(trip_distance))Cliquez sur Créer.
Ajouter des calculs personnalisés à une vue de métrique
Important
Cette fonctionnalité est disponible en préversion publique.
Vous pouvez définir des calculs personnalisés au-dessus d’un jeu de données créé par une vue de métrique. Seule la table des résultats et le schéma sont affichés lorsque vous ouvrez le jeu de données. Cliquez sur Calcul personnalisé pour définir un nouveau calcul personnalisé. Pour définir des métriques personnalisées supplémentaires que d’autres ressources de données peuvent utiliser, apportez des modifications à la définition de vue. Consultez les vues métriques du catalogue Unity.
Pour définir une nouvelle vue d'indicateur à partir de l’éditeur de jeu de données de tableau de bord, consultez Exporter en tant que Vue d'Indicateur.
Afficher le schéma
Cliquez sur l’onglet Schéma dans le volet de résultats pour afficher le calcul personnalisé et son commentaire associé.
Les mesures calculées sont répertoriées dans la section Mesures et marquées par une icône de mesure calculée
fx. La valeur associée à une mesure calculée est calculée dynamiquement lorsque vous définissez l'GROUP BY dans une visualisation. Vous ne pouvez pas voir la valeur dans la table des résultats. Les dimensions calculées apparaissent dans la section Dimensions .
Utiliser un calcul personnalisé dans une visualisation
Vous pouvez utiliser la mesure calculée Coût par mile précédemment créée dans une visualisation.
Les mesures calculées sont automatiquement agrégées par rapport aux dimensions configurées dans votre graphique. Ce comportement est identique à la façon dont les dimensions et les mesures fonctionnent dans les vues de métriques, où l’agrégation s’adapte dynamiquement aux regroupements que vous définissez dans votre visualisation.
- Cliquez sur le canevas . Ensuite, placez un nouveau widget de visualisation sur le canevas.
- Utilisez le panneau de configuration de visualisation pour modifier les paramètres comme suit :
- Jeu de données : données Taxicab
- Visualisation : barre
-
Axe X :
- Champ : dropoff_zip
- Type d’échelle : catégorique
- Transformation : aucune
-
Axe Y :
- Coût par mile
Note
Les visualisations de table prennent en charge les dimensions calculées, mais ne prennent pas en charge les mesures calculées.
L’image suivante montre le graphique.
Les visualisations avec des calculs personnalisés sont automatiquement mises à jour lorsque des filtres sont appliqués. Par exemple, l’ajout d’un filtre pickup_zip met à jour la visualisation pour afficher uniquement les données correspondant aux valeurs sélectionnées.
Modifier un calcul personnalisé
Pour modifier un calcul :
- Cliquez sur l’onglet Données, puis sur le jeu de données associé au calcul que vous souhaitez modifier.
- Cliquez sur l’onglet Schéma dans le volet de résultats.
-
Les mesures et dimensions apparaissent sous la liste des champs du jeu de données. Cliquez sur le menu kebab
à droite du calcul que vous souhaitez modifier. Cliquez ensuite sur Modifier.
- Dans le panneau Modifier le calcul personnalisé , mettez à jour les champs de texte que vous souhaitez modifier. Cliquez ensuite sur Mettre à jour.
Supprimer un calcul personnalisé
Pour supprimer un calcul :
- Cliquez sur l’onglet Données , puis sur le jeu de données associé à la mesure que vous souhaitez modifier.
- Cliquez sur l’onglet Schéma dans le volet de résultats.
- La section Mesures apparaît sous la liste des champs. Cliquez sur le menu kebab
à droite du calcul que vous souhaitez modifier. Cliquez ensuite sur Supprimer.
- Cliquez sur Supprimer dans la boîte de dialogue Supprimer qui s’affiche.
Limites
Pour utiliser des calculs personnalisés, les valeurs suivantes doivent être remplies :
- Les colonnes utilisées dans l’expression doivent appartenir au même jeu de données.
- Les expressions qui référencent des tables externes ou des sources de données ne sont pas prises en charge et peuvent échouer ou retourner des résultats inattendus.
Fonctions prises en charge
Pour obtenir une référence complète de toutes les fonctions prises en charge pour les calculs personnalisés, consultez la référence de fonction de calcul personnalisée. La tentative d’utilisation d’une fonction non prise en charge entraîne une erreur.
Examples
Les exemples suivants illustrent des utilisations courantes pour les calculs personnalisés. Chaque calcul personnalisé apparaît dans le schéma du jeu de données sous l’onglet données. Sur le canevas, vous pouvez choisir le calcul personnalisé en tant que champ.
Filtrer et agréger des données de manière conditionnelle
Utilisez une CASE instruction pour agréger des données de manière conditionnelle. L’exemple suivant utilise le samples.nyctaxi.trips jeu de données et calcule la somme des tarifs pour toutes les courses qui commencent dans le code postal 10103.
SUM(CASE
WHEN pickup_zip=10103 THEN fare_amount
WHEN pickup_zip!=10103 THEN 0
END)
Chaînes de construction
Utilisez la CONCAT fonction pour construire une nouvelle valeur de chaîne. Voir concat la fonction et concat_ws la fonction.
CONCAT(first_name, ' ', last_name)
Mettre en forme les dates
Permet DATE_FORMAT de mettre en forme des chaînes de date qui apparaissent dans les visualisations.
DATE_FORMAT(tpep_pickup_datetime, 'YYYY-MM-dd')