我有类似下面的例子,我需要有人在这种情况下提出一个好的做法。
说你有两个立方体,第一个是时间表立方体,在那里你可以找到一个员工在特定日期工作了多少小时。员工可以在一天内完成许多项目,许多员工可以在一个项目上工作。有些员工不从事项目工作,例如支持部门下的员工(如会计,ISD,HR等),他们在那里写下让我们说“一般”。 第二个多维数据集是project_funder,它显示了资助者在项目中投入了多少资金。一个项目可以由许多资助者资助,资助者可以提供许多项目。
如何从第二个多维数据集中获取项目和资助者之间的关系,并在第一个多维数据集(时间表多维数据集)中使用它,找到类似的内容:员工emp1在项目proj1上工作了8个小时,由funder1和funder2? ...我正在使用SSAS 2008
答案 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