繁体   English   中英

从Spotfire中的总和和计数创建平均值列

[英]create an Average column from a sum and a count in spotfire

我从数据库中检索数据,并且自动计算总和和计数。

就像是

Select Data, Product, count(*) as Num, sum(cost) as cost
from myTable
group by Data, Product

从Spotfire中直接输入的这些数据中,我想按日期显示总成本以及平均成本。 我无法直接使用AVG聚合,因此我正在考虑使用诸如cost*Num/sum(num)类的公式,但由于每天都不存在cost*Num/sum(num) ,因此无法显示正确的数字...

有没有一种方法可以在Spotfire公式中指定每天总计? 还是另一种方式呢?


编辑:这是一些数据

2015/7/1    BIKE    128 3,635,770
2015/7/1    AUTO    487 22,932,530
2015/7/2    AUTO    519 25,219,780
2015/7/2    BIKE    123 3,355,270
2015/7/3    BIKE    135 4,191,060
2015/7/3    AUTO    507 24,687,420

例如,如果您在2015/7/1中对Cost使用平均值,则将有13,284,150( =(3,635,770 + 22,932,530) / 2 ),但实际平均值为18,916,294(2015/7/1与产品无关的平均值, =(3,635,770 * 128 + 22,932,530 * 487) / (128+487)


EDIT2:谢谢您的帮助,但是我得到的所有答案/评论都与SQL有关。 这绝对不是我想要的。 我有一个产生上述数据的sql语句,并且这些数据都装入SPOTFIRE内-我不会更改sql部分,我正在寻找Spotfire解决方案。 我需要一种从这些数据中计算出平均每日费用的方法。 但是我只是不知道如何告诉Spotfire在我的平均计算中使用计数作为权重。

您可以使用的公式取决于您所使用的可视化效果。 例如,如果使用条形图,则可以使用公式Sum([Num] * [Cost]) / Sum([Num]) 但是您需要将此添加为自定义表达式,而不是插入计算列。 在条形图示例中,然后在类别轴上有日期。

我测试了Sum([Num] * [Cost]) / Sum([Num])公式,该公式适用于大多数可视化,例如交叉表,热图,条形图,折线图等,但不适用于表格可视化,因为这不会汇总到更高的级别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM