Quantcast
Channel: SQL Server Analysis Services forum
Viewing all articles
Browse latest Browse all 14337

The usage of EXISTING keywork in MDX query

$
0
0

There's a demo from "MDX Step by Step 2008", it introduce the usage of 'EXISTING' to provide the context for set in calculated member.

WITH
MEMBER [Measures].[Number of Products] AS
COUNT(
       [Product].[Product].[Product].Members
) 
SELECT
{
            ([Measures].[Reseller Sales Amount]),
            ([Measures].[Number of Products])
} ON COLUMNS,
{[Product].[Category].Members} ON ROWS
FROM [Step-by-Step]
GO
WITH
MEMBER [Measures].[Number of Products] AS
COUNT(
       EXISTING [Product].[Product].[Product].Members
) 
SELECT
{
            ([Measures].[Reseller Sales Amount]),
            ([Measures].[Number of Products])
} ON COLUMNS,
{[Product].[Category].Members} ON ROWS
FROM [Step-by-Step]

Two outputs - the second output is correct.

Now I try another demo to get the last date with data, but I found there's no any difference when using 'EXISTING' or not.

WITH MEMBER [Measures].[Last Date]
AS
	 MAX({[Date].[Date].[Date].MEMBERS},
		 IIF(
				([Measures].[Internet Order Count]) = 0,
				NULL,
				[Date].[Date].CurrentMember.MemberValue
			)
		)
SELECT
{[Measures].[Internet Order Count],[Measures].[Last Date]} ON 0,
{[Promotion].[Promotion].MEMBERS} ON 1
FROM [Adventure Works]
GO
WITH MEMBER [Measures].[Last Date]
AS
	 MAX(EXISTING{[Date].[Date].[Date].MEMBERS},
		 IIF(
				([Measures].[Internet Order Count]) = 0,
				NULL,
				[Date].[Date].CurrentMember.MemberValue
			)
		)
SELECT
{[Measures].[Internet Order Count],[Measures].[Last Date]} ON 0,
{[Promotion].[Promotion].MEMBERS} ON 1
FROM [Adventure Works]

The outputs are same.

My expected result for last date in first query which don't have 'EXISTING' should be always 7/31/2008, because there's no context for Date member, so it always return the MAX date with data.

 MAX({[Date].[Date].[Date].MEMBERS},
		 IIF(
				([Measures].[Internet Order Count]) = 0,
				NULL,
				[Date].[Date].CurrentMember.MemberValue
			)
		)
Anyone could help to explain why I got the same output when using EXISTING or not?

Thanks!


Please vote if it's helpful and mark it as an answer!


Viewing all articles
Browse latest Browse all 14337

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>