我有一个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上发送电子邮件的说明是here
您可以尝试使用C#从SQL获取数据,然后使用Create Excel (.XLS and .XLSX) file from C#中的库生成图形(我之前使用EPPlus作为图形)。这两个步骤都非常简单和标准。
在SSRS中安装和设计报告 - 按计划发送电子邮件/存储它们。
Powershell也是一个选项,如果您需要有关PowerShell的更多详细信息,请告诉我。
如果你想要一个“包含电池”的解决方案,你可以试试DBxtra,它可以从SQL Server和其他数据库创建报告,并通过电子邮件自动导出或发送它们与Schedule Server选项。
以下是powershell解决方案的详细信息:
试试Grafana。您也可以将它链接到SQL数据库。 https://grafana.com/