从R统计信息兼容性1400读取SQL Server OLAP多维数据集

时间:2019-05-18 13:13:19

标签: r ssas

我在SSAS上有2个表格多维数据集-一个在兼容性1200(Sql2016)下创建,另一个在兼容性1400(Sql2017)下创建。

我可以使用以下代码浏览1200个多维数据集:

library(olapR)
cnnstr <- "Data Source=localhost; Provider=MSOLAP;"
olapCnn <- OlapConnection(cnnstr)

#Exploring Cubes
explore(olapCnn)

explore(olapCnn, "Wide World Importers Model")

qry <- Query()
cube(qry) <- "[Wide World Importers Model]"


mdx <- " SELECT NON EMPTY { [Measures].[Total Excluding Tax] } ON COLUMNS, NON EMPTY { ([Employee].[Employee Name].[Employee Name].ALLMEMBERS ) }  ON ROWS FROM [Wide World Importers Model]"

result2 <- execute2D(olapCnn, mdx)

我正在尝试使用下面的MDX查询1400多维数据集,请注意,该多维数据集称为DemoCube,但是使用SSMS创建的MDX查询引用了FROM子句中的“模型”。

对于1200多维数据集,多维数据集名称位于FROM子句中。

SELECT NON EMPTY { [Measures].[Sum of Profit] } ON COLUMNS, NON EMPTY { ([Dimension City].[City].[City].ALLMEMBERS ) } ON ROWS FROM [Model] 

注意,我无法通过

找到DemoCube
explore(olapCnn)

注意,以上查询在SSMS中工作正常。

我在想我需要调整连接字符串才能使它正常工作,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我通过将多维数据集名称放入连接中找到了解决方案:

cnnstr <- "Data Source=localhost;Provider=MSOLAP;Initial Catalog=DemoCube"

然后我必须进行更改:

cube(qry) <- "Model"

这使事情起作用。