Работа с агрегатами (суммой, средним и т. д.) в Power BI

ОБЛАСТЬ ПРИМЕНЕНИЯ: Служба Power BI Power BI Desktop

Что такое агрегат?

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

При создании визуализаций в Power BI Desktop и служба Power BI они могут объединять данные. Часто агрегат — это то, что вам нужно, но в других случаях может потребоваться объединить значения по-другому. Например, сумма и среднее значение. Существует несколько различных способов управления и изменения агрегирования использования Power BI в визуализации.

Во-первых, рассмотрим типы данных, так как тип данных определяет, как и как можно агрегировать power BI.

Типы данных

Большинство семантических моделей имеют несколько типов данных. На самом базовом уровне данные либо числовые, либо нет. Power BI может агрегировать числовые данные с помощью суммы, среднего, подсчета, минимального, дисперсии и многого другого. Power BI может даже агрегировать текстовые данные, часто называемые категориальными данными. Если попытаться агрегировать категориальное поле, поместив его в числовой контейнер, например значения или подсказки, Power BI подсчитает вхождения каждой категории или подсчитывает отдельные вхождения каждой категории. Специальные типы данных, такие как даты, имеют несколько собственных параметров статистической обработки: самые ранние, последние, первые и последние.

См. пример ниже.

  • Единицы проданных и производственных цен — это столбцы, содержащие числовые данные.

  • Сегмент, CountryRegion, Product, Month и Month Name содержат категориальные данные.

    Screenshot of a sample semantic model.

При создании визуализации Power BI агрегирует числовые поля (по умолчанию — сумма) по некоторым категориальным полям. Например, "Единицы проданы по продукту", "Единицы проданы по месяцам" и "Производственные цены по сегменту". Power BI относится к некоторым числовым полям в качестве мер. Легко определить меры в редакторе отчетов Power BI. Список полей отображает меры с символом ∑ рядом с ними. См . редактор отчетов... Ознакомьтесь с дополнительными сведениями.

Screenshot of Power BI Desktop with the Fields list called out.

Почему не агрегирует работу так, как я хочу их?

Работа с агрегатами в Power BI может быть запутана. Возможно, у вас есть числовое поле, и Power BI не позволит вам изменить агрегирование. Или, возможно, у вас есть поле, например год, и вы не хотите агрегировать его, вы просто хотите подсчитать количество вхождения.

Как правило, основная проблема — это определение поля в семантической модели. Может быть, владелец семантической модели определил поле как текст и объясняет, почему Power BI не может суммирование или среднее значение. К сожалению, только владелец семантической модели может изменить способ классификации поля. Таким образом, если у вас есть разрешения владельца на семантику модели, либо в desktop, либо в программе, используемой для создания семантической модели (например, Excel), можно устранить эту проблему. В противном случае вам потребуется обратиться к владельцу семантической модели для получения справки.

В конце этой статьи содержится специальный раздел , посвященный рекомендациям и устранению неполадок. Он предоставляет советы и рекомендации. Если вы не найдете свой ответ там, опубликуйте свой вопрос на форуме Сообщество Power BI. Вы получите быстрый ответ непосредственно из команды Power BI.

Изменение агрегирования числового поля

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

  1. Создайте кластеризованную гистограмму, использующую меру и категорию. В этом примере мы используем единицы, проданные по продукту. По умолчанию Power BI создает диаграмму, которая суммирует проданные единицы (перетащите меру в значение хорошо) для каждого продукта (перетащите категорию в оси).

    Screenshot of the chart in Power BI Desktop, Visualizations pane and Fields list with Sum called out.

  2. В области "Визуализации" щелкните правой кнопкой мыши меру и выберите нужный тип агрегата. В этом случае мы выбираем среднее значение. Если вам не нужно агрегирование, ознакомьтесь с разделом "Рекомендации" и "Устранение неполадок ".

    Screenshot of the aggregate list with Average selected and called out.

    Примечание.

    Параметры, доступные в раскрывающемся списке, будут отличаться в зависимости от 1) выбранного поля и 2) способа классификации этого поля владельцем семантической модели.

  3. Теперь визуализация используется в среднем.

    Screenshot of the chart now displaying Average of Units Sold by Product.

Способы агрегирования данных

Некоторые параметры, которые могут быть доступны для агрегирования поля:

  • Не суммировать. Если этот параметр выбран, служба Power BI обрабатывает отдельно каждое значение в этом поле и не суммирует их. Используйте этот параметр, если у вас есть числовой столбец идентификатора, который Power BI не должен суммировать.
  • Сумма. Добавляет все значения в этом поле вверх.
  • Среднее. Принимает арифметическое значение значений.
  • Минимальное значение. Отображает наименьшее значение.
  • Максимум. Отображает наибольшее значение.
  • Число (не пустые). Подсчитывает количество значений в этом поле, которое не является пустым.
  • Count (Distinct). Подсчитывает количество различных значений в этом поле.
  • Стандартное отклонение.
  • Вариативность.
  • Медиан. Отображает значение медиана (средний). Это значение имеет одинаковое количество элементов выше и ниже. Если есть два медиана, Power BI усредняет их.

