Skip to content

Settings

Configure tenant connections and DAX complexity thresholds in the Soterre PBI Analyzer settings page.

Overview

The Settings page (gear icon in the top navigation bar) lets you manage two things:

  1. Tenant Connections — Add, edit, or remove Power BI Service connections
  2. DAX Thresholds — Customize how the Complex DAX flags score measure and column expressions

Tenant Configuration

This is where you add your Power BI Service connections. Each tenant requires:

  • Tenant ID, Client ID, Client Secret — Azure AD service principal credentials
  • Metrics Workspace ID and Metrics Dataset ID — optional, for Capacity Monitoring

For step-by-step instructions, see Add a New Tenant.

For setting up the service principal itself, see Set Up Power BI Service Credentials.


DAX Thresholds

These thresholds control how the Complex DAX Measures and Complex DAX Columns flags score expressions.

For each measure or calculated column, the analyzer checks every metric against its threshold. If the value exceeds the threshold, penalty points are added. If it's below — 0 points. The final complexity score is the sum of all penalties.

Severity Levels

ScoreSeverityResult
< 6LowNot flagged
6 – 13MediumYellow flag
≥ 14HighRed flag

Threshold Settings

SettingDefaultWhat It Controls
Length (chars)900Penalizes expressions longer than this character count
Length (lines)25Penalizes expressions with more lines than this
Paren depth max6Penalizes expressions with parentheses nested deeper than this
Branch count4Penalizes expressions with more IF/SWITCH branches than this
CALCULATE count3Penalizes expressions with more CALCULATE calls than this
Iterator count3Penalizes expressions with more iterator functions (SUMX, AVERAGEX, MAXX, etc.) than this
Virtual table count2Penalizes expressions with more virtual table functions (SUMMARIZE, ADDCOLUMNS, FILTER, etc.) than this
No-VAR length900If the expression exceeds this length and uses no VAR statements, a readability penalty is added

How to Tune

  • Too many flags? Increase the thresholds — this makes the analyzer more lenient.
  • Not enough flags? Decrease the thresholds — this makes scoring stricter.
  • Specific issue? Adjust only the relevant metric. For example, if you want to allow deep nesting but flag long expressions, increase Paren depth max and decrease Length (chars).

Threshold changes apply immediately to the next analysis run.