EQLでは、定義した文を他の文から参照できます。
複数のEQL副問合せを、1つのナビゲーション問合せのコンテキストの中で指定できます。それぞれが別の分析ビューに、または別の粒度レベルの小計に対応します。
式でも、他の計算済の文からの値を使用できます。これが役に立つのは、詳細なレベルのバケットの中で分析計算するために、より粗いレベルの小計が必要である場合です。
たとえば、指定された年の各販売員の売上の割合(%)を計算するには、その年の総計も計算する必要があります。文間参照を使用すると、この種の問合せを作成できます。
<LookupExpr> ::= <statement name>[<LookupList>].<attribute name> <LookupList> ::= <empty> ::= <SimpleExpr> [,<LookupList>]
角カッコを使用してレコード・セットとグルーピング属性を指定し、ドットを使用してフィールドを指定します。
たとえば、ProductType別、Region別の売上比率を計算するとします。集計の1つではRegionごとにグルーピングした合計を計算し、それに続く集計でRegionとProductTypeごとにグルーピングした合計を計算します。
この2番目の集計で使用する式で、Regionの集計の結果を参照します。つまり、RegionとProductTypeのペアごとに、そのRegion全体の小計にProductTypeが占める割合を計算できます。
DEFINE RegionTotals AS SELECT SUM(Amount) AS Total GROUP BY Region RETURN ProductPcts AS SELECT 100 * SUM(Amount) / RegionTotals[Region].Total AS PctTotal GROUP BY Region, ProductType
この例では、四半期別に、各製品タイプの売上の割合を計算します。
この問合せでは、1つの文で計算した情報を別の文で使用できるようにする必要があります。
DEFINE QuarterTotals AS SELECT SUM(Amount) AS Total GROUP BY Quarter ; RETURN ProductPcts AS SELECT 100 * SUM(Amount) / QuarterTotals[Quarter].Total AS PctTotal GROUP BY Quarter, ProductType