Оформление
DEF_ADD (размер анализируемой области + указанный размер)
1. Обзор
[helpvideo]5520[/helpvideo]
1.1 Версия
| Версия FineBI | Функциональные изменения |
|---|---|
| 6.0 | - |
| 6.0.13 | def_add оптимизация логики строк итогов: при автоматическом расчете итогов используется размерность сращивания, используемая в текущем представлении итогов. |
1.2 Введение
Функция DEF_ADD вычисляет агрегированные значения метрик, используя "указанное измерение" + "измерение в области анализа".
По сравнению с функцией DEF, DEF_ADD добавляет "размеры в области анализа", поэтому добавление или удаление "размеров в области анализа" повлияет на результат работы функции.
| словарь | DEF_ADD (Aggregate Indicator, [Dimension1,Dimension2,...]) , [filter1, filter2,...]) | Удовлетворите критерии фильтрации и рассчитайте метрики по [размерность в области анализа + [размерность 1,размерность 2]]. |
|---|---|---|
| Параметр 1 | показатель агрегации | 1) Разрешается использовать только один индикатор, и он не может быть пустым;2) Индикаторы поддерживают вложенность. То есть это может быть индикатор, выводимый любой функцией.Примечание: Если индикатор является индикатором детального расчета, будет выдано сообщение об ошибке "Индикатор детального расчета не поддерживается в функции анализа". |
| Параметр 2 | измерение (матем.) | 1) Размер, указанный в функции2) Когда имеется только один параметр измерения, можно не указывать [ ]. |
| Параметр 3 | условия фильтрации | (1) Условия фильтрации могут быть пустыми, когда условия фильтрации пусты, выполнение агрегирования показателей без фильтрации участия в расчете(2) Условия фильтрации поддерживают фильтрацию на уровне деталей, поддерживают вложенные показатели фильтрации (показатели выхода функции def), не поддерживают функцию агрегирования в качестве условия фильтрации3)Поддержка установки нескольких условий фильтрации, фильтрация между одинаковыми уровнями осуществляется по принципу "и".4) Если условие фильтрации только одно, можно не указывать [ ].5) Если указанное измерение пустое, формат DEF_ADD(Aggregate Indicator, [],[Filter1, Filter2,...]) |
Примечание: Функция DEF_ADD не поддерживает вывод в качестве поля размерности.
2. Простые примеры
Давайте начнем с нескольких небольших примеров, чтобы понять, как написан DEF_ADD и что он делает.
Я перетащил поле "Провинция" в область анализа, как показано ниже:
| взять | формулы | описания |
|---|---|---|
Проанализируйте область, перетащенную в поле измерения "Провинция".![]() | ||
| Хотите узнать продажи по провинциям | DEF_ADD (SUM_AGG(sales), []) | * Указанное измерение: нет * Анализ регионального измерения: провинции * Агрегированный показатель: SUM_AGG (продажи) Поиск продаж по провинциям |
| Продажи на одного клиента в каждой провинции(Раздел 3 Практическая работа) | DEF_ADD (SUM_AGG(Sales),[Customer Name]) | * Указанное измерение: имя клиента * Анализ регионального измерения: провинции * Агрегированный показатель: SUM_AGG (продажи) Получите данные о продажах на одного клиента в разных провинциях. |
Видите ли, здесь вы можете запутаться, в чем разница между этим и DEF, DEF_ADD может достичь DEF может быть достигнуто, даже более всеобъемлющим.
Преимущество DEF_ADD перед DEF в том, что он позволяет гибко настраивать размеры путем перетаскивания, чтобы быстро получить различные результаты анализа.
В приведенном выше примере я хотел бы найти "продажи по регионам" и "продажи на одного клиента по регионам":
● С помощью функции DEF_ADD нужно просто переключить поле размерности анализируемого региона с "Провинция" на "Регион".
● Для функции DEF необходимо изменить написание функции: DEF(SUM_AGG(sales),[region]),DEF(SUM_AGG(sales),[region, customer name])
Анализ - это исследовательский процесс, нам нужно постоянно переключать измерения, чтобы изменить угол анализа для поиска проблемы. На этот раз использование DEF_ADD может помочь вам повысить эффективность анализа.
Теперь вы знаете, когда следует использовать DEF_ADD.
3. практическая работа - определение среднего объема продаж на одного клиента в разных провинциях
Мы можем легко рассчитать общий объем продаж, но мы хотим рассчитать средний объем продаж в каждой провинции и проследить разницу между средним объемом продаж и общим объемом продаж, что для этого нужно сделать?
Ожидаемые результаты показаны ниже:

1) Получение выборочных данных Данные о продажах в супермаркете.xlsx
Загрузите загруженный образец данных в тему, как показано ниже:

2) Добавьте поле вычисления для расчета продаж на одного клиента.
Поскольку мы хотим рассчитать средние продажи гостя по провинциям, нам нужно перетащить измерение "провинция" в область анализа. Это показано на рисунке ниже:

| взять | формулы | описания |
|---|---|---|
| Найдите объем продаж на одного покупателя в разных провинциях. | DEF_ADD (SUM_AGG(Sales),[Customer Name]) | * Указанное измерение: имя клиента * Анализ регионального измерения: провинции * Агрегированный показатель: SUM_AGG (продажи) Суммируйте продажи для каждого клиента в провинции. |
3) Перетащите "Продажи по клиентам" в область анализа и измените метод агрегирования на "Среднее". После этого вы сможете узнать средние продажи клиентов по каждой провинции. Как показано на рисунке ниже:

4) Перетащите поле "Продажи" в область анализа, и вы сможете увидеть разницу между средними продажами гостей и общими продажами. Это показано на рисунке ниже:
По нашим наблюдениям, общий объем продаж в Фуцзяне не очень высок, но средние продажи гостей выделяются.

На этом анализ завершен.
