gpt4 book ai didi

cognos - 如何使用 Cognos Report Studio 更改默认 Total() 计算

转载 作者:行者123 更新时间:2023-12-02 07:07:51 26 4
gpt4 key购买 nike

我有一个交叉表报告,可以计算我的产品的故障率;它有两个度量(PASSCOUNT、FAILCOUNT)和一个计算 FAILRATE(FAILCOUNT/PASSCOUNT+FAILCOUNT)

报告布局如下所示:

                   OEM
MODEL
TESTYEAR TESTMONTH PASSCOUNT FAILCOUNT FAILRATE

当我选择“总计”图标时,它会按逻辑将每一列相加

2012 OCT 7547  697  0.08
NOV 9570 373 0.04
DEC 1879 107 0.05
------------------------
Total 18996 1177 0.17

但是我的用户希望 TOTAL FAILRATE 为

TOTAL FAILCOUNT/(TOTAL PASSCOUNT+TOTAL FAILCOUNT) 

翻译为

1177 / (18996+1177) = 0.058

如何在报告中创建此自定义总计?我正在阅读有关创建查询计算的内容,但我不清楚这是正确的方法。

Cognos Report Studio 8.4 IBM DB2 UDB

最佳答案

你确实可以。有几种方法。

在您的报告查询中,您有包含所需计算的各个查询项,工作正常(PASSCOUNT、FAILCOUNT 等)。您可以在同一查询项列表中创建新的数据项/表达式并编辑定义。在左侧,您可以选择使用原始数据库数据源中的列,但您可以选择另一个 Pane 来实际重用您在同一查询中定义的其他查询项/计算(PASSCOUNT FAILCOUNT FAILRATE)。 Cognos 知道,当您使用同一查询中的其他列创建表达式时,首先要解析这些查询项,以便解析依赖于它们的计算。您希望确保您的计算/派生列列在其他相关查询项之后(实际上这可能并不重要,但在查看它时它是有意义的)。另外我相信您必须将失败率查询项/表达式设置为“计算”作为其聚合方法。

摘要行可能/可能不会有点棘手。没有 Report Studio 就在我面前,当您将总计部分添加到列表报告并使用新的故障率表达式时,它可能足够聪明......以扩展正确的计算,或者您可能必须使用另一种方法来执行摘要是一个报告表达式。

您创建的报表表达式不是在查询中,而是在报表的 GUI 页面上(它在边表、单例等工具箱中)。它有一个表达式生成器,就像在查询中一样,但您会注意到函数集不同,因为它是在查询运行后完成的,并且当结果返回时,像您所做的这样简单的事情就很好,这只是数学,但您会请注意,其他数据库函数在报表表达式上不可用,仅仅是因为它们出现在 html 输出中,而不是在针对数据库运行的查询期间出现。

希望这有帮助。总之,您正在根据同一查询/结果集中其他列的汇总计算来创建计算列。理论上,这与此 SQL 语句相同,该语句不起作用,因为 SQL 不允许直接这样做,但希望它有助于解释 cognos 正在做什么。

选择 1+2 作为失败计数,2+3 作为通过计数,(FAILCOUNT/PASSCOUNT+FAILCOUNT) 作为来自某项的失败-- Cognos 能够在同一查询中使用其他聚合计算列的结果,如果您生成 sql,您可以看到它如何安排 SQL 来执行此操作。

谢谢

蒂姆

关于cognos - 如何使用 Cognos Report Studio 更改默认 Total() 计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14167057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com