OLAP in the Microsoft Ecosystem (and how to actually use it with SharePoint, Power Automate, Power BI, and Power Apps)

OLAP (Online Analytical Processing) is the “analytics side” of data: it’s designed for fast slicing/dicing, aggregations, and business-friendly analysis across dimensions like time, product, region, cost center, project, customer, etc. In Microsoft terms, OLAP is strongly associated with the Analysis Services engine (the same engine behind Power BI semantic models). (Microsoft Learn)

What makes OLAP different from “regular databases” is the modeling approach:

  • OLTP (transactions): optimized for writes (create/update), normalized tables, row-by-row operations.
  • OLAP (analytics): optimized for reads (query), star/snowflake schemas, pre-aggregations, and multidimensional thinking. (Microsoft Learn)

1) OLAP in Microsoft: Cubes vs Tabular vs Power BI Semantic Models

Microsoft’s OLAP world shows up in a few “shapes”:

A) Multidimensional (classic OLAP cube)

This is the traditional “cube” approach: measures, dimensions, hierarchies, KPIs, partitions, aggregations. It’s typically implemented with SQL Server Analysis Services (SSAS) Multidimensional. (Microsoft Learn)

B) Tabular (modern OLAP with columnar engine)

Tabular models are generally simpler to build and are powered by the VertiPaq in-memory columnar engine. They support Import and DirectQuery patterns and are a foundation for Power BI modeling (DAX measures, relationships, star schema). (Microsoft Learn)

C) Power BI Semantic Models (datasets)

In Power BI service, what used to be called “datasets” are now typically referred to as semantic models. They can be:

  • hosted in the Power BI service, or
  • externally hosted by Analysis Services (live connection). (Microsoft Learn)

Practical translation: if you’re building analytics for SharePoint + Power Platform, most of the time your OLAP layer is your Power BI semantic model (tabular + DAX), even if you never say “OLAP cube” out loud.


2) The “Microsoft OLAP Stack” Architecture You Should Aim For

A clean enterprise pattern looks like this:

  1. Source systems (SharePoint lists/libraries, SQL, Dataverse, ERP, APIs)
  2. Staging / shaping (Power Query, Dataflows, SQL views)
  3. Semantic layer (OLAP)
    • Power BI semantic model (tabular), or
    • SSAS Tabular / Multidimensional (if needed)
  4. Consumption
    • Power BI reports (and embedded in SharePoint)
    • Power Apps experiences
    • Power Automate notifications/actions

This aligns with how Microsoft describes OLAP systems: optimize for analysis, historical data, complex queries. (Microsoft Learn)


3) OLAP + SharePoint: the two most common real-world patterns

Pattern 1 — SharePoint as a data source (List-driven BI)

Use when SharePoint lists are acting like a “lightweight business database”.

Step-by-step (recommended for most teams):

  1. Model your SharePoint list like a dataset:
    • Use proper columns (Choice, Person, DateTime, Numbers)
    • Avoid storing numeric/date values as text
  2. In Power BI Desktop, connect to the SharePoint list data.
  3. Shape data in Power Query (clean columns, types, renames).
  4. Build a star schema if you have multiple lists (facts/dimensions).
  5. Publish the model + report to Power BI service.

Microsoft has an explicit tutorial for building a report from a SharePoint Online list in Power BI Desktop. (Microsoft Learn)

When this becomes OLAP: when your semantic model starts delivering measures like:

  • Total Cost, Avg Lead Time, On-Time %, Backlog, Burn-down, WIP, etc.
    …and users slice it by time/team/region/project.

Pattern 2 — SharePoint as a portal (Power BI embedded as OLAP “front-end”)

Use when SharePoint is the intranet/PMO portal and Power BI is the analytics layer.

Step-by-step:

  1. Publish your report to Power BI service.
  2. In SharePoint Online modern page:
    • Add Power BI web part
    • Select the report
  3. Ensure licensing and permissions:
    • Users sign in
    • Report permissions / RLS apply
    • Requires Power BI Pro or Premium Per User for viewers depending on capacity/licensing setup

Microsoft’s “Embed a report web part in SharePoint Online” doc covers this and calls out permission/RLS and modern pages requirements. (Microsoft Learn)

If your org uses Power BI Report Server (on-prem), embedding is different (often iFrame) and has constraints with SharePoint Online. (Microsoft Learn)


4) OLAP + Power BI: how the semantic model becomes your “cube”

Step-by-step: build an OLAP-grade semantic model

  1. Choose the semantic model mode
    • Import (fastest analytics)
    • DirectQuery (near-real-time, depends on source performance)
    • Composite (mix) (Microsoft Learn)
  2. Use a star schema
    • One fact table (transactions/events)
    • Multiple dimensions (Date, Project, Team, Region, Customer)
  3. Write measures (DAX)
    • Keep calculations in measures, not calculated columns (when possible)
  4. Apply security
    • Row-Level Security (RLS) so the same report serves multiple audiences
  5. Govern
    • Version your model
    • Define a “gold” semantic model that multiple reports reuse

