Гид по технологиям

Как удалить дубликаты в Power BI

7 min read Power BI Обновлено 10 Dec 2025
Удаление дубликатов в Power BI — быстрый гайд
Удаление дубликатов в Power BI — быстрый гайд

Окно Power BI с таблицей данных, иллюстрация проблемы дубликатов

Вы попали на это руководство, потому что нужно удалить дубликаты в Power BI. Здесь вы найдёте всё, что нужно: от быстрых кликов в интерфейсе до формул DAX и советов, когда методы не срабатывают.

Дубликаты нарушают целостность данных и приводят к неверным отчётам и KPI. Power BI предлагает несколько способов обнаружения и удаления повторяющихся строк — в интерфейсе Power Query, при загрузке в модель и средствами DAX.

Основные понятия

  • Дубликат: строка, у которой совпадают значения в наборе контрольных колонок.
  • Уникальность: однозначность значения в пределах столбца или комбинации столбцов.
  • Power Query: среда подготовки данных в Power BI, где выполняются трансформации до загрузки в модель.
  • DAX: язык выражений, используемый для вычислений и создания новых таблиц/мерриксов в модели данных.

Удаляет ли Power BI дубликаты автоматически?

Да и нет — всё зависит от шага обработки.

  • При импорте Power BI может устранить очевидные дубликаты строк в модели, если вы используете конкретные операции Power Query перед загрузкой. Однако Power BI не «угадывает» бизнес-правила уникальности — вы должны явно указать, по каким колонкам сравнивать строки.
  • Power BI автоматически не удалит дубликаты, которые зависят от логики (например, оставить последнюю по дате). Такие правила нужно задавать вручную.

Преимущества использования Power BI для удаления дубликатов:

  • Автоматизация: трансформации выполняются по заданной последовательности шагов (Applied Steps). После настройки — повторяемо и быстро.
  • Настраиваемость: можно выбрать одну или несколько колонок для сравнения, задавать операции (макс/мин, первая/последняя) при группировке.
  • Интеграция: Power Query работает с множеством источников, трансформации применимы перед загрузкой.

Важно: автоматизация не отменяет проверки. Всегда визуально и по выборочным записям верифицируйте результаты.

Как удалить дубликаты в Power BI — три основных подхода

1. Удаление дубликатов через группировку (оставить последнюю запись)

Этот метод подходит, когда нужно оставить одну строку из группы дубликатов по ключу и выбрать, какую именно — например, с максимальной датой.

Шаги:

  1. В Power Query в меню выберите Home (Главная) → Group By.

Окно Power Query: опция группировки Group By

  1. В диалоге выберите колонку(ы), по которым группировать, и для Operation укажите Max (или Min / Last / First в зависимости от требуемой логики). Это сохранит строку с максимальным значением в выбранной колонке.

Диалог Group By: выбор колонки и операции Max

  1. Нажмите OK — Power Query создаст новую таблицу, где каждая группа представлена одной записью.

Когда использовать:

  • Нужно оставить последнюю/последнюю по дате запись.
  • Важна одна агрегированная точка данных на ключ.

Ограничения:

  • При агрегации другие невыбранные поля теряют детализацию — их нужно агрегационно обработать (например, сохранить MAX/Min или объединить текст).

2. Удаление дубликатов с помощью функции Remove Duplicates (Power Query)

Этот способ прост и чаще всего используется для быстрого удаления полных дубликатов или дубликатов по отдельной колонке.

2.1 Удаление по одной колонке

  1. В Power Query выберите таблицу с дубликатами.
  2. Кликните по заголовку столбца, по которому хотите убрать повторения.

Выбор столбца для удаления дубликатов

  1. На вкладке Home (Главная) разверните Remove rows (Удалить строки) и выберите Remove duplicates (Удалить дубликаты).

Меню Remove rows → Remove duplicates в Power Query

Power Query применит шаг Table.Distinct к выбранному столбцу — это удалит повторяющиеся значения в этой колонке, оставив первую встречающуюся запись и удаляя повторные строки по этому столбцу.

Просмотрите формулу в строке формул: она покажет, что операция затронула только выбранный столбец.

Формула Table.Distinct для удаления дубликатов в столбце

Когда использовать:

  • Нужны уникальные значения в одном столбце, остальные колонки можно игнорировать или они одинаковы.

Ограничения:

  • Оставляется первая найденная запись. Если важна другая (например, последняя по дате), сначала отсортируйте таблицу по нужному столбцу, затем примените Remove duplicates.

2.2 Удаление по нескольким колонкам (вся таблица)

  1. Выберите таблицу в Power Query.
  2. Выделите верхнюю левую клетку перед заголовками столбцов (что означает выбор всей таблицы) или выделите несколько столбцов, которые образуют ключ.

Выбор всей таблицы перед удалением дубликатов

  1. Нажмите Remove duplicates — это удалит строки, у которых полностью совпадает значение во всех выбранных столбцах.

Результат удаления дубликатов по всей таблице

Когда использовать:

  • Нужна строгая уникальность по набору колонок (натуральный ключ).
  • Данные небольшие или вы точно знаете, какие поля образуют уникальность.

Ограничения:

  • Операция чувствительна к пробелам и регистру: ‘Москва’ ≠ ‘москва’. При необходимости примените Trim и Lowercase перед удалением.

3. Удаление дубликатов средствами DAX

DAX полезен, когда требуется создать таблицу уникальных значений для аналитики или вычислить число уникальных элементов.

Примеры:

Создать таблицу уникальных категорий (таблица Table1, столбец Category):

UNIQUE_Categories = DISTINCT(Table1[Category])

Посчитать количество уникальных категорий:

