希望有任何帮助,希望有一个简单的问题-我写MDX到一个公司应用程序中的规则构建器。下面是表达式:
IIF(Time.CurrentMember >= [Time].&[456], "Formula 1" , "Formula 2")
表达式应该将报告中的每个日期与[Time].&[456]进行比较,即2022年11月——如果日期在[Time].&[456]之后或大于或等于[Time].&[456],则应该返回公式1。如果在[Time].&[456]之前或小于[Time].&[456],则返回公式2。
当我在应用程序中输入这个表达式时,除了2022年11月返回的是f1外,我看到的是整个公式2。这个表达式似乎解释了"="符号正确,但不解释任何其他操作符符号。
是否有一种方法来更新这个表达式,以便可以正确地比较日期?
我还在表达式——
中添加了MemberValueIIF(Time.CurrentMember.MemberValue >= [Time].&[456].MemberValue, "Formula 1" , "Formula 2")
但这也没有正确地评估-公式1和公式2在整个报告中随机返回。
任何帮助将不胜感激!谢谢你。
我认为您的问题是MemberValue '十一月2022'实际上不是一个日期,而只是一个字符串,与' 2022年1月'或' 2022年2月'进行比较。你可能应该改变你的时间维度,只在叶子级别进行比较(例如,你不能比较2022年第四季度和2022年11月…))。但是,如果您的成员值是,例如,2022-11-31,您应该能够正确地进行比较。