Advanced (real OLAP engineering): Power BI Premium semantic models expose an XMLA endpoint, allowing tooling and automation (SSMS, Tabular Editor, TOM). (Microsoft Learn)


5) OLAP + Power Automate: operationalizing insights (not just reporting)

Power Automate doesn’t “do OLAP math” — it acts on outcomes from the OLAP layer.

Pattern A — Refresh orchestration (dataflows + datasets)

A very common enterprise need is:
“When the dataflow finishes refreshing, refresh the semantic model next.”

Microsoft provides a step-by-step for triggering dataflows and Power BI semantic models sequentially (using Power Automate). (Microsoft Learn)

Step-by-step flow outline:

  1. Trigger: schedule or “when dataflow refresh completes”
  2. Action: refresh the next artifact (dataset/semantic model)
  3. Action: notify teams (email/Teams) if refresh failed/succeeded
  4. (Optional) write refresh log back to SharePoint list

Pattern B — Query a semantic model and take action

Power Automate has a Power BI connector that includes actions like refreshing datasets and running queries. (Microsoft Learn)
Use cases:

  • Detect threshold breaches (e.g., backlog > X)
  • Send a daily digest
  • Create tasks in a tracker
  • Update a SharePoint list field (“Status = At Risk”)

Tip: keep the semantic model as the “single source of truth” for metrics; Power Automate just consumes the result and executes actions.


6) OLAP + Power Apps: turning analytics into an interactive app experience

Power Apps pairs well with OLAP in two main ways:

Pattern A — Power Apps writes, OLAP reads

  • Power Apps is used to create/update operational data (often stored in SharePoint list or Dataverse)
  • Power BI semantic model consumes that data and provides analytics
  • SharePoint page hosts both the app (Power Apps web part) and the report (Power BI web part)

This creates a portal where users act and see impact in one place.

Pattern B — Embedding Power Apps inside Power BI (writeback UX)

Power BI supports a “Power Apps visual” scenario (app embedded in report context) so users can update records related to what they’re looking at. This is commonly used for:

  • updating status
  • adding comments
  • triaging “at risk” items

(Implementation details vary by environment; the architectural principle stays: OLAP remains the read-optimized semantic layer, Power Apps remains the write-oriented UX.)


7) A concrete end-to-end example (SharePoint → OLAP → Actions → App)

Goal

A PMO portal where:

  • SharePoint list stores project status updates
  • Power BI semantic model calculates “Risk Score”, “Schedule variance”, “Aging”
  • SharePoint page embeds the report
  • Power Automate sends alerts when Risk Score crosses threshold
  • Power Apps lets PMs update mitigation actions

Step-by-step blueprint

  1. SharePoint
    • Create lists: Projects, StatusUpdates, Risks
  2. Power BI
    • Connect to SharePoint lists
    • Build semantic model with:
      • Date dimension
      • measures: RiskScore, OverdueCount, OnTimeRate
    • Publish report
  3. SharePoint Portal
  4. Power Automate
    • Schedule daily
    • Query/refresh semantic model (Microsoft Learn)
    • If RiskScore > threshold, send Teams/email and log to SharePoint
  5. Power Apps
    • Form to update mitigation fields
    • Embed the app near the report in SharePoint

8) When should you use SSAS Multidimensional vs Tabular vs “Just Power BI”?

Use this quick decision guidance (based on Microsoft’s positioning of tabular/multidimensional and how Power BI semantic models fit into the Analysis Services engine world):

  • Power BI semantic model (tabular): best default choice for modern BI and portal embedding. (Microsoft Learn)
  • SSAS Tabular: if you need an enterprise semantic layer outside Power BI, or strict model governance, or reuse across tools at scale. (Microsoft Learn)
  • SSAS Multidimensional: for legacy cube investments, complex cube features, or when your org already runs that ecosystem. (Microsoft Learn)

Final summary table (steps + technical mapping)

AreaWhat you buildStep-by-step outcomeWhy it’s “OLAP”
SharePointLists as structured source + portal pagesLists store facts/dimensions; pages host BI web partsSharePoint becomes a governed source + consumption surface
Power BISemantic model + DAX measures + securityModel modes (Import/DirectQuery/Composite), star schema, measures, RLS (Microsoft Learn)Semantic model is the OLAP layer (fast slice/dice, aggregations)
SharePoint + Power BIEmbedded report web partPower BI report embedded in modern pages with permissions/RLS (Microsoft Learn)OLAP results become portal-grade analytics
Power AutomateRefresh + notifications + automationTrigger refresh flows; refresh dataset after dataflow; act on thresholds (Microsoft Learn)Operationalizes OLAP insights into workflows
Power AppsApp UI for writeback/updatesUsers update operational data; BI reads and reflects updatesSeparates write-optimized UX from read-optimized OLAP layer
Advanced governanceXMLA / TOM / toolingManage semantic models with enterprise tooling (Premium) (Microsoft Learn)Treats the model like a real enterprise cube

Edvaldo Guimrães Filho Avatar

Published by