首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取元数据

读取元数据
EN

Stack Overflow用户
提问于 2010-10-15 04:14:29
回答 1查看 1.5K关注 0票数 6

我在我的SSAS立方体中有许多对象,其中许多是为了不可见而创建的。例如:

代码语言:javascript
复制
CREATE MEMBER CURRENTCUBE.[Measures].[Latency Backcolor]
AS CASE
  WHEN [Average Latency] > [Web Alert] THEN 6384849
  WHEN [Average Latency] > [Web Warn] THEN 4577517
  ELSE IIF ( [measures].[Query count] > NULL, 14876123, null)
END, VISIBLE = 0;

它是不可见的,并且:

代码语言:javascript
复制
CREATE MEMBER CURRENTCUBE.[Measures].[Average Latency]
 AS IIF ([Measures].[Query Count] > 0, [Measures].[Total Ms] / [Measures].[Query Count], null),
      FORMAT_STRING = "#,##0.00000;-#,##0.00000",
      BACK_COLOR = [Latency Backcolor],
      VISIBLE = 1,
      DISPLAY_FOLDER = 'Overall',
      ASSOCIATED_MEASURE_GROUP = 'Fact Raw FD';

那就是。

我试过两种审讯立方体的方法。首先,使用Microsoft.AnalysisServices.AdomdClient命名空间。例如:

代码语言:javascript
复制
using Microsoft.AnalysisServices.AdomdClient;

var _connection = new AdomdConnection
{
    ConnectionString = "Data Source=localhost;User ID=me;Password=secret;Initial Catalog=dbname",
    ShowHiddenObjects = true
};

_connection.Open();

CubeDef _cube = _connection.Cubes["MyCube"];

// _cube.Measures

我也尝试过Microsoft.AnalysisServices命名空间。例如:

代码语言:javascript
复制
using Microsoft.AnalysisServices;

Server server = new Server();
server.Connect( "Data Source=localhost;User ID=me;Password=secret" );

Database database = server.Databases.GetByName( "dbname" );

Cube cube = database.Cubes.FindByName( "MyCube" );

// cube.Dimensions
// cube.MeasureGroups[].Measures

所有这些都是直接从工作代码中提取的(尽管为了提出问题而将其降到了最低限度)。任何代码都能很好地工作,唯一的例外是我无法“看到”任何隐藏的对象,例如度量值。我可以使用原始的MDX,我可以使用第二种技术从数据库中检索它。(认真的)缺点是,我必须自己解析它,这将是一个真正的嗡嗡声。一定有一种方法可以到达实际的物体,而不必跳过这么多圈。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2010-10-19 11:52:16

据我所知,用ADOMD对象模型无法获得隐藏的度量。您必须使用XML/A并处理产生的XML。

我还推荐的另一个解决方案是使用Perspectives,而不是直接隐藏措施。正如您可能知道或猜测的那样,Perspectives通过隐藏成员来创建多维数据集的子集。通过这种方式,您可以使用ADOMD对象模型访问所有度量,并让用户只看到当前Perspective中包含的多维数据集的成员。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3939462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档