式を使用することで、レポート内のコントロールに値を設定したり、特定の条件に応じてプロパティの値を変更することができます。式は、[プロパティ]タブで値を設定する際に、[式エディタ]ダイアログで設定することができます。このダイアログでは、レポートやプロパティに設定したい式を一覧の中から選択することができます。コントロールのほぼすべてのプロパティについて、プロパティのドロップダウンリストから[f式]を選択することで[式エディタ]を表示することができます。
式はすべて中括弧「{}」で囲まれます。たとえば、TextBoxにフィールドの値を設定する式は次のようになります。
{LastName}
[式]プロパティには完成された状態の式だけではなく、未完成状態の式でも追加することができます。[式]プロパティに表示されている式に、演算子や関数を追加することで編集し、式を完成させることができます。
フィールドを文字列と連結し、他のフィールドと連結することができます。たとえば、次のような式を設定した場合、結果は「Customer Name: Bossert, Lewis」となります。
Customer Name: {LastName} , {FirstName}
色、フォント名、罫線などのプロパティの場合、式を使用することで、特定のフィールドが条件を満たす時のみデータを強調表示することができます。条件付き書式を定義するには、次のような式を設定します。
{IIF(<Condition>, <TruePart>, <FalsePart>)}
たとえば、テキストボックスの[テキスト]セクションの[太さ]プロパティに次の式を入力すると、「Denise」という名前の時のみ太字で表示されます。
{IIF(FirstName = "Denise", "Bold", "Normal")}
同様に、テーブル内にあるすべてのセル(テキストボックス)の[背景]セクションの[背景色]プロパティに次の式を入力すると、テーブルの行に「Transparent」と「LightGray」のテキストボックスが交互に表示されます。
{IIF(RowNumber(Nothing) mod 2, "Transparent", "LightGray")}
式の中には、いくつかの集計、および関数を使用することができます。ActiveReportsでは、累計、母集団分散、標準偏差、総数、最小値、最大値のような関数が提供されています。たとえば、次の式を使用して社員の数を計算することができます。
{Count(EmployeeID, Nothing)}
集計および合計値を計算するときは、次の計算オプションを設定できます。
オプション | 結果 |
---|---|
既定値 | 現在の値 |
総計比率(%) | 現在の値をタブリックスの総計で割った値 |
行グループ比率(%) | 現在の値を現在の行グループの総計で割った値 |
親行グループ比率(%) | 現在の値を現在の列グループの親行グループの小計で割った値 小計の場合、 小計を現在の列グループの総計で割った値 |
列グループ比率(%) | 現在の値を現在の列グループの総計で割った値 |
親行グループ比率(%) |
現在の値を現在の行グループの親列グループの小計で割った値 |
すべてのプロパティに対して、複数のテキストボックス(TableおよびTablixのテキストボックスを含む)に共通の式を設定することができます。
同じまたは異なるデータフィールドを持つ複数のテキストボックスに共通の式を設定するには、対象のテキストボックスを選択します。[プロパティ]タブでは、式を設定するプロパティを選択し、[f式]を選択して式エディタを開きます。ダイアログの左側にある[値]で、[共通の値]を展開し、[現在のTextBoxの値]を選択して、($$$)変数(たとえば、{Sum($$$)})を使用して有効な式を入力し、[保存]をクリックします。
以下は、複数のテキストボックスに共通の式を設定する例を挙げています。これらの例は、WebDesigner_MVC_Coreサンプルを使用しています。
例1:Tableデータ領域の複数のデータフィールドにSum式を追加します。
コードのコピー
|
|
---|---|
{Sum($$$)} |
{Quantity}
は{Sum(Quantity)}
となります。{UnitPrice}
は{Sum(UnitPrice)}
となります。例2:Tableデータ領域のの複数のデータフィールドに背景色を追加します。
コードのコピー
|
|
---|---|
{iif($$$ > 14, "Green")}
|
{iif(UnitPrice > 14, "Green")}
{iif(ExtendedPrice > 14, "Green")}
選択された値が「14」より大きい場合、背景色が緑色に変換します。