Qlik Senseで文字種の変換【全角数字を半角数字,半角カナを全角カナ】
こんにちは。Deckです。
今回はデータ整形の一環として、「半角カナ→全角カナ」「全角数字→半角数字」の変換を行ってみましょう。
Qlik Senseにはアルファベットの大文字⇔小文字変換(Upper,Lower,Capitalize)はありますが、日本語の文字種を変換する関数が用意されていないためMappingを利用して文字列を置換する必要があります。
(Mappingとは?という方はこちらの記事もあわせてご覧ください)
以下のデータをサンプルとして用意いたしましたので
ダウンロードしたデータを解凍するとフォルダ『文字種変換テーブル』『変換対象データサンプル』が出力されます。
前準備
新規アプリを作成し、データ ロード エディタを開きます。
データ接続を作成します。「データ接続を作成」→「フォルダ」をクリックします。
データが含まれているフォルダを選択し、「作成」をクリックします。
全角数字→半角数字
文字列を変換する規則となるMappingテーブルをロードします。
「選択」をクリックし、変換テーブルを選択します。
データのプレビュー画面ではそのまま「スクリプトを挿入」をクリックします。
自動生成されたスクリプトを編集し、テーブル名「Mapping_全角数字から半角数字」を付けてMapping LOADを行います。
次に変換対象のデータを選択します。
「選択」をクリックし、変換対象のファイルを選択します。
プレビュー画面ではそのまま「スクリプトを挿入」をクリックします。
スクリプトの項目「郵便番号」の部分を「MapSubstring('Mapping_全角数字から半角数字',郵便番号) as 郵便番号」に編集します。
以上で準備は完了です。
データをロードすると全角数字が半角数字に置き換わって読み込まれました。
半角カナ→全角カナ
概要は数字の文字種と同様にMappingテーブルを生成し、Mappingテーブルを使って変換対象のデータの文字列を置換します。
変換テーブルを選択し、テーブル名「Mapping_半角カナから全角カナ」を付けてMapping LOADを行います。
変換テーブルを選択し、項目「データ」を「MapSubstring('Mapping_半角カナから全角カナ',データ) as データ」に編集します。
データをロードすると半角カナから全角カナへの変換がうまく行われています。
まとめ
今回は「半角カナ→全角カナ」「全角数字→半角数字」の変換方法を解説しましたが、同様の方法でほかの文字種の変換をすることもできます。
必要に応じて変換表を作成して置換をしてみてください。
注意点として、「2文字以上→1文字の変換(ガ→ガなど)」が含まれる際は変換表の先頭に配置してください。
「カ→カ」の変換が先に行われてしまうと「゙」が取り残されてしまいます。
この記事は、以上です。