[式の定義] ダイアログ ボックス (レポート ビルダー 3.0)

[式の定義] ダイアログ ボックスを使用すると、式または式を含む新しいフィールドを作成できます。

このダイアログ ボックスには、[フィールド] タブと [関数] タブがあります。

  • [フィールド] タブは、式に含めるフィールドをレポート モデル内で検索するために使用します。

  • [関数] タブは、式で使用する関数を選択するために使用します。

[フィールド] タブのオプション

  • [エンティティ]
    エンティティの一覧を表示します。エンティティをクリックすると、そのフィールドが [フィールド] の一覧に表示されます。

  • フィールド
    エンティティのフィールドの一覧を表示します。[式] ボックスにフィールドをドラッグするか、フィールドをダブルクリックすると、[式] ボックスにフィールドを追加できます。

  • [新しいフィールド]
    新しいフィールドを追加する場合にクリックします。[フィールド名] に、値 [新しい <エンティティ名> フィールド] が表示されます。

  • [フィールド名]
    作成中の新しいフィールドの名前を入力します。

  • [式]
    式を記述および編集するために使用します。

  • [検索]
    クリックすると、[検索] ダイアログ ボックスが開きます。

  • [詳細設定モード]
    エンティティ間の詳細なリレーションシップを表示する場合にクリックします。こうしたリレーションシップを使用して、複雑なクエリを構築できます。[詳細設定モード] ボタンをクリックすると、次の 3 種類のロールが追加表示されます。

    • 反転ロール。反転ロールでは、エンティティのリレーションシップが関係元の方向にさかのぼって示されます。

    • 参照エンティティ。参照エンティティは、目的のフィールドを 1 つだけ含むロールです。

    • 選択したエンティティの直接の先祖から継承され、現在のエンティティの直接の先祖ではないエンティティ。

  • [集計先]
    [式] ボックスのフィールド名をダブルクリックすると、プライマリ エンティティとフィールドのエンティティのリレーションシップが表示されます。クリックすると、モデル パスの任意の場所で集計が式に適用されます。

  • [関数ショートカット]
    クリックすると、[式] ボックスに表示されている式に演算子が追加されます。[式の定義] ダイアログ ボックスには、よく使用される関数のショートカットが用意されていますが、これらの演算子を [関数] タブから選択することもできます。各ショートカットの説明は次のとおりです。

    "+" は 2 つの値を加算する場合に使用します。

    - は、1 つの値を別の値から減算するために使用します。

    * は、2 つの値を乗算するために使用します。

    / は、2 つの値を除算するために使用します。

    & は、2 つの値を連結するために使用します。

    ( は、計算を開始するために使用します。

    ) は、計算を終了するために使用します。

  • [展開された式]
    [式] ボックスのフィールド名をダブルクリックすると、プライマリ エンティティとフィールドのエンティティのリレーションシップが表示されます。モデル パスの任意の場所でフィルターを式に適用できます。

    • フィールドの新しいフィルターを作成するには、[フィルターが適用されていません] をクリックし、[新しいフィルターの作成] をクリックします。

    • フィールドにフィルターがある場合は、そのフィルターをクリックし、[フィルターの編集] をクリックします。

    • 既存のフィルターを削除するには、そのフィルターをクリックし、[削除] をクリックします。

  • [この式を新しい <エンティティ名> フィールドとして保存します]
    式をフィールドとして追加する場合に、このチェック ボックスをオンにします。

[関数] タブのオプション

[式の定義] ダイアログ ボックスの [関数] タブの各関数の説明を次に示します。

集計

数値の範囲を合計する場合は、次の関数を使用します。

  • [SUM]
    式内のすべての値の合計が返されます。

    構文

    SUM(aggregate)

    SUM は、数値だけを含むフィールドと共に使用できます。NULL 値は無視されます。

  • [AVERAGE]
    式内の NULL 以外のすべての値の平均値 (数値計算による平均値) を返します。

    構文

    AVERAGE(aggregate)

    AVERAGE は、数値だけを含むフィールドと共に使用できます。NULL 値は無視されます。

  • [MAX]
    式内の最大値を返します。

    構文

    MAX(aggregate)

    character 型列の場合は、決められた順序での最高の値が返されます。NULL 値は無視されます。

  • [MIN]
    式内の最小値を返します。

    構文

    MIN(aggregate)

    character 型列の場合は、決められた順序での最小の値が返されます。NULL 値は無視されます。

  • [COUNT]
    グループ内の NULL 以外のアイテムの数を返します。

    構文

    COUNT(aggregate)

    COUNT は常に Int 型の値を返します。

  • [COUNTDISTINCT]
    グループ内のアイテムで重複していない NULL 以外のインスタンスの数を返します。

    構文

    COUNTDISTINCT(aggregate)

  • [STDEV]
    アイテムの NULL 以外の値の標準偏差を返します。

    構文

    STDEV(aggregate)

  • [STDEVP]
    アイテムの NULL 以外の値の母集団に対する標準偏差を返します。

    構文

    STDEVP(aggregate)

  • [VAR]
    アイテムの NULL 以外の値の分散を返します。

    構文

    VAR(aggregate)

  • [VARP]
    アイテムの NULL 以外の値の母集団に対する分散を返します。

    構文

    VARP(aggregate)

