全部展開/全部摺疊
Mid - 指令碼與圖表函數在此頁面
Mid() 會傳回輸入字串的部分,從第二個引數 'start' 定義的字元位置開始,並傳回第三個引數 'count' 定義的字元數目。如省略 'count',則會傳回剩餘的輸入字串。輸入字串中的第一個字元編號為 1。
語法:
Mid( text, start[, count])
傳回的資料類型: 字串
引數
text
原始字串。
start
定義要包括的 text 第一個字元位置的整數。
count
定義輸出字串的字串長度。如果省略,會包括 start 定義位置的所有字元。
範例:圖表運算式
Mid( 'abcdef',3 )
傳回 cdef
Mid( 'abcdef',3, 2 )
傳回 cd
範例 - Mid 基礎事項
圖表運算式
概述
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入到稱為 Example 之資料表格的資料集。
資料表格中的欄位如下:
載入指令碼
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 欄位中的值開始。
結果表格
InputText
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 。此運算式從位置 2 開始,並傳回所有字元,因為未設定 Count 引數。第二個運算式也從位置 2 開始,但僅傳回字元 bcd ,因為 Count 引數是 2。
第二列傳回第一個運算式的值 cdef 。此運算式從位置 3 開始,並傳回所有字元,因為未設定 Count 引數。第二個運算式也從位置 3 開始,但僅傳回字元 cd ,因為 Count 引數是 2。
第三列傳回第一個運算式的值 10714 。此運算式從位置 2 開始,並傳回所有字元,因為未設定 Count 引數。第二個運算式也從位置 2 開始,但僅傳回字元 107 ,因為 Count 引數是 3。
第四列傳回第一個運算式的值 0714 。此運算式從位置 3 開始,並傳回所有字元,因為未設定 Count 引數。第二個運算式也從位置 2 開始,但僅傳回字元 07 ,因為 Count 引數是 2。
載入指令碼
以下程式碼顯示如何在載入指令碼中使用該函數。
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
];
將代碼複製到剪貼簿
結果表格
Text 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 之資料表格的資料集。
資料表格中稱為 OrderID 的一個欄位。
載入指令碼
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
UK
ORD2024-US-123456
US
Mid 函數的輸出已成功從 OrderID 字串值中擷取兩個字母的國家代碼。