Tutorial: Dein erster Build
In diesem Tutorial erstellst du einen Tenant, schreibst ein Signal, baust einen Knowledge Store (KLS) und erkundest die Ergebnisse im Browser. Kein Domain Pack noetig — du baust alles von Grund auf.
Zeit: 15 Minuten Voraussetzungen: jinflow installiert (Schnellstart)
1. Einen Tenant erstellen
Abschnitt betitelt „1. Einen Tenant erstellen“Ein Tenant ist dein analytischer Arbeitsbereich — er haelt deine Daten, Instrumente und Build-Ausgabe.
jinflow init --tenant my_first_analysis --source-system opaleDies erstellt eine Verzeichnisstruktur:
~/.jinflow/live/default/my_first_analysis/ afs/ ← deine Instrumente kommen hierhin raw/ ← deine Quell-CSVs kommen hierhin build/ ← Intermediäre (verwaltet von jinflow) store/ ← KLS-Ausgabe (verwaltet von jinflow)Setze ihn als Standard, damit du nicht jedes Mal --tenant eingeben musst:
jinflow us --tenant default.my_first_analysis2. Quelldaten hinzufuegen
Abschnitt betitelt „2. Quelldaten hinzufuegen“Lege CSV-Dateien im raw/-Verzeichnis ab. Fuer dieses Tutorial erstelle einen minimalen Datensatz:
# Finde das raw-Verzeichnis deines Tenantsjinflow us# Suche nach "Live Root" in der Ausgabe, dann navigiere zu:# {live_root}/default/my_first_analysis/raw/opale/csv/Erstelle eine Datei 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,closedUnd eine Datei 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,pendingBeachte: CASE_002 und CASE_004 haben keine Abrechnungsereignisse. Das ist die Anomalie, die dein Signal erkennen wird.
3. Dein erstes Signal schreiben
Abschnitt betitelt „3. Dein erstes Signal schreiben“Erstelle eine Datei in deinem AFS unter 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: 500Dieses Signal sagt: “Fuer jeden Fall sollte es mindestens ein Abrechnungsereignis geben. Markiere die, die keines haben.”
4. Bauen
Abschnitt betitelt „4. Bauen“jinflow makejinflow wird:
- Deine CSVs validieren
- Dein Signal-YAML zu SQL kompilieren
- dbt ausfuehren (Bronze → Silver → Gold → Signals)
- Den KLS stempeln
Beobachte die Ausgabe — du solltest sehen wie dein Signal kompiliert und gebaut wird.
5. Erkunden
Abschnitt betitelt „5. Erkunden“jinflow exploreDies oeffnet den Explorer in deinem Browser auf localhost:4000. Navigiere zu:
- Signals — du wirst
probe_unbilled_casesgelistet sehen - Findings — du wirst Findings fuer CASE_002 und CASE_004 (die nicht abgerechneten Faelle) sehen, jeweils mit severity
highund money_at_risk500
6. Iterieren
Abschnitt betitelt „6. Iterieren“Versuche jetzt dein Signal zu aendern. Oeffne afs/probes/probe_unbilled_cases.yaml und aendere severity: high zu severity: medium. Dann:
jinflow makeAktualisiere den Explorer — die Findings zeigen jetzt medium severity. Das ist der make → explore → evolve Zyklus, der alle jinflow-Arbeit antreibt.
7. Snapshot
Abschnitt betitelt „7. Snapshot“Zufrieden mit deiner Analyse? Friere sie ein:
jinflow make --snapshot first-analysisDies erstellt eine unveraenderliche Kopie deines KLS. Du kannst jederzeit zurueckkehren:
jinflow explore --snapshot first-analysisWas du gelernt hast
Abschnitt betitelt „Was du gelernt hast“- Ein Tenant ist dein analytischer Arbeitsbereich
- Signals sind YAML-Dateien, die diagnostische Abfragen definieren
jinflow makekompiliert YAML → SQL → DuckDBjinflow explorestellt die Ergebnisse in einer Web-UI bereit- Snapshots frieren deine Arbeit fuer zukuenftige Referenz ein
Naechste Schritte
Abschnitt betitelt „Naechste Schritte“- Tutorial: Vom Finding zum Verdict — schreibe eine Thesis und ein Verdict
- Instrumente Guide — alle Instrumententypen
- YAML Signal Referenz — alle Signal-Felder und Typen
- Glossar — jeder Begriff erklaert