Mid - スクリプトおよびチャート関数
Mid() は、2 番目の引数「start」で定義された文字の位置で始まり、3 番目の引数「count」で定義された文字数を返す入力文字列の一部を返します。'count' が省略されている場合、入力文字列の残りが返されます。入力文字列の最初の文字には、1 が付けられます。
構文:
Mid(text, start[, count])
戻り値データ型: 文字列
引数
text
|
元の文字列。 |
start
|
text に含まれる最初の文字の位置を定義する整数。 |
count
|
出力文字列の文字列長を定義します。省略されている場合は、start で定義された位置からのすべての文字が含まれます。 |
例: チャートの数式
Mid( 'abcdef',3 )
|
cdef を返します |
Mid( 'abcdef',3, 2 )
|
cd を返します |
例 - Mid の基本
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Example:
Load * inline [
InputText, StartPosition, CharacterCount
abcdef, 3, 2
abcdef, 2, 3
210714, 3, 2
210714, 2, 3
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
-
InputText
-
StartPosition
-
CharacterCount
次の計算軸を作成します。
-
=mid(InputText,StartPosition)、StartPosition 項目の開始値から、InputText から抽出する文字を計算します。Count パラメータが指定されていないため、この関数は StartPosition の値から InputString の末尾までのすべての文字を返します。
-
=mid(InputText,StartPosition,CharacterCount)、StartPosition 項目の開始値から、InputText から抽出する文字を計算します。CharacterCount の値は、StartPosition 項目の値を開始値として、返される文字数を決定します。
結果テーブル
入力テキスト |
StartPosition |
CharacterCount
|
Mid(InputText,StartPosition) |
Mid(InputText,StartPosition,CharacterCount |
abcdef |
2 |
3 |
bcdef |
bcd |
abcdef |
3 |
2 |
cdef |
cd |
20210714 |
2 |
3 |
10714 |
107 |
20210714 |
3 |
2 |
0714 |
07
|
最初の行は、最初の式の値 bcdef を返します。Count 引数が設定されていないため、式は位置 2 から始まり、すべての文字を返します。Count 引数が 2 であるため、2 番目の式も位置 2 から始まりますが、文字 bcd のみを返します。
2 番目の行は、最初の式の値 cdef を返します。Count 引数が設定されていないため、式は位置 3 から始まり、すべての文字を返します。Count 引数が 2 であるため、2 番目の式も位置 3 から始まりますが、文字 cd のみを返します。
3 番目の行は、最初の式の値 10714 を返します。Count 引数が設定されていないため、式は位置 2 から始まり、すべての文字を返します。Count 引数が 3 であるため、2 番目の式も位置 2 から始まりますが、文字 107 のみを返します。
4 番目の行は、最初の式の値 0714 を返します。Count 引数が設定されていないため、式は位置 3 から始まり、すべての文字を返します。Count 引数が 2 であるため、2 番目の式も位置 2 から始まり、文字 07 のみを返します。
次のコードは、ロード スクリプトで関数を使用する方法を示しています。
Example:
Load *,
mid(Text,StartPosition) as Mid1,
mid(Text,StartPosition,Count) as Mid2;
Load * inline [
Text, StartPosition, Count
'abcdef', 3, 2
'abcdef', 2, 3
'210714', 3, 2
'210714', 2, 3
];
結果テーブル
テキスト | StartPosition | Mid1 | 個数 | Mid2 |
abcdef | 3 | cdef | 2 | cd |
abcdef | 2 | bcdef | 3 | bcd |
210714 | 3 | 0714 | 2 | 07 |
210714 | 2 | 10714 | 3 | 107 |
例 - Mid のシナリオ
概要
データソースには、次の構造化フォーマットを使用する OrderID という列が含まれています: ORDYYYY-COUNTRYCODE-ORDERNUMBER。レポート要件を満たすには、国コードを別の列として抽出して表示する必要があります。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Orders:
Load * inline [
OrderID
ORD2024-US-123456
ORD2024-UK-654321
ORD2024-CA-789123
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:
次の計算軸を作成します。
結果テーブル
OrderID |
Mid(OrderID, 9, 2) |
ORD2024-CA-789123 |
CA |
ORD2024-UK-654321 |
イギリス |
ORD2024-US-123456 |
US |
Mid 関数の出力は、OrderID の文字列値から 2 文字の国コードを抽出することに成功しました。