我有一个包含DateFrom
和DateTo
参数的报告。两者都是日历-您可以选择具有日期精度的日期。
报告中的数据集之一是MDX。我使用strtoset
为其输入日期范围,并且strtoset
的参数表达式变为:
="([Test Run].[Complete Date Hierarchy By Month].[Date].&[" & Format(Parameters!FromDate.Value, "yyyy-MM-dd") & "T00:00:00]:[Test Run].[Complete Date Hierarchy By Month].[Date].&[" & Format(Parameters!ToDate.Value, "yyyy-MM-dd") & "T00:00:00])"
问题是,如果开始日期和结束日期不是维中的成员,则查询将返回所有null。
是否可以将用户提供的日期调整为维度中最接近的现有成员(向前(对于“发件人”)还是向后(对于“发件人”)?
编辑:我现在正在尝试使用过滤器在[自:至]范围内生成一组日期值。它的工作原理是不会出错,但是结果集与strtoset()
的结果集不同。现在,Where子句中包含以下内容:
filter([Test Run].[Complete Date Hierarchy By Month].[Date],
[Test Run].[Complete Date Hierarchy By Month].currentmember.member_value >= CDate('2017-10-01') and
[Test Run].[Complete Date Hierarchy By Month].currentmember.member_value < CDate('2018-07-01'))
我得到的数字略有不同。怎么可能?
答案 0 :(得分:0)
FILTER([Test Run].[Complete Date Hierarchy By Month].[Date],
[Test Run].[Complete Date Hierarchy By Month].[Date].CurrentMember.Member_Value >= CDate('2018-01-01') and
[Test Run].[Complete Date Hierarchy By Month].[Date].CurrentMember.Member_Value < CDate('2018-04-01'))