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

时间:2010-03-31 21:01:03

标签: ssas olap

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

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

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

这是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
            }
        }
    }
}

答案 1 :(得分:2)

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

  1. 连接到Analysis Services服务器。
  2. 右键单击多维数据集,选择“新建查询” - > DMX。
  3. 运行以下查询

    选择Dimension_Unique_Name,Property_Name,Property_Caption 来自$ SYSTEM.MDSCHEMA_PROPERTIES 其中Cube_Name = [你的CUBE NAME HERE]和Property_Type = 1

  4. (您也可以选择*并获取其他信息,如data_types,基数等)。

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

答案 2 :(得分:1)

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

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