論理計算フィールド
論理計算フィールドは、データ ソースの 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 である必要があります。
And と Or
and
および or
関数は、適用する必要のある 2 つの論理テストを宣言してネスト if 条件を構築できます。and および or に同じ構文があります。
関数名 | 論理テスト 1 | 論理テスト 2 | 出力 |
---|---|---|---|
and (…) | logical1 | logical2 | 両方の条件が満たされる場合、1 を返します。 条件の 1 つのみを満たす場合、または 条件が満たされない場合、0 を返します。 |
or (…) | logical1 | logical2 | 両方の条件、または条件の1 つのみを満たす場合、1 を返します。条件が満たされない場合、0 を返します。 |
サンプル
以下は and および or サンプルの例です。
-
and([BirthDate]>date(1983,07,15,04,06,55), [Department]="CPA")
-
or([Office]="London,UK",[BirthDate]<date(1992,09,15,4,06,55))
含まれる構文は同じです。
関数名 | 論理テスト 1 | 論理テスト 2 | 出力 |
---|---|---|---|
and (…) | [BirthDate]>date(1983,07,15,04,06,55) | [Department]="CPA" | 行に基づいた 1 および 0。 |
or (…) | [Office]="London,UK" | [BirthDate]<date(1992,09,15,4,06,55) | 行に基づいた 1 および 0。 |
and
計算フィールドは 4 つの TRUE 行のみ返します。
-
行 7 (従業員 Zolleis Walker)。
-
行 57 (従業員 Yancy Martinez)。
-
行 94 (従業員 Nicolas Favarelli)。
-
行 96 (従業員 Jorge Stanatto)。
ルールでフィルターするまたは値を選択する 1.00 を適用した場合のみ 2 つの行を確認します。
Zolleis Walker を見つけるために and 条件を設定し直す場合、以下の論理テストを使用できます。
関数名 | 論理テス 1 | 論理テス 2 | 論理テス 3 |
---|---|---|---|
and (…) | [BirthDate]>date(1981,07,15,4,06,05) | [Department]="CPA" | [Wage]>150000 |
[Office]="Tokyo,Japan" |
and/or 関数を isempty 計算フィールドと組み合わせて同じ結果を取得することも可能です。
関数名 | 論理テス 1 | 論理テス 2 | 論理テス 3 | 論理テス 4 |
---|---|---|---|---|
and (…) | 同上 | 同上 | [OfficeId]>=3 | ISEMPTY([ResignedDate]) |
構文が追加の引数によって複雑になるため、追加の条件をネストして論理テストをグループ化できます。結果に影響はありませんが、2 つ目の and を明確に定義する必要があります。
and([BirthDate]>date(1981,07,15,4,06,05),[Department]="CPA",[OfficeId]>=3,ISEMPTY([ResignedDate]))
-
論理テス 1:
[BirthDate]>date(1983,07,15,4,06,55)
-
論理テス 2:
[Department]="CPA"
-
論理テス 3:
[OfficeId]>=3
-
論理テス 4:
ISEMPTY([ResignedDate])