聚合中的SSAS TimeSpan

时间:2011-07-14 19:23:54

标签: types ssas aggregation

我在数据仓库中有一个时间跨度,表示用户执行任务所花费的时间(不是时间维度,而是度量)。在SQL中,我将此设置为datetime。当它被拉入SSAS时,它将转换为日期类型,这在多维数据集度量聚合中不可用。我是否需要将时间跨度转换为整数(秒),还是有更好的方法来执行此操作?

编辑:

我将SQL中的数据类型更改为time(7),并将其作为WChar拉入SSAS,这是不可求的。

1 个答案:

答案 0 :(得分:1)

我解决了这个问题:

  • 在SSIS中,我将时间跨度转换为经过的秒数并将其存储为整数
  • 在SSAS中我将此度量视为一个名为“持续时间为秒和”的SUM,但隐藏了它
  • 在SSAS中我使用以下表达式进行了一次名为“Time Spent Sum”的计算:

iif([Measures]。[持续时间以秒为单位] = 0, 空值, 格式(Int([Measures]。[持续时间以秒为单位] / 86400),“0:”)+
格式(   TimeSerial(0,0,[Measures]。[持续时间以秒为单位]    - (Int([Measures]。[持续时间以秒为单位] / 86400)* 86400)),“HH:mm:ss”   ) )