如何获取 SSAS 多维数据集维度和维度属性的列表

Posted

技术标签:

【中文标题】如何获取 SSAS 多维数据集维度和维度属性的列表【英文标题】:How can I obtain a list of a SSAS Cube's dimentions and dimentions' attributes 【发布时间】:2010-03-31 21:01:02 【问题描述】:

我有一个用户要求我列出 SSAS 多维数据集的维度和维度属性。

我怀疑我可以通过 AMO 生成此信息,但我想知道是否有 MDX 查询或 SSMS 选项来显示相同​​的信息。

有什么想法吗?

【问题讨论】:

【参考方案1】:

这是通过 AMO 编写的脚本

[Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices") | Out-Null
$server = new-Object Microsoft.AnalysisServices.Server
$server.Connect($serverName) 
foreach ($db in $server.Databases)

    Write-Host $db.Name
    foreach ($cb in $db.Cubes)
    
        Write-Host "`t" + $cb.Name
        foreach ($dm in $cb.Dimensions)
        
            Write-Host "`t`t" + $dm.Name
            foreach ($at in $dm.Attributes)
            
                Write-Host "`t`t`t" + $at.Attribute
            
        
    

【讨论】:

【参考方案2】:

在 SQL Server 2008 中,您可以执行以下操作:

    连接到 Analysis Services 服务器。 右键单击一个立方体,选择新建查询 -> DMX。

    运行以下查询

    选择 Dimension_Unique_Name、Property_Name、Property_Caption 来自 $SYSTEM.MDSCHEMA_PROPERTIES 其中 Cube_Name = [您的多维数据集名称] 并且 Property_Type = 1

(您也可以选择 * 并获取一些其他信息,如 data_types、基数等)

    OLAP Schema 行集的完整列表可以在http://msdn.microsoft.com/en-us/library/ms126079.aspx 找到

【讨论】:

以上查询未在 QueryBuilder 中执行【参考方案3】:

我遇到了同样的问题,我为 SQL 服务器创建了一个 .NET CLR,它返回一个 SSAS 对象列表。

你可以在这里找到它:http://sasokoren.com/export-list-of-ssas-objects-and-translations-using-amo-in-net/

【讨论】:

以上是关于如何获取 SSAS 多维数据集维度和维度属性的列表的主要内容,如果未能解决你的问题,请参考以下文章

SSAS - 是不是可以在不重新部署整个多维数据集的情况下将属性添加到现有维度

SSAS 浏览器窗口中的维度属性

在 Excel 数据透视表“更多字段”中显示 SSAS 维度属性

构建整个 SSAS 多维数据集不起作用,按维度构建维度 - 构建顺序?

无法使 ConvertToUnknown 维度在 SSAS OLAP 多维数据集上工作

在 SSAS 中建模多维数据集