Domain 5 β€” Module 3 of 4 75%
19 of 28 overall
Domain 5: Implement Reporting Free ⏱ ~14 min read

Power BI & Analytical Workspaces

Embed interactive Power BI dashboards in F&O, build analytical workspaces with KPI tiles and aggregate measurements, and configure the entity store.

What are analytical workspaces?

Simple explanation

Think of a car dashboard.

You don’t open the bonnet to check your speed β€” you glance at the dashboard. Analytical workspaces do the same thing for F&O. Instead of running reports and exporting to Excel, the production manager opens their workspace and sees live KPI tiles: units produced today, defect rate, capacity utilisation β€” all updated automatically.

Behind the scenes, Power BI reads from a special analytics-friendly copy of your data (the entity store), not the live transactional database. So no one’s slowing down order entry by running dashboards.

Entity store deep dive

The entity store is the data engine behind all analytical reporting in F&O.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     Scheduled      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Transactional   │────Refresh─────────▢│   Entity Store   β”‚
β”‚  Database (OLTP) β”‚                     β”‚  (Star Schema)   β”‚
β”‚  normalised,     β”‚                     β”‚  denormalised,    β”‚
β”‚  write-optimised β”‚                     β”‚  read-optimised   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                  β”‚
                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                              β–Ό                    β–Ό                  β–Ό
                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                     β”‚  Power BI    β”‚    β”‚  KPI Tiles   β”‚   β”‚  Analytical  β”‚
                     β”‚  Reports     β”‚    β”‚  (workspace) β”‚   β”‚  Workspaces  β”‚
                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Configuring entity store refresh

SettingDetail
LocationSystem Administration β†’ Setup β†’ Entity Store
Refresh optionsManual (on-demand) or Scheduled (e.g. every 4 hours)
Incremental refreshOnly processes changed records β€” much faster than full refresh
Per-measurementYou can set different refresh schedules for different aggregate measurements
Scenario: Elena configures entity store for PacificForge

Elena sets up the entity store refresh schedule with CTO Gregor:

MeasurementRefresh ScheduleReasoning
Production KPIsEvery 2 hoursProduction managers need near-current data
Financial summariesEvery 6 hoursDaily financial reviews, not real-time
Sales pipelineEvery 4 hoursSales team checks twice daily
Inventory countsEvery 1 hourWarehouse needs fresh stock levels

β€œWe don’t need real-time,” Gregor says. β€œHourly for inventory and bi-hourly for production is enough.”

Aggregate measurements in the AOT

Aggregate measurements are defined in the Application Object Tree (AOT) and deployed to the entity store.

ComponentPurposeExample
MeasurementThe top-level containerProdOutputMeasurement
Measure groupA fact table with its measuresProdOutput (maps to production output table)
MeasuresCalculations on fact dataSUM(QtyGood), COUNT(ProdId), AVG(CostAmount)
DimensionsGrouping/slicing axesDate, Warehouse, Product Category, Production Pool
AttributesDescriptive fields on dimensionsWarehouse name, category description
Vik builds an aggregate measurement

Vik Kapoor at Axion Dynamics creates an aggregate measurement for production output:

Aggregate Measurement: AxProductionOutput
β”œβ”€β”€ Measure Group: ProdRouteTransOutput
β”‚   β”œβ”€β”€ Measure: TotalGoodQty    = SUM(QtyGood)
β”‚   β”œβ”€β”€ Measure: TotalErrorQty   = SUM(QtyError)
β”‚   β”œβ”€β”€ Measure: TotalOrders     = COUNT(ProdId)
β”‚   └── Measure: AvgCostPerUnit  = AVG(CostAmount)
β”œβ”€β”€ Dimension: Date (SchedDate)
β”œβ”€β”€ Dimension: Warehouse (InventLocationId)
β”œβ”€β”€ Dimension: ProductCategory (ItemGroupId)
└── Dimension: Worker (ResponsibleWorker)

Once deployed and the entity store is refreshed, Power BI can visualise these measures sliced by any dimension combination.

Embedding Power BI in F&O

The two embedding patterns

Embedded = self-contained in F&O. Linked = connects to Power BI cloud service.
AspectAnalytical Workspace (Embedded)Power BI Tab (Linked)
Integration typeTightly embedded in workspace formPower BI report linked via configuration
Data sourceEntity store (local star schema)Any Power BI dataset (cloud)
InteractionFilter, drill-through, KPI tiles in workspaceFull Power BI experience in a tab
SecurityInherits F&O workspace securityPower BI row-level security configured separately
DevelopmentPower BI Desktop β†’ .pbix deployed with AOTPower BI service β†’ linked by URL/ID

Building an analytical workspace form

StepAction
1Create a new Form with pattern AnalyticalWorkspace
2Add the Power BI report resource (.pbix) to the AOT
3Reference the report in the form’s PowerBIReportControl
4Add KPI tiles β€” each tile maps to an aggregate measurement
5Configure drill-through β€” clicking a KPI opens a detail page
6Create a menu item and secure with a privilege
7Refresh the entity store so data is available
Exam tip: AnalyticalWorkspace form pattern

