Използвам MDX и Microsoft SQL Server 2008 Analysis Services. Имам куб за пратки със следните размери:
* Measures: Quantity
* Time: Year/Month/Day
* Ship Date: Year/Month/Day
* Receipt Date: Year/Month/Day
Искам да знам количеството в транзит в последния ден на всеки месец. Как мога да направя това? В SQL би било нещо подобно:
SELECT
A.[Month], SUM(B.[Quantity]) AS [In Transit]
FROM
( SELECT [Month], MAX([Day]) AS [End of Month] FROM [Time] GROUP BY [Month] ) A
CROSS JOIN
( SELECT [Quantity], [Ship Date], [Receipt Date] FROM [Shipments] ) B
WHERE
B.[Ship Date] <= A.[End of Month]
AND B.[Receipt Date] > A.[End of Month]
GROUP BY
A.[Month]