在Cognos Report Studio中使用元组中的“当前月”

时间:2015-04-17 12:40:26

标签: tuples mdx cognos

我有一个问题,我想使用从时间戳计算的“当月”。在Report Studio中,我有一个List,我想使用一个带有另外两个成员和度量的元组的数据项。

当我尝试下面的代码时,我得到了值:

tuple(
    currentMember ([Member1]),
    currentMember ([Member2]),
    [Time].[Calendar].[Month]->:[M12].[[Time]].[Calendar]].[Month]].&[201504]]],    
    [Measure]
)

但是当我用以下代码替换Time-member时

#'[Time].[Calendar].[Month]->:[M12].[[Time]].[Calendar]].[Month]].&[' + timestampMask(_add_days($current_timestamp, -1),'yyyymm') + ']]]'#

......它只是空的。我没有错。

如果我在另一个数据项中测试这一行,我将得到当前月的正确,我还检查了该字符串实际上与我上面写的完全相同。

我甚至用字符串“201504”替换了timestampmask,这也很有效:

#'[Time].[Calendar].[Month]->:[M12].[[Time]].[Calendar]].[Month]].&[' + '201504' + ']]]'#

使用元组的时间戳是不可能的?或者可以用另一种方式解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试将宏放在另一个数据项中,然后从元组中引用新的DI。

答案 1 :(得分:0)

(不是解决方案,但可能有帮助)

创建一个自定义度量,其定义如下:

timestampMask(_add_days($current_timestamp, -1),'yyyymm')

将此新度量添加到查询列中 它会返回您期望的值吗? e.g。'201504'