# Power Query и DAX: ИИ-нейросеть для Excel и Power BI онлайн

> Источник: https://aliviy.io/power-query-dax/
> Обновлено: 2026-10-19
> Сервис: Аливия (aliviy.io) — онлайн ИИ-чат на русском языке.

## Что такое Power Query и DAX и чем поможет нейросеть

**Power Query**  — это встроенный в Excel и Power BI инструмент для загрузки и преобразования данных, а его шаги записываются на языке M. Язык M — функциональный и чувствительный к регистру язык формул Power Query, который описывает фильтрацию и объединение данных из одного или нескольких источников. **DAX**  — язык формул модели данных: на нём пишут меры и вычисляемые столбцы в Power BI и Power Pivot. Вместе они закрывают путь от сырой выгрузки до отчёта.

Аливия пишет код на M с пояснением каждого шага и меры DAX с объяснением, как на них влияет контекст фильтров. Конструктор запроса под чатом собирает исходные данные: где вы работаете (Excel или Power BI), что нужно — загрузка, очистка, объединение, мера, — и структуру таблиц со столбцами и типами. Нейросеть не видит вашу модель, поэтому имена таблиц и столбцов берёт из запроса.

Формулы в ячейках листа — ВПР, СУММЕСЛИМН, ЕСЛИ — это отдельная тема, для неё есть [помощник по формулам Excel](https://aliviy.io/excel-formulas/). Здесь работа идёт на уровне запросов и модели данных.

## Power Query, DAX или обычные формулы: что выбрать

Частая ошибка — решать задачу не тем инструментом: считать в DAX то, что проще очистить в Power Query, или тянуть формулы на сотни тысяч строк листа.

| Задача | Power Query (M) | DAX | Формулы листа |
| --- | --- | --- | --- |
| Загрузить и склеить файлы из папки | Да, основной сценарий | Нет | Нет |
| Очистить выгрузку: пробелы, итоги, типы | Да | Нет | Частично, вручную |
| Развернуть месяцы из столбцов в строки | Да, отмена свёртывания | Нет | Сложно |
| Выручка с начала года, к прошлому году | Нет | Да, меры с функциями времени | Можно, но громоздко |
| Доля в итоге при любом фильтре отчёта | Нет | Да, через CALCULATE | Только для фиксированной таблицы |
| Разовый расчёт по небольшой таблице | Избыточно | Избыточно | Да |

Правило простое: всё, что меняет форму данных, — в Power Query; всё, что агрегирует и зависит от фильтров отчёта, — в DAX.

## Какие задачи чаще всего приносят в Power Query и DAX

### Power Query

- **Сбор файлов из папки.**  Ежемесячные выгрузки одного формата склеиваются в одну таблицу, а новый файл подхватывается при обновлении.
- **Отмена свёртывания.**  Отчёт, где месяцы стоят столбцами, превращается в длинную таблицу «дата — показатель — значение», с которой работают сводные и Power BI.
- **Заполнение вниз.**  Выгрузки из учётных систем часто пишут группу только в первой строке; шаг «Заполнить вниз» восстанавливает её во всех строках.
- **Разделение и очистка.**  Артикул и название в одной ячейке, лишние пробелы, текстовые числа с запятой — всё это исправляется шагами, которые повторятся при каждом обновлении.

### DAX

- **Функции времени.**  С начала года, к прошлому году, скользящие 12 месяцев — всё это требует правильной таблицы дат.
- **Рейтинги и ABC-анализ.**  RANKX и накопленная доля выручки по товарам или клиентам.
- **Условные показатели.**  Выручка только по оплаченным заказам, средний чек без возвратов, план-факт с разной детализацией плана и факта.

## Как получить код Power Query или меру DAX

1. Укажите в конструкторе, где работаете: Excel (какая версия) или Power BI Desktop.
2. Выберите задачу: загрузка и очистка, объединение таблиц, преобразование формы, мера, вычисляемый столбец, таблица-календарь.
3. Опишите таблицы: названия, столбцы, типы и связи. Лучше всего вставить 5–10 строк примера или приложить файл.
4. Для меры объясните, как она должна вести себя в отчёте: по месяцам, по менеджерам, в итоговой строке.
5. Получите код и пояснение. Для M — вставьте его в «Расширенный редактор», для DAX — создайте новую меру.
6. Проверьте результат на нескольких строках, которые можно посчитать вручную, и напишите в чат, если цифры не совпали.

> Готовый запрос: «Power BI Desktop. Таблица Продажи: Дата, Артикул, Менеджер, Канал, Сумма. Таблица Календарь связана с Продажи по дате и помечена как таблица дат. Нужны меры: Выручка, Выручка прошлого года за тот же период, Рост в % и Доля канала в общей выручке, которая не меняется при фильтре по каналу. Объясни, как каждая мера ведёт себя в матрице по месяцам и в строке итогов».

## Пример: запрос Power Query с пояснением

Так выглядит типичный результат для задачи «загрузить таблицу продаж с листа, задать типы, убрать пустые суммы и посчитать выручку по менеджерам». В Excel Power Query находится на вкладке «Данные» в группе «Получить и преобразовать данные».

```
let
    Источник = Excel.CurrentWorkbook(){[Name="Продажи"]}[Content],
    Типы = Table.TransformColumnTypes(Источник,
        {{"Дата", type date}, {"Менеджер", type text}, {"Сумма", type number}}),
    БезПустых = Table.SelectRows(Типы, each [Сумма] <> null),
    Итоги = Table.Group(БезПустых, {"Менеджер"},
        {{"Выручка", each List.Sum([Сумма]), type number}})
in
    Итоги
```

Каждая строка внутри `let` — отдельный шаг, который виден в панели «Примененные шаги». Нейросеть объясняет шаги словами: что делает `Table.SelectRows`, почему тип задаётся до фильтра, что изменится, если в выгрузке появится новый менеджер.

## Пример: мера DAX и контекст фильтров

Главная функция DAX — CALCULATE. Она вычисляет выражение в изменённом контексте фильтра: новые фильтры добавляются к контексту или перезаписывают существующие фильтры по тем же столбцам. Именно это позволяет посчитать долю в итоге, которая не ломается при фильтре по каналу.

```
Выручка = SUM ( 'Продажи'[Сумма] )

Доля канала =
DIVIDE (
    [Выручка],
    CALCULATE ( [Выручка], REMOVEFILTERS ( 'Продажи'[Канал] ) )
)
```

Знаменатель снимает фильтр со столбца «Канал», поэтому в каждой строке матрицы считается доля от выручки всех каналов. Без аргументов-фильтров CALCULATE выполняет переход контекста — превращает контекст строки в контекст фильтра; это нужно в вычисляемых столбцах и итераторах.

> Самая частая причина «неправильных» цифр в DAX — не формула, а модель: нет связи между таблицами, связь идёт не в ту сторону или календарь не помечен как таблица дат. Тогда мера показывает одинаковую сумму во всех строках или пустые значения. Прежде чем переписывать меру, опишите нейросети связи между таблицами — часто исправлять нужно именно их.

## Как проверить запрос и меру

- Сверьте итог меры с суммой, посчитанной вручную или сводной таблицей по исходным данным.
- Проверьте поведение меры в разных разрезах: по месяцам, по менеджерам, в строке итогов.
- Для Power Query проверьте число строк до и после каждого шага: не потерялись ли данные на фильтре или объединении.
- Посмотрите на столбцы с ошибками после изменения типов — это часто запятая вместо точки или текст в числовом столбце.
- Обновите запрос на новой выгрузке: код не должен ломаться, если появились новые строки или значения.

Если данные лежат в базе, иногда проще отфильтровать их ещё на стороне сервера — запрос поможет написать [генератор SQL-запросов](https://aliviy.io/sql/). Для сложной обработки вне Excel подойдёт [код на Python](https://aliviy.io/python/), а если нужны выводы по уже готовой таблице — [анализ таблицы Excel](https://aliviy.io/data-analysis/). Если не можете найти нужную кнопку в самом Excel, загляните в [пошаговые инструкции по Excel и Word](https://aliviy.io/office-howto/).

Аливия работает без регистрации и без VPN из России, принимает файлы Excel и CSV и скриншоты модели данных. Не загружайте в чат персональные данные клиентов и коммерческую тайну — замените их условными значениями, на структуру кода это не влияет. На бесплатном доступе есть дневной лимит запросов, у платных тарифов он больше.

## Power Query и DAX: частые вопросы

Чем Power Query отличается от DAX?
Power Query готовит данные: загружает, чистит, объединяет, меняет форму таблиц, код пишется на языке M. DAX считает показатели в модели данных: меры и вычисляемые столбцы, которые зависят от фильтров отчёта.
Где найти Power Query в Excel?
На вкладке «Данные» в группе «Получить и преобразовать данные». В Excel 2016 и новее, а также в Microsoft 365 он встроен; в Excel 2010 и 2013 его ставили отдельной надстройкой.
Можно ли использовать DAX в обычном Excel?
Да, через модель данных и Power Pivot: меры создаются для сводных таблиц, построенных на модели. В формулах ячеек листа DAX не работает.
Почему мера DAX показывает одинаковое значение во всех строках?
Обычно нет связи между таблицей фактов и таблицей, по которой строится разрез, или связь направлена не туда. Реже мера сама снимает фильтр через ALL или REMOVEFILTERS.
Что такое контекст фильтра в DAX?
Это набор фильтров, при которых считается мера: строка и столбец матрицы, срезы, фильтры страницы. CALCULATE изменяет этот контекст — добавляет или перезаписывает фильтры.
Чувствителен ли язык M к регистру?
Да, M различает регистр: Table.SelectRows и table.selectrows — разные вещи, как и имена столбцов «Сумма» и «сумма». Это частая причина ошибок при ручной правке кода.
Как объединить таблицы в Power Query?
Через «Объединить запросы» (соединение по ключу, как ВПР) или «Добавить запросы» (склеить строки одинаковых таблиц). Нейросеть подскажет вид соединения и напишет код Table.NestedJoin или Table.Combine.
Нужна ли таблица-календарь для DAX?
Для функций времени — с начала года, к прошлому году — да: нужна непрерывная таблица дат, связанная с фактами и помеченная как таблица дат. Нейросеть напишет её на DAX или M.
Можно ли отправить свой файл, чтобы нейросеть написала запрос?
Да, пришлите Excel или CSV с несколькими строками примера. Персональные данные и коммерческую информацию лучше заменить условными значениями.
Подойдёт ли код для Power BI и Excel одновременно?
Код M в Excel и Power BI одинаков, хотя некоторые источники данных доступны только в одной программе. Меры DAX тоже переносятся, но функции визуальных вычислений есть только в Power BI.

## Итог

Power Query и DAX в Аливии — это код на M для загрузки, очистки и объединения данных и меры DAX с разбором контекста фильтров. Нейросеть берёт имена таблиц и столбцов из вашего описания и поясняет каждый шаг. Проверяйте результат на строках, которые можно посчитать вручную, и в разных разрезах отчёта.
