Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

AVG

セットのうち、指定された式に対して値が NULL でないすべての要素にわたって、この式 (または現在のメジャー) の平均値を返します。

返りタイプ

この関数は、数値を返します。

構文および詳細

AVG(set_expression, optional_numeric_expression)

以下は、この指定の説明です。

  • set_expression は、セットに対して評価される式です。このセットは通常、メンバまたはタプルのセットです。

  • optional_numeric_expression は、セット要素ごとにこの関数が評価する数値式です。

    通常、この式の形式は、[MEASURES].[measure_name] です。

    数値式を指定しない場合、DeepSee では、現在の結果セルで使用されるメジャーが使用されます。例えば、0 軸で使用されたメジャーまたは WHERE 節で指定されたメジャーです (これらがある場合)。クエリ自体がメジャーを指定しない場合、DeepSee では、ファクト・テーブル内のレコードをカウントする %COUNT が代わりに使用されます。

この関数は、セットの各要素に対して数値を評価し、この値が NULL である要素があればすべて無視し、残りの要素の平均値を計算します。

平均に NULL 要素を含める場合は、値を NULL から 0 に置き換える optional_numeric_expression の式を使用します。

すべての要素の数値が NULL の場合、この関数は NULL を返します。

まず、以下のクエリは、aged.decade レベルのメンバに関する、3 つのメジャーの値を示します。

SELECT {MEASURES.[%COUNT],MEASURES.[encounter count],MEASURES.[avg test score]} ON 0, 
birthd.decade.MEMBERS ON 1 FROM patients
                     Patient Count    Encounter Count     Avg Test Score
 1 1910s                         80              5,359              75.17
 2 1920s                        227             12,910              74.20
 3 1930s                        567             33,211              74.67
 4 1940s                        724             38,420              73.39
 5 1950s                      1,079             46,883              73.72
 6 1960s                      1,475             57,814              74.16
 7 1970s                      1,549             49,794              74.35
 8 1980s                      1,333             35,919              74.13
 9 1990s                      1,426             29,219              74.79
10 2000s                      1,406             20,072              74.95
11 2010s                        134              1,346              73.55

次に、以下のクエリは、このレベルのメンバに関する、これらのメジャーの平均値を示します。

SELECT {MEASURES.[%COUNT],MEASURES.[encounter count],MEASURES.[avg test score]} ON 0, 
AVG(birthd.decade.MEMBERS) ON 1 FROM patients
                     Patient Count    Encounter Count     Avg Test Score
AVG                          909.09          30,086.09              74.28

ここで、それぞれの値は、上記クエリの列内の値の平均です。例えば、Patient Count 値は、上記クエリの Patient Count 値の平均です。

別の例では、AVG の 2 番目の引数を使用します。

SELECT AVG(birthd.decade.MEMBERS, MEASURES.[%COUNT]) ON 0 FROM patients
                                       AVG
                                     909.09

以下の例では、メジャーを指定しないクエリで AVG を使用します。

SELECT AVG(birthd.decade.MEMBERS) ON 0 FROM patients
                                       AVG
                                     909.09

この場合、この関数は、ファクト・テーブル内のレコードをカウントする %COUNT を使用します。

最後に、以下の例では、WHERE 節でメジャーを指定するクエリで AVG を使用します。

SELECT AVG(birthd.decade.MEMBERS) ON 0 FROM patients WHERE MEASURES.[encounter count]
                                       AVG
                                  30,086.09

この場合、この関数は、WHERE 節で指定されたメジャーを使用します。

関連項目

FeedbackOpens in a new tab