【问题标题】:How should I created an SSRS template from a SQL table?我应该如何从 SQL 表创建 SSRS 模板?
【发布时间】:2015-11-06 18:55:38
【问题描述】:

只是我的第二个堆栈问题,我对 ssrs 还很陌生,但我宁愿以正确的方式去做,现在就学习,然后必须回来解决所有问题。

我将为我的公司创建一个半灵活的报告 (SSRS) 标准,而提前获得全球共识是不可能的。我建议的解决方案是创建一个格式表,我可以对其进行更新以改变我所有的一种类型报告的外观和感觉。 (表格,图表等)我已经想到了两种方法来做到这一点,我正在寻找关于哪种方法更好的建议,以及我认为它是否会起作用......实际上会起作用。我完全愿意研究操作方法的所有细节,但我非常感谢有关如何开始的提示。

有没有办法引用您的表达式所在的属性(例如名称、背景颜色)?如果我可以对所有属性的表达式使用相同的代码并让该代码找到它在表中的位置,那就太棒了。 类似:

attribute.value = lookup(ReportFormataDataset as RFD, attribute.name = 
RFD.name and left(me.name, 3) = RFD.prefix) 

或者,我可以在 VBA 代码中运行一个循环,以根据表中的内容更改属性。我计划创建一个带有命名约定的报告模板来提供帮助。 (例如 hdr、ttl、bdy 前缀)所以它可能看起来像:

for each reportItem in report
   for each el in FormatTable
       'make sure the report item is what I think it is, like header
       if left(ReportItem.name, 3) = el.prefix then
           'e.g. backgroundcolor = Blue
           name.value = el.value
       end if
   end loop
end loop

但是我什么时候运行它,如果我在表达式中这样做,我会想象这会大大减慢我的报告速度。也许用变量代替?

我发现了这个: tips-tricks-ensure-consistency-sql-server-reporting-services-reports 但是如果我稍后添加格式要求,维护起来似乎很麻烦,我必须将该参数添加到所有报告和属性中。

我知道这似乎有点钓鱼,但我不确定其中任何一个会如何工作,我知道当专家可以在 5 分钟内为我指出正确的方向时,我可以投入数天的努力,所以.. . 对不起,如果这不是“堆栈精神”,谢谢。

【问题讨论】:

    标签: vba automation formatting expression ssrs-2012


    【解决方案1】:

    我们已经实现了类似的东西,并使用了设置所有报告调用的共享数据集的方法。这将返回一条记录,其中包括我们可能在报告中使用的所有图像、背景颜色和日期格式(包括公司徽标和品牌颜色)。

    例如,如果我们在单元格中有日期,我们会将数字格式设置为

    =First(Fields!FullDateFormat.Value, "ReportConstants")
    

    其中ReportConstants 是共享数据集的名称。

    这还允许我们在英国和美国部署相同的报告,但两者都使用它们的本地日期格式,因为这是由数据库实例设置的,而不是在报告中。

    现在这是否是正确的方法是另一个问题,但它对我们有用,在多个位置使用约 50 个报告,而无需一直单独配置每个报告。

    这有用吗?

    【讨论】:

    • 谢谢 Jonnus,听起来应该可以。我还收集到每个属性都有自己的列,而不是名为“属性名称”的列和 FullDateFormat 的数据。您是否有样式 ID,然后使用与该报告的 ID 匹配的一条记录填充数据集?
    • @Zero Shadow,是的,每个属性都有自己的列。在上面的示例中,有一个名为 FullDateFormat 的列。我们所有的报告都遵循相同的风格,但您提出的 styleID 是有道理的。报告可以将此作为参数,然后共享数据集可以从数据库中返回与 styleID 匹配的单行。
    猜你喜欢
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多