【问题标题】:What would be the best method for building Dynamic Reports from my SQL DB Data?从我的 SQL 数据库数据构建动态报告的最佳方法是什么?
【发布时间】:2015-07-10 22:41:27
【问题描述】:

我正在构建一个包含大约 6-7 个表的简单数据库。我将设置一个从 .txt 文件进行干净导入的时间表。

我想获取这些数据并创建一个报告,就像我在 Excel 电子表格中所做的那样,将其转换为 pdf 并将其发布到我们公司的内部网,以供有兴趣的人访问。

我正在努力思考构建报告的最佳方式。我会使用直接连接到数据库的 Excel 电子表格吗?我会创建某种控制台应用程序(c/c#/vb/vb.net)来查询数据库、在 excel 文件中生成报告、转换为 pdf 并保存吗?

我对这些不同的语言非常熟悉,只是在报告服务方面没有经验(虽然我确实有很多使用 EXCEL 和 VBA 宏的经验)但我想深入了解它 (SSRS) 并熟悉有了它,因为我将来会做很多这样的项目。这似乎很容易让我亲身体验、学习和发展。

任何见解或建议将不胜感激。

非常感谢!

【问题讨论】:

  • 如果要在 Excel 中创建报表,请使用 PowerPivot。它允许高级用户在一定程度上自定义报告。如果您想在公司 Intranet 上发布报告(可能使用 Sharepoint),请使用 SSRS。
  • 涉及多少数据?只要没有太多数据,Excel 就可以很好地单独使用数据库。如果有很多数据,那么您需要将 PowerPivot 添加到 Excel 或查看其他工具/方法。

标签: sql-server excel visual-studio data-warehouse ssrs-2008-r2


【解决方案1】:

我的建议:

  • 创建所需的 SQL 查询以检索所需形式的数据
  • 将这些查询链接到您的 Excel 工作表,可能直接以数据透视表的形式聚合结果
  • 使用 VBA,您可以通过单击按钮轻松地从数据创建 PDF

最初的设计会耗费大量时间,但之后,一切都是自动化的,只需按下创建 PDF 的按钮。

如何将 Access 查询链接到 Excel 文件: 数据 --> 获取外部数据

您可以在工作簿的 On Open 事件中使用以下代码在打开 Excelsheet 时轻松刷新所有数据:

ThisWorkbook.RefreshAll

如果您需要进一步说明,请随时询问

【讨论】:

    【解决方案2】:

    如果您的最终目标是创建将在您的 Intranet 上发布的 PDF,那么我将在 SSRS 中创建报告。然后您可以安排它运行并将 PDF 输出到您的网络位置。

    【讨论】:

      【解决方案3】:

      我在 Excel 中使用数据透视表有很好的经验,它是连接到您的 SQL 数据库的表。

      在 Excel 的连接参数中有一个字段,您可以在其中定义 SQL 查询,无论是调用存储过程还是简单的 SELECT 语句。

      我更喜欢数据透视表 SQL 连接而不是普通表连接的主要原因是,如果您有一个引用连接表的图表,刷新连接时图表格式将被重置(如果您需要更新您的报告)。

      如果我使用引用数据透视表(或数据透视图)的图表,则会保留格式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-14
        • 1970-01-01
        • 1970-01-01
        • 2011-07-12
        相关资源
        最近更新 更多