我遇到麻烦,要使用基于自定义MDX查询的仪表板设计器在PerformancePoint中正确显示折线图。对于PerformancePoint折线图的MDX查询
与去年同期的6个月相比,我们试图展示当年的最后6个月。我写了查询,并返回了我们期望的数据。
SELECT NONEMPTY([Invoice Date].[Fiscal Week of Year].[Fiscal Week of Year])
ON COLUMNS
,NONEMPTY({[Invoice Date].[Hierarchy].[Fiscal Year]
* [Measures].[Amount]}) ON ROWS
FROM [Sales]
这将返回正确的数据。
我们创建折线图来显示数据。我们在y轴和年份周获得[金额](以美元计)。本周的本周基本上只是数字,因此当前的星期数是22(因为我们使用非日历会计年度)。然后我们有一个以年为基础的时间序列,这使得我们可以查看今年的第22周的数字与上一年的第22周的数据。
我们的问题是最近6个月穿越了一年的“边界”。正因为如此,我们的x轴没有“适当”的时间顺序。我们的底轴看起来像(我已经简化了几周):
1 | 2 | 3 | ... | 20 | 21 | 22 | 48 | 49 | 50 | 51 | 52 |
通知22和48间的跳跃这是正确的数值按时间顺序然而这条线图表应该是:
48 | 49 | 50 | 51 | 52 | 1 | 2 | 3 | ... | 20 | 21 | 22 |
我知道为什么会发生这种情况。年度财政周不属于我们的[发票日期]层次结构。
我们的层次是 会计年度=>财季=>会计月=>财政日期
所以我们定的是和周逐层增加
会计年度=>财季=>财政一个月=>财政周年度=>财政日期
而且新MDX查询看起来像:
SELECT NONEMPTY([Invoice Date].[Hierarchy].[Fiscal Week of Year])
ON COLUMNS
,NONEMPTY({[Invoice Date].[Fiscal Year].[Fiscal Year]
* [Measures].[Amount]}) ON ROWS
FROM [Sales]
嗯,这我们的固定这类问题因为现在年的周有上下文到何年第22周属于...但是这提出了一个不同的问题
因为新的背景下我们的图表现在不重叠的两个不同的时间序列,而是介绍他们背到后面,因为它们不共享一个简单的数字了,他们现在已经年+周(即使图表只显示周数)
所以图表现在看起来像下面
48 | 49 | 50 | 51 | 52 | 1 | 2 | 3 | ... | 20 | 21 | 22 | 48 | 49 | 50 | 51 | 52 | 1 | 2 | 3 | ... | 20 | 21 | 22 |
注意排序是如何正确的时间顺序但两年价值星期,现在出来沿x轴并排侧。
希望这篇冗长的解释有助于解释这个问题。这似乎是我们可以有“错误”之类的重叠时间序列,或者我们可以用几个星期的正确排序,但失去了一年来比较一年的能力。
我想要的是让我们获得正确的排序,所以:
48 | 49 | 50 | 51 | 52 | 1 | 2 | 3 | ... | 20 | 21 | 22 |
但仍然可以有2个不同年相互重叠。
或者换句话说,我希望Year of Week可以根据年份进行排序,但在返回数据时要“忘记”上下文,以便折线图可以让数周重叠。我很难理解如何解决这个问题。
不是真的回答你的问题,而是根据内置图表的使用经验,任何时候想要控制x轴和y轴,最好使用SSRS或Excel,然后将这些报告与PPS仪表板集成。 –
你如何选择你想在图表中显示的周?我在'SELECT'语句中看不到这个(可能是参数化的)条件。 – FrankPl
@OlaEkdahl客户要求...但你知道我会说:) – Jeremy