2012-10-20 70 views
0

我有一个类似于下面的例子的案例,我需要有人在这种情况下提出一个好的做法。一个立方体是另一个立方体的来源

表示您有两个立方体,第一个是时间表多维数据集,您可以在其中找到员工在特定日期的某个项目上工作了多少个小时。一个员工可以在一天内处理很多项目,而许多员工可以在一个项目上工作。有些员工不在项目上工作,比如他们在上写下小时的支持部门(如会计,ISD,HR等)的员工,比如“general”。 第二个立方体是project_funder,它显示出资者在项目中投入了多少钱。一个项目可以由许多资助者资助,而资助者可以提供许多项目。

我如何从第二个立方体中将项目和资助者之间的关系,并在第一个立方体(时间表立方体)中使用它,找到像这样的东西:员工emp1工作8个小时项目proj1由资助者1和funder2? ...我使用SSAS 2008

回答

1

它不具有对大数据集性能比较好知道,但你对LOOKUPCUBE读了

http://msdn.microsoft.com/en-us/library/ms144720.aspx

Returns the value of a Multidimensional Expressions (MDX) expression 
evaluated over another specified cube in the same database. 

这里是一个很好的例子:

http://www.bidn.com/blogs/DustinRyan/ssis/814/lookupcube-function-mdx-query-performance-test

WITH MEMBER [Measures].[Lookup Internet Order Count] AS  
LOOKUPCUBE("Mined Customers", "([Measures].[Internet Order Count], 
[Customer].[Customer Geography].[Country].&[" + 
[Customer].[Customer Geography].CurrentMember.Name + "])") 

SELECT [Customer].[Customer Geography].[Country] ON COLUMNS,  
{ 
[Measures].[Internet Sales Amount], 
[Measures].[Lookup Internet Order Count] 
} ON ROWS  
FROM [ADVENTURE WORKS] 

来自

相关问题