购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.3 连接SQL Server数据库
——DirectQuery保证实时获取最新数据

若要在Power BI Desktop中连接SQL Server数据源,用户可通过单击“获取数据”下拉按钮,在打开的“最常见的”数据源下拉列表中选择“SQL Server”选项,如图2-2-9所示。

图2-2-9 选择“SQL Server”选项

接下来,用户需提供SQL Server服务器名、数据库名(可选),并选择数据连接模式(“导入”或者“DirectQuery”),然后单击“确定”按钮,并继续下一步的操作,参考界面如图2-2-10所示。

图2-2-10 连接SQL Server数据库

用户还需输入连接数据库的用户名和密码,参考界面如图2-2-11所示。

图2-2-11 输入用户名和密码

数据库成功连接后,用户可以在导航器中选择要导入的表进行加载;也可以在选择一张表之后,单击“选择相关表”按钮,将与其有关联的表一起导入Power BI Desktop中。例如,选择了DimProduct表并单击“选择相关表”按钮之后,系统会自动选中与它有关系的表,如图2-2-12所示。

图2-2-12 选择相关表

前面已经介绍了通过“导入”选项(导入模式)和“DirectQuery”选项(DirectQuery连接模式)获取数据的特性,用户可以结合自己的实际情况选择需要的连接模式。

使用DirectQuery连接模式可以为用户带来以下好处:

● 相比导入模式,DirectQuery没有针对数据集的大小限制,用户可通过DirectQuery在超大型数据集上生成可视化效果。

● 使用Direct Query连接模式创建的报表始终会获取最新数据,这为某些报表需要时刻显示最新数据提供了可能。因为对于导入模式而言,源数据更新后的刷新操作实际上是在重新导入数据,这可能会因大量的数据传输而花费较长的时间,这使得导入模式在这种情况下不可行。

目前,用户在使用DirectQuery时存在如下限制:

● 所有表都必须来自单个数据库。

● 如果在查询编辑器中创建的查询过于复杂,使用DirectQuery连接时将会出错。要更正错误,用户必须在查询编辑器中删除有问题的步骤,或者使用导入模式代替使用DirectQuery连接模式。

● 关系筛选操作只能在单方向上执行,不能双向执行。

● DirectQuery不提供时间智能功能。例如,DirectQuery模式不支持日期(年、季度、月、日等)等DAX时间智能函数。

● 默认情况下,会限制允许在度量值中使用的DAX表达式。

● 使用DirectQuery时,返回数据有100万行的限制。但这仅影响返回的行,并不影响查询的行。例如,用户可以在数据源上创建查询聚合1000万行,而只要返回到Power BI的数据不超过100万行,即可将该聚合的结果返回到 Power BI。如果超过100万行,Power BI将返回错误。

在Power BI中,以下数据源支持使用DirectQuery连接模式:

● Amazon Redshift;

● Azure HDInsight Spark(Beta版本);

● Azure SQL 数据库;

● Azure SQL 数据仓库;

● Google BigQuery(Beta版本);

● IBM Netezza(Beta版本);

● Impala(版本2.x版本);

● Oracle 数据库(版本12及更高版本);

● SAP Business Warehouse应用程序服务器;

● SAP Business Warehouse消息服务器(Beta版本);

● SAP HANA;

● Snowflake;

● Spark(Beta)(版本0.9及更高版本);

● SQL Server;

● Teradata 数据库;

● Vertica(Beta版本)。 5PFy5fwUTHXyCU2mmm6LdBJ3xtsyhLBLGwWwVazAsFIvBCROk9yjquXQdZzIKALP

点击中间区域
呼出菜单
上一章
目录
下一章
×