【问题标题】:SSRS 2016 - Date Range Filter for "This Week"SSRS 2016 - “本周”的日期范围过滤器
【发布时间】:2018-05-09 11:06:03
【问题描述】:

我是 SSRS 和报表生成器的新手。我运行 SSRS 2016。

我有一个正在查看 SharePoint 列表的报告,该报告可以很好地提取数据,但我需要过滤一个日期字段以仅显示“本周”的日期 - 如下所示:

我有一个名为“创建日期”的列,我在一周的最后一天(星期五)下午 5 点运行报告 - 报告应该只生成过去 5 天(星期一到星期五)内创建的所有项目(包括今天、周五)

我知道如何使用 =Today() 表达式过滤今天创建的项目,但我无法为上一个工作周内创建的项目提供任何工作。

任何帮助表示赞赏。

谢谢。

【问题讨论】:

    标签: sql sql-server reporting-services


    【解决方案1】:

    就个人而言,我会使用 2 个参数,例如 @DateFrom@DateTo。然后您可以过滤您的数据以仅包含创建日期在@DateFrom@DateTo 之间的数据。

    如果报表总是在星期五运行,并且您想要星期一到星期五的数据,那么您的参数表达式将分别为:=DateAdd("d", -5, Today()=Today()

    【讨论】:

    • 谢谢! - 不过,你必须握住我,我对此完全陌生,抱歉。我使用的是“Tablix 属性”过滤器(右键单击表格并选择 Tablix 属性 --> 过滤器),选择添加 --> 表达式 = 创建日期(来自 SharePoint 列表) --> Operator 是 value 是我试图添加的位置:=DateAdd("d", -5, Today()
    • 你也可以在那里做。我更喜欢使用参数,但是如果你想直接将过滤器放在tablix中就可以了。
    • 我还建议对数据集而不是 tablix 进行过滤以提高性能,除非这是一个很好的理由不这样做
    • 这个想法是,如果你有六年的数据,你的查询将从你的数据库中拉出所有六年的数据,然后你的 tablix 将过滤掉你感兴趣的那一周。最好只提取您想要的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多