QlikViewナレッジ - INSIGHT LAB

【QlikView】Replace関数を使って文字列を置き換える

作成者: KJ|2014年4月21日

QlikView(クリックビュー)では開始位置を指定し、その位置から指定した文字数分を別の文字列に置き換えることができます。

ロードスクリプト上で使ってみましょう。

 

● リストボックスの作成

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

2.以下のように文字列がたくさん入った【リストボックス】を作成します。

このリストボックスに格納されている文字列を『2014/02/04』、『2016/11/21』、『2015/09/14』、『2016/07/07』という日付に直していきましょう。

 

■ ロードスクリプト

ロードスクリプト編集画面を開きます。

1.【LOAD】の 『test』を以下のように書き換えましょう。

Replace(test,'_','/') as test

 

構文の解説をします。

Replace(test,'_','/') as test

場所【test】から〇文字目【_】を〇文字分【 / 】に入れ替える。

ここでは『test』に格納されているアンダースコアをすべてスラッシュに置き換えます。

 

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

 

 

 

以上の作業からデータが書き換えられたリストボックスが作成されていることが確認できます。

 

 

文字列の『_』が『/』に置き換えられているのがわかります。

次に、ほかの余分な文字列も削除していきましょう。

 

■ ロードスクリプト

1.ロードスクリプトを開き、『test』を以下のように入力しましょう。

Replace(Replace(Replace(Replace(test,'_','/'),'’','*'),'!','?'),'%','$') as test

 

先ほどと同じようにReplace関数で、『’』を『*』に、『!』を『?』に、『%』を『$』に置き換えます。

 

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

 

 

以上の作業からデータが書き換えられたリストボックスが作成されていることが確認できます。

 

最後に、日付のみの表示に変更しましょう。

 

■ ロードスクリプト

1.ロードスクリプトを開き、『test』を以下のように書き加えましょう。

Right(Replace(Replace(Replace(Replace(test,'_','/'),'’','*'),'!','?'),'%','$'),10) as test

 

構文の解説をします。

RIGHT関数は文字数を指定し、末端(右端)から指定した文字数分の文字列を抽出します。

今回の場合、『2014/02/04』、『2015/09/14』、『2016/07/07』の部分10文字を抜き出し、それ以外の文字列『12345』は抽出されません。

 

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

 

 

以上の作業からデータが書き換えられたリストボックスが作成されていることが確認できます。

 

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