Tutoriel : Votre premier build
Dans ce tutoriel, vous allez créer un tenant, écrire un Signal, construire un Knowledge Store (KLS) et explorer les résultats dans le navigateur. Pas de domain pack nécessaire — vous construisez tout de zéro.
Durée : 15 minutes Prérequis : jinflow installé (Démarrage rapide)
1. Créer un tenant
Section intitulée « 1. Créer un tenant »Un tenant est votre espace de travail analytique — il contient vos données, instruments et sortie de build.
jinflow init --tenant my_first_analysis --source-system opaleCela crée une structure de répertoires :
~/.jinflow/live/default/my_first_analysis/ afs/ ← your instruments go here raw/ ← your source CSVs go here build/ ← intermediaries (managed by jinflow) store/ ← KLS output (managed by jinflow)Définissez-le comme défaut pour ne pas devoir taper --tenant à chaque fois :
jinflow us --tenant default.my_first_analysis2. Ajouter des données source
Section intitulée « 2. Ajouter des données source »Placez des fichiers CSV dans le répertoire raw/. Pour ce tutoriel, créez un jeu de données minimal :
# Find your tenant's raw directoryjinflow us# Look for "Live root" in the output, then navigate to:# {live_root}/default/my_first_analysis/raw/opale/csv/Créez un fichier cases.csv :
case_id,case_type,admission_date,discharge_date,cost_center_id,statusCASE_001,inpatient,2025-01-15,2025-01-20,CC_OR1,closedCASE_002,outpatient,2025-01-16,,CC_ER,openCASE_003,inpatient,2025-01-17,2025-01-25,CC_OR1,closedCASE_004,day_case,2025-01-18,2025-01-18,CC_DAY,closedCASE_005,inpatient,2025-01-19,2025-01-22,CC_OR2,closedEt un fichier billing_events.csv :
billing_id,case_id,material_id,quantity,unit_price,billing_date,statusBILL_001,CASE_001,MAT_A,2,150.00,2025-01-20,postedBILL_002,CASE_001,MAT_B,1,500.00,2025-01-20,postedBILL_003,CASE_003,MAT_A,3,150.00,2025-01-25,postedBILL_004,CASE_005,MAT_C,1,2000.00,2025-01-22,pendingRemarquez : CASE_002 et CASE_004 n’ont pas d’événements de facturation. C’est l’anomalie que votre Signal va détecter.
3. Écrire votre premier Signal
Section intitulée « 3. Écrire votre premier Signal »Créez un fichier dans votre AFS à afs/probes/probe_unbilled_cases.yaml :
probe_id: probe_unbilled_casesversion: "1.0.0"contract: "gold.v1"type: mandatory_itemseverity: highdescription: "Detect cases that have no billing events"
scope: entity_type: Case group_by: [case_id] time: entity: Case field: admission_date bucket: month
qualifying: entity: Case join_key: case_id
required: entity: BillingEvent join_key: case_id min_count: 1
money_at_risk_fixed: 500Ce Signal dit : « Pour chaque cas, il devrait y avoir au moins un événement de facturation. Signaler ceux qui n’en ont pas. »
4. Construire
Section intitulée « 4. Construire »jinflow makejinflow va :
- Valider vos CSV
- Compiler votre YAML de Signal en SQL
- Exécuter dbt (Bronze → Silver → Gold → Signals)
- Estampiller le KLS
Observez la sortie — vous devriez voir votre Signal être compilé et construit.
5. Explorer
Section intitulée « 5. Explorer »jinflow exploreCela ouvre l’Explorer dans votre navigateur à localhost:4000. Naviguez vers :
- Signals — vous verrez
probe_unbilled_caseslisté - Findings — vous verrez des findings pour CASE_002 et CASE_004 (les cas non facturés), chacun avec severity
highet money_at_risk500
6. Itérer
Section intitulée « 6. Itérer »Essayez maintenant de modifier votre Signal. Ouvrez afs/probes/probe_unbilled_cases.yaml et changez severity: high en severity: medium. Puis :
jinflow makeRafraîchissez l’Explorer — les findings montrent maintenant une sévérité medium. C’est le cycle make → explore → evolve qui anime tout le travail jinflow.
7. Snapshot
Section intitulée « 7. Snapshot »Satisfait de votre analyse ? Figez-la :
jinflow make --snapshot first-analysisCela crée une copie immuable de votre KLS. Vous pouvez toujours y revenir :
jinflow explore --snapshot first-analysisCe que vous avez appris
Section intitulée « Ce que vous avez appris »- Un tenant est votre espace de travail analytique
- Les Signals sont des fichiers YAML qui définissent des requêtes diagnostiques
jinflow makecompile YAML → SQL → DuckDBjinflow exploresert les résultats dans une interface web- Les snapshots figent votre travail pour référence future
Prochaines étapes
Section intitulée « Prochaines étapes »- Tutoriel : Du Finding au Verdict — écrire une Thesis et un Verdict
- Guide Instruments — tous les types d’instruments
- Référence YAML Signal — tous les champs et types de Signal
- Glossaire — chaque terme expliqué