【问题标题】:Microsoft Analysis Services CubeDef from Cube or Cubefrom CubeDef来自 Cube 的 Microsoft Analysis Services CubeDef 或来自 CubeDef 的 Cube
【发布时间】:2013-12-04 11:21:27
【问题描述】:

我正在做一个从 olap 多维数据集中提取维度、度量和 kpi 的项目。

此时prototipe ask维度来自adomdclient:

 connection = new AdomdConnection(connectionString);
 connection.Open();

 Cubes = new List<Cube>();

 foreach (CubeDef def in connection.Cubes)
 {
     if (def.Name[0] == '$')
        continue;
     Cubes.Add(new Cube(def));
 }

以及来自 AnalysisServices.Server 的 KPI

 server.Connect(ConnectionString);
 Database db = server.Databases[Catalog];
 Cube cube = db.Cubes[catalog];
 foreach (MeasureGroup group in cube.MeasureGroups)
 {
    foreach (Microsoft.AnalysisServices.Measure measure in group.Measures)
    {
         //do the job
    }
}

因为第一个返回包含维度在内的所有元数据的 CubeDef,第二个返回包含 kpi 在内的所有数据的真实 Cube。

但是连接字符串是一样的!

那么有没有办法避免这种情况,打开一个连接并检索所有必要的数据?

【问题讨论】:

    标签: c# service analysis olap adomd.net


    【解决方案1】:

    实际上,通过客户端连接获得的是客户端工具通常需要的(元数据和数据本身),而通过服务器连接获得的是立方体定义(就像您在 BIDS 中所做的配置)。以及有关 e 的详细信息。 G。不需要数据源视图或分区,因此对客户端隐藏,因为它们只能通过服务器连接访问。

    要从客户端访问 KPI,只需使用 CubeDefKpis 属性,它会枚举所有 KPI。

    【讨论】:

    • 这是我应该做的。但由于未知原因,CubeDef.Kpi 集合为空,并且“正确的 kpi”取自 Cube.MeasureGruop。 (我没有写这段代码,我正在为我的本科实习做这份工作)
    • @TheQult 然后只取CubeDefMeasures 属性,这是度量值的集合。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 2019-01-13
    • 2019-04-24
    • 1970-01-01
    相关资源
    最近更新 更多