データ型変換
数字、通貨、日付などを含むデータをロードした場合、データの種類が定義されているかどうかに応じてデータ型が変換されます。このセクションでは、2 つの事例におけるデータ型の変換方法について解説します。
型情報を持つデータ
ODBC を使用してロードされたデータベースで、データ型が定義されている数値を含む項目は、それぞれの書式に従って QlikView によって処理されます。それらの文字列表現は、適切な書式が適用された数値になります。
QlikView は、数値書式がアプリケーションの数値書式ダイアログで変更された場合でも、項目の元の数値書式を記憶します。次をクリックすると、いつでも元の書式に戻すことができます。 [データ ロード時の設定に戻す]ボタンをクリックすると、いつでも復元できます。
各種データ型のデフォルトの書式は次のとおりです。
- 整数、浮動小数点数: 数値のデフォルト設定
- 通貨: 通貨のデフォルト設定
- 時刻、日付、タイムスタンプ: ISO 標準書式
数値と通貨のデフォルト設定は、スクリプト データ型変換変数またはオペレーティング システム設定 (コントロール パネル) で定義されます。
型情報を持たないデータ
ソースに特定の書式情報がないデータ (テキスト ファイルのデータや一般的な書式の ODBC データなど) では、状況が複雑になります。最終的な結果は、少なくとも次の 6 つの要因で決まります。
- ソース データベースにデータが書き込まれた方法
- 数値、時刻、日付などに対するオペレーティング システムの設定 (コントロール パネル)。
- スクリプトでのオプションのデータ型変換変数の使用
- スクリプトでのオプションの変換関数の使用
- スクリプトでのオプションのフォーマット関数の使用
- ドキュメント内の数値書式設定コントロール
QlikView は、入力データを数値や日付、時刻として変換しようとします。データでシステムのデフォルト設定が使用されている場合は、変換と表示書式設定は QlikView によって自動的に行われるため、自分でスクリプトや QlikView の設定を変更する必要はありません。入力データが正しく変換されているかどうかを確認する方法は簡単です。数値はリスト ボックスで右寄せされ、テキスト文字列は左寄せされます。
デフォルトでは、完全な一致が見つかるまで、次の手順で書式が検索されます。(デフォルトの書式とは、オペレーティング システム (コントロール パネル) またはスクリプト内のデータ型変換変数で指定された小数点記号、年、月、日の順序などの書式です。)
QlikView は、データを次の内のいずれかとして解釈します (順番に表示)。
- 数値のデフォルト書式に従った数値。
- 日付のデフォルト書式に従った日付。
- 時刻と日付のデフォルト書式に従ったタイムスタンプ。
- 時刻のデフォルト書式に従った時刻。
- 次の書式に従った日付。yyyy-MM-dd。
- 次の書式に従ったタイムスタンプ。YYYY-MM-DD hh:mm[:ss[.fff]]。
- 次の書式に従った時刻。hh:mm[:ss[.fff]]。
- 通貨のデフォルト書式に従った通貨。
- 小数点記号と桁区切り記号がどちらも「,」に設定されていない場合は、「.」を小数点記号、「,」を桁区切り記号とする数値。
- 小数点記号と桁区切り記号がどちらも「.」に設定されていない場合は、「,」を小数点記号、「.」を桁区切り記号とする数値。
- テキスト文字列。この最後の条件が成り立たないことはありません。データを読み取ることができた場合は、常に文字列として解釈することができます。
テキスト ファイルから数値をロードすると、変換の問題が発生する場合があります。例えば、不適切な桁区切り記号や小数点記号によって、QlikView が数値を間違えて解釈する可能性があります。そこで最初に、スクリプト内のデータ型変換変数が正しく定義されているかどうか、コントロール パネルのシステム設定が正しいかどうかを確認する必要があります。
QlikView で日付または時刻として解釈されたデータは、チャート プロパティで別の日付書式または時刻書式に変更可能です。
データに書式が定義されていないため、別のレコードには、同じ項目に別の書式のデータが含まれる場合があります。つまり、1 つの項目に有効な日付、整数、およびテキストが入っている可能性もあります。その場合、データは書式設定されず、元の形式で表示されます。