1

我有如下代码:

Microsoft.AnalysisServices.AdomdClient.Dimension dimension = cubeDef.Dimensions[dimensionName];
string hierarchyName = matches[1].Value.Replace("[", "").Replace("]", "");
Microsoft.AnalysisServices.AdomdClient.Hierarchy hierarchy = dimension.Hierarchies[hierarchyName];
Microsoft.AnalysisServices.AdomdClient.Level adomdLevel = hierarchy.Levels[levelNumber];
MemberCollection levelMembers = adomdLevel.GetMembers();

让所有成员达到一个水平是件好事。

但是,我想要的是将成员范围缩小到具有特定父级的成员。

这样成员就是从选定的父级向下钻取的子级。

GetMembers 有重载,但我无法弄清楚如何使用它们仅过滤父维度子级。

有没有办法做到这一点?

我拥有的代码获得了完整级别,然后在代码中过滤:

foreach (Microsoft.AnalysisServices.AdomdClient.Member memberData in levelMembers) 
{
    if (memberData.Parent.UniqueName != parentMemberUniqueName) 
    { continue; } 
    // code using child of parent here 
}

随着我深入研究,这证明速度较慢。

谢谢,

杰森兰

4

0 回答 0