在 SSRS 2008 中,参数是如何传递给 DatSet 查询的……或者它们可以吗?

In SSRS 2008, how are parameters passed down to the DatSet Query... or can they?

在 SSRS 2008 中,参数是如何传递到 DatSet 查询的...或者它们可以吗?

我有一个简单的问题。我认为这很简单。如有必要,我可以包括我的意思的屏幕截图。

这是报告的基本格式。我在 Visual Studio 2017 年制作了一份 SSRS 报告。它有两个数据集。它有一个 Tablix 和一个从数据集中加载的条形图。我为报告定义了一个参数。参数 a Date/Time 数据类型设置为允许空值,我将其命名为 rundate。 (我将在数据驱动订阅中使用它,但现在这超出了我在这里的问题范围)

F 对于每个数据集,我都进入了数据集属性并添加了一个参数名称为 rundate 和参数值 [@rundate] 的参数。我认为如果我以某种方式将其作为数据集查询中的变量,那就太好了。我假设这正是它应该用于的目的。如何在 SQL 查询中声明它。

我说过这是一个非常直接的问题。它应该很容易回答,并且可以节省在互联网上寻找答案的时间。到目前为止,我所发现的只是如何设置过滤器。这不完全是一回事。但是,如果有必要,我想我可以求助于使用过滤器,但它会在查询中进行一些更改。而且会很乱。

https://reportsyouneed.com/ssrs-tip-put-parameters-in-your-query-not-your-filter/ 提供了一个解决方案,此页面上的这张图片让它看起来很简单 我已经用我自己的 WHERE 子句尝试了类似的东西: WHERE (InsertedDate > @rundate) 但在预览中,我明白了

在查询设计器中,将一个维度拖到报表顶部。选择一个 Operator 和一个 Filter 并通过 Parameters 选中复选框,然后 BOOOM 你有你的参数。如果您现在进入报表设计器,您会在左侧导航窗格(Datasets 文件夹顶部)的文件夹 Parameters 中找到刚刚选中的参数。现在打开文件夹,右键单击您的属性参数。

您现在可以设置默认值。如果不是,报告将打开并等待,直到用户从下拉选项中选择一个值。选择后,参数将传递给查询并执行查询并呈现报告。