如何从c#中的mdx查询中检索数据?
发布时间:2020-12-15 21:28:47 所属栏目:百科 来源:网络整理
导读:我试图使用Adomdclient库从MDX查询中获取数据.我依靠这个例子 http://www.yaldex.com/sql_server/progsqlsvr-CHP-20-SECT-6.html. MDX查询: SELECT {[Measures].[Cantidad Vta],[Measures].[Monto Vta],[Measures].[ExistenciaHistorica],[Measures].[Valor
我试图使用Adomdclient库从MDX查询中获取数据.我依靠这个例子
http://www.yaldex.com/sql_server/progsqlsvr-CHP-20-SECT-6.html.
MDX查询: 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 与其他名称空间(如SqlClient)一样,使用连接,命令和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(""); } } } } 但是,此代码段只能正确显示5列中的4列: [DIM SUBMARCA].[Código].[All],3,825 肯定是: 115200081,825 也许需要一个演员,但我不知道该怎么做. 解决方法
这看起来像是MDX查询的问题,而不是数据的检索.它没有正确地约束[DIM SUBMARCA].[Código]维度.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |