Aggregate Metrics Data Model

  • Tech Stack: PowerApp, MS SQL, Azure Data Factory, CRM Analytics
  • Github URL: Project Link

A modularized, scalable, efficient KPI data model to capture aggregated metrics overtime, with native historic and error logging features. Developers can build 1 stored procedure for each KPI that can then group by any number of grouping fields, and 1 master stored procedure captures data for all metrics in the data model.

Benefits of Design Structure
  • Modularized - mechanisms to add/remove individual metrics or summary levels and targets without disrupting entire data model. Each metric gets its own stored procedure.
  • Metadata Capture - Built to allow developers to store definitions for the metric, date, numerator, denominator, and rate.
  • Centralized Automation - One master stored procedure and pipeline to process all metrics.
  • Customizable Capture frequency - can choose to process metrics daily (default), weekly, monthly, quarterly, yearly at the metric level.
  • Built for Auditing and Historical Tracking -
    • Central stored procedure tracks metadata about each stored procedure that runs (when it runs, how many rows added, updated, deleted)
    • Historical table stores all older data that can be pulled in for audits
Key Features
  • PowerApp to store metric metadata to a key dimension table for each metric
  • Simple, easy to extend scehma (see ER diagram in Github repo)
  • Stored Procedure Template for developers (see Github repo)
  • 1 master stored procedure to capture data for all metrics in data model and logic historic data (see Github repo)
  • 1 pipeline in Azure Data Factory to automate data capture
  • 1 SQL view that join dimension tables to fact tables for easy reports
  • 1 KPI Explorer Dashboard to easily slice and dice on the data (see dummy data gif in repo)