Spotfire:尝试使用旋转的cloumn

时间:2015-12-01 22:58:53

标签: null spotfire

2此分析的单独数据表:

表A:表是按工作周计划的输出。 〜我们想要发生什么。

表B:表格是序列号的实际输出。 〜 正在发生什么。

这两个表都是从Microsoft AX,ERP系统中提取的。 (基于SQL) 本周= 49 目前表B:

Work Week   TestLine2   TestLine3   TestLine4   TestLine5   TestLine6
40          861         125         104                     1108
41          1310        325         179         50          2008
42                      625         454                     2733
43          1907        674         29                      3493
44          2507        724         804         74          3792
45          3107                    1105                    4489
46          3357        1023        1403                    5014
47          3732                    1428                    5764
48          3857                    1527                    6388
49                                  1626                    6688
50                  
51                  
52                  

图表:

组合图表应显示输出与计划。它的计划部分是cuml-sum条,输出是cuml-sum线。只要输出线位于柱线上方,我们就知道“一切都很好”。

X轴是工作周

Y轴是数量

<小时/> 首先,我在表A和表A中看到了一个问题。 B使用不同的行标识符。表A的行是按序列号表示的,表B是按工作周计算的。

我需要找到每个给定工作周内完成的序列号总数。对于第四季度,工作周(WW)将是40-53。表A具有WW列。我转过身来。总计每个工作周的表A数据,并将这一新列放入表B.一切正常,直到有一周没有输出。

此透视列(Tlines)默认使用“null”值来表示没有输出的周。

没问题吧?那么......对于WW42来说会发生什么,例如,一条线从WW41到WW43,并且斜率略有增加。

我需要显示的是从WW41到WW42的平直线,因为机器已关闭(无输出)。然而,从第42次到第43次,需要加班才能赶上,并且该线应该具有非常陡峭的斜率(最大输出)。

需要: 我需要一个表达式来测试一个值是否为null,如果是 - 使用上周数字,否则使用这周数字。

这是我首先尝试的,我透过,然后计算并用这个表达式替换列:

如果(T2Line)为空,  总和(T2Line)OVER(上一个([工作周])), 其他 总和(T2Line)

- 不行。

也尝试通过R点击类别选择器,选择“自定义表达式”(这里有2列):

- &gt;第一列 总和(PlanT2Line),

- &GT;第二列表达式 求和(T2Line)为空时的情况      总和(T2Line)OVER(上一个([工作周]))否则 总和(T2Line)结束

一起看起来像这样: 求和(PlanT2Line),总和(T2Line)为空时的情况      总和(T2Line)OVER(上一个([工作周]))否则 总和(T2Line)结束

两种表达都不起作用。在研究了枢轴如何工作之后,我相信旋转正在扼杀'节点导航'。 'previous()'方法查找前一个节点,但由于我将此信息从另一个表转移到表B中,我相信这就是它无法正常工作的原因。没有层次结构了。

接下来我尝试了这个。我尝试创建一个自定义层次结构,其中包含财务年度(FY)和工作周数(WW)。在x axix上使用FY,WW。 仍然没有骰子。

我错过了什么吗?

我觉得我可能需要在其他地方设置实际数据表,然后导入它,这样我就不需要使用Spotfire来转动数据,因此失去了“前一个节点”。如果我这样做,这意味着来自另一个部门的更多时间。需要为我设置这个。

如此接近。

1 个答案:

答案 0 :(得分:0)

如果没有一些样本数据,很难正确回答。我假设您缺少WW42的数据 - 即它看起来像:

notSmithCount

你的OVER表达不起作用的原因是因为, 正在工作:)在[工作周]中没有值[Work Week] [T2Line] 40 1234 41 2345 43 3456 ,所以{{1评估为41。

我过去通过设置一个嵌入式,一列虚拟表来处理这个问题,其中包含[工作周]的所有可能值(我假设您每年计算一个静态周数) ),然后加入你的桌子,以便你离开:

42

或者,我误解了你的问题。在这种情况下,为了清楚起见,您可以分享一些样本数据吗?