# Powerbi Dax

> Skill: Run and Validate DAX

- Skill: `santoshkanthety/powerbi-dax` (Agent Skill)
- Install (CLI): `npx skillmds@latest add santoshkanthety/powerbi-dax`
- Raw SKILL.md: https://api.skillmd.com/api/skills/santoshkanthety/powerbi-dax/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: santoshkanthety (https://skillmd.com/u/santoshkanthety)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/santoshkanthety/powerbi-dax

---


# Skill: Run and Validate DAX

## Trigger
Activate when the user wants to run a DAX query, test a DAX expression, validate syntax, explore model data via DAX, or aggregate values from the connected Power BI Desktop model.

## Prerequisites
Must have an active connection — run `pbi-agent connect` first if DAX commands fail with "no connection".

## Commands

```bash
# Run a DAX query (default table output)
pbi-agent dax query "EVALUATE TOPN(10, Sales)"

# Pick output format
pbi-agent dax query "EVALUATE VALUES('Product'[Category])" --format json
pbi-agent dax query "EVALUATE Sales" --format csv

# Constrain to a specific table context
pbi-agent dax query "CALCULATE(SUM(Sales[Amount]))" --table Sales

# Pin the SSAS port (skip auto-detect)
pbi-agent dax query "EVALUATE INFO.TABLES()" --port 56123

# Validate an expression without executing
pbi-agent dax validate "CALCULATE(SUM(Sales[Amount]), YEAR(Sales[Date])=2024)"
```

## Shell Quoting Notes
Multi-line DAX (VAR / RETURN) passed as a shell argument loses line breaks and breaks parsing. For multi-line expressions:
- Prefer inline single-expression form: `DIVIDE([A] - [B], [B])` instead of `VAR x = [A] VAR y = [B] RETURN ...`
- If VAR/RETURN is required, test the single-line collapsed form first (`VAR x = ... RETURN ...` on one line — DAX accepts whitespace separators)

## Common Exploration Patterns

```bash
# Inventory the model
pbi-agent dax query "EVALUATE INFO.TABLES()"
pbi-agent dax query "EVALUATE INFO.MEASURES()"
pbi-agent dax query "EVALUATE INFO.RELATIONSHIPS()"

# Preview a table
pbi-agent dax query "EVALUATE TOPN(10, Sales)"

# Row count
pbi-agent dax query "EVALUATE ROW(\"Count\", COUNTROWS(Sales))"

# Group-by aggregation
pbi-agent dax query "EVALUATE SUMMARIZECOLUMNS(Products[Category], \"Total\", SUM(Sales[Amount]))"
```

## Common Failures
- **"No active connection"** → run `pbi-agent connect`
- **Syntax error on VAR/RETURN** → collapse to single-line DIVIDE / inline form, or test with `pbi-agent dax validate` first
- **Table not found** → run `pbi-agent model tables` to verify the exact name (case-sensitive)

