What problem does it solve?
Converting analytical SQL queries into DAX measures is error-prone because SQL is row-set based while DAX is filter-context based. This Skill provides systematic translation rules that preserve business semantics while producing valid, best-practice Power BI DAX.
Core Features & Use Cases
- Aggregate Translation: Converts SUM, AVG, COUNT(DISTINCT), and arithmetic-inside-aggregate patterns into scalar aggregations or iterator functions like SUMX and AVERAGEX.
- Window Function Handling: Translates rolling windows (ROWS BETWEEN N PRECEDING) into CALCULATE with DATESINPERIOD, and unbounded OVER() windows into iterators over ALL(table).
- Safe Division & Conditionals: Rewrites NULLIF division patterns as DIVIDE and CASE WHEN logic as CALCULATE with filters.
- Use Case: A data engineer migrating Snowflake KPI queries to a Power BI semantic model uses this Skill to convert expressions like SUM(revenue - cost) / NULLIF(SUM(revenue), 0) into properly qualified DAX measures using DIVIDE and SUMX.
Quick Start
Translate this SQL expression into a DAX measure: SUM(fact_sales.price * fact_sales.quantity) / NULLIF(SUM(fact_sales.quantity), 0).