使用 MDX 查询扩展 PerformancePoint 仪表板

 

适用于: SharePoint Server 2010 Enterprise

上一次修改主题: 2016-11-30

可以通过使用 PerformancePoint 仪表板设计器中的自定义多维表达式 (MDX) 查询来扩展仪表板中的功能。使用这些查询可执行以下任一操作:

  • 使用“连接公式”对话框,在其中键入可调整特定筛选器的工作方式的查询,来配置复杂的仪表板筛选器和仪表板项目之间的连接。

  • 通过在“查询”选项卡上使用 MDX 查询,在分析图表和分析表格中创建自定义视图。

  • 通过在“维度数据源映射”对话框中使用 MDX 元组,在记分卡中创建关键绩效指标 (KPI) 的计算成员。

MDX 查询对于非常熟悉 MDX 和 PerformancePoint 仪表板项目中使用的 SQL Server Analysis Services 数据的高级仪表板创作者特别有用。

本文包含您可以使用的 MDX 语句的某些示例。但是,这些示例不是完整的列表。还有很多的 MDX 查询可与仪表板设计器一起使用。若要了解有关 MDX 查询的详细信息,请参阅多维表达式 (MDX) 参考(https://go.microsoft.com/fwlink/?linkid=185458&clcid=0x804)。

备注

本文中的示例是通过使用 Microsoft SQL Server 提供的 AdventureWorks 示例数据库创建的。

本文内容:

  • 在“连接公式”对话框中使用 MDX(针对筛选器)

  • 在“查询”选项卡中为分析图表或分析表格使用 MDX

  • 在“维度数据源映射”对话框中使用 MDX(针对记分卡 KPI)

在“连接公式”对话框中使用 MDX

可以使用“连接公式”对话框来增强仪表板筛选器作用于仪表板项目的方式。例如,假定您已创建了一个包含地域筛选器和显示产品销售情况的分析图表。默认情况下,当仪表板用户在筛选器中选择某个国家或地区时,该图表将显示该国家或地区的产品销售数量。您可能还希望仅显示每个国家/地区的最畅销的 10 种产品。您的解决方案是使用“连接公式”对话框输入可显示所需信息的 MDX 查询。筛选器和分析图表不会更改,但筛选器作用于报表的方式却会改变。

在“连接公式”对话框中输入 MDX 查询时,可以在您的公式中包括一个或多个名字对象,如 <<uniquename>>。您使用的名字对象可以包含其他 MDX 代码,但这不是必需的。例如,单独使用 <<uniquename>> 就能显示有关要筛选的维度成员的一般信息。或者,也可以使用 <<uniquename>>.children 来显示有关要筛选的维度的下一级详细信息。

下表包含了可在“连接公式”对话框中使用的一些代码示例。

说明 语法

所选成员的子级

<<UniqueName>>.Children or <<SourceValue>>.Children

所选成员的父级

<<UniqueName>>.Parent

级别为 2 的成员的后代

Descendants(<<UniqueName>>,2)

级别为 2 的成员的 2008 年第 3 季度“网上销售量”度量值前 10 的后代。

TopCount({Descendants(<<UniqueName>>,2)}, 10, ([Date].[Calendar].[Calendar Quarter].&[2008]&[3],[Measures].[Internet Sales Amount]))

按级别排列函数,它使您能够对若干国家或地区进行比较,并选择每个地区的前两名成员(城市)

Hierarchize(Union(<<UniqueName>>, Generate(<<UniqueName>>, TopCount(Descendants([Geography].[Geography].CurrentMember, [Geography].[Geography].[City]), 2, ([Measures].[Sales Amt], [Time].[FY Year].&[2006]) )) ))

非空值函数

NONEMPTY(EXISTS([Dimension].[Hierarchy - Dimension].[Level number].members,<<SourceValue>>,'Measure Group'))

在将仪表板筛选器连接到报表或记分卡时,可以打开和使用“连接公式”对话框。有关详细信息,请参阅使用仪表板设计器将筛选器连接到报表或记分卡使用仪表板设计器中“连接公式”对话框配置筛选器连接

在“查询”选项卡中为分析图表或分析表格使用 MDX

在创建或编辑分析图表和分析表格时,可以通过“查询”选项卡使用自定义 MDX 查询来配置您的报表。当创建某些无法通过使用“设计”选项卡中的拖放功能进行复制的分析视图时,通常要执行此操作。

Visual Basic 注释Visual Basic Note
通过使用自定义 MDX 创建的报表丢失了其在仪表板中的某些功能。例如,用户将不能够通过浏览数据来查看具有自定义 MDX 代码的分析图表和分析表格中更高或更低级别的详细信息。当您使用自定义 MDX 查询时请务必考虑到这一点。

下表包含“查询”选项卡中可用于分析图表和分析表格的一些代码示例。

说明 语法

向分析图表中添加一条恒线来指示目标值。在使用拖放功能创建视图之后,您可以单击“查询”选项卡并添加 WITH MEMBER 子句。

WITH MEMBER [Measures].[Target] As 0.04, FORMAT_STRING="0.0%" SELECT { DESCENDANTS( [Date].[Fiscal].[FY 2003], [Date].[Fiscal].[Month] ) } ON COLUMNS, { [Measures].[Reseller Gross Profit Margin], [Measures].[Target] } ON ROWS FROM [AdventureWorks]

创建可用于指定分析图表的成员集的自定义 MDX 查询。此查询示例返回包含 2006 日历年内销售量前 20 名的产品的成员集。此查询还创建 <<Product>><<Geography>> 参数。

SELECT {[Time].[Calendar].[Year].&[2006]} ON COLUMNS, {TOPCOUNT({DESCENDANTS(<<Product>>, [Product].[Product].[Product]) }, 20, ( [Time].[Calendar].[Year].&[2006], [Measures].[Sales Amt]) ) } ON ROWS FROM [Sales] WHERE ( <<Geography>>, [Measures].[Sales Amt] )

在创建或编辑分析图表或分析表格时,可以使用“查询”选项卡。有关详细信息,请参阅创建分析图表或表格

在“维度数据源映射”对话框中使用 MDX

当您希望在记分卡中配置复杂的 KPI 时,可以使用“维度数据源映射”对话框输入 MDX 元组来创建计算值。例如,假定您已创建了一个包含销售团队的记分卡的仪表板。该记分卡将配额量与实际销售量进行比较。但是,销售配额量是逐年变化的。您的解决方案是创建使用计算的目标值的 KPI。您可以使用“维度数据源映射”对话框输入 MDX 元组。

下表包含了您可以使用的一些代码示例。

说明 语法

计算比上年同期增长 10% 的目标 KPI。

([Measures].[Sales Amount], [Date].[Fiscal].[Fiscal Year].&[2007].PrevMember)*1.1

为 KPI 创建趋势指标。

(([Date].[Calendar].CurrentMember, [Measures].[Customer Count])-([Date].[Calendar].CurrentMember.PrevMember, [Measures].[Customer Count]))/([Date].[Calendar].CurrentMember.PrevMember, [Measures].[Customer Count])

计算销售额相对于上年同期 20% 的增长。

([Measures].[Sales Amount], ParallelPeriod([Date].[Fiscal].[Fiscal Year], 2, [Date].[Fiscal].[Fiscal Quarter].&[2007]&[2]))*1.2

在配置 KPI 时,可以使用“维度数据源映射”对话框。有关详细信息,请参阅使用仪表板设计器创建并配置 KPI