Adomdclientライブラリを使用してMDXクエリからデータを取得しようとしています。私はこの例であるhttp://www.yaldex.com/sql_server/progsqlsvr-CHP-20-SECT-6.htmlに頼っていました。C#でmdxクエリからデータを取り出す方法は?
MDXクエリ:例えばのSqlClientなどの他の名前空間と同様
SELECT {[Measures].[Cantidad Vta],[Measures].[Monto Vta],[Measures].[ExistenciaHistorica],[Measures].[Valor Inventario historico]} DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS , NON EMPTY Hierarchize({DrilldownLevel({[DIM SUBMARCA].[Código].[All]})}) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON ROWS FROM (SELECT ({[DIM TIENDA].[JERARQUIA TIENDA].[Región].&[Bodega],[DIM TIENDA].[JERARQUIA TIENDA].[Región].&[Cadena],[DIM TIENDA].[JERARQUIA TIENDA].[Región].&[Outlet]}) ON COLUMNS FROM [JUGUETRONHQ]) WHERE ([DIM FECHA VENTA].[JERARQUIA FECHA VENTA].[Time].&[2012-01-01T00:00:00],[DIM FECHA EXISTENCIA].[JERARQUIA FECHA EXISTENCIA].[All]) CELL PROPERTIES VALUE
、接続、コマンドとDataReaderの使用:
using Microsoft.AnalysisServices.AdomdClient;
...
using (AdomdConnection con = new AdomdConnection(connection_string))
{
con.Open();
using (AdomdCommand command = new AdomdCommand(query, con))
{
using (AdomdDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
Console.Write(reader[i] + (i == reader.FieldCount - 1 ? "" : ", "));
Console.WriteLine("");
}
}
}
}
しかしながら、このスニペットは、正しく4の列を示しています。
[DIM SUBMARCA].[Código].[All], , , 3, 825
それはでなければなりません。
115200081, , , 3, 825
おそらくキャストが必要ですが、どのように行うのかわかりません。
が、私はこのプラグインのHTTPを使用して、そのクエリを取得する手順:// olappivottableextend .codeplex.com/on excel。スプレッドシートにクエリが正しく表示されます(115200081、3、825 ) – aurahama