2015-10-09 3 views
0

Я бы хотел (а) рассчитать сумму (QTY) до даты начала месяца для данной даты.Как рассчитать сумму до начала месяца определенной даты в DAX

В принципе я могу вычислить Sum (кол-во) до указанной даты в моей меры, как:

SumQTYTillDate:=CALCULATE(SUM([QTY]);FILTER(ALL(DimDateView[Date]);DimDateView[Date]<=MIN(DimDateView[Date]))) 

enter image description here

Но я также хотел бы вычислить Sum (кол-во) за период до 10/1/2015 год - это первая дата выбранного месяца. Я изменил значение выше и использовал функцию STARTOFMONTH, чтобы найти первый день месяца на определенную дату;

.......DimDateView[Date]<=STARTOFMONTH(MIN(DimDateView[Date])))) 

, но не воспользоваться, это дает мне

«Функция„МИН“используется в True/False выражение, которое используется в качестве выражения таблицы фильтров. Это не допускается. "

Что мне не хватает? Как я могу использовать функцию STARTOFMONTH по моей оценке?

Спасибо.

ответ

1

STARTOFMONTH() должен ссылаться на столбец типа Дата/Время. MIN() является скалярным значением, а не ссылкой на столбцы. Кроме того, ваша мера не будет работать, потому что STARTOFMONTH() оценивается в контексте строки вашего FILTER(). Результатом всего этого является то, что вы получите меру, которая просто суммирует [QTY] в течение каждого месяца в ваших данных.

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

В вашем случае я не совсем уверен, что вы ищете, но я думаю, что вы хотите, чтобы сумма [QTY] на все время до начала месяца находилась в выбранной вами дате В этом случае это очень легко сделать. Добавьте поле к вашему измерению даты, [MonthStartDate], которое содержит для каждой даты в таблице дату начала месяца, в который он попадает. Теперь вы можете записать меру следующим образом:

SumQTY=SUM(FactQTY[QTY]) 

SumQTYTilStartOfMonth:= 
CALCULATE(
    [SumQTY] 
    ;FILTER(
     ALL(DimDateView) 
     ;DimDateView[Date] < MIN(DimDateView[MonthStartDate]) 
    ) 
) 
Смежные вопросы