Например, эти данные:

CountryRegion Сумма
USA 100
Соединенное Королевство 150
Канада 100
Германия 125
Франция
Япония 125
Австралия 150

Даст следующие результаты:

  • Не суммировать: каждое значение отображается отдельно
  • Сумма: 750
  • Среднее: 125
  • Максимум: 150
  • Минимум: 100
  • Число (не пустые): 6
  • Count (Distinct): 4
  • Стандартное отклонение: 20,4124145...
  • Вариативность: 416,666...
  • Медиан: 125

Создание агрегата с помощью поля категории (текста)

Можно также агрегировать нечисленное поле. Например, если у вас есть поле "Имя категории", его можно добавить в качестве значения, а затем задать для него значение Count, Distinct count, First или Last.

  1. Перетащите поле "Категория" на холст отчета. Значения обычно используются для числовых полей. Power BI распознает, что это текстовое поле, поэтому он создает таблицу с одним столбцом.

    Screenshot of the Category field in the Columns well.

  2. Щелкните стрелку рядом с категорией и измените агрегирование из стандартного значения "Не суммироваться " на Count (Distinct), Power BI подсчитывает количество разных категорий. В этом случае есть три.

    Screenshot of the distinct count of categories.

  3. Если вы измените агрегирование на Count, Power BI подсчитывает общее число. В этом случае существует 24 записи для категории.

    Screenshot of the count of categories.

  4. Перетащите то же поле (в данном случае Категория) в столбцы снова. Не обобщайте агрегирование по умолчанию. Power BI разбивает количество по категориям.

    Screenshot of the category and the count of categories.

Рекомендации и устранение неполадок

Вопрос. Почему у меня нет параметра "Не суммировать "?

Ответ. Выбранное поле, скорее всего, является вычисляемой мерой в многомерной модели или мерой, созданной в Excel или Power BI Desktop. Каждая мера имеет собственную жестко закодированную формулу. Вы не можете изменить использование агрегирования Power BI. Например, если это сумма, она может быть только суммой. В списке полей показаны меры с символом калькулятора.

Вопрос. Мое поле числовое , почему только мои варианты count and Distinct count?

A1. Вероятно, объяснение заключается в том, что владелец семантической модели не классифицировал поле как число. Например, если семантическая модель имеет поле года , владелец семантической модели может классифицировать значение как текст. Скорее всего, Power BI подсчитает поле года (например, число людей, родившихся в 1974 году). Скорее всего, Power BI суммирует или усреднится. Если вы являетесь владельцем, вы можете открыть семантику модели в Power BI Desktop и использовать вкладку "Моделирование " для изменения типа данных.

A2. Если поле имеет значок калькулятора, то это мера. Каждая мера имеет собственную формулу, которую может изменить только владелец семантической модели. Использование Power BI вычислений может быть простой агрегированием, например средней или суммой. Это также может быть что-то более сложное, как "процент вклада в родительскую категорию" или "запущенный итог с начала года". Power BI не собирается суммировать или среднее значение результатов. Вместо этого он будет пересчитывать (используя жестко закодированную формулу) для каждой точки данных.

A3. Еще одна возможность заключается в том, что вы бросили поле в контейнер , который разрешает только категориальные значения. В этом случае единственными вариантами будут подсчет и количество уникальных.

A4. И четвертая возможность заключается в том, что вы используете поле для оси. Например, на оси линейчатой диаграммы Power BI отображает одну полосу для каждого отдельного значения. Она не агрегирует значения полей вообще.

Примечание.

Исключением из этого правила является точечная диаграмма, которая требует агрегированных значений для осей X и Y.

Вопрос. Почему не удается агрегировать текстовые поля для источников данных СЛУЖБ SQL Server Analysis Services (SSAS)?

Ответ. Динамические подключения к многомерным моделям SSAS не допускают агрегирования на стороне клиента, включая первые, последние, avg, min, max и sum.

Вопрос. У меня есть точечная диаграмма, и я хочу, чтобы мое поле не агрегировались. Как это сделать?

Ответ. Добавьте поле в контейнер сведений , а не в контейнеры осей X или Y.

Вопрос. При добавлении числового поля в визуализацию большинство из них по умолчанию суммирует, но некоторые значения по умолчанию — среднее или число или некоторые другие агрегаты. Почему агрегирование по умолчанию всегда одинаково?

Ответ. Владельцы семантической модели могут задать сводку по умолчанию для каждого поля. Если вы являетесь владельцем семантической модели, измените сводку по умолчанию на вкладке "Моделирование " Power BI Desktop.

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

Ответ. В Power BI Desktop на вкладке "Моделирование " задайте для типа данных значениеText.

Вопрос. Я не вижу, как вариант в раскрывающемся списке.

Ответ. Попробуйте удалить поле и добавить его обратно.

Есть еще вопросы? Попробуйте задать их в сообществе Power BI