QlikViewナレッジ - INSIGHT LAB

【QlikView】Index関数を使う

作成者: KJ|2014年2月17日

QlikView(クリックビュー)では、文字列の指定した値の開始位置を返すIndex関数を使うことができます。

文字列①を分割する開始位置nを返します。

開始位置nが省略されている場合は、1番目のものについて処理されます。

開始位置nが負の場合は、文字列1の終わりから検索が実行されます。

結果は整数になります。文字列内での位置は、1から順に番号が付けられます。

リストボックスに文字列を入れてみましょう。

リストボックス作成

1.リストボックスの追加ウインドウを開きます。

以下のように文字列の入ったリストボックスを作成します。

 

ロードスクリプト

まずロードスクリプト編集ウィンドウを開きます

1.『word』に以下のように入力してください。

Index('abcdefghijklm','h') as word

2.【リロードボタン】を押してください。

 

 

以上の作業でリストボックスが作成できていることが確認できます。

 

『h』は8文字目に納められているため『8』が表示されています。

では抜き出したい文字が重複している場合はどうすれば良いでしょうか。

 

再びロードスクリプト編集ウィンドウを開いてください。

 

ロードスクリプト

1.Indexの中に以下のように入力してください。

Index('abchdehfghijklm','h','2') as word

『a…m』の間に『h』は4番目と7番目と10番目に格納されています。

この文字列の中から2文字目の『h』だけを抜き出します。

2.【リロードボタン】を押してください。

 

以上の作業から、リストボックスが作成できたことが確認できます。

 

2個目の『h』が7文字目に格納されているのがわかります。

では次に、負の数で求めた場合はどのように表示されるでしょうか。

 

ロードスクリプト

1.indexの中に以下のように入力しましょう。

Index('abchdehfghijklm','h','-3') as word

この文字列の右側から数えて三番目の『h』を抜き出したい場合、負の数を使って求めます。

2.【リロードボタン】をクリックします。

 

 

以上の作業からリストボックスが完成したことが確認できます。

 

 

Qlikで使える関数一覧は、こちら