[式の定義] ダイアログ ボックス (レポート ビルダ 1.0)
式を含んでいる新しいフィールドを作成します。
オプション
[フィールド]
このタブは、式に含めるフィールドをレポート モデル内で検索するために使用します。フィールドをダブルクリックすると式に追加できます。[関数]
このタブは、式で使用する関数を選択するために使用します。関数をダブルクリックすると式に追加できます。各関数の説明については、次のセクションを参照してください。[フィールド名]
作成中の式の名前を入力します。[式]
式を記述および編集するために使用します。[検索]
クリックすると [検索] ダイアログ ボックスが起動します。関数ショートカット
[式] ボックスに表示された式に演算子を追加します。[式の定義] ダイアログ ボックスには、よく使用される関数へのショートカットがありますが、これらの演算子は [関数] タブから選択することもできます。各ショートカットの説明は次のとおりです。"+" は 2 つの値を加算する場合に使用します。
"-" はある値から別の値を減算する場合に使用します。
"*" は 2 つのテキスト値を乗算する場合に使用します。
"/" は値を除算するときに使用します。
"&" は 2 つの値を連結する場合に使用します。
"(" は計算の開始を指定します。
")" は計算の終了を指定します。
右クリックで表示されるオプション
このメニュー オプションを表示するには、[式] ボックス内または展開された式領域の式を右クリックします。
[展開]
このオプションをクリックすると、式とその式のコンテキスト エンティティとの関係が表示されます。フィルタしたり、集計レベルを表示したりする場合に使用します。[名前の変更]
このオプションをクリックすると、[式] ボックスに表示された式の名前を変更できます。[集計先]
フィールド名をクリックして、集計レベルを変更できます。このオプションは、式を展開した後でのみ使用できます。[フィルタが適用されていません]
[式] ボックスに表示されたフィールド名をダブルクリックすると、式が定義されているエンティティとそのフィールドの関係が表示されます。モデル パス内の任意の式にフィルタを適用できます。式にフィルタを適用するには、このオプションをクリックし、[新しいフィルタの作成] をクリックします。[データのフィルタ選択] ダイアログ ボックスが表示されます。
関数
このセクションでは、[式の定義] ダイアログ ボックスの [関数] タブ上にある各関数を説明します。
集計
数値の範囲の要約には次の関数を使用します。
SUM
値セット内の NULL 値以外のすべての値の合計を返します。構文
SUM(aggregate)
SUM は、数値のみが含まれているフィールドで使用できます。NULL 値は無視されます。
AVERAGE
値セット内の NULL 値以外のすべての値の平均値 (算術平均) を返します。構文
AVERAGE(aggregate)
AVERAGE は、数値のみが含まれているフィールドで使用できます。NULL 値は無視されます。
MAX
値セット内の NULL 値以外のすべての値の最大値を返します。構文
MAX(aggregate)
文字型列の場合は、照合順序に基づいた最高の値が返されます。NULL 値は無視されます。
MIN
値セット内の NULL 以外のすべての値の最小値を返します。構文
MIN(aggregate)
文字型列の場合は、照合順序に基づいた最低の値が返されます。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, …)
変換
データ型を別のデータ型に値を変換するには次の関数を使用します。
INT
値を整数に変換します。構文
INT(value)
DECIMAL
値を小数に変換します。構文
DECIMAL(value)
FLOAT
値を float データ型に変換します。構文
FLOAT(value)
TEXT
数値をテキストに変換します。構文
TEXT(value)
日付と時刻
日付と時刻を表示するには次の関数を使用します。
DATE
指定された年、月、および日の 12:00:00 AM を表現する日付/時刻値を返します。構文
DATE(year, month, day)
DATEONLY
指定された年、月、および日を表現する日付/時刻値を返します。構文
DATEONLY(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 から時 (0 ~ 23) を抽出します。構文
HOUR(datetime)
MINUTE
datetime から分を抽出します。構文
MINUTE(datetime)
SECOND
datetime から秒を抽出します。構文
SECOND(datetime)
DAYOFYEAR
datetime について、年頭からその日までの日数を表す通算日を返します。うるう年が想定されているので、1 月 1 日が 1、12 月 31 日が 366 となります。構文
DAYOFYEAR(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 を返します。
Math
数値の操作には、次の関数を使用します。
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 つの値を比較し、TRUE または FALSE の論理値を返すには、次の演算子を使用します。
= (等しい)
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
文字列の左端の文字を返します。構文
LEFT(string, length)
Length
文字列内の文字数を返します。構文
LENGTH(string)
Lower
文字列を大文字から小文字に変換します。構文
LOWER(string)
LTrim
文字列の先頭のスペースを削除して返します。構文
LTRIM(string)
Replace
サブストリングのすべてのインスタンスを別のサブストリングで置換した文字列を返します。構文
REPLACE(find, replace, string)
Right
文字列の右端の文字を返します。構文
RIGHT(string, length)
RTrim
文字列の末尾のスペースを削除して返します。構文
RTRIM(string)
Text
数値を文字列に変換します。構文
TEXT(value)
Substring
文字列内のサブストリングを返します。構文
SUBSTRING(string, start, length)
Upper
文字列を小文字から大文字に変換します。構文
UPPER(string)
情報
ユーザーの総合的な情報を返すには、次の関数を使用します。
GetUserID
ユーザーがデータへのアクセスに使用した ID を返します。構文
GETUSERID()
GetUserCulture
ユーザーの言語またはロケールを返します。Syntax
GETUSERCULTURE()