Предполагая, что вы ищете итоговую общую сумму с начала года - что-то вроде этого должно работать, если я правильно понял вашу модель данных.
ActualQty = TOTALYTD ( SUM ( 'Actual'[Qty] ), 'DatesTable'[Date] )
Редактировать: Соответствовать последним изменениям, внесенным в вашувопрос, если вы хотите вернуть значения только для дат, которые существуют в ваших таблицах фактов, вы можете заключить меру в IF()
, например так:
ActualQty =
IF (
SUM ( 'Actual'[Qty] ) + SUM ( 'Forecast'[Qty] ) = BLANK(),
BLANK(),
TOTALYTD ( SUM ( 'Actual'[Qty] ), 'DatesTable'[Date] )
)
Это проверяет, имеет ли дата значение дляAcual или Forecast, и возвращает значение, только если присутствует хотя бы одно.
Edit (Naz): Просто уточните его, чтобы получить 0 01.01.19 для ActualQty:
ActualQty3 =
IF (
SUM ( 'Actual'[Qty] ) + SUM ( 'Forecast'[Qty] )
= BLANK (),
BLANK (),
IF (
TOTALYTD ( SUM ( 'Actual'[Qty] ), 'Dates'[Date] ) = BLANK (),
0,
TOTALYTD ( SUM ( 'Actual'[Qty] ), 'Dates'[Date] )
)
)
Edit (Naz): Только что понял, что использует функцию TOTALYTD, которая мне не нужна, так как это не мое требование.Так что изменили это далее, используя логику Рори, чтобы теперь дать мне:
ActualQty =
var a=
CALCULATE (
SUM ( 'Actual'[Qty] ),
FILTER ( ALL(Dates),'Dates'[Date]<=MAX('Dates'[Date]))
)
RETURN
IF (
calculate(SUM ( 'Actual'[Qty] )) + calculate(SUM ( 'Forecast'[Qty] ))
= BLANK (),
BLANK (),
IF (
a = BLANK (),
0,
a
)
)