You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在.NET/C#中程序化搜索并遍历SSAS计算成员的方法

解决SSAS未加入透视的计算成员识别问题

可以直接借助Microsoft.AnalysisServices的内置API获取所有计算成员,完全不用手动拆分MDX脚本:

  • 直接访问Cube对象的Calculations集合:该集合包含立方体中所有定义的计算成员(无论是否加入透视)。通过Calculation.Type筛选出CalculationType.Member类型的项,即可得到目标计算成员,还能直接获取其名称、表达式等元数据。
  • 也可遍历Cube的MdxScripts集合:每个MdxScript下的Calculations集合包含对应脚本内的所有计算对象,同样能筛选出计算成员。

以下是C#代码示例:

using Microsoft.AnalysisServices;

// 假设已完成SSAS服务器连接并获取目标Cube对象
Cube targetCube = ...;

// 遍历所有计算成员
foreach (Calculation calc in targetCube.Calculations)
{
    if (calc.Type == CalculationType.Member)
    {
        CalculatedMember calcMember = (CalculatedMember)calc;
        Console.WriteLine($"计算成员名称:{calcMember.Name}");
        Console.WriteLine($"计算表达式:{calcMember.Expression}");
    }
}

这个方案利用SSAS管理API已解析好的元数据,避免了手动解析MDX脚本的复杂度,能精准识别所有未被任何透视包含的新计算成员。

内容的提问来源于stack exchange,提问作者Tyron78

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 17:20:43