Aller au contenu

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.

# nom de la vue : "sales_analytics"
title: Analytique des ventes
description: >
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
# Facultatif
extends: base_view_name
meta: {}
PropriétéTypeDescription
titlechaîneNom d’affichage lisible.
descriptionchaîneLe 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.
publicbooléenIndique si les utilisateurs finaux voient la vue. true par défaut. Mettez false pour les vues internes ou en cours de développement.
metaobjetMétadonnées libres.
extendschaîneHérite d’une autre vue, avec surcharge sélective.
access_policyobjetRègles d’accès au niveau des colonnes et des lignes. Voir politiques d’accès.

Chaque entrée tire des champs d’un cube vers la vue.

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 sauts

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_timestamp

excludes 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).

customer_list.yml
title: Liste des clients
description: Tous les clients avec leurs champs de profil. À utiliser pour les recherches et les dénombrements par segment.
cubes:
- join_path: customers
includes: "*"
prefix: false
sales_analytics.yml
title: Analytique des ventes
description: >
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