사실 및 날짜 차원 테이블이 있습니다. 필자는 모든 날짜 멤버에 대해 집계 함수 (sum (amount))를 반환하는 쿼리를 작성해야합니다. 그러나이 집계 함수는 날짜를 기준으로 필터링해야합니다.tsql 분석 쿼리
SELECT D.DATE
,(
SELECT sum(inline.InventoryRetailAmount)
FROM InvFactMain inline
WHERE inline.DocumentDate >= DATEADD(day, - @x, D.DATE)
AND inline.DocumentDate < dateadd(day, - @y, D.DATE)
) AS [RetailAmount]
FROM InvFactMain F
JOIN Dates D ON D.Date_ID = F.DateId
GROUP BY D.DATE
나는 그것을 구현하는 더 효율적인 방법이 있는지 해요 :
FACT table: InvFactMain
Dim table: Dates
현재 나는이 쿼리가 있습니다.
등
어떤 아이디어 나 SQL 2012을 사용하고, 그래서 LAG, LEAD 등의 분석 기능을 사용할 수 있습니다 •? 나는이 올바르게 수행하는 것을 이해 해요, 난이 잘해야한다고 생각
좀 더 자세히 알려주세요 **이 집계 함수는 반환 날짜에 필터 기반이되어야합니다 ** –