この記事は、文字列関数と Tableau での用途について紹介します。また、例を使用して文字列計算を作成する方法を示します。
文字列関数を使う理由
文字列関数は、文字列データ (つまりテキストデータ) の操作を可能にします。Tableau は、文字列を比較するときに、最新の International Components for Unicode (ICU) ライブラリを使用します。文字列の並べ替えや比較の方法は言語とロケールの両方に基づいています。ICU が継続的な更新と言語サポートの向上に伴い、Viz が変更される可能性があります。
たとえば、全顧客の姓名を含むフィールドがあるとします。あるメンバーは Jane Johnson です。文字列関数を使って、全顧客の姓だけを新しいフィールドに取り込むことができます。
計算結果は次のようになります。
SPLIT([Customer Name], ' ', 2)
そのため、SPLIT('Jane Johnson' , ' ', 2) =
'Johnson' となります。
Tableau で利用可能な文字列関数:
関数 | 構文 | 定義 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASCII | ASCII(string) |
例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CHAR | CHAR(number) | ASCII コード 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CONTAINS | CONTAINS(string, substring) | 特定の文字列に指定されたサブ文字列が含まれている場合は、true を返します。 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENDSWITH | ENDSWITH(string, substring) | 特定の文字列が指定されたサブ文字列で終わる場合は、true を返します。行末の空白は無視されます。 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FIND | FIND(string, substring, [start]) |
例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FINDNTH | FINDNTH(string, substring, occurrence) | 指定した文字列内のサブストリングが n 番目に現れる位置を返します。ここで、n は出現引数によって定義されます。 注: FINDNTH は、すべてのデータ ソースで使用できません。 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LEFT | LEFT(string, number) | 文字列内の一番左から n 文字分を返します (n は引数で指定された数)。 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LEN | LEN(string) | 文字列の長さを返します。 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LOWER | LOWER(string) |
例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LTRIM | LTRIM(string) | 先頭の空白を削除した文字列を返します。 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MAX |
|
例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MID | (MID(string, start, [length]) | インデックス位置 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MIN | MIN(a, b) |
例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PROPER | PROPER(string) | 各単語の最初の文字が大文字で、残りの文字が小文字になるようにテキスト文字列を変換します。スペースや句読点などの英数字以外の文字も区切り文字として機能します。 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REPLACE | REPLACE(string, substring, replacement) |
例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RIGHT | RIGHT(string, number) |
例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RTRIM | RTRIM(string) | 末尾の空白を削除した 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SPACE | SPACE(number) | 指定された文字 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SPLIT(string, delimiter, token number) |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
STARTSWITH | STARTSWITH(string, substring) |
例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TRIM | TRIM(string) | 先頭と末尾の空白を削除した文字列を返します。 例:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UPPER | UPPER(string) | string のすべての文字を大文字に返します。 例:
|
文字列計算の作成
次の手順に従って、文字列計算の作成方法を学習してください。
Tableau Desktop で、Tableau に付属の "Sample - Superstore (サンプル - スーパーストア)" 保存済みデータ ソースに接続します。
ワークシートに移動します。
[データ] ペインの [ディメンション] から、"Order ID (注文 ID)"を[行] シェルフまでドラッグします。
各注文 ID には、国 (たとえば CA や US)、年 (2011)、注文番号 (100006) が含まれています。この例では、フィールドから注文番号のみを取り込む計算を作成します。
[分析] > [計算フィールドの作成] を選択します。
開いた計算エディターで、次の操作を実行します。
計算フィールドに「Order ID Numbers (注文 ID 番号)」と名前を付けます。
次の式を入力します。
RIGHT([Order ID], 6)
この式は、文字列の右から指定された桁数 (6) を新しいフィールドに取り込みます。
そのため、
RIGHT('CA-2011-100006' , 6)
= '100006' となります。終了したら、[OK] をクリックします。
新しい計算フィールドは、[データ] ペインの [ディメンション] に表示されます。他のフィールドと同様に、このフィールドを 1 つ以上のビジュアライゼーションで使用できます。
[データ] ペインから、"Order ID Numbers (注文 ID 番号)" を [行] シェルフにドラッグします。"Order ID (注文 ID)" の右側に配置します。
フィールドが変わりました。