【问题标题】:SSRS How to create a scheduled refresh for datasetsSSRS 如何为数据集创建计划刷新
【发布时间】:2021-02-12 14:36:35
【问题描述】:

所以我在 MSSQL 中有一个视图,Power BI Cloud 每天自动读取两次数据。

由于 Power BI 已被证明不可靠 - 刷新失败等 - 我们正在寻找其他替代方案。

目前我们已经让人们通过 Excel 的 Power Query 直接访问 MSSQL,但是由于查询本身是一个巨大的东西,我们不希望 5~6 人同时去点击刷新快乐并导致任何问题。我们的查询只是 CPU 密集型的。

因此,我们想到的另一个替代方案是 SSRS,它直接从我们的服务器托管,人们可以从中下载 Excel 副本并尽情享受。

像以往一样,根本没有使用过 SSRS,我想知道它是否具有与 Power BI 类似的系统,您可以在其中定义一天的刷新频率,然后将其定为最终版本。因此,Power BI 数据集每天刷新两次,就是这样。

似乎在 SSRS 中,每次有人运行报告 - 随后运行视图 - 它都会刷新。

我们如何定义一个有意义的控制呢?例如,我们可以限制数据集在每天下午 14:30 刷新一次吗?如果有怎么办?

任何帮助将不胜感激!

【问题讨论】:

    标签: reporting-services ssrs-2012 ssrs-tablix


    【解决方案1】:

    有几种方法可以做到这一点,这里只是一对...

    SSRS 支持数据集缓存。您可以定义数据集的缓存副本到期的时间段,也可以指定缓存副本按计划到期。请注意,这不会刷新数据集。

    假设您将到期时间设置为 4 小时,这意味着第一个运行报表的人将执行查询并且数据集将被缓存 - 这可能需要一些时间,具体取决于您的查询。下一个在 4 小时窗口内运行相同报表的用户将重新使用数据集的缓存副本,如果 5 小时后有人运行报表,查询将再次运行并缓存数据集的新副本以供下一次使用4小时等。

    这样做的好处是,如果报告一天没有运行,则不需要执行数据集查询,缺点是每四个小时,第一个用户将获得等待查询运行的命中.

    另一种选择是将查询结果转储到表中,并使用代理作业安排该过程每天运行两次。将报告指向此表,然后您就可以开始了。

    这样做的好处是用户可以更快地获得报告结果(除非他们在刷新作业发生时运行报告),​​缺点是查询将每天执行两次,无论是否需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-16
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 2012-05-10
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      相关资源
      最近更新 更多