上次修改日期 : 11 Mar 2024
環境
- Tableau Desktop
答案
以下說明會描述如何從長字元字串中擷取子字串,並且可以在附加的工作簿中進行查看。- 選擇「分析」>「創建計算欄位」。
- 在開啟的「計算欄位」對話方塊中:
- 命名此計算欄位。在範例工作簿中,計算欄位名為 Substring。
- 在公式欄位中,建立類似如下的計算欄位:
IF CONTAINS([<Dimension>], '<Identifying Character 1>') THEN MID( [<Dimension>], FIND([<Dimension>],'<Identifying Character 1>') + 1, FIND([<Dimension>],'<Identifying Character 2>') - (FIND([<Dimension>],'<Identifying Character 1>') +1) ) END
- 按一下「確定」。
- 將 Substring 拖到列架。
其他資訊
- 此計算不包括最終子字串中的識別字元。若要包括識別字元,請移除上述計算中在兩個位置出現的「+1」。
- 使用 CONTAINS([<Dimension>], '<Identifying Character 1>') 條件的 IF 陳述式會篩選出不包含第一個識別字元的任何字串。這是有必要的,因為若找不到該字元,FIND() 會傳回 0,這仍然是 MID() 的有效起始位置。
- 「標識字元 1」會位於所需子字串的開頭。
- 「識別字元 2」會位於所需子字串的末尾。
- 嘗試在同一字元的 2 個執行個體之間尋找子字串時(例如,字串「the *dog* is brown」中的「 dog」)時,請對第二個執行個體使用 FINDNTH(),而不是 FIND()。這可能類似於:
-
MID( [<Dimension>], FIND([<Dimension>],'<Identifying Character>') + 1, FINDNTH([<Dimension>],'<Identifying Character>', 2) - (FIND([<Dimension>],'<Identifying Character>') +1) )
-
感謝您針對本文的效益提供意見回饋。
開啟新案例
繼續搜尋
知識庫
社群
產品說明
訓練及教學課程
Trending Articles
Results 1-3 of 49