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