@MEDIAN

Essbaseの@MEDIAN計算関数は、指定されたデータ・セットの中央値(中間の数値)を返します。データ・セットの数値の半分は中央値より大きく、半分は小さいものです。

構文

@MEDIAN (SKIPNONE | SKIPMISSING | SKIPZERO | SKIPBOTH, XrangeList)

パラメータ

SKIPNONE

中央値の計算中に、内容に関係なく、データ・セットで指定したすべてのセルを含めます。

SKIPMISSING

中央値の計算中に、すべての#MISSING値をデータ・セットから除外します。

SKIPZERO

中央値の計算中に、すべてのゼロ(0)値をデータ・セットから除外します。

SKIPBOTH

中央値の計算中に、すべてのゼロ(0)値と#MISSING値をデータ・セットから除外します。

XrangeList

中央値が計算される数値のリスト。このトピック全体で、データ・セットと総称されます。

有効なメンバー名、メンバー名のカンマ区切りリスト、ディメンション間メンバー、またはメンバー・セット関数か範囲関数(@XRANGEを含む)からの戻り値にできます。

XrangeListの詳細は、範囲リスト・パラメータを参照してください。

ノート

  • 計算中のメンバーとデータ・セット(XrangeList)が同じディメンションにない場合は、@RANGEまたは@XRANGEを使用して、メンバーをメンバーのリストと交差させます(たとえば、Salesを100の子と交差させる)。

  • @MEDIANは、中央値を計算する前に、データ・セットを昇順でソートします。

  • データ・セットに偶数の値が含まれている場合、@MEDIANは2つの中間の数値の平均を計算します。

  • @MEDIANは、SKIPMISSINGまたはSKIPBOTHが指定されていないかぎり、#MISSINGの値を0として扱います。

  • この関数を計算スクリプトで使用する場合は、FIX文内で使用します。FIXは必須ではありませんが、FIXを使用すると計算パフォーマンスが向上する場合があります。

  • スパース・ディメンションの広い範囲でこの関数を使用する場合は、計算機キャッシュのサイズを増やす必要がある場合があります。

次の例は、Sample Basicデータベースに基づいています。Measuresディメンションに追加のメンバーMedianが含まれているとします。この例では、すべての製品の売上中央値を計算し、@RANGEを使用してデータ・セットを生成します。

FIX (Product)
Median = @MEDIAN(SKIPBOTH,@RANGE(Sales,@CHILDREN(Product)));
ENDFIX

この例では、次のレポートが作成されます:

                         Jan     New York
                      Actual       Budget
                      ======       ======
Sales    Colas         678          640
         Root Beer     551          530
         Cream Soda    663          510
         Fruit Soda    587          620
         Diet Drinks   #MI          #MI
          Product     2479         2300

Median   Product       625          575

計算スクリプトでSKIPBOTHが指定されているため、Diet Drinksの#MI値はスキップされます。残りの4つの製品は、偶数のデータ・セットを作成します。そのため、Median->Product->Actualを計算するには、セット内の2つの中央値(587と663)を平均して、中央値(625)を作成します。Median->Product->Budgetを計算するには、セット内の2つの中央値(530と620)を平均して、中央値(575)を作成します。

次の例では、YearディメンションがSample Basicに追加されていることを前提としています。データ・セット内のディメンション間メンバーを使用して中央値を計算します。

FIX(Product)
Median = @MEDIAN(@XRANGE("2011"->"Sep", "2012"->"Mar"));
ENDFIX

前述の計算は、XrangeListで指定した次の多次元範囲で実行されます。


2011->Sep
2011->Oct
2011->Nov
2011->Dec
2012->Jan
2012->Feb
2012->Mar

関連項目