条件

条件をテストするには、次の関数を使用します。

  • [IF]
    条件を True と評価した場合はある値を返し、条件を False と評価した場合は別の値を返します。

    構文

    IF(condition, value_if_true, value_if_false)

    条件は、TRUE または FALSE に評価される値または式にする必要があります。value_if_true は、条件が TRUE である場合に返される値を表しています。value_if_false は、条件が FALSE である場合に返される値を表しています。

  • [IN]
    アイテムがセットのメンバーであるかどうかを調べます。

    構文

    IN(item, set)

  • [SWITCH]
    一連の式を評価し、リスト内で最初に True となる式に関連付けられている式の値を返します。Switch は、1 つ以上の条件と値のペアを持つことができます。

    構文

    Switch(condition1, value1)

変換

値を 1 つのデータ型から別のデータ型に変換する場合は、次の関数を使用します。

  • [INT]
    値を整数に変換します。

    構文

    INT(value)

  • [DECIMAL]
    値を小数に変換します。

    構文

    DECIMAL(value)

  • [FLOAT]
    値を float データ型に変換します。

    構文

    FLOAT(value)

  • [TEXT]
    数値をテキストに変換します。

    構文

    TEXT(value)

日付と時刻

日付または時刻を表示する場合は、次の関数を使用します。

  • [DATE]
    午前 0 時の年、月、日を表す datetime 値を返します。

    構文

    DATE(year, month, day)

  • [DATEONLY]
    datetime 値から年、月、日を返します。

    構文

    DATEONLY(datetime)

  • [DATETIME]
    年、月、日、時、分、秒を表す datetime を返します。

    構文

    DATETIME(year, month, day, hour, minute, second)

  • [YEAR]
    datetime から年の値を返します。

    構文

    YEAR(datetime)

  • [QUARTER]
    datetime の四半期 (1 ~ 4) を返します。

    構文

    QUARTER(datetime)

  • [MONTH]
    datetime から月を返します。

    構文

    MONTH(datetime)

  • [DAY]
    datetime から日を返します。

    構文

    DAY(datetime)

  • [HOUR]
    datetime から時を返します。

    構文

    HOUR(datetime)

  • [MINUTE]
    datetime から分を返します。

    構文

    MINUTE(datetime)

  • [SECOND]
    datetime から秒を抽出します。

    構文

    SECOND(datetime)

  • [WEEK]
    カレンダー年の通算の週数を表す数値を返します。

    構文

    WEEK(datetime)

  • [DAYOFWEEK]
    月曜日を起点として、曜日を返します。月曜日が 1 で、日曜日が 7 になります。

    構文

    DAYOFWEEK(datetime)

  • [NOW]
    現在の日付と時刻を返します。

    構文

    NOW( )

  • [TODAY]
    現在の日付を返します。

    構文

    TODAY( )

  • [DATEDIFF]
    開始日と終了日の間隔を返します。

    構文

    DATEDIFF(interval, datetime, datetime)

  • [DATEADD]
    指定の時間間隔を元の datetime に加えた結果である datetime を返します。

    構文

    DATEADD(interval, units, datetime)

論理演算子

条件の論理をテストするには、次の関数を使用します。

  • [AND]
    すべての引数が TRUE の場合に TRUE を返し、1 つ以上の引数が FALSE の場合に FALSE を返します。

    構文

    AND(logical, logical)

    引数は、TRUE や FALSE などの論理値として評価されるか、または論理値を含んでいる配列または参照である必要があります。配列または参照の引数にテキストや空のセルがある場合、その値は無視されます。

  • [OR]
    いずれかの引数が True である場合は True を返し、すべての引数が False である場合は False を返します。

    構文

    OR(logical, logical)

    引数は、True や False などの論理値として評価されるか、または論理値を含んでいる配列または参照である必要があります。配列または参照にテキストや空のセルがある場合、その値は無視されます。

  • [NOT]
    その引数の値を反転します。NOT は、句が特定の値と等しくないことを確認する場合に使用します。

    構文

    NOT(logical)

    条件が False の場合、NOT は True を返します。条件が True の場合、NOT は False を返します。

