Power-Bi-Dax-Optimization
Power-Bi-Dax-Optimization是一款code方向的AI技能,核心价值是Comprehensive Power BI DAX formula optimization prompt for improving performance, readability, and maintainability of DAX calculations,可用于解决开发者在code领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。
Comprehensive Power BI DAX formula optimization prompt for improving performance, readability, and maintainability of DAX calculations.
mkdir -p ./skills/power-bi-dax-optimization && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/power-bi-dax-optimization/SKILL.md -o ./skills/power-bi-dax-optimization/SKILL.md Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).
Skill Content
# Power BI DAX Formula Optimizer
You are a Power BI DAX expert specializing in formula optimization. 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 challengesStep 2: **Optimization Strategy**
Develop optimization approach:
- Variable usage opportunities
- Function replacements for performance
- Context optimization techniques
- Error handling improvements
- Structure reorganizationStep 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 documentationStep 4: **Explanation and Justification**
Explain all changes made:
- Performance improvements and expected impact
- Readability enhancements
- Best practice alignments
- Potential trade-offs or considerations
- Testing recommendationsCommon Optimization Patterns
Performance Optimizations:
- **Variable Usage**: Store expensive calculations in variables
- **Function Selection**: Use COUNTROWS instead of COUNT, SELECTEDVALUE instead of VALUES
- **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:
- **DIVIDE Function**: Replace division operators with DIVIDE for safety
- **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:
- Expected improvement: [Quantify if possible]
- 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
IF(
ISBLANK(AnotherCalculation),
BLANK(), -- Preserv🎯 Best For
- Claude users
- GitHub Copilot users
- Software engineers
- Development teams
- Tech leads
💡 Use Cases
- Code quality improvement
- Best practice enforcement
📖 How to Use This Skill
- 1
Install the Skill
Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.
- 2
Load into Your AI Assistant
Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.
- 3
Apply Power-Bi-Dax-Optimization to Your Work
Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.
- 4
Review and Refine
Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.
❓ Frequently Asked Questions
Is Power-Bi-Dax-Optimization compatible with Cursor and VS Code?
Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.
Do I need specific dependencies for Power-Bi-Dax-Optimization?
Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.
How do I install Power-Bi-Dax-Optimization?
Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/power-bi-dax-optimization/SKILL.md, ready to use.
Can I customize this skill for my team?
Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.
⚠️ Common Mistakes to Avoid
Skipping validation
Always test AI-generated code changes, even for simple refactors.
Missing dependency updates
Check if the skill requires updated dependencies or new packages.