2013-08-26 35 views
2

我刚接触MDX。我使用Team Foundation Server中的Team System Cube在 Visual Studio商业智能环境中工作。我的问题听起来很简单,但我不知道解决方案。MDX从一个维度层级结合所有值

1)我有一个有DateTime数据类型的字段。此字段的一个维度(按周分层)我用它在我的报告中显示我的日历周 。现在我有第二个字段,它有一个整数数据类型(这是一个度量)。我创建了一些数据集,所以它着眼于时刻:

  • 1周:50
  • 第2周:34
  • 第3周:46
  • ...
  • 周N:NN

我明白第二个字段中的值的分配以及维度上的值的相关性。我的要求,这听起来很简单:我需要的所有字段值的总和,使得它看起来 如下表所示:

  • Week1:200(54 + 34 + 46 + ...)
  • Week2:190
  • 译员更加的:186

如果我试着总结一下有没有变化。

IIF(ISEMPTY([Measures].[RemainingWorkProductBacklogItem]) OR NOT Mid([Work Item]. 
[PlannedWeek__HierarchyByWeek].CurrentMember.UniqueName,58,10) 
<= Format(Now(), "yyyy-MM-dd"), SUM([Measures].[RemainingWorkProductBacklogItem]),NULL) 

(Mid函数只显示实际值,它shouldn't在这方面发挥的作用。)

我也试过YTD函数SUM函数组合太多,但我并没有成功,仍然没有变化(它显示为空)。有没有我可以使用的功能,或者我必须对立方体进行更改吗?

2)进一步的问题一般来说:如果我有两个字段(两个DateTime)有两个不同的维度,可以安排一个映射? E.G.

DIMENSION1:

  • Week1:数据
  • Week2:数据
  • 译员更加:数据

DIMENSION2:

  • Week2:数据
  • 译员更加:数据

两个维度包含面向上DIMENSION1的week2和3.该报告,可以显示从DIMENSION2数据吗? (我肯定这一定是可能的,我在立方体选项中搜索,但没有找到它)。

非常感谢你在期待

尤金

+0

究竟是什么,你想每周总结?不同的措施?不同星期的同一项措施?如果你有两个具有星期属性的维度,那么这是不是一个维度的原因?你在使用角色扮演维度吗? – FrankPl

+0

1)我想在不同的星期总结相同的测量。 2)在我的模板中,我将项目和任务区分开来(这是两种不同的观点,我将它视为一个维度,但不知道如何,我确信有一个解决方案可以在一个维度上进行)和为每个日历周分配值我需要一个日期变量。所以我创建了两个日期变量,我可以对每个日历周进行分配。非常感谢您花时间回答我的问题。 – user2674068

回答

2

1)Ytd只有当你标记您的时间维度(必须是全尺寸,不只是一个维度随着时间的某些属性可以正常工作,并为该维度的所有属性提供正确的类型,该维度以及BIDS中Type属性的属性都配置了该类型,然后它仅适用于您的多维数据集的第一个维度。

Sum(Ytd([Dim Time].[PlannedWeek__HierarchyByWeek].CurrentMember)) 

Sum(Ytd([Dim Time].[PlannedWeek__HierarchyByWeek].CurrentMember), [Measures].[RemainingWorkProductBacklogItem]) 

2)你绝对应该有类似年份,季度,月,周,日,星期,等属性一个时间维度(你并不需要所有这些,但有些)在你的魔方。不要将它与其他属性混合。然后,参考文献将不需要任何进一步的努我发现将几个事实表链接到这个维度没有问题。而且您也可以将Ytd函数应用于此,因为您只有一个时间维度。

如果您有错误的多维数据集设计,MDX可能会变得非常困难,比具有错误表格设计的SQL更难。

+0

非常感谢您的回答,我会尝试。 – user2674068