Spotfire® ユーザー ガイド

演算式言語の詳細

演算式言語の動作を確認しておくと、有効な演算式の作成がさらに簡単になります。このトピックでは、言語の基本機能の一部について説明します。

カラム名に含まれている英数字または _ (アンダースコア) 以外の文字は、"[" および "]" 文字 (角かっこ) で囲む必要があります。角かっこは、カラム名が関数名と同じ場合、あるいはカラム名が数字で始まる場合にも必要になります。例:
[Column 1]
[Sum]
式を <> で囲むと、カテゴリ式として処理されます。例:
<[Category column 1]>
複数のカラムは通常、コンマで区切ります。例:
[Column1],[Column2]
AS キーワードを使用して、式に新しい名前を指定し、基盤となる式を非表示にできます。例:
[Column1]/([Column1]+[Column2])AS Quota

軸の式にコンマが含まれている場合、軸全体の名前を変更することはできませんが、式の部分ごとに 1 つの名前を定義することはできます。

[Column1] AS [My first column], [Column2] AS [My second column]
定数は常に引数として使用できます。関数の説明で引数はカラムである必要があると記述されている場合でも同様です。
39+12*3
-(1-2)
複数のデータテーブルに基づくビジュアライゼーションを操作している場合、式は既定でメインのデータテーブルを参照します。別のデータ テーブルのカラムを参照する場合は、修飾名 Data Table Name].[Column Name] を使用する必要があります。次に例を示します。
Sum([Data Table 2].[Column1])

利用可能な演算子と関数の詳細な一覧については、「演算子」と「関数」も参照してください。

式のコメント

説明が必要なより複雑な式を作成する場合は、式にコメントを追加することができます。「//」記号を使用し、この記号の後のテキストがコメントであることを指定します。

次に例を示します。

Avg([Sales]) OVER Intersect([Cat], AllPrevious([Year])) //今年度までの、すべての年のカテゴリーごとの平均売上高を示します。
[Sales]/1000 //値を SEK ではなく kkr で表示するために、売上高を 1000 で除算しました

ビジュアライゼーション軸の式にコメントを追加する場合は、すべての編集に対してカスタム式ダイアログを引き続き使用することが期待されることに注意してください。これは、ドラッグ アンド ドロップの操作の影響によって式が大幅に再配置され、コメントを保持できなくなるためです。

特殊文字のエスケープ

Spotfire Expression Language では、特定の文字が特殊な意味を持つため、それらの文字をカラム名に含めるなど他の目的で使用する場合は、何らかの処理を行う必要があります。

エスケープ文字は、文字シーケンス内の次の文字が、特別な目的を実行しているアイテムではなく標準文字として認識される必要があることを、Expression Language に通知するのに使用される特殊文字です。

カラム名に角かっこが含まれている場合は、角かっこをエスケープする必要があります。角かっこのエスケープは、角かっこの前後にさらに角かっこ "[" および "]]" を追加することによって実行されます。たとえば、カラム名が [Name] の場合、式には [[Name]]] と記述されます。[計算カラムの追加] ダイアログ (インストールされたクライアントのみ) の [カラムの挿入] ボタンを使用してカラムを追加すると、カラム名の正しいエスケープが自動的に取得されます。

大文字と小文字の区別

  • 変数、関数、およびキーワードでは、大文字と小文字は区別されません:SUM(C1) = Sum(C1) = sum(C1)
  • カラム名の参照では、大文字と小文字が区別されます。
  • メソッドの呼び出し名では、大文字と小文字は区別されません。アドインの枠組みで定義されるすべてのメソッドを使用できます。サポートされるさまざまなメソッドの詳細については、「演算子」と「関数」を参照してください。

式の結果

式は、新規のカラムがどのように計算されるかを説明します。新規作成されたカラムには、データテーブルのその他すべてのカラムと同じ数のローがあります。NULL を処理する場合、既定の動作では、NULL に対する操作は NULL を返します。したがって、新しいカラムが [Column A]*2 として計算されて、Column A のいくつかのローに空の値がある場合、新しいカラムのそれらのローにも空の値が含まれます。

カテゴリ式 NEST および CROSS

カスタム演算式では、カテゴリカラム、階層カラム、および式は山かっこ "<>" の間に記述されます。式で複数のカテゴリが使用可能な場合、表示するカテゴリの組み合わせも指定する必要があります。そのためには、キーワード NEST (データに含まれる値の実際のすべての組み合わせを示す) または CROSS (データを現在保持していない組み合わせも含む、値のすべての可能な組み合わせを示す) を使用します。式内のすべてのカラムは、コンマではなく、「nest」または「cross」で区切る必要があり、2 つの組み合わせオプションを一緒に使用することはできません。
<[Category column 1] nest [Category column 2]>

たとえば、2 年間における月ごとの売上データを含むデータテーブルがあるが、2020 年の 2 月のデータが欠落している場合、それぞれのオプションでは、次のような結果になります。

Nest



2020 年 2 月のデータが得られないため、その箇所に棒 (および棒のプレースホルダ) が存在しません。このビジュアライゼーションは、カテゴリ軸の Nest オプションを使用して設定され、カスタム式
<[Year] NEST [Month]>
に対応します。

クロス



CROSS オプションを選択した場合、カテゴリのすべての可能な組み合わせを表示できます。したがって、2 月のデータが得られない場合でも、2020 年の 2 月カラムにプレースホルダが表示されます。対応するカスタム式は次のようになります:
 <CROSS [Year] CROSS [Month]>
(最初の CROSS はオプションです。)
注: CROSS オプションが選択されている場合でも、軸のモードによっては、ビジュアライゼーションに空のカテゴリが表示されないことがあります。インストールされたクライアントでは、軸を右クリックして [カテゴリ] を選択し、設定を表示または変更できます。[フィルターされた値を表示する] が選択されている場合、値を含まないカテゴリはビジュアライゼーションで非表示になります。この例で空のカテゴリを表示するには、[フィルターされた範囲を表示する] または [すべての値を表示する] を使用する必要があります。
ヒント: インストール済みクライアントでは、NEST/CROSS の設定、軸モードの設定、および軸の式の評価方法も、[ビジュアライゼーションのプロパティ] > [カテゴリの軸] > [詳細設定] ダイアログから指定できます。

値の検証

空の値は通常、データテーブルからカラム値を検出できない場合、計算に無効な値が含まれている場合、または式に明示的に NULL が記述されている場合に生成されます。結果が NULL になった場合は、"(Empty)" または空白が表示されます。Null 値は、SN() 関数を使用して置き換えることができます。

1 つのカラム内の集計では無効な値は無視されますが、カラム間のロー方向の計算では、関連カラムのいずれかに無効な値が含まれているたびに無効な値が生じます。