2

我有一个 SSRS 报告,它使用以下表达式进行过滤:

="{[Claim Cheque].[Cheque Date].&[" + format(Parameters!StartDate.Value, "yyyy-MM-dd") + "T00:00:00]:[Claim Cheque].[Cheque Date].&[" + format(Parameters!EndDate.Value, "yyyy-MM-dd") + "T00:00:00]}"

效果很好。我的问题是我每天都没有检查,这使得查询不返回任何结果。例如,我选择的日期范围是 11 月 1 日到 20 日。我有 14 日和 15 日的支票,但没有 20 日。这样我会在我的报告中错过第 14 和第 15 的结果。

我知道如何强制参数只获取多维数据集中的现有值。但我需要能够选择所有日期。还有其他方法可以使此表达式返回所需的结果吗?

任何帮助表示赞赏。

4

1 回答 1

2

在我看来,您有一个仅用于 [支票日期] 的单独日期维度,而不是链接回完全填充的主日期维度。查看 AdventureWorks 示例中的 Order Date 和 Ship Date 维度的处理方式。它们在这里得到了很好的解释:角色扮演维度

我能够针对该数据运行像您这样的 MDX 查询,其中在该范围的开始日期和结束日期没有交易:

Select 
[Measures].[Order Count] on 0,
[Sales Channel].&[Reseller] on 1
From [Adventure Works]
Where {[Ship Date].[Fiscal].[Date].&[20060701]:[Ship Date].[Fiscal].[Date].&[20060710]}

Select 
[Measures].[Order Count] on 0,
([Sales Channel].&[Reseller],
{[Ship Date].[Fiscal].[Date].&[20060701]:[Ship Date].[Fiscal].[Date].&[20060710]}) on 1
From [Adventure Works]
于 2012-11-26T18:03:47.177 回答