56 results available
Sign in
Skills directory

power-bi-dax-optimization

github

·

Last changed
Hardened

This skill has been hardened by Chainguard

Last changed

This version passed the hardening gate. Hardening applied 6 targeted changes and preserved all other text. Classified findings before hardening: 0. Classified findings closed: 0. Classified findings remaining: 0. Unclassified scanner findings remaining: 0. Review findings closed: 8. Review findings remaining: 6.


Open before hardening

None

Open after hardening

None


Expand
File
Group
Subtype
Severity
Status

No findings available

0 findings


SKILL.md

Power BI DAX Formula Optimizer

Your goal is to analyze, optimize, and improve DAX formulas for better performance, readability, and maintainability.

Analysis Framework

When provided with a DAX formula, perform this comprehensive analysis:

1. Performance Analysis

  • Identify expensive operations and calculation patterns
  • Look for repeated expressions that can be stored in variables
  • Check for inefficient context transitions
  • Assess filter complexity and suggest optimizations
  • Evaluate aggregation function choices

2. Readability Assessment

  • Evaluate formula structure and clarity
  • Check naming conventions for measures and variables
  • Assess comment quality and documentation
  • Review logical flow and organization

3. Best Practices Compliance

  • Verify proper use of variables (VAR statements)
  • Check column vs measure reference patterns
  • Validate error handling approaches
  • Ensure proper function selection (DIVIDE vs /, COUNTROWS vs COUNT)

4. Maintainability Review

  • Assess formula complexity and modularity
  • Check for hard-coded values that should be parameterized
  • Evaluate dependency management
  • Review reusability potential

Optimization Process

For each DAX formula provided:

Step 1: Current Formula Analysis

Analyze the provided DAX formula and identify:
- Performance bottlenecks
- Readability issues  
- Best practice violations
- Potential errors or edge cases
- Maintenance challenges

Step 2: Optimization Strategy

Develop optimization approach:
- Variable usage opportunities
- Function replacements for performance
- Context optimization techniques
- Error handling improvements
- Structure reorganization

Step 3: Optimized Formula

Provide the improved DAX formula with:
- Performance optimizations applied
- Variables for repeated calculations
- Improved readability and structure
- Proper error handling
- Clear commenting and documentation

Step 4: Explanation and Justification

Explain all changes made:
- Performance improvements and expected impact
- Readability enhancements
- Best practice alignments
- Potential trade-offs or considerations
- Testing recommendations

Common Optimization Patterns

Performance Optimizations:

  • Variable Usage: Store expensive calculations in variables
  • Context Optimization: Minimize context transitions in iterator functions
  • Filter Efficiency: Use table expressions and proper filtering techniques

Readability Improvements:

  • Descriptive Variables: Use meaningful variable names that explain calculations
  • Logical Structure: Organize complex formulas with clear logical flow
  • Proper Formatting: Use consistent indentation and line breaks
  • Documentation: Add comments explaining business logic

Error Handling:

  • BLANK Handling: Proper handling of BLANK values without unnecessary conversion
  • Defensive Programming: Validate inputs and handle edge cases

Example Output Format

/* 
ORIGINAL FORMULA ANALYSIS:
- Performance Issues: [List identified issues]
- Readability Concerns: [List readability problems]  
- Best Practice Violations: [List violations]

OPTIMIZATION STRATEGY:
- [Explain approach and changes]

PERFORMANCE IMPACT:
- Areas of optimization: [List specific improvements]
*/

-- OPTIMIZED FORMULA:
Optimized Measure Name = 
VAR DescriptiveVariableName = 
    CALCULATE(
        [Base Measure],
        -- Clear filter logic
        Table[Column] = "Value"
    )
VAR AnotherCalculation = 
    DIVIDE(
        DescriptiveVariableName,
        [Denominator Measure]
    )
RETURN
        AnotherCalculation

Request Instructions

To use this prompt effectively, provide:

  1. The DAX formula you want optimized
  2. Context information such as:
    • Business purpose of the calculation
    • Data model relationships involved
    • Performance requirements or concerns
    • Current performance issues experienced
  3. Specific optimization goals such as:
    • Performance improvement
    • Readability enhancement
    • Best practice compliance
    • Error handling improvement

Usage Example: "Please optimize this DAX formula for better performance and readability:

Sales Growth = ([Total Sales] - CALCULATE([Total Sales], PARALLELPERIOD('Date'[Date], -12, MONTH))) / CALCULATE([Total Sales], PARALLELPERIOD('Date'[Date], -12, MONTH))

This calculates year-over-year sales growth and is used in several report visuals. Current performance is slow when filtering by multiple dimensions."

Install

Install with chainctl
chainctl skill install public/github/power-bi-dax-optimization:latest
Get started with chainctl
View source

Harden your own skills

Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.

Provenance

Upstream sourcehttps://github.com/github/awesome-copilot
Upstream commitcf4347e88c2e40a9aabe5801748ec6bf924c09be
OCI reference

skills.chainreg.biz/public/github.com/github/skills/power-bi-dax-optimization:latest

License

MIT

Files

HARDENING.md

LICENSE

SKILL.md


The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.