我有一个 SQL Server 2012 数据库,我需要从中构建一个带有图表的每日自动报告。创建图表的最佳解决方案是什么?
我正在考虑使用 C# 和 Excel 自动化一切,但我希望会有更好/更简单的解决方案。
谢谢
我有一个 SQL Server 2012 数据库,我需要从中构建一个带有图表的每日自动报告。创建图表的最佳解决方案是什么?
我正在考虑使用 C# 和 Excel 自动化一切,但我希望会有更好/更简单的解决方案。
谢谢
我会谦虚地推荐我公司编写的一个名为PowerShell Pipeworks的网络和数据框架(它是免费的、开源的和公共领域的)。这使您可以使用如下代码绘制图形:
Select-Sql -TableName DBTable | Out-Html -AsBarGraph
它还有一个 cmdlet,Start-At,可以正常运行,所以你的脚本类似于
Start-At -Time "9:00 AM" -Everyday -ScriptBlock {
Select-Sql -TableName DBTable -ConnectionStringOrSetting SqlConnectionSecretSetting | Select-Object @{Name='DisplayedProperty';Expression={$_.CalculatedValue} | Out-Html -AsBarGraph |New-WebPage -UseJQueryUI | Set-Content $pathToHtmlFile
}
您可以从命令行使用sqlchart绘制任何 sql 查询图表。例如,这会生成一个 .png 文件 730x250:
sqlchart -D stockdb -P 1433 -servertype mssql -host localhost -e "select * from ohlc where sym='AMZN' AND (date > CURDATE()-60)" -o amazon-candlestick-dark.png --chart candlestick --height 250 --width 730 --theme dark
然后,您可以使用标准脚本语言将其附加到电子邮件中。在 linux 上发送电子邮件的说明在这里
您可以尝试使用 C# 从 SQL 获取数据,然后使用 C#创建 Excel(.XLS 和 .XLSX)文件中的库生成图表(我自己之前使用 EPPlus 制作图表)。这两个步骤都非常简单和标准。
在 SSRS 中安装和设计报告 - 按计划通过电子邮件发送/存储它们。
Powershell 也是一个选项,如果您需要有关 powershell 的更多详细信息,请告诉我。
如果您想要“包含电池”的解决方案,您可以尝试DBxtra,它可以从 SQL Server 和其他数据库创建报告,并使用 Schedule Server 选项自动导出或通过电子邮件发送它们。
以下是有关 powershell 解决方案的详细信息:
试试格拉法纳。您也可以将其链接到 SQL 数据库。 https://grafana.com/