Web Intelligence时间戳取整到整小时公式及#MULTIVALUE报错咨询
Web Intelligence 时间戳取整小时及#MULTIVALUE错误解决方案
日期时间向下取整到小时的公式
Web Intelligence 原生函数即可实现该需求,无需依赖SQL侧预处理,通用公式如下:ToDate(FormatDate([原始日期时间戳字段]; "dd/MM/yyyy HH:00:00"); "dd/MM/yyyy HH:mm:ss")
公式逻辑:先用FormatDate将原始时间戳转换为分钟、秒强制为00的字符串,再用ToDate转回日期时间类型,即可自动实现时间向下取整到整点,你给出的示例01/11/2021 11:30:49经过该公式计算后输出结果为01/11/2021 11:00:00,完全匹配需求。
#MULTIVALUE错误解决方案
该报错的核心原因是你将SQL侧计算的整小时字段设置为度量类型,Web Intelligence默认会对度量做聚合计算,当同一上下文下存在多个时间值时就会触发多值错误,可按需选择以下两种方案解决:
- 调整对象属性:将整小时字段的资格类型从「度量」修改为「维度」,时间字段本身属于分类属性,设置为维度后天然支持按不同小时聚合数据,不会触发多值错误。
- 强制指定聚合上下文:如果确实需要保留该字段的度量属性,可以在调用该字段的公式外侧套聚合函数指定计算上下文,比如
Max([整小时度量字段]) In ([报表中涉及的其他维度字段]),明确指定当前维度上下文下的取值规则即可消除报错。
内容的提问来源于stack exchange,提问作者Grant Doole
相关产品推荐
相关产品推荐

