汇总Spotfire中的唯一标识符

时间:2016-10-18 19:22:41

标签: bar-chart spotfire

我正在尝试创建一个条形图,用于汇总字段中的值,但仅针对每个唯一标识符。例如,对于我的数据:

Condition   CT_ID   Enrollment  Company
I           5127    24          H
J           5127    24          H
P           5127    24          H
I           5127    24          O
J           5127    24          O
P           5127    24          O
L           27668   387         C
R           27668   387         C
D           38190   650         D
Q           38190   650         D
F           38785   30          A
E           39682   30          B
M           41818   17          I
O           44093   188         G
A           54850   18          K
G           59183               F
C           59891   266         J
G           61142   48          F
H           61425   28          L
K           61449               N
A           61793   12          E
N           61793   12          E
B           61910   120         M
B           61917   120         M
B           61961   130         M

或者,因为我真的想最终按条件汇总这些数据,让我只显示上述数据,而不是[CT_ID]。

Condition   CT_ID   Enrollment  Company
A           54850   18          K
A           61793   12          E
B           61910   120         M
B           61917   120         M
B           61961   130         M
C           59891   266         J
D           38190   650         D
E           39682   30          B
F           38785   30          A
G           59183               F
G           61142   48          F
H           61425   28          L
I           5127    24          H
I           5127    24          O
J           5127    24          H
J           5127    24          O
K           61449               N
L           27668   387         C
M           41818   17          I
N           61793   12          E
O           44093   188         G
P           5127    24          H
P           5127    24          O
Q           38190   650         D
R           27668   387         C

行和条件和公司中的不同值重复。 CT_ID是记录的标识符。

我想总结一下我的入学专栏,但我会过度计算。所以我想我可以创建一个自定义表达式,如:

Sum(Avg([Enrollment]) OVER ([CT_ID]))

但这不是一个有效的表达方式。我哪里错了?

对于我的条形图,我想将Condition作为类别轴,将Enrollment作为值轴。下表显示了如何计算注册值。关注条件P,I和J.

Condition  Enrollment
A          30
B          370
C          266
D          650
E          30
F          30
G          48
H          28
I          24
J          24
K   
L          387
M          17
N          12
O          188
P          24
Q          650
R          387

我当前的解决方案使用排名功能,并且只将登记信息放在第一行中,用于每个唯一的CT_ID,但是当我开始过滤数据时,这是完全错误的。例如,想象一下在上面的数据集中,我只有第一行CT_ID 5127的注册值。如果我过滤掉条件"我" (第一行中的那个),现在注册值为零!

非常感谢您提供的任何帮助!我不是关于OVER表达的专家,所以希望有一个简单的解决方案!

1 个答案:

答案 0 :(得分:0)

这个评论太长了......

您能提供一些预期的结果吗?看起来每个CT_ID只能有一个值,所以SUM中的Enrollment区别于任何一个值......对吗?如果不是,那么什么决定重复?

以下是如何在上面的代码中完成您尝试的内容 - 但是从您的测试数据中获取CT_ID的价值不仅仅因为每个Sum([Enrollment]) over ([CT_ID]) / Count() OVER ([CT_ID]) 看似只有First()有一个值(重复)。

First([Enrollment]) OVER ([CT_ID])

您也可以使用Max([Enrollment]) over (Intersect([CT_ID],[Condition])) / Count([Enrollment]) over (Intersect([CT_ID],[Condition]))

Enrollment

修改

由于你有一些重复,有些不是......我们只是将重复项拆分成重复项的平均数。插入此计算列:

Condition, CT_ID, and Enrollment

然后使用此列代替Condition = P and CT_ID = 5127表示您要忽略重复项的表达式,其中重复项的值为12

例如...... 24的行将/^[^?]+/ 而不是^