Skip to content

About

End-to-end Fabric projects built with Claude Code and MCP — covering medallion lakehouses, real-time KQL pipelines, ML workflows, and Power BI semantic models. Developed using a two-harness agentic workflow.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Fabric Analytics Projects

End-to-end Microsoft Fabric analytics projects built by Ali Saghi, DP-600 certified Microsoft Fabric Analytics Engineer and founder of Lotusoftware — a data analytics consultancy in Vantaa, Finland.

Each project demonstrates a full analytics workload on Microsoft Fabric: from raw data ingestion through medallion architecture to semantic models, Power BI reports, and real-time dashboards. All projects are built using a two-harness agentic workflow — no manual Fabric UI work.


How This Works

This repo is the execution harness of a two-harness agentic system. The planning harness (Claude Desktop) reads business context and writes session instructions via the filesystem MCP. The execution harness (Claude Code in VS Code) reads those instructions, executes against Fabric and Power BI via MCP servers, and files a recap at session end.

flowchart LR
    A([ProjectPlanner\nClaude Desktop]) -->|writes instructions| B[CONTEXT.md]
    B -->|read at session start| C([FabricEngineer\nClaude Code])
    C -->|executes via MCP| D[(Microsoft Fabric\nPower BI)]
    D -->|results| C
    C -->|files recap| B
    B -->|updates| E[PROJECTS.md]

    style A fill:#E1F5EE,stroke:#0F6E56,color:#085041
    style C fill:#E1F5EE,stroke:#0F6E56,color:#085041
    style B fill:#EEEDFE,stroke:#534AB7,color:#26215C
    style E fill:#EEEDFE,stroke:#534AB7,color:#26215C
    style D fill:#E6F1FB,stroke:#185FA5,color:#0C447C
Loading

The loop runs every session. CONTEXT.md per workspace is the handoff document — it holds current state, known blockers, and the exact next step. PROJECTS.md is the portfolio-wide registry updated after every session.


Projects

ws_Finance_Analysis — Finance Analytics Platform

Type: Business Intelligence + CI/CD
Stack: Medallion architecture · DirectLake semantic model · Power BI report (4 pages) · Three-environment CI/CD (Dev/Test/Prod) · GitHub Actions semantic model refresh
Blog: Vibe-coding an end-to-end Finance Analytics Platform in Microsoft Fabric with Claude Code

A complete finance analytics platform built from VS Code without touching the Fabric UI. Covers raw CSV ingestion, star schema design, 19 DAX measures across 6 display folders, and a full Dev → Test → Prod promotion flow with automated semantic model refresh on every merge to main.


ws_RTI_BicycleRentals — Real-Time Bicycle Network Monitor

Type: Real-Time Intelligence + Fabric App
Stack: Eventstream · Eventhouse · KQL Database (187M rows) · DirectQuery semantic model · Rayfin Fabric App

Real-time operational monitoring of a bicycle rental network. KQL medallion architecture with Bronze/Silver/Gold layers via update policies and materialized views. Semantic model built on DirectQuery to KQL with 10 measures across 4 display folders covering availability, capacity, rebalancing, and recency. Phase 3b complete: a deployed Fabric App (Rayfin) with KPI cards, station availability table, station drill-down, and rebalancing write-back via AlertSubscription entity — live at https://humid-gem-4f2e8b4d0a-northeurope.webapp.fabricapps.net


ws_USGS_Earthquake — USGS Earthquake Alert

Type: Data Engineering + Analytics + Fabric App
Stack: REST API ingestion · Medallion Lakehouse · PySpark · reverse_geocoder · DirectLake semantic model · Power BI geospatial report · Fabric Data Agents (×3) · Ontology · Fabric App (Rayfin)

Live USGS earthquake data ingested via REST API, processed through Bronze/Silver/Gold Lakehouse layers with reverse geocoding and significance classification, exposed as a 4-page Power BI report with map visuals and time intelligence. Three domain-scoped Data Agents and an Ontology item built on the semantic model. Phase 3b complete: a deployed Fabric App (Rayfin) with country search, DAX-bound KPI cards, earthquake list, and alert subscriptions — live at https://daily-cave-2c1879b505-northeurope.webapp.fabricapps.net


