Hi,
I hope that some can help me with a small problem I have got. I am new to data warehousing and MDX and am wondering if it is possible to construct a query based on a subquery (something like a T-SQL IN Clause).
Want I want to do is take all the customers who has looked at one product category (ex Dairy products) and see what else they have looked at. I guess what I want to do is create some sort of a filter to be able to only take those users from the measure and slice them by the product dimension again.
I am using ProClarity and will also need to be able to use it in there.
I am thankful for any help or any pushes in the right direction :-).
Kind Regards
Stefan Ghose
Hi Stefan,
Here are 2 sample Adventure Works queries, which identify the customers who bought Clothing category products on Jan.1,2004, and their purchases in other product categories on the same day:
>>
-- Customers who bought Clothing on Jan.1,2004:
select
Non Empty [Product].[Product Categories].[Category] on 0,
NonEmpty([Customer].[Customer Geography].[Full Name]
* {[Date].[Calendar].[Date].&[915]},
{([Product].[Product Categories].[Category].&[3],
[Measures].[Internet Sales Amount])}) on 1
from [Adventure Works]
where [Measures].[Internet Sales Amount]
-- Purchases in each Category on Jan.1,2004, by Customers who bought Clothing:
select {[Measures].[Internet Sales Amount]} on 0,
Non Empty [Product].[Product Categories].[Category] on 1
from [Adventure Works]
where NonEmpty([Customer].[Customer Geography].[Full Name]
* {[Date].[Calendar].[Date].&[915]},
{([Product].[Product Categories].[Category].&[3],
[Measures].[Internet Sales Amount])})
>>
|||Thank you soo much for your help Deepak! This was exactly what I was looking for! Now I can use this to try to make a dynamic Measuregroup that I can use in ProClarity...
-Stefan Ghose-
|||I have found the exact answer that I was looking for. To be able to create a query that is based on a subquery you only need to select write the subquery in the FROM clause i.e
SELECT
NONEMPTY([User Dimension].[All].CHILDREN, [Measures].[Count]) ON ROWS,
[Measures].[Count] ON COLUMNS
FROM
( SELECT
NONEMPTY ([User Dimension].[All].CHILDREN) ON COLUMNS
FROM
[Cube]
WHERE
(
[Measures].[Count],
[Slicer Dimension].[Name].&[Value],
[Date Dimension].[Year - Month].[Year].&[2006].&[11]
)
)
WHERE
(
[Date Dimension].[Year - Month].[Year].&[2006].&[11],
[User Dimension.CHILDREN
)
An example of this can be found here:
http://sqljunkies.com/WebLog/hitachiconsulting/archive/2004/09/21/4295.aspx
No comments:
Post a Comment