多维数据集是另一个多维数据集的源

时间:2012-10-20 06:26:00

标签: ssas business-intelligence cube

我有类似下面的例子,我需要有人在这种情况下提出一个好的做法。

说你有两个立方体,第一个是时间表立方体,在那里你可以找到一个员工在特定日期工作了多少小时。员工可以在一天内完成许多项目,许多员工可以在一个项目上工作。有些员工不从事项目工作,例如支持部门下的员工(如会计,ISD,HR等),他们在那里写下让我们说“一般”。 第二个多维数据集是project_funder,它显示了资助者在项目中投入了多少资金。一个项目可以由许多资助者资助,资助者可以提供许多项目。

如何从第二个多维数据集中获取项目和资助者之间的关系,并在第一个多维数据集(时间表多维数据集)中使用它,找到类似的内容:员工emp1在项目proj1上工作了8个小时,由funder1和funder2? ...我正在使用SSAS 2008

1 个答案:

答案 0 :(得分:2)

不知道在大型数据集上有良好的性能,但是你读了LOOKUP CUBE

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.

这是一个很好的例子:

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]

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