Погрешность измерения при агрегировании по разным уровням

У меня следующая ситуация: я работаю с базой данных продаж и затрат, сгруппированных по продуктам. Затем каждый продукт группируется по порядку.

Проданные товары являются фрегатами, поэтому при начислении даты учитываются начальная и конечная дата (поставки) = незавершенное производство.

У меня есть две разные информации, относящиеся к каждому заказу; один - это накопленные данные, а другой - ожидаемые данные. Учитывая систему начисления по дате, каждый месяц я мог бы оказаться в ситуации, когда я отправил счет-фактуру на сумму, которая не соответствует (реальной) общей стоимости заказа, умноженной на (*)% незавершенного производства.

Пример: ИТОГО: 100 евро НЗП: 60 евро (60%) срок владения: 2 месяца Счет-фактура: первый месяц 10; второй месяц 20 = всего 30, что отличается от 60

Я создал следующие меры

Total_accrued_Sales:= Sum(Accrued Sales) > basically all invoices sent

Total_forecast_Sales:=sum(order) > the open order still not invoiced to clients

Все меры линейно разделены по месяцам (в зависимости от начала и даты поставки).

Пример: дата заказа с 20 января по 20 марта ›3 месяца Total_accrued_Sales в январе составляет в основном 1/3 от общего числа отправленных счетов, то же самое, что и для показателя прогноза; Это не зависит от того, когда счет-фактура отправляется клиенту.

Моя проблема в том, что мне нужно преобразовать это линейное деление по-другому:

'''
Var Full_C_A > sum of all sent invoices
Var ToT.Acq > sum of "total_accrued_sales" + "forecast"
Var Cumulato_Acq > Running total of the sum of "TOT.Acq" by date
Var Cumulato_Acq_prec1M > Running total of the sum of "TOT.Acq" by date (1 month before)


Accrued_A_OK:= IF([FULL_C_A]<=[Cumulato_Acq];
[ToT.Acq];
IF([FULL_C_A]-[Cumulato_Acq_prec1M]<0;
    [FULL_C_A]-[Cumulato_Acq_prec1M];
    0)
 )
''' 

Эта мера отлично работает, если я использую в качестве фильтра продукт и заказ (в основном самый низкий уровень в моей базе данных); однако, когда я хочу сгруппировать по Порядку (или любым другим измерениям более высокого уровня), итоговое значение совершенно неверно, в основном кажется, что Система не может работать на уровне строки, но агрегирует сумму, чем применяет формулу.

Есть предположения?


person Giulio Laudani    schedule 10.11.2020    source источник


Ответы (1)


ОК Решено, мне следовало создать вычисляемый столбец вместо меры. Это решит проблему агрегации.

person Giulio Laudani    schedule 11.11.2020