Оформление
Условное суммирование и подсчет - Справка 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" на вертикальную ось, чтобы увидеть общую сумму окупаемости при заданных условиях, как показано на рисунке ниже:
