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

如何在MDXQuery中关联两个$SYSTEM.TMSCHEMA_系列系统表?

正确关联SSAS DMV $SYSTEM.TMSCHEMA_PARTITIONS与$SYSTEM.TMSCHEMA_TABLES的方法

作为SQL开发人员,你遇到的问题核心是SSAS动态管理视图(DMV)的执行环境和语法细节差异,以下是可行的关联方案:

  1. 优先使用SQL查询窗口执行
    在SSMS连接SSAS实例后,切换到SQL查询窗口(而非MDX查询窗口),DMV对标准SQL JOIN语法的支持在这里更完善。

  2. 标准关联查询语句
    你的关联条件a.TableID = b.ID是正确的,完整可执行的SQL语句如下:

    SELECT 
        p.Name AS PartitionName,
        p.TableID,
        t.Name AS TableName,
        t.ID AS TableUniqueID
    FROM $SYSTEM.TMSCHEMA_PARTITIONS p
    INNER JOIN $SYSTEM.TMSCHEMA_TABLES t
        ON p.TableID = t.ID
    
  3. MDX窗口下的替代方案
    若必须在MDX查询窗口操作,可通过交叉连接加过滤条件实现关联(MDX窗口不直接支持SQL风格的JOIN关键字):

    SELECT 
        [PartitionName] = p.[Name],
        [TableID] = p.[TableID],
        [TableName] = t.[Name]
    FROM 
        $SYSTEM.TMSCHEMA_PARTITIONS AS p,
        $SYSTEM.TMSCHEMA_TABLES AS t
    WHERE 
        p.TableID = t.ID
    
  4. 常见报错排查点

    • 误选MDX查询窗口:直接在MDX窗口写SQL JOIN会触发语法错误,必须切换到SQL窗口。
    • 视图名称拼写错误:确认$SYSTEM.TMSCHEMA_PARTITIONS和$SYSTEM.TMSCHEMA_TABLES的拼写完全正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:12:40