Vues
Une vue est un fichier YAML qui regroupe un ou plusieurs cubes en un seul ensemble de données organisé. Ce sont les vues que les utilisateurs finaux — et l’agent Streya — interrogent; les cubes restent en coulisse.
Structure du fichier
Section intitulée « Structure du fichier »# nom de la vue : "sales_analytics"
title: Analytique des ventesdescription: > Une ligne par (mois × client × produit), 5 ans d'historique. À utiliser pour : tendances de revenus, évolutions de la composition de la clientèle, analyse des prix au niveau des produits. Les chiffres se réconcilient avec l'ERP à la granularité mensuelle seulement.public: true # les vues sont publiques par défaut
cubes: - join_path: orders includes: "*" excludes: - internal_id prefix: true
- join_path: orders.customers includes: - name - segment - lifetime_value prefix: true
# Facultatifextends: base_view_namemeta: {}Métadonnées
Section intitulée « Métadonnées »| Propriété | Type | Description |
|---|---|---|
title | chaîne | Nom d’affichage lisible. |
description | chaîne | Le point d’entrée principal de l’agent vers cet ensemble de données — ce qu’il est, sa granularité et quand l’utiliser. Voir rédiger de bonnes descriptions. |
public | booléen | Indique si les utilisateurs finaux voient la vue. true par défaut. Mettez false pour les vues internes ou en cours de développement. |
meta | objet | Métadonnées libres. |
extends | chaîne | Hérite d’une autre vue, avec surcharge sélective. |
access_policy | objet | Règles d’accès au niveau des colonnes et des lignes. Voir politiques d’accès. |
Le tableau cubes
Section intitulée « Le tableau cubes »Chaque entrée tire des champs d’un cube vers la vue.
join_path (obligatoire)
Section intitulée « join_path (obligatoire) »Indique quel cube inclure, en traversant au besoin des jointures avec la notation pointée. Chaque segment doit correspondre à une jointure définie dans le schéma du cube.
cubes: - join_path: orders # le cube orders lui-même - join_path: orders.customers # customers, joint via orders - join_path: orders.order_items.products # deux sautsincludes / excludes
Section intitulée « includes / excludes »Contrôlent quelles dimensions et mesures sont exposées.
# Liste d'autorisation explicite — quand seul un sous-ensemble est pertinent- join_path: orders includes: - status - created_at - total_revenue
# Tout sauf — quand la plupart des champs sont pertinents- join_path: orders includes: "*" excludes: - internal_id - debug_timestampexcludes a priorité sur includes.
Indique si les noms de champs sont préfixés du nom du cube (orders.status plutôt que status).
- join_path: orders prefix: true # les champs apparaissent comme orders_status, orders_count, …Ligne directrice : prefix: true pour les vues multi-cubes (évite les collisions de noms et montre la provenance); prefix: false pour les vues mono-cube (noms plus simples).
Modèles courants
Section intitulée « Modèles courants »Vue mono-cube
Section intitulée « Vue mono-cube »title: Liste des clientsdescription: Tous les clients avec leurs champs de profil. À utiliser pour les recherches et les dénombrements par segment.cubes: - join_path: customers includes: "*" prefix: falseVue analytique multi-cube
Section intitulée « Vue analytique multi-cube »title: Analytique des ventesdescription: > Lignes de commande enrichies des attributs des clients et des produits. À utiliser pour l'analyse des revenus par segment de clientèle, catégorie ou marque.cubes: - join_path: orders includes: "*" prefix: true - join_path: orders.customers includes: [name, segment, lifetime_value] prefix: true - join_path: orders.order_items.products includes: [name, category, brand] prefix: true