1

我正在寻找以下功能或解决方案:

对于 SQL 报告中的图表,我需要将 A 列中的值相乘。对于=SUM(COLUMN_A)图表,我将使用求和。但是我可以用什么来做乘法 - 到目前为止我还没有找到解决方案?

目前我正在计算堆叠列的值,如下所示:

=ROUND(SUM(Fields!Value_Is.Value)/SUM(Fields!StartValue.Value),3)

而不是 SUM,我需要一些东西来乘以这些值。像这样的东西:

=ROUND(MULTIPLY(Fields!Value_Is.Value)/MULTIPLY(Fields!StartValue.Value),3)

编辑#1

好的,试图让这件事运行起来。图表的表达式如下所示:

=Exp(Sum(Log(IIf(Fields!Menge_Ist.Value = 0, 10^-306, Fields!Menge_Ist.Value)))) / Exp(Sum(Log(IIf(Fields!Startmenge.Value = 0, 10^-306, Fields!Startmenge.Value))))

如果我手动计算我的“需求”,我必须得到以下结果:

需要的结果

在我的 SQL 报告中,我得到以下结果:

在此处输入图像描述

为了更容易,这些是原始值:

在此处输入图像描述

并且您可以按 CW、CQ 或 CY 对图表进行分组(第一张图片中的值是 FertStufe 原始值的汇总总和值)

编辑#2

尝试了您的表达式,结果如下: 在此处输入图像描述

只是为了说清楚:

列中的值

=Value_IS / Start_Value

在第一张图片中相互相乘

0,9947 x 1,0000 x 0,59401 = 0,58573

扩散日历周 44 总和

起始值:1900,00 值是:1890,00 == 产量:0,99474

Waffer unbestrahlt 日历周 44 总和

起始值:620,00 值是:620,00 == 收益 1,0000

Pellet Calenderweek 44 总和

起始值:271,00 值是:160,00 == 产量 0,59041


产量 扩散 x 产量 晶圆 x 产量 粒料 = 需要 图表中的值 = 0,58730

编辑#3 原始值如下所示: 在此处输入图像描述

图表在这些字段 CY(日历年)、CM(日历月)、CW(日历周)上分组 - 就像在图像中一样

您可以在此处以 xls 格式下载数据:

https://www.dropbox.com/s/g0yrzo3330adgem/2013-01-17_data.xls

我使用的表达式(从编辑窗口复制/过去)

=Exp(Sum(Log(Fields!Menge_Ist.Value / Fields!Startmenge.Value)))

我已将整个报告结果导出到 Excel,您可以在此处获取: https ://www.dropbox.com/s/uogdh9ac2onuqh6/2013-01-17_report.xls

4

1 回答 1

5

这实际上是一种解决方法。但我很确定这是解决这个臭名昭著的问题的唯一方法:D

我就是这样做的:

Exp(∑(Log(X))),所以你应该做的是:

Exp(Sum(Log(Fields!YourField.Value)))

谁说数学一文不值?=D

编辑:

更正了公式。

顺便说一句,它已经过测试

解决伊恩的担忧:

Exp(Sum(Log(IIf(Fields!YourField.Value = 0, 10^-306, Fields!YourField.Value))))

这个想法是用一个非常小的数字改变 0。只是一个想法。

编辑:

根据您更新的问题,您应该这样做:

Exp(Sum(Log(Fields!Value_IS.Value / Fields!Start_Value.Value)))

我刚刚测试了上面的代码,得到了你希望的结果。

于 2013-01-17T09:58:32.833 回答