ピボットテーブル(計算フィールド)で平均を処理する


2

以下のデータがあります。

customer_id customer_name   id          date        contract_value  costs   profit_extra_work
200027      Company A       00.161.559  08/07/2015   499.5          50.55   0
200027      Company A       00.161.566  08/07/2015   499.5          30      824.9
200027      Company A       00.188.852  04/04/2016   499.5          0       69.39
200027      Company A       00.190.078  30/05/2016   499.5          98.1    158.29
200027      Company A       00.190.291  14/04/2016   499.5          15      346.06
200027      Company A       00.222.221  12/05/2017   499.5          15      5.1
200027      Company A       00.222.229  12/05/2017   499.5          100.35  400.81
200027      Company A       00.161.561  08/07/2015   499.5          45      269.97
200027      Company A       00.185.058  18/02/2016   499.5          15      77.41
200027      Company A       00.190.074  30/05/2016   499.5          37.5    95.92
200027      Company A       00.190.084  30/05/2016   499.5          45      420.89
200027      Company A       00.194.050  01/06/2016   499.5          139.65  0
200027      Company A       00.222.222  12/05/2017   499.5          60      274.88

これが私のピボットテーブルのようなものです。

Row Labels  Average of contract_value   Sum of costs    Sum of profit_extra_work
Company A   499.5                       651.15          2943.62 

私がやりたいことは、 "契約利益"という計算フィールドを追加することです。この値は次のように計算できます。 Average of contract_value - Sum of costs。だから私はこの計算式で新しい計算フィールド "契約利益"を追加しようとしました:

= contract_value - costs

しかしこれは間違った結果を返します(5842.35)。その理由は contract_value それは平均の代わりに合計を取ります。使ってみた AVERAGE(contract_value) - costs しかし、これは同じ間違った結果を返します。

計算フィールドのcontract_valueの平均値を使用して-151.56の正しい値を取得する方法を教えてください。


あなたの質問に対する私の答えが助けられたことを私は願っています。しかし、私はあなたの測定の目的について興味があります。差し引くことに興味があるような状況は考えられません。 総費用 から 平均 値。
Jonathan

回答:


1

Microsoftのやや不透明なヘルプページには、「カスタム式は個々のレコードではなく合計に基づいて機能する」と記載されています。 ( 「ピボットテーブルレポートの値を計算する」 これはあなたの質問に2つの影響を及ぼします。 (1)contract_valueへの式での参照は、 フィールドが平均として表示されていても、contract_valueの(2) "AVERAGE"や "COUNT"のような関数は、単一の値(合計)を操作しているため、ほとんど何もしません。

あなた自身の平均を計算するために、あなたはあなたのデータテーブルの中にすべてのエントリーに "1"を持つ新しい変数を作る必要があります。これを「ヘルパー」と呼びましょう。カスタム数式の「ヘルパー」は、行数のカウントになります。 (あなたの例では13)。

だからあなたが探している式は

=(contract_value /helper )-costs

(これは各行ごとに別々に計算されるので、たとえば「会社B」を追加すると、各会社について「正しい」結果が得られます。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.