【问题标题】:SSAS TimeSpan in Aggregation聚合中的 SSAS 时间跨度
【发布时间】:2011-07-22 03:43:17
【问题描述】:
我在数据仓库中有一个时间跨度,表示用户执行任务所花费的时间(不是时间维度,而是度量)。在 SQL 中,我将此设置为日期时间。当它被拉入 SSAS 时,它会转换为日期类型,这在多维数据集度量聚合中不可用。我是否需要将时间跨度转换为整数(秒),或者有更好的方法吗?
编辑:
我将 SQL 中的数据类型更改为 time(7),并将其作为 WChar 拉入 SSAS,这是不可求和的。
【问题讨论】:
标签:
types
ssas
aggregation
【解决方案1】:
我是这样解决的:
- 在 SSIS 中,我将时间跨度转换为经过的秒数并将其存储为整数
- 在 SSAS 中,我将此度量视为一个称为“持续时间秒数总和”的 SUM,但将其隐藏了
- 在 SSAS 中,我使用以下表达式进行了一个名为“Time Spent Sum”的计算:
iif([Measures].[Duration In Seconds Sum] = 0,
无效的,
Format(Int([Measures].[Duration In Seconds Sum]/86400), "0:") +
格式(
TimeSerial(0, 0, [Measures].[Duration In seconds Sum]
- (Int([Measures].[Duration In Seconds Sum]/86400) * 86400)),"HH:mm:ss"
)
)