跳到主要內容 跳至補充內容

SubField - 指令碼與圖表函數

SubField() 用來從上層字串欄位中擷取子字串元件,其中原始記錄欄位包含兩個或多個部分,以分隔符號分隔。

可以使用 Subfield() 函數,例如,為了從包含完整名稱的記錄清單中擷取名字和暱稱、路徑名稱的元件部分,或者從逗點分隔的表格中擷取資料。

如果您在 LOAD 陳述式中使用 Subfield() 函數,並且省略選用 field_no 參數,將針對每一個子字串產生一筆完整記錄。如果使用 Subfield() 載入數個欄位,則會建立所有組合的 Cartesian 產品。

語法:  

SubField(text, delimiter[, field_no ])

傳回的資料類型: 字串

引數:  

引數
引數 描述
text 原始字串。這可以是硬式編碼文字、變數、貨幣符號展開或其他運算式。
delimiter 輸入 text 內將字串分為元件部分的字元。
field_no

選用第三引數是一個整數,指定要傳回上層字串 text 中的哪個子字串。使用值 1 可傳回第一個子字串,使用值 2 可傳回第二個子字串,以此類推。

  • field_no 為正值,會從左至右擷取子字串。
  • field_no 為負值,會從右至左擷取子字串。
提示備註 可以使用 SubField(),來取代函數的複雜組合 (例如 Len()Right()Left()Mid() 及其他字串函數)。
範例:圖表運算式
範例 結果
SubField(S, ';' ,2) 如果 S'abc;cde;efg',則傳回 'cde'
SubField(S, ';' ,1) 如果 S 為空字串,則會傳回空字串 。
SubField(S, ';' ,1) 如果 S';',則傳回空字串。

假定您有一個包含路徑名稱 vMyPath

Set vMyPath=\Users\ext_jrb\Documents\Qlik\Sense\Apps;

 

在文字與影像圖表中,您可以新增量值,例如:
SubField(vMyPath, '\',-3),這將產生 'Qlik’,因為它是從變數 vMyPath 右端起的第三個子字串。

範例:使用 SubField 的指令碼和圖表運算式

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!