数学

数値の操作には、次の関数を使用します。

  • [MOD]
    数値を除数で除算した後の剰余を返します。0 は除数として使用できません。

    構文

    MOD(number, divisor)

  • [TRUNC]
    指定した桁数で数値を切り捨てます。数値が正の場合は、小数点の右側の指定桁数に切り捨てられます。数値が負の場合は、小数点の左側の指定桁数に切り捨てられます。

    構文

    TRUNC(number, digits)

  • [ROUND]
    指定した桁数で数値を丸めます。

    構文

    ROUND(number, digits)

    桁数が 0 (ゼロ) より大きい場合、数値は指定した小数点以下の桁数に丸められます。桁数が 0 (ゼロ) の場合、数値は最も近い整数に丸められます。桁数が 0 より小さい場合、数値は小数点の左側の桁で丸められます。

演算子

算術演算子

加算、減算、乗算などの基本的な算術演算、数字の組み合わせ、数値結果の生成を実行するには、次の演算子を使用します。[関数ショートカット] には、よく使用される算術演算子が用意されています。

  • + (加算)
    2 つ以上の数字を合計する場合に使用します。

    構文

    value + value

  • - (減算)
    ある値から別の値を減算する場合に使用します。

    構文

    value- value

  • * (乗算)
    アイテムを乗算するために使用します。

    構文

    value* value

  • / (除算)
    アイテムの除算に使用します。0 は除数として使用できません。

    構文

    value/divisor

  • - (負数化)
    値の符号を変更します。

    構文

    -value

  • ^ (累乗)
    値をべき乗 (累乗) します。

    構文

    value^power

  • = (等しい)
    2 つの値を同一と見なします。value1 が value2 と等しい場合に True になります。

    構文

    value1= value2

  • <> (等しくない)
    2 つの値が等しくないことを示す場合に使用します。value1 が value2 と等しくない場合に True になります。

    構文

    value1 <> value2

  • > (より大きい)
    ある値が別の値より大きいことを示す場合に使用します。value1 が value2 より大きい場合に True になります。

    構文

    value1 > value2

  • >= (以上)
    ある値が別の値以上であることを示す場合に使用します。value1 が value2 以上である場合に True になります。

    構文

    value1 >= value2

  • < (より小さい)
    ある値が別の値より小さいことを示す場合に使用します。value1 が value2 より小さい場合に True になります。

    構文

    value1 < value2

  • <= (以下)
    ある値が別の値以下であることを示す場合に使用します。value1 が value2 以下である場合に True になります。

    構文

    value1 <= value2

テキスト

テキストを操作するには、次の関数を使用します。

  • [CONCAT (&)]
    2 つの文字列を 1 つに連結します。2 番目の文字列が最初の文字列の後に付加されます。

    構文

    string & string

  • [FIND]
    文字列の最初のインスタンスの位置を検出します。

    構文

    FIND(string, substring)

  • [LEFT]
    文字列の左端の文字を返します。関数の引数 length にゼロ未満の値を指定した場合の動作は不定です。

    構文

    LEFT(string, length)

  • [LENGTH]
    文字列内の文字数を返します。

    構文

    LENGTH(string)

  • [LOWER]
    文字列を大文字から小文字に変換します。

    構文

    LOWER(string)

  • [LTRIM]
    文字列の先頭のスペースを削除して返します。

    構文

    LTRIM(string)

  • [REPLACE]
    サブストリングのすべてのインスタンスを別のサブストリングで置換した文字列を返します。

    構文

    REPLACE(find, replace, string)

  • [RIGHT]
    文字列の右端の文字を返します。関数の引数 length にゼロ未満の値を指定した場合の動作は不定です。

    構文

    RIGHT(string, length)

  • [RTRIM]
    文字列の末尾のスペースを削除して返します。

    構文

    RTRIM(string)

  • [TEXT]
    数値を文字列に変換します。

    構文

    TEXT(value)

  • [SUBSTRING]
    文字列内のサブストリングを返します。関数の引数 length にゼロ未満の値を指定した場合の動作は不定です。

    構文

    SUBSTRING(string, start, length)

  • [UPPER]
    文字列を小文字から大文字に変換します。

    構文

    UPPER(string)

情報

ユーザーの総合的な情報を返すには、次の関数を使用します。

  • [GETUSERID]
    ユーザーがデータへのアクセスに使用した ID を返します。

    構文

    GETUSERID()

  • [GETUSERCULTURE]
    ユーザーの言語またはロケールを返します。

    Syntax

    GETUSERCULTURE()