【问题标题】:How to show a column when the date is end of the quarter in SSRS expression?当日期是 SSRS 表达式中的季度末时,如何显示列?
【发布时间】:2021-03-15 19:23:13
【问题描述】:

在 SSRS 报告中,结束日期通过参数传递。如果日期是季度末,则应显示最后一列,否则应隐藏。

有人可以帮我吗?

=DateAdd(DateInterval.Quarter, DateDiff(DateInterval.Quarter, CDate("1/1/1900"), Today()), CDate("1/1/1900"))

这是我尝试过的

【问题讨论】:

  • 您的意思是要检查结束日期参数是current 季度的最后一天还是任何季度的结束?
  • @AlanSchofield 是的,希望将结束日期参数与任何季度的结束日期进行比较。如果结束日期与任何季度匹配,则特定列应显示在报告中,否则应禁止显示
  • 我刚刚添加了一个应该满足您需求的答案
  • 谢谢解答,我用完会更新

标签: sql-server reporting-services ssrs-2008-r2 ssrs-tablix


【解决方案1】:

假设如下:

  • 您的日期参数称为EndDate
  • 您想检查EndDate 是否是一个季度的最后一天

那么你就可以这样做了。

=
DatePart(DateInterval.Quarter, Parameters!EndDate.Value)
<>
DatePart(DateInterval.Quarter, DateAdd(DateInterval.Day, 1, Parameters!EndDate.Value))

这里我们只是比较两个表达式的结果。第一个只是获取EndDate 参数值的季度数。

第二部分是一样的,只是这次我们得到的是第二天的季度数字。

如果这两个数字不匹配,则它们位于不同的季度,因此 EndDate 必须是季度的最后一天。

您应该能够在要隐藏的列的 hidden 属性中使用与上面完全相同的表达式。

【讨论】:

    猜你喜欢
    • 2016-09-25
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多