Таблица - Совокупная и неагрегированная ошибка для деления на форум - PullRequest
0 голосов
/ 10 октября 2019

Я использовал COUNT (CUST_ID) в качестве значения меры, чтобы получить [Total No of Customer]. Когда я создал новую меру для [Средняя прибыль на одного клиента] по формуле - [Общая прибыль] / [Общее количество клиентов], возникла ошибка Совокупная и неагрегированная ошибка.

Уровень БД:

Cust ID _____ Прибыль

123 _______ 100

234 _______ 500

345 _______ 350

567 _______ 505

Ответы [ 3 ]

0 голосов
/ 11 октября 2019

В вашей таблице базы данных у вас есть одна строка данных для каждого клиента. Идентификатор клиента служит уникальным первичным ключом. Уровень детализации (или детализации) таблицы базы данных определяется клиентом.

Учитывая, что самым простым решением вашего вопроса является отображение AVG ([Прибыль]) - без указания [Cust ID] впросмотр (то есть не на любой полке)

Если вышеупомянутые предположения не верны, то вам может потребоваться использовать другие методы в зависимости от того, как вы задаете свой вопрос. Я предлагаю убедиться, что вы понимаете, что на самом деле делает COUNT () по сравнению с COUNTD (). Поведение не то, что люди склонны считать. Расчеты LOD могут оказаться полезными. Все описано в онлайн справке.

0 голосов
/ 15 октября 2019

Поместите расчеты непосредственно в вычисляемое поле следующим образом:

SUM([Profit])/COUNT([CUST_ID])

Это даст вам агрегированный и агрегированный расчет.

Если вы хотите показать среднюю прибыль, используя ключ типа [CUST_ID], вы можете использовать выражение LOD:

{FIXED [CUST_ID]: AVG[Profit]}
0 голосов
/ 10 октября 2019

Вы должны искать avg агрегатную функцию.

Select cust_id, avg(profit)
From your_table
Group by cust_id;

Приветствия !!

...