从广义上讲,有人可以告诉我,我是否朝着正确的方向前进?
我现在知道如何很好地编写SQL查询。
我想开始将多个查询聚合到一个"表单" /模板上(不确定这是否是正确的术语)。
我可以以Excel文件的形式访问大量干净的数据。
我应该能够将excel文件加载到Visual Studio中,然后编写将这些excel文件作为数据库引用的报告,我是对的吗?
我还没有找到一个很棒的SSDT教程,但我一直在寻找。感谢您的任何反馈。
答案 0 :(得分:0)
首先,我很抱歉我在这里写了一篇小说。我对你的问题的理解是,你正在寻找最佳方式的建筑指导,这不是一个快速的答案。
但是,如果我误解了您的意图并且您实际上只是在寻找如何将excel文件编码为数据库,那么您已经有很多在线文章可以谷歌了。
关于你的建筑问题......它真的要归结为你正在建造的东西选择最好的权衡。我将向您提供一些我已经学到的知识,希望它对您和社区中的其他人有所帮助。
我非常难以建议你使用excel文件作为数据库。 虽然它看起来似乎是最直接的解决方案,但在调试文件锁定问题和处理excel特定错误时,这里的权衡成本非常高,它会因千次削减而死亡。这当然是可能的,但这是我个人在职业生涯早期陷入困境的陷阱。
以下是您对excel文件数据库存在的问题的一些link,这里是第二个link。
为了解释您的问题,听起来您正在开发个人ETL应用程序,以提高您的工作效率和公司的指标。电子表格进入您的电子邮件收件箱,电子表格的转换版本会从您的电子邮件发件箱中删除。您希望从历史和比较的角度来看待各部门的数据。我过去也曾多次这样做,这是一个非常合理的目标。
我发现这样做的最好方法是使用SQL Server数据库。您可以在最小的可行产品阶段开始这一点,以便以简单的方式进行此操作。
第一阶段:
免费下载并安装SQL Server 2016 Express。确保 安装SQL Server 2016时安装localdb。请参阅localdb instructions了解更多信息。
将从各种业务收到的Excel文件导入新数据库。这个stackoverflow answer给出了如何做的很好的描述。这是alternate example。
如果您收到有关驱动程序的任何错误消息,则可能需要download正确的驱动程序。
开发您要使用的SQL查询。为简单起见,我只是在这里显示一个基本的select语句,但您可以构建一些复杂的SQL查询来聚合此步骤中的数据。
注意第9步很快就会自动完成,但现在更好地了解您的域对象,并考虑以快速迭代方式构建的业务逻辑。
第二阶段:
在Visual Studio中创建一个新的控制台应用程序,它将数据从数据库转换为Excel文件输出。最有效的方法是使用EPPlus。以下是有关如何执行此操作的详细explanation。
请注意,从详细说明链接运行源代码时,需要先更改输出路径,例如更改为c:\temp
。另请注意,还有很多其他Excel电子表格帮助程序包,所以也可以随意查看其他程序包。 EPPlus只是我在项目中取得成功的一个。此控制台应用程序将使用您在上面的步骤7中构建的查询来查询SQL Server数据库。
第三阶段: 随着时间的推移,您会发现公司内的同事和经理想要直接通过网页开始访问您的数据......
在较高的层面上,您将采取的步骤是:
另外需要注意的是,还有企业级ETL和报告工具,例如SSIS / SSRS等,如果您正在寻找更复杂的工具集,可以查看,但我你的问题没有给人留下这样的印象。
我希望这个答案有所帮助而且不会太长。如果有任何步骤不清楚,请告诉我,我知道在一篇文章中有很多信息。