2016-08-22 11 views
1

現在、キューオブジェクトに.COMオブジェクトを使用してキューブに接続し、次にキューブからmdx-queries経由でデータを収集する問題が発生しています。前述の私の以前の質問(下のリンクを参照)と同じように、RDCOMClientパッケージとRバージョン3.3.1の助けを借りてキューブに接続し、キューブにクエリを送信することもできます。 さらに、SQL Server Profilerとの接続をトレースすると、正しく接続されていることがわかります。+クエリがエラーなしで実行されていることもわかります。RDCOMClientパッケージ:クエリからデータを読み取る方法

しかし、私はRの中で私のデータを得ることができません。私は変数の結果にクエリ結果を保存しますが、私はそれを何もすることができません。 Rでクエリ結果を表示させてもらえますか?

接続+クエリコード:

conn = COMCreate("ADODB.Connection") 

connStr = 'my connection string' 
conn[["ConnectionString"]] = connStr 

conn$Open() 
conn[["State"]] 

query = 'some query. 100% correct, tested with other tools' 
results = conn$Execute(query) 

。結果変数の

情報(コード、出力が続く)

names = slotNames(results) 
names 

[1] "REF"

slot(results,names[1]) 

ポインタ:0x0000000015d63c60

。 1つのスロットで

str(results) 

フォーマルクラスのCOMIDispatch '[パッケージ "RDCOMClient"]

.. @ REF:

class(results) 

[1] "COMIDispatch" ATTR( "パッケージ") [1] "RDCOMClient"

attributes(results) 

$ REF

$クラス

[1] "COMIDispatch"

ATTR( "パッケージ")

[1] " RDCOMClient "

。 :-)

を支援するための

感謝。

前の質問:R & COM-Objects: How to connect to a OLAP cube on Windows

答えて

1

は、ネストされたRのリストに変換しまうネストされたVBA配列内のレコードセットのレコードを返すADOのGetRows()メソッドを使用することを検討してください。現在、レコードセットオブジェクトのみを取得します。

results = conn$Execute(query)$GetRows() 
関連する問題