首页 > 解决方案 > 我们可以将 SSRS 输出存储为日志表吗?以便显示昨天数据和今天数据之间的差异

问题描述

我们可以将 SSRS 报告的输出存储在日志中吗?

例如,我有一个 Sp 。在这个 Sp 中,很多 Sub 查询和 Xmlpath 已被使用,所以我们在 Sp 中调用的这个字段的 Db 中没有任何日志。

是否可以获得我附在本文档中的输出

我需要知道昨天的输出和今天的输出之间的区别。

请看看并指导我的方式。

预期结果:
预期结果为图像

结果应该像所附图像中一样

谢谢

标签: sql-serverreporting-servicesssrs-2012ssrs-tablixmsbi

解决方案


您可以检索数据并“计算”这样的变化:

SELECT n.ID, n.[Name], n.[Desc],
  CASE
    WHEN n.[Name] = o.[Name] THEN 0 
    WHEN n.[Name] IS NULL AND o.[Name] IS NULL THEN 0
    ELSE 1
  END AS NameChanged,
  CASE
    WHEN n.[Desc] = o.[Desc] THEN 0 
    WHEN n.[Desc] IS NULL AND o.[Desc] IS NULL THEN 0
    ELSE 1
  END AS DescChanged
FROM new_data n
  LEFT OUTER JOIN old_data o ON n.ID = o.ID;

在报告中,使用表格显示数据(仅列ID和)。然后,对于BackgroundColor属性(对于文本框和),使用ExpressionNameDescNameDesc

  • 对于Name文本框:=IIf(Fields!NameChanged.Value = 1, "Gold", Nothing)
  • 对于Desc文本框:=IIf(Fields!DescChanged.Value = 1, "Gold", Nothing)

您可以使用 SSRS 知道的颜色名称,例如"Gold",也可以指定颜色代码,例如"#FFD800"


推荐阅读