在计算的度量中使用DaysBetween()函数的参数类型不匹配错误

时间:2015-08-13 17:27:16

标签: mdx iccube iccube-reporting

我正在使用icCube 5.0.1并且正在升级到5.1。

我正在尝试使用Builder使用以下公式创建计算度量:DaysBetween([LastReportingDate],Today())

[Measure]。[LastReportingDate]是多维数据集中具有Date数据类型的度量。

目的是创建一个计算度量,提供[Measure]。[LastReportingDate]和今天之间的天数,并在报告中使用它。

当我将新计算的度量添加到报告表时,列单元格填充“错误”,当我将鼠标悬停在单元格上时,错误消息显示为:DaysBetween():argument(0)type mismatch:expected'日期'得到:'措施'。

手动参考:http://www.iccube.com/support/documentation/mdx/DaysBetween.php

任何提示?非常感谢!

3 个答案:

答案 0 :(得分:2)

您可以使用memberValue属性:

DaysBetween([LastReportingDate].MemberValue, Today())

(p.s。我使用Pyramid而不是icCube,所以这可能是标记!)

答案 1 :(得分:2)

假设[LastReportingDate]是时间维度(即成员密钥是实际日期(而不是表示日期的字符串)),您可以执行以下操作:

DaysBetween( [LastReportingDate].KEY, Today() )

如果[LastReportingDate]是Date类型的[Measures],您可以使用Value()函数获取其实际日期,如下所示:

DaysBetween( [Measures].[LastReportingDate].Value, Today() )

注意:如果密钥是字符串,请使用其图案说明编辑您的问题。

答案 2 :(得分:0)

经过更多的研究和实验,我解决了以下问题:

  • 我使用以下公式计算变量:Today() - [LastReportingDate]
  • 我使用了以下Cell Properties条目:Format_String ='#,## 0'请注意,如果不使用Format_String,报告会显示日期。

感谢大家的帮助。