Advanced Excel Chapter 11: Power Pivot and Data Modelling with Practical Examples
Traditional Excel reports often keep customer, product, employee and transaction information inside one large flat worksheet. This creates repeated data, larger files, complicated formulas and a higher risk of inconsistent information.
Power Pivot allows you to build a relational Data Model inside Excel. Instead of combining everything into one worksheet, you can store information in separate related tables and analyze them together using PivotTables, PivotCharts and DAX calculations.
In this chapter, you will learn about the Excel Data Model, Power Pivot, fact tables, dimension tables, star schemas, primary and foreign keys, table relationships, calendar tables, hierarchies and model optimization.
Learning Objectives
After completing this chapter, you should be able to:
- Understand the purpose of the Excel Data Model.
- Enable and open the Power Pivot add-in.
- Load multiple tables into the Data Model.
- Identify fact and dimension tables.
- Understand star-schema design.
- Identify primary and foreign keys.
- Create one-to-many relationships.
- Create and use a Calendar table.
- Create useful business hierarchies.
- Understand calculated columns and measures.
- Create a PivotTable from multiple related tables.
- Improve model performance and usability.
1. What Is Power Pivot?
Power Pivot is an Excel data-modelling technology used to create relationships between tables and perform advanced calculations using DAX.
Power Pivot Can Be Used To:
- Analyze several related tables together.
- Work with datasets larger than a normal worksheet can comfortably display.
- Create relationships between transaction and master tables.
- Build calculated columns and measures.
- Create date hierarchies and business hierarchies.
- Build PivotTables without repeatedly using lookup formulas.
- Create reusable KPIs for dashboards.
2. What Is the Excel Data Model?
The Data Model is a collection of related tables stored inside an Excel workbook. It provides the data source for PivotTables, PivotCharts and Power Pivot calculations.
Excel Workbook
│
├── Worksheets
│ ├── Input sheets
│ ├── Reports
│ └── Dashboards
│
└── Data Model
├── Sales table
├── Products table
├── Customers table
├── Salespeople table
└── Calendar table
Benefits of the Data Model
- Combines data from multiple tables.
- Reduces repeated master information.
- Supports table relationships.
- Supports Distinct Count calculations.
- Supports advanced DAX measures.
- Improves report consistency.
- Allows one model to support multiple reports.
3. Traditional Flat Table vs Relational Data Model
Traditional Flat Table
| OrderID | ProductID | ProductName | Category | CustomerID | CustomerName | City | Sales |
|---|---|---|---|---|---|---|---|
| ORD-1001 | P-101 | Laptop | Computer | C-101 | ABC Ltd. | Kolkata | 90000 |
| ORD-1002 | P-101 | Laptop | Computer | C-102 | XYZ Ltd. | Delhi | 45000 |
Product Name, Category, Customer Name and City may be repeated thousands of times.
Relational Data Model
Product Master
ProductID | ProductName | Category
↓
Sales Table
OrderID | ProductID | CustomerID | Quantity | Sales
↑
Customer Master
CustomerID | CustomerName | City
Master information is stored once and linked to the transaction table using IDs.
4. Enabling the Power Pivot Add-In
The Power Pivot tab may not appear automatically in every Excel installation.
Steps to Enable Power Pivot
- Open Excel.
- Go to File → Options.
- Select Add-ins.
- At the bottom, select COM Add-ins.
- Click Go.
- Select Microsoft Power Pivot for Excel.
- Click OK.
The Power Pivot tab should now appear in the Excel Ribbon. Availability can depend on the Excel edition and platform.
5. Opening the Power Pivot Window
- Open the Power Pivot tab.
- Select Manage.
Main Power Pivot Views
| View | Purpose |
|---|---|
| Data View | Displays table rows, columns and calculations |
| Diagram View | Displays tables and their relationships |
6. Understanding Fact Tables
A fact table stores measurable business events or transactions. It usually contains many rows and numerical values that can be aggregated.
Example Sales Fact Table
| OrderID | OrderDate | ProductID | CustomerID | SalespersonID | Quantity | SalesAmount | CostAmount |
|---|---|---|---|---|---|---|---|
| ORD-1001 | 01-Jul-2026 | P-101 | C-101 | S-101 | 2 | 90000 | 76000 |
| ORD-1002 | 02-Jul-2026 | P-102 | C-102 | S-102 | 4 | 48000 | 39000 |
Typical Fact-Table Characteristics
- Contains many transaction rows.
- Contains foreign keys.
- Contains amounts, quantities and measurable values.
- Grows as new transactions occur.
- Usually appears in the centre of a star schema.
Examples of Fact Tables
- Sales transactions
- Purchase transactions
- Inventory movements
- Student fee payments
- Employee attendance
- Website visits
- Bank transactions
7. Understanding Dimension Tables
A dimension table stores descriptive information used to categorize, filter and group facts.
Product Dimension
| ProductID | ProductName | Category | Brand | StandardCost |
|---|---|---|---|---|
| P-101 | Laptop | Computer | TechPro | 38000 |
| P-102 | Monitor | Computer | ViewPlus | 9500 |
Customer Dimension
| CustomerID | CustomerName | City | State | CustomerType |
|---|---|---|---|---|
| C-101 | ABC Enterprises | Kolkata | West Bengal | Corporate |
| C-102 | XYZ Traders | Delhi | Delhi | Retail |
Typical Dimension-Table Characteristics
- Contains descriptive attributes.
- Contains one row per business entity.
- Uses a unique primary key.
- Contains fewer rows than a fact table.
- Is used for filtering and grouping.
8. Fact Tables vs Dimension Tables
| Fact table | Dimension table |
|---|---|
| Stores business events | Stores descriptive information |
| Contains many rows | Usually contains fewer rows |
| Contains foreign keys | Contains a unique primary key |
| Contains measurable values | Contains labels and categories |
| Used for aggregation | Used for filtering and grouping |
9. What Is a Star Schema?
A star schema is a data-model design in which a central fact table is connected directly to surrounding dimension tables.
Calendar
|
|
Customers —— Sales Fact —— Products
|
|
Salespeople
|
|
Regions
Why It Is Called a Star Schema
The central fact table and surrounding dimension tables create a structure resembling a star.
Benefits of a Star Schema
- Easy to understand
- Efficient filtering
- Clear relationships
- Reusable dimensions
- Better report usability
- Reduced repeated text
- Simpler DAX calculations
10. Create the Complete Sales Data Model
Tables Required
FactSalesDimProductDimCustomerDimSalespersonDimRegionDimDate
Recommended Model
DimDate[Date]
|
|
FactSales[OrderDate]
|
+—— DimProduct[ProductID]
|
+—— DimCustomer[CustomerID]
|
+—— DimSalesperson[SalespersonID]
|
+—— DimRegion[RegionID]
11. Create the FactSales Table
| Column | Purpose | Recommended type |
|---|---|---|
| OrderID | Transaction identifier | Text |
| OrderDate | Date of transaction | Date |
| ProductID | Foreign key to product | Text |
| CustomerID | Foreign key to customer | Text |
| SalespersonID | Foreign key to salesperson | Text |
| RegionID | Foreign key to region | Text |
| Quantity | Units sold | Whole Number |
| SalesAmount | Sales value | Currency/Decimal |
| CostAmount | Cost value | Currency/Decimal |
12. Create the Dimension Tables
DimProduct
- ProductID
- ProductName
- Category
- Brand
- StandardCost
DimCustomer
- CustomerID
- CustomerName
- CustomerType
- City
- State
DimSalesperson
- SalespersonID
- SalespersonName
- Department
- JoiningDate
DimRegion
- RegionID
- RegionName
- RegionalManager
13. Understanding Primary Keys
A primary key uniquely identifies every row in a dimension table.
Primary-Key Examples
- ProductID in DimProduct
- CustomerID in DimCustomer
- SalespersonID in DimSalesperson
- RegionID in DimRegion
- Date in DimDate
Primary-Key Requirements
- Every value must be unique.
- The key should not contain blanks.
- The data type must match the related fact-table key.
- The key should remain stable over time.
Check for Duplicate Product IDs
=COUNTIF(
ProductData[ProductID],
[@ProductID]
)>1
Check for Blank Keys
=COUNTBLANK(
ProductData[ProductID]
)
14. Understanding Foreign Keys
A foreign key is a column in the fact table that refers to a primary key in a dimension table.
Example
DimProduct[ProductID]
Unique values:
P-101
P-102
P-103
FactSales[ProductID]
Repeated values:
P-101
P-101
P-102
P-103
P-101
The Product ID can appear repeatedly in FactSales because the same product may be sold many times.
15. Understanding One-to-Many Relationships
Most star-schema relationships are one-to-many.
DimProduct[ProductID]
One unique product
↓
FactSales[ProductID]
Many sales transactions
Relationship Sides
- One side: Dimension table containing unique values
- Many side: Fact table containing repeated values
Example Relationships
DimProduct[ProductID] 1 → Many FactSales[ProductID]
DimCustomer[CustomerID] 1 → Many FactSales[CustomerID]
DimSalesperson[SalespersonID] 1 → Many FactSales[SalespersonID]
DimRegion[RegionID] 1 → Many FactSales[RegionID]
DimDate[Date] 1 → Many FactSales[OrderDate]
16. Loading Tables into the Data Model
Method 1: Add an Excel Table
- Click inside the Excel Table.
- Open the Power Pivot tab.
- Select Add to Data Model.
Method 2: Load from Power Query
- Prepare the query in Power Query.
- Select Home → Close & Load To.
- Select Only Create Connection if no worksheet table is required.
- Select Add this data to the Data Model.
- Click OK.
Recommended Workflow
Source files
↓
Power Query
Import and clean
↓
Excel Data Model
Create relationships
↓
Power Pivot
Create measures
↓
PivotTables and dashboards
17. Creating Relationships in Diagram View
- Go to Power Pivot → Manage.
- Select Diagram View.
- Find the related columns.
- Drag the primary key from the dimension table to the corresponding foreign key in the fact table.
- Repeat the process for the remaining dimensions.
Alternative Relationship Method
- In Diagram View, right-click a table.
- Select Create Relationship.
- Select the fact table and foreign-key column.
- Select the related dimension table and primary-key column.
- Click OK.
18. Relationship Requirements
- The dimension-side key must contain unique values.
- The related columns must use compatible data types.
- The dimension-side key should not contain blanks.
- The fact-side key may contain repeated values.
- The related columns do not need to have the same heading.
- The relationship should represent a valid business connection.
19. Common Relationship Errors
Duplicate Values on the One Side
If DimProduct contains Product ID P-101 more than once, it cannot operate as a reliable one-side lookup table.
Mismatched Data Types
DimProduct[ProductID] = Text
FactSales[ProductID] = Whole Number
Convert both related columns to the same appropriate data type.
Blank Primary Keys
Remove or correct blank IDs in dimension tables.
Unmatched Foreign Keys
FactSales may contain a Product ID that does not exist in DimProduct. Use a Power Query Left Anti merge to create an exception report.
Composite Keys
Excel relationships generally connect one column in one table to one column in another. When uniqueness depends on multiple columns, create a reliable composite key during data preparation.
EmployeeID & "-" & Month
20. Validating Relationships
Create a Test PivotTable
Rows:
DimProduct[Category]
Values:
Sum of FactSales[SalesAmount]
If the relationship works, Category filters the sales values correctly.
Test Another Dimension
Rows:
DimCustomer[State]
Values:
Sum of FactSales[SalesAmount]
Possible Signs of a Relationship Problem
- Every category shows the same grand total.
- A blank category appears unexpectedly.
- Some transactions are not assigned to a dimension value.
- The report produces duplicated values.
21. Understanding Filter Propagation
When a dimension value is selected, the relationship passes that filter to the related fact rows.
Select:
DimProduct[Category] = Computer
↓ Relationship filter
FactSales keeps only transactions
for Computer products
↓
Measures calculate filtered results
Example
When the user selects Laptop in a PivotTable filter or slicer, DimProduct filters the related Laptop transactions in FactSales.
22. Why a Calendar Table Is Important
A Calendar table contains one row for every date in the required reporting period. It provides consistent fields for year, quarter, month, week and day analysis.
Problems with Using Only Transaction Dates
- Dates without transactions may be missing.
- Month sorting may be incorrect.
- Year-to-date analysis becomes more difficult.
- Financial-year reporting is harder to manage.
- Date fields may be repeated across several fact tables.
Benefits of a Calendar Table
- One continuous date sequence
- Consistent month and quarter fields
- Proper chronological sorting
- Reusable filtering across reports
- Support for time-intelligence measures
23. Required Calendar Table Columns
| Column | Example |
|---|---|
| Date | 18-Jul-2026 |
| Year | 2026 |
| Quarter | Q3 |
| Month Number | 7 |
| Month Name | July |
| Month-Year | Jul-2026 |
| Day | 18 |
| Day Name | Saturday |
| Financial Year | FY 2026–27 |
24. Create a Calendar Table in Excel
Enter the model’s first date in A2 and use a dynamic sequence where supported:
=SEQUENCE(
DATE(2027,12,31)-DATE(2025,1,1)+1,
1,
DATE(2025,1,1),
1
)
Convert the generated date list into fixed values if necessary, add the required columns and convert the range into an Excel Table named DimDate.
Year Formula
=YEAR([@Date])
Quarter Formula
="Q"&ROUNDUP(MONTH([@Date])/3,0)
Month Number
=MONTH([@Date])
Month Name
=TEXT([@Date],"mmmm")
Month-Year
=TEXT([@Date],"mmm-yyyy")
Day Name
=TEXT([@Date],"dddd")
25. Create the Calendar Relationship
DimDate[Date]
1
↓
Many
FactSales[OrderDate]
Relationship Requirements
- DimDate must contain one row per date.
- The Date column must not contain duplicates.
- The Date column must not contain blanks.
- Both columns must use a date-compatible type.
- The Calendar range must cover every fact-table date.
26. Sorting Month Names Correctly
Month names may sort alphabetically instead of chronologically.
Incorrect Order
April
August
December
February
January
Correct Order
January
February
March
April
May
Power Pivot Sort by Column
- Open DimDate in Data View.
- Select Month Name.
- Choose Sort by Column.
- Select Month Number.
27. Creating a Financial Year
For an Indian financial year beginning in April, create a Financial Year field.
Excel Formula
=IF(
MONTH([@Date])>=4,
"FY "&YEAR([@Date])&"-"&RIGHT(YEAR([@Date])+1,2),
"FY "&YEAR([@Date])-1&"-"&RIGHT(YEAR([@Date]),2)
)
Financial Quarter Formula
="FQ"&
ROUNDUP(
MOD(MONTH([@Date])-4,12)/3+0.01,
0
)
Test financial-year calculations carefully around March and April boundaries.
28. Creating Hierarchies
A hierarchy organizes related columns into a drill-down path.
Date Hierarchy
Year
↓
Quarter
↓
Month
↓
Date
Product Hierarchy
Category
↓
Brand
↓
Product Name
Geography Hierarchy
Country
↓
State
↓
City
↓
Customer
Create a Hierarchy
- Open Power Pivot Diagram View.
- Right-click a dimension-table field.
- Select Create Hierarchy.
- Rename the hierarchy.
- Add the remaining fields in the correct order.
29. Hiding Technical Fields from Client Tools
Technical IDs should remain available for relationships but may not be useful in PivotTable field lists.
Fields That May Be Hidden
- ProductID
- CustomerID
- SalespersonID
- RegionID
- Month Sort Number
- Technical composite keys
Steps
- Right-click the field in Power Pivot.
- Select Hide from Client Tools.
Do not remove fields required for relationships. Hiding affects report visibility, not the relationship itself.
30. Calculated Columns vs Measures
| Calculated column | Measure |
|---|---|
| Calculated for every row | Calculated for the current filter context |
| Stored in the model | Calculated when the report is queried |
| Used for row-level categories | Used for totals and KPIs |
| Can increase model size | Usually more efficient for aggregation |
| Example: Profit per transaction | Example: Total Profit |
Example Calculated Column
Profit =
FactSales[SalesAmount] - FactSales[CostAmount]
Example Measure
Total Sales :=
SUM(FactSales[SalesAmount])
Measures and advanced DAX calculations will be covered in Chapter 12.
31. Create Basic Measures
Total Sales
Total Sales :=
SUM(FactSales[SalesAmount])
Total Cost
Total Cost :=
SUM(FactSales[CostAmount])
Total Profit
Total Profit :=
[Total Sales] - [Total Cost]
Total Quantity
Total Quantity :=
SUM(FactSales[Quantity])
Order Count
Order Count :=
DISTINCTCOUNT(FactSales[OrderID])
32. Create a PivotTable from the Data Model
- Open the Power Pivot tab.
- Select PivotTable.
- Choose a new or existing worksheet.
- Use fields from several related tables.
Sales by Product Category
Rows:
DimProduct[Category]
Values:
[Total Sales]
[Total Profit]
Sales by Customer State
Rows:
DimCustomer[State]
Values:
[Total Sales]
[Order Count]
Monthly Sales
Rows:
DimDate[Year]
DimDate[Month Name]
Values:
[Total Sales]
Sales by Salesperson and Region
Rows:
DimSalesperson[SalespersonName]
Columns:
DimRegion[RegionName]
Values:
[Total Sales]
33. Create Slicers from Dimension Tables
Recommended Slicer Fields
- DimDate[Year]
- DimProduct[Category]
- DimProduct[Brand]
- DimCustomer[State]
- DimRegion[RegionName]
- DimSalesperson[SalespersonName]
Dimension fields usually provide cleaner and more consistent slicers than repeated fields stored in fact tables.
34. Handle Multiple Date Columns
A fact table may contain Order Date, Shipping Date and Payment Date. One Calendar table can be related actively to one primary date path at a time in a typical model design.
Possible Solutions
- Use Order Date as the active relationship.
- Create inactive relationships for other dates and activate them in specific DAX measures.
- Create separate role-playing date tables when users need independent date filtering.
Role-Playing Date Tables
DimOrderDate → FactSales[OrderDate]
DimShipDate → FactSales[ShippingDate]
DimPaymentDate → FactSales[PaymentDate]
35. Avoiding Many-to-Many Problems
A relationship becomes difficult when both related columns contain repeated values.
Problem Example
Sales Table:
Product Category repeated many times
Target Table:
Product Category repeated many times
Recommended Solution
Create a separate dimension table containing one row per Product Category.
DimCategory
Unique Category values
↓
/ \
/ \
Sales Fact Target Fact
For advanced many-to-many scenarios, use a properly designed bridge table and test filter behaviour carefully.
36. Understanding Granularity
Granularity describes what one row in a fact table represents.
Possible Sales Granularity
- One row per order
- One row per order item
- One row per product per day
- One row per customer per month
Why Granularity Matters
Mixing different levels of detail inside one fact table can cause duplicated totals and incorrect calculations.
Recommended Grain Statement
One row in FactSales represents
one product line within one customer order.
37. Model Optimization Techniques
Remove Unnecessary Columns
Every imported column consumes memory. Keep only columns needed for relationships, calculations, filtering or reporting.
Reduce High-Cardinality Text
Long descriptions and unique text values may increase model size significantly.
Use Numerical Keys Where Appropriate
Stable integer keys can be more efficient than long repeated text keys, though source-system requirements should be respected.
Use Measures for Aggregations
Do not create unnecessary calculated columns when a measure can calculate the required result.
Use a Star Schema
Avoid long and confusing chains of relationships where a simpler star design is possible.
Load Only Final Queries
Power Query staging tables can be set to Connection Only while final tables are loaded into the Data Model.
38. Naming Conventions
Table Names
FactSales
FactInventory
DimProduct
DimCustomer
DimDate
DimEmployee
Measure Names
Total Sales
Total Profit
Profit Margin %
Order Count
Average Order Value
Recommended Rules
- Use consistent table prefixes.
- Use business-friendly field names.
- Avoid technical abbreviations in report-facing fields.
- Keep measure names unique.
- Do not use names such as Table1 or Query1.
39. Common Data-Modelling Mistakes
- Keeping everything in one unnecessarily wide table
- Using a dimension column containing duplicates as the one-side key
- Creating relationships using names instead of stable IDs
- Using mismatched data types
- Including blank primary keys
- Creating circular or confusing relationship paths
- Mixing different granularities in one fact table
- Using fact-table fields for every slicer
- Failing to create a Calendar table
- Sorting month names alphabetically
- Loading unnecessary columns into the model
- Creating too many calculated columns
- Failing to test unmatched foreign keys
40. Data-Modelling Best Practices
- Define the reporting requirements first.
- Define the granularity of every fact table.
- Separate facts from descriptive dimensions.
- Use unique and stable primary keys.
- Use one-to-many relationships where appropriate.
- Prefer a clear star schema.
- Create a dedicated Calendar table.
- Use dimension fields for report filters.
- Hide technical keys from report users.
- Use measures for reusable KPIs.
- Remove unnecessary columns.
- Validate totals before building dashboards.
- Document tables, keys and relationships.
41. Practical Assignment: Multi-Table Sales Data Model
Create a professional sales Data Model using at least 1,000 transaction records.
Required Tables
FactSalesDimProductDimCustomerDimSalespersonDimRegionDimDate
Required Relationships
DimProduct[ProductID]
1 → Many
FactSales[ProductID]
DimCustomer[CustomerID]
1 → Many
FactSales[CustomerID]
DimSalesperson[SalespersonID]
1 → Many
FactSales[SalespersonID]
DimRegion[RegionID]
1 → Many
FactSales[RegionID]
DimDate[Date]
1 → Many
FactSales[OrderDate]
Assignment Tasks
- Import and clean every table using Power Query.
- Remove unnecessary columns.
- Set consistent data types.
- Check dimension keys for duplicates.
- Check dimension keys for blanks.
- Create an unmatched-key exception report.
- Load final tables into the Data Model.
- Create all required relationships.
- Create a complete Calendar table.
- Sort Month Name by Month Number.
- Create a date hierarchy.
- Create a product hierarchy.
- Hide technical keys from client tools.
- Create Total Sales, Total Cost and Total Profit measures.
- Create a PivotTable using fields from several tables.
- Add Product, Region, Customer and Year slicers.
- Validate model totals against the source data.
42. Practice Exercises
Exercise 1: School Management Model
Create Students, Schools, Cities, Fees and Calendar tables. Relate the tables using School ID, City ID, Student ID and Date.
Exercise 2: Employee Attendance Model
Create FactAttendance, DimEmployee, DimDepartment, DimDate and DimStatus tables.
Exercise 3: Inventory Model
Create FactInventoryMovement, DimProduct, DimWarehouse, DimSupplier and DimDate tables.
Exercise 4: Financial Model
Create FactTransactions, DimAccount, DimBranch, DimCustomer and DimDate tables.
Exercise 5: Validate Relationships
Create PivotTables using dimension categories and fact-table amounts. Identify and correct unmatched keys and duplicate dimension values.
43. Chapter Quiz
- What is Power Pivot?
- What is the Excel Data Model?
- What information is stored in a fact table?
- What information is stored in a dimension table?
- What is a star schema?
- What is a primary key?
- What is a foreign key?
- What is a one-to-many relationship?
- Why must the dimension-side key be unique?
- Why is a Calendar table important?
- What is the difference between a calculated column and a measure?
- What does granularity mean?
44. Frequently Asked Questions
What is the difference between Power Query and Power Pivot?
Power Query imports, cleans and reshapes data. Power Pivot creates relationships, Data Models and DAX calculations for analysis.
Can Power Pivot replace VLOOKUP?
In many reporting scenarios, relationships remove the need to copy descriptive information into a large fact table using VLOOKUP. Related tables can be analyzed together through the Data Model.
Why does a relationship require unique values on one side?
The model must identify one correct dimension record for each fact-table key. Duplicate values create ambiguity.
Can a Data Model contain more than one fact table?
Yes. A model can contain Sales, Budget, Inventory and other fact tables connected to shared dimensions. Their granularities and relationships must be designed carefully.
Why do I need a Calendar table?
A Calendar table provides continuous dates, consistent reporting periods, correct sorting and support for DAX time-intelligence calculations.
Should every calculation be a calculated column?
No. Use calculated columns for necessary row-level results and measures for aggregations and KPIs. Unnecessary calculated columns can increase model size.
Official References
- Power Pivot Overview and Learning – Microsoft Support
- Create a Data Model in Excel – Microsoft Support
- Relationships Between Tables in a Data Model – Microsoft Support
- Create Relationships in Power Pivot – Microsoft Support
- Star Schema Guidance – Microsoft Learn
Conclusion
Power Pivot allows Excel to analyze multiple related tables without repeatedly combining all information into one worksheet. Fact tables store measurable transactions, while dimension tables provide descriptive information for grouping and filtering.
A well-designed star schema uses unique dimension keys, consistent foreign keys and clear one-to-many relationships. A dedicated Calendar table supports reliable monthly, quarterly and yearly analysis.
In the next chapter, we will study essential DAX functions, including SUMX, CALCULATE, FILTER, RELATED, DISTINCTCOUNT, row context, filter context, KPI measures and time-intelligence calculations.
