【发布时间】:2010-03-31 21:01:02
【问题描述】:
我有一个用户要求我列出 SSAS 多维数据集的维度和维度属性。
我怀疑我可以通过 AMO 生成此信息,但我想知道是否有 MDX 查询或 SSMS 选项来显示相同的信息。
有什么想法吗?
【问题讨论】:
我有一个用户要求我列出 SSAS 多维数据集的维度和维度属性。
我怀疑我可以通过 AMO 生成此信息,但我想知道是否有 MDX 查询或 SSMS 选项来显示相同的信息。
有什么想法吗?
【问题讨论】:
这是通过 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
}
}
}
}
【讨论】:
在 SQL Server 2008 中,您可以执行以下操作:
运行以下查询
选择 Dimension_Unique_Name、Property_Name、Property_Caption 来自 $SYSTEM.MDSCHEMA_PROPERTIES 其中 Cube_Name = [您的多维数据集名称] 并且 Property_Type = 1
(您也可以选择 * 并获取一些其他信息,如 data_types、基数等)
【讨论】:
我遇到了同样的问题,我为 SQL 服务器创建了一个 .NET CLR,它返回一个 SSAS 对象列表。
你可以在这里找到它:http://sasokoren.com/export-list-of-ssas-objects-and-translations-using-amo-in-net/
【讨论】: