使用 SSRS 的多个查询报告

发布于 2024-07-17 01:26:27 字数 134 浏览 6 评论 0原文

我希望我的报告显示两个 select 语句的结果。 基本上,一个 select 语句是活动用户,另一个是非活动用户。

如何构建报告的数据选项卡(我使用的是 SSRS-2005)?

谢谢

弗兰克

I want my report to display results from two select statements.
Basicly, one select statement is active users, and the other is non-active users.

How do I structure the data tab of the report (I am using SSRS-2005)?

Thanks

Frank

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

朮生 2024-07-24 01:26:27

有两种方法可以解决此问题:

  1. 在“数据”选项卡中有两个查询 - 一个用于活动用户,一个用于非活动用户。 然后,在您的报告中,只需放置两个表,并将其中一个指向“活跃用户”数据集,另一个指向“非活跃用户”数据集。

  2. 有一个查询可以返回所有用户(无论是否活跃),以及一列表示其“活跃”状态的列。 现在,在报告中放置两个表,并将它们都指向这个单一的数据集。 然后,在每个表的属性中,设置过滤器,以便一个表仅显示活动用户,另一个表显示不活动用户。

我不喜欢其中一种方法而不是另一种,但我可能会倾向于第二种方法,因为它只是到数据库的一次往返。 不过,在报告呈现期间进行过滤的开销可能并不值得——您必须尝试一下才能看到。

Two ways you could approach this:

  1. Have two queries in your "Data" tab - one for active users and one for inactive users. Then on your report simply drop two tables and point one of them at the "active users" DataSet and the other at the "inactive users" DataSet.

  2. Have the one query which returns all users, active or not, along with a column for their "active" status. Now drop two tables on your report and point them both at this single DataSet. Then, in the properties of each table, set up the filter so that one table only shows active users and the other shows inactive ones.

I don't I'd favour one of these approaches over the other, but I'd probably lean towards the second approach since it's only one round trip to the database. The overhead of filtering during the report rendering might not make it worth it, though - you'd have to try it and see.

傾城如夢未必闌珊 2024-07-24 01:26:27

您可以尝试以下操作:

这个想法很大程度上取决于您在查询中区分活跃用户和非活跃用户的方式。

但对于这种情况和其他情况:

    Select 
    case when (active=1) then [USERNAME] else NULL end ACTIVEUSERS,
    case when (active=0) then [USERNAME] else NULL end NONACTIVEUSERS
    FROM myTable

您可以按照您希望的方式在 SSRS 表单中使用这两列。

You might try the following:

The idea depends strongly on the way you differentiate active from non-active users in your query.

But for this and other situations:

    Select 
    case when (active=1) then [USERNAME] else NULL end ACTIVEUSERS,
    case when (active=0) then [USERNAME] else NULL end NONACTIVEUSERS
    FROM myTable

You can then use the two columns in the way you wish inside your SSRS-form.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文