跳到主要內容

FieldIndex - 指令碼與圖表函數

FieldIndex() 會傳回在欄位 field_name 中欄位值 value 的位置 (依據載入順序)。

語法:  

FieldIndex(field_name , value)

傳回的資料類型: 整數

引數:  

  • field_name:索引需要的欄位名稱。例如表格中的資料行。 必須指定為字串值。這表示欄位名稱必須以單引號括住。
  • value:欄位 field_name 的值。

限制:  

  • 當任何圖表運算式使用了此圖表函數時,就不允許在圖表中依據 Y 值排序,或在表格中依據運算式資料行排序。因此,這些排序替代選項會自動停用。若您在視覺化或表格中使用此圖表函數,視覺化的排序將還原為對此函數的排序輸入。此限制不適用於對等指令碼函數。

  • 若無法在欄位 field_name 的欄位值內找到 value,則會傳回 0。

範例:  

新增以下範例資料到您的文件中並加以執行。以下範例使用來自表格 Names 的欄位:First name

範例與結果
範例 結果

圖表函數 - 在包含維度 First name 的表格中,新增為量值:

FieldIndex ('First name','John')

1,因為「John」是 First name 欄位載入順序中第一個出現者。請注意,列表框 John 會出現在頂端第二項,因為是以字母排序而非載入順序。

具有 First name 的圖表函數:

FieldIndex ('First name','Peter')

4,因為 FieldIndex() 只傳回一個值,即為載入順序中第一個出現者。

指令碼函數 - 假定表格 Names 已載入,如同樣本資料:

John1:

Load FieldIndex('First name','John') as MyJohnPos

Resident Names;

MyJohnPos=1,因為「John」是 First name 欄位載入順序中第一個出現者。請注意,列表框 John 會出現在頂端第二項,因為是以字母排序而非載入順序。

具有 Names 的指令碼函數:

Peter1:

Load FieldIndex('First name','Peter') as MyPeterPos

Resident Names;

MyPeterPos=4,因為 FieldIndex() 只傳回一個值,即為載入順序中第一個出現者。

範例中使用的資料:

Names:

LOAD * inline [

"First name"|"Last name"|Initials|"Has cellphone"

John|Anderson|JA|Yes

Sue|Brown|SB|Yes

Mark|Carr|MC |No

Peter|Devonshire|PD|No

Jane|Elliot|JE|Yes

Peter|Franc|PF|Yes ] (delimiter is '|');

 

John1:

Load FieldIndex('First name','John') as MyJohnPos

Resident Names;

 

Peter1:

Load FieldIndex('First name','Peter') as MyPeterPos

Resident Names;

此頁面是否對您有幫助?

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

加入分析現代化計畫

Remove banner from view

透過分析現代化程式進行現代化而不犧牲寶貴的 QlikView 應用程式。 按一下這裡 取得更多資訊或聯繫: ampquestions@qlik.com