2013-12-02 7 views
1

По существу, я использую две связанные таблицы с PowerPivot. Первый содержит следующие столбцы [Дата], [Сумма], [Идентификатор]. Вторая таблица содержит идентификатор [Id], который используется для фильтрации первой таблицы. Это отлично поработало, пока я не объединил это с мерой, которая вычисляет кумулятивную сумму.DAX Накопительный SUM игнорирует мой фильтр

=CALCULATE(SUM([Amount]) ; FILTER(ALL('Table') ; 'Table'[Date] <= MAX('Table'[Date]))) 

Я попытался применить различные фильтры непосредственно в Calculate-statement, но ни один из них, похоже, не работает. Условия, которые должны быть правильными, всегда возвращают ошибку, которую столбцы не могут быть определены в текущем контексте. Следует отметить, что столбец [Id] представляет собой строковое значение.

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

Я новичок в DAX, поэтому я высоко ценю все это!

+0

Я не уверен, каким будет ваш желаемый результат. Почему у вас есть фильтр на дату и весь фильтр «Таблица»? Можете ли вы привести пример? Основываясь на вашем заявлении о «вычислении кумулятивного значения с помощью любых фильтров идентификаторов, применяемых к сводной таблице», это заставляет меня думать, что вам просто нужна рассчитанная мера, которая представляет собой сумму ([Сумма]), если только что-то конкретное, что вы пытаетесь сделать с другие фильтры. – mmarie

+0

Таким образом, идея состоит в том, чтобы иметь возможность использовать измерение времени (в другой таблице также, связанной с столбцом [Дата]) для фильтрации наблюдаемых данных, при этом сохраняя суммарную сумму за весь период. Я могу сделать эту меру, используя ALLSELECTED вместо ALL, но я хотел бы сохранить возможность «пропустить» фильтр времени. ALLSELECTED сохраняет фильтр [id] так, как должен, но я также хотел бы исключить фильтр, примененный к столбцу [Date] @mmarie –

ответ

0

У меня была аналогичная проблема. Один из способов заключается в создании новой таблицы (я назвал его «пустышки») только с соответствующими датами и создал вычисляемый столбец в «обманки» со следующим:

=SUMX(FILTER('Table','Table'[Date]<='Dummy'[Date]) , 'Table'[Amount]) 

После этого вы должны быть в состоянии связать «таблицу» и «манекен» и просто вытащить кумулятивную фигуру из «манекена» по мере необходимости.

Это не идеальный вариант, и если у кого-то есть аккуратная формула для получения этого результата, не прибегая к созданию дополнительного крика стола.