2

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

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

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

4

1 回答 1

2

它并不以在大型数据集上具有良好的性能而闻名,但您是否阅读过 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.

这是一个很好的例子:

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

于 2012-10-24T10:25:43.773 回答