ws_DS_BankChurn — Bank Customer Churn Prediction

End-to-end ML pipeline on Microsoft Fabric: raw ingestion → feature engineering → multi-model MLflow experiment → programmatic champion selection → Direct Lake semantic model → 3-page PBIR report → Fabric Data Agent for natural language churn analysis.

Stack: PySpark · MLflow · LightGBM · scikit-learn · SMOTE · Direct Lake · DAX · PBIR · Fabric Data Agent

Highlights: Programmatic champion model selection via MLflow search_runs · Governed Bronze metadata logging · 10 DAX measures across 4 display folders · Natural language interface via agent_DS_BankChurn


ws_AaltoEE_Forecast — Aalto EE Net Sales Forecasting

Type: Business Intelligence + Forecasting
Stack: Medallion Lakehouse · PySpark · DirectLake semantic model · Power BI report (3 pages) · Fabric Data Agent · RLS

A net sales forecasting prototype built for the Aalto Executive Education analytics role. Combines actuals from Jeeves ERP, accruals from a project delivery system, and weighted CRM pipeline from Dynamics 365 into a governed medallion pipeline. Gold layer: 795 rows of 2026 actuals (€14.6M), 313 accrual rows (€6.6M), and 126 weighted pipeline rows (€829K). Forecast snapshots are versioned per pipeline run.

Highlights: Three-source medallion pipeline with 11 acceptance checks · Dim BU slicer propagation across all three fact tables · RLS roles for Finance, Programme_Manager_ExEd, and Ranking_Team · Natural language interface via agent_AaltoEE_Forecast with three confirmed demo questions


ws_CompetitorSales — Competitive Sales Intelligence

Type: Data Engineering + Business Intelligence
Stack: Medallion Lakehouse · PySpark · DirectLake semantic model · Power BI report (4 pages) · ZipCountry composite key · Copilot-assisted report authoring

~1.8M sales transactions across 6 countries (USA, Japan, Nigeria, Germany, Mexico, Canada) and 14 competing manufacturers (2014–2021). Built to answer one question: where should Sintec focus product, geography, and pricing strategy to defend and grow market share?

Framed through the Analyst Mindset (Jon Christiansen): the question type is Comparison (Sintec vs. 13 competitors) with a Relationship layer (revenue drivers by geography and product). Revenue is the operationalised outcome variable. Known limitation: 1,530 US Zip codes (7.38% of US rows) absent from Geography — documented, not silently dropped.

Gold star schema with snowflake extension: gold_fact_sales (1,798,121 rows), gold_dim_product (2,412 rows), gold_dim_manufacturer (14 rows), gold_dim_geography (176,931 rows, ZipCountry composite key), datedimension (2,557 rows). EDA notebook runs after every pipeline execution as a validation gate. Twelve DAX measures across Volume, Time Intelligence, and Competitive Share display folders. Artisans leads overall ($235M, 33.8%); Sintec is #2 ($117M, 16.8%) but leads the US market in 2021.


Development Stack

Layer Tool
AI planning agent Claude Desktop (ProjectPlanner)
AI execution agent Claude Code in VS Code (FabricEngineer)
Fabric operations Fabric Core MCP Server (remote connector)
Power BI modeling powerbi-modeling-mcp v1.0.0 (Claude Code plugin; Claude Desktop read-only)
Fabric skills skills-for-fabric v0.3.19 (Claude Code plugin + Copilot CLI)
Context management PROJECTS.md + ws_<name>/CONTEXT.md
Git strategy dev-fabric-sync → test → main (PR-based promotion)
CI/CD GitHub Actions — semantic model refresh on merge to main

Workflow Reference


About Lotusoftware

Lotusoftware is a data analytics consultancy founded by Ali Saghi in Vantaa, Finland, specialising in Microsoft Fabric, Power BI, and agentic analytics systems.

Last updated: 2026-10-07 (skills v0.3.19, powerbi-modeling-mcp v1.0.0 stack entry).

About

End-to-end Fabric projects built with Claude Code and MCP — covering medallion lakehouses, real-time KQL pipelines, ML workflows, and Power BI semantic models. Developed using a two-harness agentic workflow.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages