0

在庫に関する個々の監査のデータの表があります。すべての監査には、場所、期待値、分散値、およびここではそれほど重要ではないその他のデータがあります。

これらの監査の 1 週間をまとめた Cognos 11 のクエリを作成しています。現在、ロケーション クラスごとにすべてを合計にまとめています。私の問題は、個々の場所に対して複数の監査が行われる可能性があることです。その場所での最初のカウントであるかどうかに関係なく、分散フィールドですべての監査からのデータを合計したいのですが、個別の場所の期待値のみが必要です (つまり、SUM のみ)場所が異なる場合の期待値)

以下は、クエリの簡略化されたバージョンです。これは可能ですか、それとも Cognos で別のクエリを作成し、後で結合する必要がある 2 つのレポートにする必要がありますか? お察しのとおり、私は SQL と Cognos にまったく慣れていません。

SELECT COALESCE(CASE 
                WHEN location_class = 'A'
                    THEN 'Active'
                WHEN location_class = 'C'
                    THEN 'Active'
                WHEN location_class IN (
                        'R'
                        ,'0'
                        )
                    THEN 'Reserve'
                END, 'Grand Total') "Row Labels"
        ,SUM(NVL(expected_cost, 0)) "Sum of Expected Cost"
        ,SUM(NVL(variance_cost, 0)) "Sum of Variance Cost"
        ,SUM(ABS(NVL(variance_cost, 0))) "Sum of Absolute Cost"
        ,COUNT(DISTINCT location) "Count of Locations"
        ,(SUM(NVL(variance_cost, 0)) / SUM(NVL(expected_cost, 0))) "Variance"
    FROM audit_table
    WHERE audit_datetime <= #prompt('EndDate') # audit_datetime >= #prompt('StartDate') #
    GROUP BY ROLLUP(CASE 
                WHEN location_class = 'A'
                    THEN 'Active'
                WHEN location_class = 'C'
                    THEN 'Active'
                WHEN location_class IN (
                        'R'
                        ,'0'
                        )
                    THEN 'Reserve'
                END)
    ORDER BY 1 ASC

これは私が最終的に望んでいるものです:

最終目標

助けてくれてありがとう!

4

2 に答える 2