Oracle 使用Cognos Report Studio无法获得正确的总数。需要获得列中显示的总计

Oracle 使用Cognos Report Studio无法获得正确的总数。需要获得列中显示的总计,oracle,cognos,Oracle,Cognos,新零件计算 if (([MonthToDateQuery].[G/L Account] = 4200 and [Query1].[G_L_Group] = 'NEW')) THEN ([Credit Amount]-[Debit Amount]) ELSE (0) 数据项1 总计([新零件计算]) 我只需要数据项1返回新零件计算值 例如,在第一行中,数据项1应该是8540.8,但它是34163.2 怎么了?我怎么修理 修订问题 很抱歉,我没有理解原来的问题 我有很多我试图收集并放在交叉表上的计

新零件计算

if (([MonthToDateQuery].[G/L Account] = 4200 and [Query1].[G_L_Group] = 'NEW')) THEN ([Credit Amount]-[Debit Amount]) ELSE (0)
数据项1 总计([新零件计算])

我只需要数据项1返回新零件计算值

例如,在第一行中,数据项1应该是8540.8,但它是34163.2

怎么了?我怎么修理

修订问题

很抱歉,我没有理解原来的问题

我有很多我试图收集并放在交叉表上的计算。我想按月份(行)和零件类别(列)查看销售额

[Query2]如上图所示。 它连接[MonthToDateQuery]和[Query1] 连接在“发票”上,肉质为
1..1=1..1

[MonthToDateQuery]基于我使用的软件包。总帐。它为每个销售总账账户提供总账条目 [Query1]是我引入的一个SQL查询,它能够从g/l组中进一步划分类别。 例如,g/l账户4300被重建。然而,我需要更深入地了解重建的生产和重建的新产品。我可以和g/l小组一起做

我在我的总账账户分类账条目中看到它引用了发票号。这就是我如何绑定SQL的方法

因此,正如您可以从下表(这是来自查询的视图表格数据)中看到的,我需要一个总数。我曾尝试将newparts\u calc插入交叉表,并将聚合设置为total,但数字似乎仍然不正确。我想我没有把事情做好

所有calc的im都基于单个或多个总账账户以及单个或多个总账组

有什么建议吗

正如您所看到的,问题似乎是发票号码重复。 我该怎么修理?

我想到了两件事:

-将处理顺序设置为2


-由于您的计算量始终是一个倍数,并且您要连接两个查询,因此您可能需要检查基数。有时,添加派生查询以确保使用正确的粒度会有所帮助。

我显然遗漏了一些东西,但如果您愿意的话

我只需要数据项1返回新零件计算值

只使用newparts\u calc,而不使用total?这将为第1行提供适当的值-)


如果您需要天数的运行总计(前几天的值之和)-您应该使用运行总计功能。

猜测一下,您的两个查询之一是为每个发票返回多行,这将导致重复计数。查看这两个查询的输出,看看是否发生了这种情况。如果是这样的话,那么您只需要找出如何将其向下折叠到每张发票的一行。

根据您的新问题-必须是基础数据导致了问题。它显然不是1:1(请注意,尽管这是您所声明的基数,但Cognos并不强制执行1:1)。发票编号不唯一,总账组处于较低级别

处理订单是我不熟悉的事情。我来看看。我确实检查了基数,它被设置为一,并且是唯一一个正确的,我非常确定。我也会看看。感谢您的回复我不知道如何调整处理顺序。有什么帮助吗?我想出了不同的办法!但如果有一天,两个新零件的计算结果是一样的,那就只算一个。有什么办法吗?我已经修改了我原来的问题。如果您无法理解您试图对数据项1执行的操作,请提供帮助。但是看起来你已经有了某种交叉积(注意newparts\u calc总是分为[数据项一]平均。我已经修改了我的原始问题。如果您可以,请提供帮助。您有不同粒度级别的事实表,而不是试图在报告级别解决问题,您应该调整您的framework manager模型以允许正确的stitch查询。是的,我理解。我能做什么?是否有任何方法可以获取我需要的数据?