Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content
Announcements
Yikes! We're aware of some unexpected text appearing at the top of each group and are looking into it.
cancel
Showing results for 
Search instead for 
Did you mean: 
kuboharu
Partner - Voyager
Partner - Voyager

Qlik Sense ロードスクリプト構文において型宣言を実施すべきか

Qlik Sense使い立ての初心者です。

Qlik Senseのロードスクリプトを用いてQVDファイルを作成する際に、型宣言等されていますか。

設計にあたり型桁まで明示的に定義すべきか悩んでおり、皆様方にアドバイスをいただきたく。

 

○プロジェクト概要

・データ取得元はファイルやDBで様々(500個程度)

・データ取得元においてテーブル型は統一されていない

→日付を意味する値がCharだったりDateだったりする等

・Qlik Senseのロードスクリプトを用いてQVDファイルを作成

・QVDファイルは年度毎に作成(2019A.qvd,2020A.qvd)等

・取得元テーブルをメモリ上に展開し、蓄積したQVDファイル(2019A.qvd等)をくっつけて処理

・データ取得方式は差分更新

・取得元テーブルの型桁が変更されることはない

・QVDファイルを別アプリにて表示し分析に活用

・移行要件要件あり

・処理は1日1回程度(QMCのトリガーにて実行)

 

○悩み

・型宣言をしない場合データの中身によって日毎にデータ型桁が変わり

 取得元テーブルとqvdが上手く結合できなくなるリスクはないか

・データ状態によって2019年と2020年のデータ型桁が異なり分析時にUNIONできない。

 

2 Replies
hka
Employee
Employee

データ連携、UNIONキー項目は合わせておいた方が良いと思います。

特に日付型は合わせないとうまく連携、UNIONしないこともあるので、気を付けた方が良いです。

M_Ogimoto
Luminary Alumni
Luminary Alumni

こんにちは。

型宣言ですが、マッピングやテーブルリンクするキーとなる項目、および日付については宣言することをお勧めします。

特に、異なるデータソースからロードしていくる場合に効いてきます。

例えば、'1234567' という値が入っている項目を、SQL Serverからロードした場合とExcelからロードした場合で片方がテキスト型で片方が数値型になっていたりします。

※通常はSQL Serverからロードしていて、緊急でExcelからのロードに切り替えたら見事に文字列と数値にそれぞれ解釈されてしまったことがあります。

日付のほうも、うっかりすると数値のままになってしまう時がありますので、

  DATE(項目名, 'YYYY/MM/DD')  AS  項目名

のように形式含めて明示するのが確実です。

 

OGI Consulting Office