QlikViewナレッジ - INSIGHT LAB

【QlikView】KeepChar関数、PurgeChar関数を使って文字列を削除する

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

QlikView(クリックビュー)では、文字列2に含まれないすべての文字を文字列1から削除して返す【KeepChar関数】と文字列2に含まれるすべての文字を文字列1から削除して返す【PurgeChar関数】があります。

 

文字列1= 'a1b2c3'

文字列2='123'

①:keepchar ( 'a1b2c3','123' ) は、123 を返します。

②:purgechar ( 'a1b2c3','123' ) は、 abc を返します。

 

以上の例を踏まえて説明します。

 

● リストボックス作成

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

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

 

 

 

■ ロードスクリプト

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

1.『Product』に以下の文を入力します。

KEEPCHAR(Product,'abcdefg123456789') as Product,

Productの中から『abc、、、』と『123、、、』以外の文字列を削除します。

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

 

 

 

 

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

『abc…』や『123…』以外の文字列『/』『’』『.』『#』が削除されているのがわかります。

 

 

■ csvデータ

1.データを一行増やしてみましょう。以下の文を入力してください。

ABC..456,7

 

 

 

 

 

■ ロードスクリプト

QlikViewに戻って【リロード】します。

 

『ABC』の部分が削除され、『456』のみ表示されています。

 

 

 

■ ロードスクリプト

1.再びロードスクリプト編集ウィンドウを開き、以下の文を入力します。

KEEPCHAR(Product,'ABCabcdefg123456789') as Product,

この文は「『abc、、、』『123、、、』『ABC』以外のすべての文字列を削除します。」という意味です。

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

 

 

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

 

『ABC』が表示されています。

 

 

 

次にpurgechar関数を使ってリロードします。

■ ロードスクリプト

1.【ロードスクリプト】を開き、以下の文を入力します。

purgechar(Product,'ABCabcdefg') as Product,

この文は「『ABC』『abcdefg』を削除します。」という意味です。

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

 

 

 

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

 

『ABC』や『abcdefg』が削除されています。

 

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