简体   繁体   English

如何最好地将数据从SQL推送到Power BI?

[英]How to best push data from SQL to Power BI?

We are getting increasing requirements from the business (product owners, marketing team) to provide up to date/quick answers on various data points in our system. 我们对业务部门(产品所有者,营销团队)的要求越来越高,以提供有关系统中各种数据点的最新/快速答案。 An example might be that i want to know how many times this question was viewed in full, how many times it was served up in a search, etc. Note: these are 'app-level' stats, not Google Analytics events/tracking. 例如,我想知道完整浏览了该问题多少次,在搜索中将其提供了多少次,等等。注意:这些是“应用程序级”统计信息,而不是Google Analytics(分析)事件/跟踪。

Currently, we store this in a SQL Server db, and the reporting involves a developer running a SQL query manually. 当前,我们将其存储在SQL Server数据库中,并且报告涉及开发人员手动运行SQL查询。

We'd like to move to a system like Power BI , where it makes sense of the raw data. 我们想移至Power BI之类的系统,在该系统中可以理解原始数据。

From my reading, it sounds like i should: 从我的阅读看来,我应该:

  1. Setup a new SQL DB, let's call it "Reporting" 设置一个新的SQL DB,我们称之为“报告”
  2. Setup SQL Server Replication between by current DB and the Reporting DB 在当前数据库和报告数据库之间设置SQL Server复制
  3. Connect Power BI to my Reporting DB. 将Power BI连接到我的报表数据库。

Now my questions: 现在我的问题是:

  1. Is this a good approach, or is replication overkill? 这是一个好方法,还是复制过度? I'm wary of allowing Power BI to connect directly to my live DB, since this is used by various apps/customers, and i want to avoid any potential locking/collisions - hence i'm thinking replication might be a good approach? 我很警惕允许Power BI直接连接到实时数据库,因为各种应用程序/客户都在使用它,并且我想避免任何潜在的锁定/冲突-因此,我认为复制可能是个好方法?
  2. Should i just push the data straight from my app straight into Power BI (eg via REST call? Cons here is Power BI is now the primary 'owner' of my data 我是否应该直接将应用程序中的数据直接推送到Power BI中(例如通过REST调用?),这是Power BI现在是我数据的主要“所有者”
  3. Is there something better/more suited than Power BI? 有没有比Power BI更好/更适合的东西? (we don't have a huge budget right now - so something like Periscope is out of the question) (我们目前没有巨额预算-因此像Periscope这样的事情就不成问题了)

Some notes on our tech stack, if it helps: 如果有帮助,请关注我们的技术堆栈:

  • .NET stack (SPA frontend, .NET REST API backend) .NET堆栈(SPA前端,.NET REST API后端)
  • Everything running on Azure 一切都在Azure上运行
  • All 'app level' data stored in SQL Server SQL Server中存储的所有“应用程序级别”数据

I realize this question is a little subjective/open-ended, but just looking for some guidance on the best approach. 我意识到这个问题有点主观/开放性,但只是在寻找最佳方法的指导。

Thanks in advance! 提前致谢!

  1. Replication is reasonable, but may be unnecessary. 复制是合理的,但可能不必要。 You can use Power BI against SQL in "Import" mode - it then caches the data in a dataset (effectively an SSAS Tabular cube, hosted in the Power BI web service). 您可以在“导入”模式下将Power BI与SQL结合使用-然后将数据缓存在数据集(实际上是Power BI Web服务中托管的SSAS Tabular多维数据集)中。 You can run scheduled refresh through a gateway (or directly if you use Azure SQL). 您可以通过网关(或直接使用Azure SQL)运行计划的刷新。 This also lets you model your raw data to suit the requirements. 这也使您可以对原始数据进行建模以适应需求。

  2. The REST API is still quite limited, and every data requirement/change will need a developer involved. REST API仍然非常有限,每个数据需求/更改都需要开发人员参与。 The full product offers a lot more opportunities for user engagement. 完整的产品为用户参与提供了更多机会。

  3. If your budget is a limit, then Power BI is the obvious choice. 如果您的预算有限,那么Power BI是显而易见的选择。 You can go a long way with the Free license: https://powerbi.microsoft.com/en-us/pricing/ 您可以使用免费许可证走很长一段路: https : //powerbi.microsoft.com/en-us/pricing/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM