我有一位用户要求我列出SSAS多维数据集的维度和维度属性。
我认为我可以通过AMO生成这个,但我想知道是否有MDX查询或SSMS选项来显示相同的信息。
有什么想法吗?
答案 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中,您可以执行以下操作:
运行以下查询
选择Dimension_Unique_Name,Property_Name,Property_Caption 来自$ SYSTEM.MDSCHEMA_PROPERTIES 其中Cube_Name = [你的CUBE NAME HERE]和Property_Type = 1
(您也可以选择*并获取其他信息,如data_types,基数等)。
答案 2 :(得分:1)
我遇到了同样的问题,我为SQL服务器创建了一个.NET CLR,它返回一个SSAS对象列表。
您可以在此处找到它:http://sasokoren.com/export-list-of-ssas-objects-and-translations-using-amo-in-net/