論理計算フィールド
論理計算フィールドは、データ ソースの 2 つ以上の値の比較に使用できます。値を送信した論理テストに基づいて常に 0 または 1 を返します。
Reveal では、論理計算フィールドは次のとおりです。
-
引数のない関数: それぞれ 1 と 0 を返す
true()およびfalse()。 -
論理テストのある複素関数: 各関数の詳細な情報は、以下の表にあるリンクをクリックしてください
以下の表のすべてのサンプルは HR Dataset 2016 スプレッドシートで作成されました。
論理関数:
| 関数名 | 構文とサンプル |
|---|---|
and: and は 2 つの論理テストを実行します。論理テストは true の場合、1 を返します。1 つまた 2 つは false の場合、0 を返します。 | 構文: and({logical1},{logical2})サンプル: and([BirthDate]>date(1983, 07, 15, 04, 06, 55),[Department]="CPA") |
false: false は論理値の false である 0 を返します。 | 構文: false()サンプル: false() |
if: if は論理テストを実行します。論理テストは true の場合、1 を返します。論理テストは false の場合、0 を返します。 | 構文: if({logical test},{value if true},{value if false})サンプル: if([BirthDate]<(1971,04,15,4,06,55),1,0) |
not: not は論理テストを実行します。論理テストは false の場合、1 を返します。論理テストは true の場合、0 を返 します。 | 構文: not({logical})サンプル: not([OfficeId]>=3) |
or: or は 2 つの論理テストを実行します (if ステートメント)。論理テスト の 1 つのいずれか true の場合、1 を返します。両方が false の場合、0 を返します。 | 構文: or({logical1},{logical2})サンプル: or(if([Office]="London,UK",1,0),if([BirthDate]<date(1992,09,15,4,06,55),1,0)) |
true: true は論理値の true である 1 を返します。 | 構文: true()サンプル: true() |
If
If 関数で論理テストで定義した特定の条件を満たす結果を見つけることができます。3 つの引数で構文されます。
-
logical test: 平均を計算するための式に必要な条件。 -
value if true論理テストが true の場合に関数がアウトプットする値。 -
value if false: 論理テストが false の場合に関数がアウトプットする値。
基本サンプル
たとえば、上記の表の例です。
if([BirthDate]<date(1971,04,15,4,06,55),1,0)
より明確にするために関数を上記で定義した用語に基づいて区別します。
| 関数名 | 論理テス | true の場合の値 | false の場合の値 |
|---|---|---|---|
| if (…) | [BirthDate]<date(1971,04,15,4,06,55) | 1 | 0 |
論理テストでデータ ソースの expression と論理テストを組み合わせます。
| 式 | 演算子 | 条件の引数 |
|---|---|---|
[BirthDate] | < | date(1971,04,15,4,06,55) |
date 引数は date で説明された構文に従います。
| 関数名 | 年 | 月 | 日 | 時 | 分 | 秒 |
|---|---|---|---|---|---|---|
date(…) | 1971 | 04 | 15 | 4 | 06 | 55 |
以下は数値以外の例です。
if([Department]="Development",1,0)
説明:
| 関数名 | 論理テス | true の場合の値 | false の場合の値 |
|---|---|---|---|
| if (…) | [Department]="Development" | 1 | 0 |
ネスト IF 文のサンプル
論理演算子 (and、or) の後ろに続けてネスト IF 文を使用できます。
以下は if 文が 2 つある例ですが、if 文を使用する際の上限はありません。
maxif([Wage], and([OfficeId]=1, [Department]="Development"))
説明:
| 関数名 | 式 | 管理演算子 |
|---|---|---|
| maxif (…) | [Wage] | and |
if-condition のステートメント:
-
[BirthDate]>date(1992,09,15,4,06,55) -
[Department]="Development"
論理演算子が and であるため、実行する maxif 集計の両方の条件が true である必要があります。