Skip to content

Условное суммирование и подсчет - Справка FineReport | Разработка отчетов | Отчеты | Учебные пособия

Условное суммирование и счет

1. Обзор

Excel

"COUNTIF/COUNTIFS": подсчитывает количество элементов данных, удовлетворяющих определенному условию.

"Условное суммирование (SUMIF/SUMIFS)": используется для суммирования значений заданных условий.

Условные суммы и подсчеты также могут быть реализованы в BI с помощью комбинаторных функций.

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

2. подсчет состояния

2.1 Реализация в компонентах

Примечание: Если вам не нужно дедуплицировать счетчик и нужно записать только количество раз, то просто используйте счетчикCOUNT_AGG.

Пример: Рассчитать количество пользователей, вошедших в систему в день даты активации (де-дублированный подсчет контактов пользователей, вошедших в систему в этот день)

Пример данных: анализ удержания пользователей.xlsx

2.1.1 Операционные шаги

После создания новой темы аналитики и добавления данных "Аналитика удержания пользователей" добавьте компонент и войдите в интерфейс редактирования компонента.

Создайте "Поле вычисления", введите название поля "Количество пользователей, вошедших в систему в день активации", формула: COUNTD_AGG(IF(DATEDIF(самая ранняя дата активации, время входа, "D")=0, номер контактного телефона, null)) и нажмите "ОК", как показано на рисунке ниже:

Описание формулы:

формулыинструкции
DATEDIF(самая ранняя дата активации, время входа в систему, "D")Вычисляет разницу во времени между временем входа в систему и самым ранним временем активации, возвращая разницу во времени в измерении дней
IF(DATEDIF(самая ранняя дата активации, время входа, "D")=0, контактный номер, null)Если разница во времени = 0, т.е. вход в систему произошел в тот же день, что и дата активации, то выведите "контактный номер" пользователя, иначе выведите null, т.е. не учитывается
COUNTD_AGG (IF(DATEDIF(самая ранняя дата активации, время входа, "D")=0, контактный номер, null))Дублированный подсчет контактов вошедших пользователей за день

2.1.2 Просмотр эффектов

Выберите таблицу группировки, перетащите поле "Самое раннее время активации" на горизонтальную ось и установите классификацию как "Месяц и год", а поле "Количество зарегистрированных пользователей в день активации" перетащите на вертикальную ось, после чего вы сможете увидеть количество зарегистрированных пользователей в день активации, как показано на рисунке ниже:

Примечание: Если вам нужно подсчитать данные, которые не являются нулевыми, вы можете использовать формулу COUNTD_AGG(IF(field1!="",field2,null)).

2.2 Реализация в данных

Используйте функцию Group Summary для реализации подсчета и учета дедупликации, как показано на следующем рисунке:

3. Условное суммирование

Пример: Рассчитайте общую сумму контракта для "Провинции" - "Пекин" и "Имени заказчика" - "Gridsum Co.

Пример данных: анализ районных данных.xlsx

3.1 Операционные шаги

Добавьте компонент, выберите набор данных "Анализ региональных данных", создайте "Вычисляемое поле", введите имя поля "Beijing Gridsum Limited Total Payback", формула: SUM_AGG(IF(Province="Beijing" &&Customer Name="Gridsum Limited",Payback Amount,0)), на следующем рисунке показано. :

Описание формулы:

формулыинструкции
IF(Province="Beijing" && Customer Name="Geshuang Co. Ltd",Payback Amount,0)Если и "Провинция" - "Пекин", и "Имя клиента" - "Gridsum Limited", то выведите "Сумма окупаемости", иначе выведите 0.
SUM_AGG (IF(Province="Beijing" &&Customer Name="Geshuang Co. Ltd",Payback Amount,0))Суммирование результатов предыдущего шага

3.2 Эффекты просмотра

После сохранения поля перетащите поле "Gridsum Total Payback" на вертикальную ось, чтобы увидеть общую сумму окупаемости при заданных условиях, как показано на рисунке ниже: