お問い合わせ
3 分で読むことができます。

関数Tips:Qlik SenseのTrueとFalse

執筆者 Deck 更新日時 2017年7月27日

Topics: 関数

■目次

Qlik Senseで真偽値判定【True OR False】

こんにちは。Deckです。

Qlik SenseではIf関数を使うときや、スクリプト、演算実行条件などで真偽値を扱うことが多くあります。

 

そこで、Qlik Senseでどういった値がTrue(=条件は真である)あるいはFalse(=条件は偽である)として取り扱われるのかを確認しておきましょう。

 

前提:Qlik SenseにおいてTrueとFalseとは?

そもそもQlik SenseにおいてTrueとFalseとは一体何なのでしょうか?

Qlik Senseのシート編集画面から「テーブル」を追加し、True()関数とFalse()関数を呼び出してみましょう。

 

 

「列の追加」→「軸」をクリックし、入力欄の先頭にイコールをつけて数式を入力します。

 

Qlik SenseのTrue()関数はDual値を返すため、そのままでは文字列に見えますが内部的には数値を持っています。

Num()関数、Text()関数を使って数値、文字列の表現を取り出してみましょう。

 

同様にFalse()関数の数値表現、文字列表現を取り出すと以下のようになります。

 

上記の結果から、次のことがわかります。

  • True()関数は数値表現として-1を返している
  • False()関数は数値表現として0を返す

 

つまり、「-1はTrueとして扱われる」「0はFalseとして扱われる」ということですね。

 

If()関数を使って確かめてみる

いろいろな値をIf()関数のパラメータに使い、どのような値がTrue,Falseとして扱われるのか試してみましょう。

 

次の値はTrueとして扱われる例です。

  • 0以外のプラス・マイナスの数値
    =If(1,'True','False') True
    =If(-1,'True','False') True
  • 0以外の数値のテキスト表現
    =If('-1','True','False') True
  • 数値表現が0以外のDual値
    =If(Dual('Text',1),'True','False') True

 

以下の値はFalseとして扱われる例です。

  • 数値の0
    =If(0,'True','False') False
  • 数値の0のテキスト表現
    =If('0','True','False') False
  • 数値に変換できないテキスト表現
    ※文字列の『'True'』はFalseとして扱われるので注意しましょう!
    =If('True','True','False') False
    =If('False','True','False') False
  • 長さが0のテキスト表現
    =If('','True','False') False
  • Null(有効な値ではない)
    =If(Null(),'True','False') False

 

実際の活用例

0がFalseとなることを利用して、If()とLen()を組み合わせる

If(Len(文字列),'長さが1以上','長さが0')

 

空の文字列でもNullであるときも長さは0なので、データが有効な文字列であるかどうかを判別するときに便利です。

有効(=長さが1以上)な文字列はTrue、無効な(=長さが0)のデータはFalseとして判定されます。

 

この記事は、以上です。

Qlik Senseを体験してみませんか?

INSIGHT LABではQlik紹介セミナーを定期開催しています。Qlik SenseとQlikViewの簡単な製品概要から、Qlikの特性である「連想技術」のご紹介、デモを通してQlik SenseとQlikViewの操作感や美しいインターフェースをご覧いただきます。企業の大切な資産である膨大なデータからビジネスを発見する 「Business Discovery」を是非ご体験ください。

詳細はこちら

Deck

執筆者 Deck

BIスペシャリスト