FlexPivot for WinForms
演算とクエリーの組み合わせ
C1DataEngineの概要 > C1DataEngine の使用 > 演算とクエリーの組み合わせ

1つのクエリー行には、1つの演算しか含めることができません。つまり、演算を組み合わせて複雑な式を作成することはできません。ただし、これは問題にはなりません。クエリーは簡単に組み合わせることができ、クエリーの結果を別のクエリーの入力として提供できるからです。このため、最初にいくつかの単純な演算を実行してから集計クエリーを適用することで、それぞれの結果に対する小計を計算できます。集計の結果に単純な計算操作を適用したり、その他の必要な計算を組み合わせることもできます。

複数のクエリーを作成しなくても済むように、よくある特別なケースが1つサポートされています。1つのクエリーで1つの列を定義してから、その文字列名を演算の引数として使用できます。次のように、この組み合わせは1つのクエリーで表すことができます。

構文

discount = Op.Max(Op.Mul(od.UnitPrice, od.Discount)),
MaxDiscount = Op.Max("discount")
discount = Op.Max(Op.Mul(od.UnitPrice, od.Discount)),
MaxDiscount = Op.Max("discount")

クエリーを組み合わせる場合、つまり別のクエリーに基づくクエリーを定義する場合、デフォルトでは、結果のクエリーにはその中で明示的に定義されている列だけが含まれます。つまり、デフォルトでは、その基になるクエリーの列は含まれません。ただし、基になるクエリーの列にいくつかの列を追加するだけの場合(基になるクエリーに2つの列を追加するなど)や、ある条件でフィルタ処理して同じ列を表示するだけの場合もあります。それには、列ごとに次のような1行のコードを追加します。

columnName = baseQuery.columnName 

上の例のショートカットは、_base = "*" を追加することです。