DAX基础18:AAS里面切换数据源

浏览: 1008

其实这个说Azure Analysis Service(AAS)无非就是我把这个cube发布到了Azure云上,如果发布到本地的Analysis Service上应该也是一样的。

下图就是设置analysis server的地方。

用的是Visual Studio 2017(SSDT)的版本。

因为之前对数据库Netezza不支持,所以一直用的是ODBC做数据连接。刚开始我只配置了64位的ODBC,没有配置32位的ODBC,老是有下面的问题。

忘记原因了,反正对于Netezza数据库,就是要配置32位和64位的ODBC才不会报下面的错误。DB2我忘记了,不过ODBC显示也是32位和64位都配置了的。


有的时候对于不同的环境,需要对数据源进行转换。

可能用Connection String会好些?不过我习惯用ODBC了,这个名称要在Power BI Server里面gateway要配置一样的名字。

如果直接右键change source应该是可以的。但是也要看数据源~~

比如,如果是SQL Server到Netezza数据库。因为定义的方式比较一致,所以还是挺好改的。直接在View Code里面整理就好了。

例如:

随便取了SQL Server的一个表定义如下:

let    Source = #"Odbc/dsn=SQL_Prod",    dw_Database = Source{[Name="dwing",Kind="Database"]}[Data],    dbo_Schema = dw_Database{[Name="dbo",Kind="Schema"]}[Data],    vDWTime_View = dbo_Schema{[Name="vDWTime",Kind="View"]}[Data],    #"Filtered Rows" = Table.SelectRows(vDWTime_View, each ([Object] = "Doe"))in    #"Filtered Rows"

取了Netezza数据库的一个表定义如下:

let    Source = #"Odbc/dsn=NZ_Prod",    DW_Database = Source{[Name="dwing",Kind="Database"]}[Data],    DBO_Schema = DW_Database{[Name="DBO",Kind="Schema"]}[Data],    V_View = DBO_Schema{[Name="vDWTime",Kind="View"]}[Data]     #"Filtered Rows" = Table.SelectRows(V_View, each ([Object] = "Doe"))in    #"Filtered Rows"    

基本上就是一致了,所以在View Code里面,改Odbc/dsn=NZ_Prod 到Odbc/dsn=SQL_Prod就可以了。这个还是比较简单的。

但是如果是SQL Server或者Netezza到DB2的数据库。实践来讲View Code的修改就不是很好用了。

取出table在DB2下的属性。如下代码所示:

let    Source = #"Odbc/dsn=DB2_PROD",    DW_Schema = Source{[Name="dwing",Kind="Schema"]}[Data],    V_View = DW_Schema{[Name="vDWTime",Kind="View"]}[Data]in    V_View

不太确定别人家是不是也是这样的,不过这个例子里面可以看到。

在SQL Server或者Netezza数据库里面。dwing是database的名称,DBO是Schema,但是在DB2数据库里面,dwing是Schema的名称,database的名称已经被一个BLUEXX给占了。惨不惨~~

当然既然已经了解了这个差异,所以直接replace修改view code也可以。或者一个一个修改也是可以的,实践证明,这个一个一个修改,验证,更不容易出错。

本来想写个AAS里面小雷点的总结。没想到写了一个切换数据源,就写了这么多~~不过正常来讲,应该不会有需求这么换来换去数据库吧~~迁移项目倒是可以考虑考虑。还有就是了解一些,方便以后拆解AAS。随便怎么拆,都有办法拼起来吖~~

谢谢关注!


推荐 0
本文由 懒胖子 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册