The exam may ask about workspace form patterns:

  • The form must use the AnalyticalWorkspace pattern (not OperationalWorkspace)
  • The pattern requires specific control structures: header, KPI section, Power BI section
  • KPI tiles are bound to aggregate measurements β€” they don’t query live data
  • The form pattern validates at compile time β€” missing required sections cause a build error

KPI tiles and drill-through

KPI tiles

KPI tiles are the cards at the top of an analytical workspace:

PropertyPurpose
ValueThe aggregate measurement value (e.g. SUM(QtyGood))
GoalOptional target value for comparison
StatusGreen/Yellow/Red based on value vs goal threshold
TrendArrow showing direction compared to previous period
Drill-throughMenu item that opens when the tile is clicked

Drill-through design

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Analytical Workspace            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚12,450 β”‚ β”‚ 2.1%  β”‚ β”‚ $1.2M β”‚  β”‚   ← KPI tiles
β”‚  β”‚Units  β”‚ β”‚Defect β”‚ β”‚ Cost  β”‚  β”‚
β”‚  β””β”€β”€β”€β”¬β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚      β”‚                           β”‚
β”‚  β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Power BI Report           β”‚   β”‚   ← Embedded visuals
β”‚  β”‚ (charts, tables)          β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚ Click KPI tile
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Detail Page (filtered)          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Scenario: Elena's production workspace

Elena builds PacificForge’s production analytical workspace:

KPI TileMeasurementDrill-through
Units ProducedSUM(QtyGood) todayProduction order list (filtered to today)
Defect RateSUM(QtyError) / SUM(QtyTotal) * 100Quality order list with defect details
Capacity UtilisationSUM(ActualHours) / SUM(PlannedHours) * 100Resource utilisation breakdown
On-Time DeliveryCOUNT(OnTime) / COUNT(Total) * 100Late order list with delay reasons

The production manager sees four tiles, glances at the trends, and clicks β€œDefect Rate” to investigate a spike β€” all without leaving F&O.

Power BI Desktop development workflow

StepDetail
1. ConnectPower BI Desktop β†’ Get Data β†’ Entity Store (or OData for development)
2. ModelBuild relationships between entity store tables
3. VisualiseCreate charts, tables, KPI cards for the workspace viewport
4. Filter contextAdd filters responding to F&O workspace context (company, user)
5. Export .pbixSave as .pbix file
6. DeployAdd .pbix as AOT resource β†’ reference in workspace form
Exam tip: Power BI filter context from F&O

The F&O workspace can pass filter context to the embedded Power BI report:

  • Current legal entity β€” report auto-filters to the user’s current company
  • Date range β€” workspace can pass a default date range
  • Security context β€” if the user only has access to certain warehouses, the report respects that

Configured in the PowerBIReportControl properties on the workspace form.

Security for analytical workspaces

LayerControl
Workspace accessMenu item privilege β€” users must have the role granting access
Data accessEntity store contains cross-company data; workspace forms filter by current legal entity. Power BI RLS can add row-level filtering
Power BI RLSFor linked (cloud) reports, configure row-level security in Power BI service
Aggregate levelWorkspaces show aggregate data β€” individual record security is less granular
Sophie asks about data leakage

Sophie Chen asks: β€œIf the entity store has all companies’ data, doesn’t a production manager see other companies’ numbers?”

Elena explains: β€œTwo safeguards. First, the workspace form passes the current legal entity as a filter. Second, we can configure Power BI RLS for additional row-level security.”

β€œThe entity store contains cross-company data for efficiency, but the presentation layer always filters,” Elena adds.


Question

What is the entity store and why does F&O use it for analytics?

Click or press Enter to reveal answer

Answer

A read-optimised, star-schema database mirroring transactional data. F&O uses it to separate analytical from transactional workloads β€” heavy dashboards run against the entity store, not the live OLTP database. Refreshed on a schedule, not real-time.

Click to flip back

Question

What form pattern must an analytical workspace use?

Click or press Enter to reveal answer

Answer

The AnalyticalWorkspace pattern (not OperationalWorkspace). It requires: header, KPI tile area, and Power BI report control. Validates at compile time β€” missing sections cause build errors.

Click to flip back

Question

What are the components of an aggregate measurement?

Click or press Enter to reveal answer

Answer

1) Measurement β€” top-level container. 2) Measure groups β€” map to fact tables. 3) Measures β€” SUM, COUNT, AVG on fact data. 4) Dimensions β€” grouping axes (date, warehouse, category). 5) Attributes β€” descriptive fields on dimensions. Deployed to entity store.

Click to flip back

Question

How does an analytical workspace pass context to an embedded Power BI report?

Click or press Enter to reveal answer

Answer

Through the PowerBIReportControl on the workspace form. It passes current legal entity, date ranges, and security context. The embedded report auto-filters based on these parameters.

Click to flip back


Knowledge Check

Elena notices that the production KPI tiles show yesterday's numbers, not today's. What is the most likely cause?

Knowledge Check

Which form pattern must Elena use when building an analytical workspace that embeds Power BI and KPI tiles?

Knowledge Check

A production manager can see all companies' data in the analytical workspace, but should only see their own legal entity. What should Elena configure?

Next up: Excel & Electronic Reporting β€” Edit in Excel, ER format designer, and generating regulatory documents.