UniqueCategoryCount = COUNTX(DISTINCT(Table1[Category]), Table1[Category])

Альтернатива: используйте функцию DISTINCTCOUNT для прямого подсчёта уникальных значений в столбце:

UniqueCategoryCount2 = DISTINCTCOUNT(Table1[Category])

Когда использовать DAX:

  • Нужна таблица справочных значений (lookup) или вычисляемая метрика по уникальным элементам.
  • Когда данные уже загружены в модель и вы не хотите менять шаги Power Query.

Ограничения:

  • DAX не изменяет исходные строки в источнике; он создаёт вычисляемые таблицы или меры. Для постоянного удаления лучше применить трансформации в Power Query.

Практические советы и отладка

  • Всегда создавайте копию шага перед удалением дубликатов — это позволит откатить изменения.
  • Для сохранения последней записи по дате: отсортируйте таблицу по дате в порядке убывания, затем примените Remove duplicates для ключевых колонок — так Power Query сохранит первую (т.е. последнюю по дате) запись.
  • Устранение пробелов и разного регистра: применяйте Trim и Text.Lower/Upper перед удалениями.
  • Для больших таблиц проверьте производительность: операции Distinct/Group By могут быть ресурсоёмкими.

Важно: проверьте исходные типы данных — сравнения работают корректно только если типы согласованы (даты с датами, числа с числами).

Когда методы не сработают — примеры и обходные пути

  • Повторяющиеся строки отличаются неочевидными символами (невидимые пробелы, неразрывные пробелы). Решение: использовать Text.Trim, заменить неразрывные пробелы.
  • Дубликаты определяются по сложной логике (например, похожие имена — «Иванов» и «Иванов П.»). Решение: применить fuzzy matching (нечёткое сопоставление) или регулярные выражения перед агрегацией.
  • Требуется удалить дубликаты в потоковой вставке (DirectQuery). В DirectQuery меньше трансформаций в Power Query; лучше решить на стороне источника или в SQL-запросе.

Чеклист ролей — кто что должен проверять

  • Аналитик:
    • Проверить логику уникальности — какие колонки образуют ключ.
    • Запустить выборочные проверки до/после удаления.
  • BI-разработчик:
    • Автоматизировать шаги в Power Query и документировать их.
    • Оптимизировать порядок шагов для производительности.
  • Владелец данных:
    • Утвердить бизнес-правило о том, какую запись сохранять (первая, последняя, агрегированная).

Критерии приёмки

  • Количество строк уменьшилось ожидаемо (сравнить счётчики до/после).
  • На выборочной подвыборке нет потерянных нужных записей.
  • Отчёты на основе очищенных данных дают ожидаемые KPI.

Быстрая шпаргалка (cheat sheet)

  • Удалить дубликаты по столбцу: Выделите столбец → Home → Remove rows → Remove duplicates.
  • Удалить дубликаты по нескольким столбцам: выделите соответствующие столбцы → Remove duplicates.
  • Сохранить последнюю запись по дате: отсортировать по дате (убывание) → Remove duplicates по ключу.
  • Создать таблицу уникальных значений (DAX): DISTINCT(Table[Column]).

Принятие решений — простая диаграмма

flowchart TD
  A[Есть дубликаты?] -->|Нет| B[Ничего не делать]
  A -->|Да| C{Нужно сохранить определённую запись?}
  C -->|Да| D[Сортировать по ключу и Remove duplicates]
  C -->|Нет| E{Уникальность по одной колонке?}
  E -->|Да| F[Remove duplicates на колонке]
  E -->|Нет| G[Remove duplicates по набору колонок]
  D --> H[Проверить результат и сохранить]
  F --> H
  G --> H

Глоссарий (одной строкой)

  • Power Query — среда подготовки данных перед загрузкой в модель Power BI.
  • DAX — язык выражений для вычислений в модели Power BI.
  • Distinct — операция выбора уникальных значений.
  • Group By — операция группировки с агрегацией значений.

Короткий план действия (SOP)

  1. Определите ключи уникальности и требуемую бизнес-логику (первая/последняя по дате).
  2. Подготовьте данные: Trim, Lowercase, привод к правильным типам.
  3. Для сохранения последней записи: отсортируйте → Remove duplicates.
  4. Для агрегированной записи: Group By с нужной агрегацией.
  5. Проверка: сравните счётчики до/после и выполните выборочную ручную проверку.
  6. Документируйте шаги и опубликуйте отчёты.

Заключение

Удаление дубликатов в Power BI — рутинная, но критически важная часть подготовки данных. Выберите инструмент в зависимости от задачи: Power Query для постоянного удаления и трансформаций перед загрузкой, DAX для вычислений и аналитики внутри модели. Всегда проверяйте результат и документируйте бизнес-правила, чтобы повторяемость и прозрачность процессов были на высоком уровне.

Примечание: расскажите в комментариях, какой метод оказался удобнее в вашем рабочем процессе — Power Query или DAX.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Linux Terminal на Pixel — включение и возможности
Руководство

Linux Terminal на Pixel — включение и возможности

Исправить ошибку wow-64.exe в World of Warcraft
Техподдержка игр

Исправить ошибку wow-64.exe в World of Warcraft

Добавить и редактировать текст в Paint 3D
Руководство

Добавить и редактировать текст в Paint 3D

Ошибка 509: как исправить Bandwidth Limit Exceeded
Хостинг

Ошибка 509: как исправить Bandwidth Limit Exceeded

Удалить скрытую персональную информацию в Office
Конфиденциальность

Удалить скрытую персональную информацию в Office

Как сохранить веб‑страницу в PDF на iPhone и iPad
How-to

Как сохранить веб‑страницу в PDF на iPhone и iPad