首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用R中的X4R包连接到SSAS (本地)数据立方体?

使用R中的X4R包连接到SSAS (本地)数据立方体?
EN

Stack Overflow用户
提问于 2016-04-06 23:50:06
回答 1查看 917关注 0票数 1

我正在尝试弄清楚如何使用X4R包将本地数据立方体加载到R中。我可以将该立方体加载到Excel中,但我无法使其与R一起工作。

我的多维数据集文件名是"\scrsvr\Users\Documents\Projects\Raw data\data.cub“。

我尝试了以下代码:

代码语言:javascript
复制
library(X4R)
handle<-xmlaConnect(url="\\scrsvr\\Users\\<MyName>\\Documents\\Projects\\Raw data\\data.cub")

这样就不会产生错误。但是,尝试使用xmlaDiscover会导致以下错误:

代码语言:javascript
复制
first argument is not an open XMLA handle

有人能帮我连接到我的本地多维数据集吗?我对此完全陌生,所以也许有人有一个我可以效仿的工作示例(示例数据立方体文件)?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-06-01 20:46:07

好的,以防将来其他人需要这样做,我设法解决了我的问题

代码语言:javascript
复制
# use some necessary packages
require(RDCOMClient)
require(data.table)
library(plyr)
library(Hmisc)

#create connection to SSAS datacube
con <- COMCreate("ADODB.Connection")
con[["ConnectionString"]] <- paste(
  "Provider=MSOLAP.5",
  "Data Source=\\\\scrsvr\\Users\\<MyName>\\Documents\\Projects\\Raw data\\data.cub",
    "Persist Security Info=True",
  sep = ";")
con$Open()

# define the MDX query here:
query = "SELECT ..."

rs <- COMCreate("ADODB.RecordSet")

# submit the MDX query to the cube
rs$Open(query, con)

rs$MoveFirst()    # move to the first row of the record set
nc <- rs$Fields()$Count()     # define number of columns

# get the data into a data array:
dd <- vector("list", length=nc)
dd <- rs$GetRows()  # get the raw data from the results

对于连接,我使用了在设置从MS Excel到数据立方体的数据连接时配置的提供程序("MSOLAP.5")。现在我可以直接使用MDX查询数据库了。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36456123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档