Я знаю, что это не совсем то, о чем вы просили, но я могу создать нужную вам таблицу с помощью небольшого хитрого сценария и оператора if (), но на заданном маршруте анализа ничего не получится, потому что я не могу придумать способ провести анализ множества выборочно с нарушением размерности.
Я пробовал это
sum({<ReferredBy={'$(above(only(SelAssociate),0))'}>} SalesQty)
потому что я могу получить Referer в той же строке, что и Associatte, используя этот above(only(SelAssociate),0)
, но затем, когда объекты визуализируют, он выполняет $ () для всего набора данных, а не строку для строки, он возвращает нули, и тогда ответ - только null () референт итого. Я представляю, что установленное состояние может быть оценено только один раз для каждого выражения. Вы также можете увидеть неправильные выражения на картинке.
Вот почему я использовал if (), потому что он будет работать строка за строкой внутри объекта, но тогда мне все равно нужно было нарушить размерность, поэтому я создал в сценарии список партнеров, которые не могут быть потеряны.
T:
load * inline [
Associate,ReferredBy,SalesQty
Alice,Bob,50
Bob,Carl,60
Carl,,70
Alice,,80
Bob,Alice,90
Dan,Alice,10
];
Load distinct
Associate as SelAssociate resident T;
И тогда SelAssociate - это измерение, а выражения
sum(if(Associate=SelAssociate, SalesQty))
sum(if(ReferredBy=SelAssociate, SalesQty))
person
The Budac
schedule
11.08.2016