Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Linux上从R访问Olap多维数据集_R_Linux_Olap Cube - Fatal编程技术网

如何在Linux上从R访问Olap多维数据集

如何在Linux上从R访问Olap多维数据集,r,linux,olap-cube,R,Linux,Olap Cube,我想在Linux上从R访问Olap多维数据集。具体来说,我有一个SQL Server 2016,其中包含我想要访问的Analysis Services和多维数据集 我们一直在使用microsoft R和olapR包从windows上的R访问多维数据集。虽然有linux版本的microsoft-R,但它不包括olapR包 我们已经为SQL Server安装了R-Services。我们确实在那里安装了olapR包(使用R-Server绑定),但它似乎不支持mrsdeploy 在linux上,从R访问

我想在Linux上从R访问Olap多维数据集。具体来说,我有一个SQL Server 2016,其中包含我想要访问的Analysis Services和多维数据集

我们一直在使用microsoft R和olapR包从windows上的R访问多维数据集。虽然有linux版本的microsoft-R,但它不包括olapR包

我们已经为SQL Server安装了R-Services。我们确实在那里安装了olapR包(使用R-Server绑定),但它似乎不支持mrsdeploy

在linux上,从R访问多维数据集还需要哪些其他选项?我们听说了Revoscaler软件包,但不知道如何在多维数据集上使用它。也许我们可以将包含r代码的sql脚本发布到服务器,并让sql服务器执行r代码?不过,我没有在这个方法上找到任何帮助


非常感谢您的帮助。

在我们的例子中,它通过将olapR代码嵌入RODBC代码中的T-SQL中而起作用

library(RODBC)
my_server="<server>"
my_db="<database>"
my_username="<myusername>"
my_pwd="<mypassword>"

db <- odbcDriverConnect(paste0("DRIVER={SQL Server};
                               server=",my_server,";
                               database=",my_db,";
                               uid=",my_username,";
                               pwd=",my_pwd))

sql="exec sp_execute_external_script
    @language =N'R',
    @script=N'
    library(olapR)

    cnnstr <- \"Data Source=<server>; Provider=MSOLAP; initial catalog=<AnalysisService>; User Id=<domain>\\\\<user>; Password=<myPassword>\"
    olapCnn <- OlapConnection(cnnstr)
    mdx <- \" <MDX-Query> \"
    OutputDataSet <- execute2D(olapCnn, mdx)';"

df <- sqlQuery(db,sql)
库(RODBC)
my_server=“”
my_db=“”
my_username=“”
my_pwd=“”
分贝
GRANT EXECUTE ANY EXTERNAL SCRIPT TO [<user>]