К основному содержанию
скилл GitHub Copilot официальный · GitHub

power-bi-dax-optimization — скилл для GitHub Copilot

Разбирает DAX-формулы, предлагает новую версию и объясняет изменения. Нужен, когда меры Power BI трудно читать или они медленно работают с фильтрами.

Установить в GitHub Copilot · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add github/awesome-copilot --skill power-bi-dax-optimization
Открыть на GitHub

Что делает power-bi-dax-optimization

Скилл проверяет DAX на повторные выражения, дорогие операции, переходы контекста и сложные фильтры. Он также смотрит на выбор функций, например DIVIDE вместо /, COUNTROWS вместо COUNT и SELECTEDVALUE вместо VALUES.

Ответ строится по шагам: разбор исходной меры, план изменений, переписанная формула и объяснение влияния. Для повторных вычислений предлагаются VAR, а для сложной логики — понятные имена, форматирование, комментарии и обработка BLANK.

Передайте формулу, её назначение, связи модели и проблему с производительностью. Скилл стоит ставить тем, кто поддерживает DAX-меры в отчётах Power BI; для разового простого вычисления его подробный разбор будет лишним.

Какие задачи решает

  • найти повторные вычисления в DAX-мере
  • заменить небезопасное деление на DIVIDE
  • сократить переходы контекста в итераторах
  • разобрать сложные фильтры в CALCULATE
  • оформить формулу с VAR и комментариями

Примеры запросов агенту

  • Оптимизируй эту DAX-формулу для производительности и читаемости: `Sales Growth = ([Total Sales] - CALCULATE([Total Sales], PARALLELPERIOD('Date'[Date], -12, MONTH))) / CALCULATE([Total Sales], PARALLELPERIOD('Date'[Date], -12, MONTH))`
  • Проверь меру на лишние переходы контекста и предложи вариант с `VAR`.
  • Перепиши формулу с `DIVIDE` и сохрани поведение `BLANK`.

Как установить power-bi-dax-optimization

1Через Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill power-bi-dax-optimization

2GitHub CLI

gh skill install github/awesome-copilot power-bi-dax-optimization

3Вручную: положить файлы

.github/skills/power-bi-dax-optimization/SKILL.md

Из того же набора554

Весь набор →
git-commit официальный github Скилл разбирает изменения Git, выбирает связанные файлы и создаёт коммит в формате Conventional Commits. Пригодится, когда нужно закоммитить одну или несколько логических частей изменений. GitHub Copilot 47 165установок excalidraw-diagram-generator официальный github Скилл превращает описание на обычном языке в диаграмму Excalidraw. Подойдёт, когда нужно показать процесс, связи между объектами или устройство системы. GitHub Copilot 31 639установок multi-stage-dockerfile официальный github Скилл помогает создавать многоэтапные Dockerfile для разных языков и фреймворков. Пригодится, когда важны размер и состав runtime-образа. GitHub Copilot 29 688установок documentation-writer официальный github Скилл для создания технической документации по фреймворку Diátaxis: туториалы, гайды, справки и объяснения. Предлагает структуру перед написанием. GitHub Copilot 27 757установок prd официальный github Собирает из идеи структурированный PRD с пользовательскими историями, техническими требованиями и рисками. Подходит для планирования новых функций, в том числе с AI. GitHub Copilot 24 035установок refactor официальный github Скилл помогает менять структуру кода без изменения внешнего поведения. Подойдёт для постепенной уборки сложных функций, дублирования и кодовых запахов. GitHub Copilot 22 321установок java-springboot официальный github Задаёт практики разработки Spring Boot-приложений: от структуры проекта до тестов и безопасности. Пригодится, когда Copilot пишет или проверяет Java-код. GitHub Copilot 21 272установок create-readme официальный github Скилл изучает проект и создаёт структурированный README.md. Подойдёт, когда документацию нужно собрать по коду и файлам проекта. GitHub Copilot 19 081установок

Похожие

create-viz официальный anthropics Создаёт публикационные графики из таблиц и запросов на Python. Подбирает тип диаграммы, форматирует оси и сохраняет PNG для отчётов и презентаций. Claude Code CX Codex Cursor +1 5 200установок xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. Claude Code Claude.ai 187 223установок google-agents-cli-observability официальный Google Помогает настроить трассировку и сбор данных о работе ИИ-агентов, включая агентов на ADK. Пригодится, когда нужно разбирать выполнение запросов или наблюдать за агентом после развёртывания. Claude Code CX Codex Cursor +1 509 900установок caveman-evidence-review JuliusBrussee Скилл читает данные Caveman Cloud о расходах LLM, трассах и маршрутизации. Подходит для проверки того, куда уходит бюджет проекта. Claude Code CX Codex Cursor +1 103 500установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. Claude Code CX Codex Cursor +1 102 900установок performance-optimization addyosmani Скилл для агентов ИИ-кодинга: сначала замеряет, потом чинит узкое место — от Core Web Vitals до N+1 запросов и индексов в базе. Claude Code CX Codex Cursor +1 64 500установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

Вопросы о power-bi-dax-optimization

Как установить power-bi-dax-optimization в GitHub Copilot?

Выполните npx skills add github/awesome-copilot --skill power-bi-dax-optimization. Также доступна команда gh skill install github/awesome-copilot power-bi-dax-optimization.

Что делает power-bi-dax-optimization?

Скилл анализирует DAX-формулы и готовит улучшенный вариант. Он оценивает производительность, читаемость, обработку ошибок и удобство дальнейшей поддержки.

Что передать вместе с DAX-формулой?

Добавьте назначение расчёта, связи в модели данных, требования к производительности и наблюдаемые проблемы. Можно сразу указать цель: ускорить меру, улучшить читаемость или проверить практики DAX.

Исходный текст

SKILL.md · MIT
---
name: power-bi-dax-optimization
description: 'Comprehensive Power BI DAX formula optimization prompt for improving performance, readability, and maintainability of DAX calculations.'
---

# 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 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
- **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

```dax
/* 
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(),  -- Preserve BLANK behavior
        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

## Additional Services

I can also help with:
- **DAX Pattern Library**: Providing templates for common calculations
- **Performance Benchmarking**: Suggesting testing approaches
- **Alternative Approaches**: Multiple optimization strategies for complex scenarios
- **Model Integration**: How the formula fits with overall model design
- **Documentation**: Creating comprehensive formula documentation

---

**Usage Example:**
"Please optimize this DAX formula for better performance and readability:
```dax
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."

© github · MIT · github/awesome-copilot

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой