没有减少

时间:2017-09-08 13:34:42

标签: calculated-columns spotfire

新来的,如果我没有正确地做到这一点,那就减少一些懈怠,但我有一个让我完全难过的问题,我找不到任何其他帮助。

我尝试在Spotfire中创建一个计算列,该列将代表某些情况下所需的设备数量,但如果这些情况在未来发生变化,则不会随着时间的推移而减少。

我的数据集包括多个位置的多个来源,这些来源的流量随时间变化。这些来源在不同的时间点上线,每个位置的所有来源的总流量决定了所需设备的数量。每个来源都有每天的流量数据。我的数据集庞大,并且拥有数百个位置和来源,多年的数据。我试图预测未来的设备需求,并且由于源速率随时间变化,设备需求会减少和增加,但设备在速率降低时仍然存在。我有一个计算列,告诉我在给定的一天,按位置需要多少设备,但是想要一个计算的列(相对于可视化中的一个custon表达式),根据需要上升,但永远不会下降,随着时间的推移。通过这种方式,我可以准确预测未来设备的总需求。

我使用DenseRank按位置和日期对来源进行排名以创建列" Rank"然后我使用" Ceiling"和"总和相交"创建列EquipCount,然后" IF"用于创建具有修剪数据集的列的语句,因此在聚合可视化中不会多次计数。 " EquipRate"是每件装备可以处理的流程,是本地定义的属性:

DenseRank([Source],"ties.method=first",[Location],[Date])

Ceiling(Sum([FlowRate]) over (Intersect([Location],[Date]))/${EquipRate})

if([Rank]=1,[EquipCount],null)

下面的示例数据集(继续通过多个来源,位置和日期):

SourceName|Location|Date       |FlowRate

Source 1  |Plant 1 |1/1/2017   |100

Source 1  |Plant 1 |1/2/2017   |200

Source 1  |Plant 1 |1/3/2017   |50

Source 1  |Plant 1 |1/4/2017   |100

Source 2  |Plant 1 |1/8/2017   |100

Source 2  |Plant 1 |1/9/2017   |200

Source 2  |Plant 1 |1/10/2017   |50

Source 2  |Plant 1 |1/11/2017   |100

0 个答案:

没有答案