メイン コンテンツをスキップする 補完的コンテンツへスキップ

データ モデリングのベスト プラクティス

Qlik Sense アプリへのデータ ロード方法は、データ構造や希望するデータ モデルによって異なります。このセクションでは、こうしたデータ ロード方法について説明します。

データ列を行に変える

次のようなデータがあり、売上高を別個の項目にする場合:

元のデータ テーブル
Q1Q2Q3Q4
201334545352
201447566567
201557566371

提案されたアクション  

テーブルをロードするときに、Crosstable プレフィックスを使用します。

結果は次のようになります。

Crosstable プレフィックスを適用した後のテーブル
Year Quarter Sales
2013 Q1 34
2013Q254
2013Q353
2013Q452
2014Q147
.........

Crosstable の詳細については、「データ ロード スクリプトでのクロス集計の使用」および「Crosstable」を参照してください。

データ行を項目に変える

次のような 3 つの項目を持つ汎用テーブルがあり、各属性を個別のテーブルにする場合:

3 つの項目を含む Generic テーブル
Object Attribute Value
ball color red
balldiameter25
ballweight3
boxcolor56
boxheight30
boxlength20
boxwidth25

提案されたアクション  

[Generic] ロード プレフィックスを使用して汎用データ モデルを作成します。

次のようなデータ モデルを取得します。

汎用データ モデル。

汎用データの詳細については、「汎用データベース」および「Generic」を参照してください。

階層レベルに整理されたデータ (組織図など) をロードする

次のような隣接するノード テーブルにデータが格納されている場合:

隣接するノード テーブル
NodeID ParentNodeID Title
1 - General manager
21Country manager
32Region manager

提案されたアクション  

Hierarchy プレフィックスを使用してデータをロードし、展開ノード テーブルを作成します。

展開されたノード テーブル
NodeID ParentNodeID Title Level1 Level2 Level3
1 - General manager General manager - -
21Country managerGeneral managerCountry manager-
32Region managerGeneral managerCountry managerRegion manager

階層レベルの詳細については、「階層データのロード」および「Hierarchy」を参照してください。

大きなデータベースから新しいレコードや更新されたレコードのみをロードする

多数のレコードを含むデータベースがあり、アプリでデータを更新するためにデータベース全体はリロードしたくありません。新しい、または更新されたレコードのみをロードし、データベースから削除されたレコードを除去したいと思っています。

提案されたアクション  

QVD ファイルを使用して、増分ロード ソリューションを実装します。

詳細については、「増分ロードにより新規および更新された記録をロード」を参照してください。

共通項目を持つ 2 つのテーブルのデータを結合する

Qlik Sense は自動的に共通項目をテーブルに関連付けるが、テーブルの結合方法を制御する必要がある場合、

提案されたアクション : Join / Keep

Join または Keep プレフィックスを使用して 2 つのテーブルを 1 つの内部テーブルに結合できます。

詳細については、「Join と Keep を使用したテーブルの結合」を参照してください。

提案されたアクション : マッピング

テーブルを結合する代わりにマッピングを使用して、マッピング テーブルに関連付けられた値の検索を自動化します。これにより、ロードするデータ量を減らすことができます。

詳細については、「結合の代替としてのマッピング」を参照してください。

不連続値を間隔に一致させる

1 つの不連続数値のテーブル (Event) があり、これを 1 つ以上の間隔 (Start End) に一致させる場合、

離散数値のテーブル (Event)
[Time] (時間)イベント[Comment] (コメント)
00:000シフト 1 の開始
01:181ラインの停止
02:232ラインの 50% の再開
04:153ライン速度 100%
08:004シフト 2 の開始
11:435稼働の終了
間隔が含まれているテーブル (Start および End)
[Start] (開始)最後順序
01:0003:35A
02:3007:58B
03:0410:27C
07:2311:43D

提案されたアクション  

IntervalMatch プレフィックスを使用して、Time 項目を Start End で定義される間隔にリンクします。

詳しくは「不連続データと間隔の一致」を参照してください。

間隔の開始と終了が明示的に定義されていない場合は、次の表のようにタイム スタンプのみを変更して間隔テーブルを作成する必要があります。

変更の日付と時刻を含むテーブル
通貨データの変更評価
EUR-8.59
EUR28/01/20138.69
EUR15/02/20138.45
USD-6.50
USD10/01/20136.56
USD03/02/20136.30

詳細については、「単一の日付からの日付間隔の作成」を参照してください。

不一致項目値を処理する

データに、異なるテーブル間で名前が一致しない項目値が含まれる場合例えば、あるテーブルには国の値 US が、別のテーブルには United States が含まれます。関連付けが阻止されます。

テーブル 1
[Country] (国)地域
USメリーランド
USアイダホ
USNew York
USカリフォルニア
Table 2
Country Population
United States 304
Japan 128
Brazil 192
China 1333

提案されたアクション  

マッピング テーブルを使用してデータ クレンジングを実行することで、項目値を比較して正しく関連付けることができます。

詳しくは「データ クレンジング」を参照してください。

不一致の項目値の大文字の処理

自分のデータに、テーブル間で書式設定が整合していない項目値が含まれているとします。例えば、あるテーブルのTypeにはsingleという値が含まれており、別のテーブルの同じ項目にはSingleという値が含まれているとします。この状況では、Type項目にsingleSingleの値の両方が含まれており、大文字と小文字の違いがあるため、関連付けが妨げられます。

テーブル 1
[Type] (タイプ)価格
単色23
2 色39
テーブル 2
[Type] (タイプ)
単色
単色
2 色白色
Doubleブラック

提案されたアクション  

[データの追加] でデータをロードした場合は、この問題をデータ マネージャーで修正できます。

  1. データ マネージャーのテーブル エディタで、Table2を開きます。
  2. Type項目の名前をTable2.Typeに変更します。

    データ プロファイリングを有効にして、[データの追加] で単にテーブルを追加した場合は、自動関連付けが行われないようにするため、その項目にはTable2.Typeという名前がすでに付けられています。この場合は、次の手順によって 2 つのテーブルが関連付けられます。

  3. 数式Lower(Table2.Type)を使用して計算項目を作成し、Typeという名前を付けます。
  4. [データのロード] をクリックします。

これで、Table1Table2が項目Typeによって関連付けられます。この項目には、singledoubleのような小文字の値のみが含まれています。

大文字の部分が異なる値を使用する場合は、同様の手順で関連付けを行うことができますが、テーブルでは、同じ名前の項目を使用して関連付けが行われることに注意してください。

  • Singleのようにすべての値を大文字にする場合は、代わりにTable1で計算されたType項目を作成し、数式Capitalize(Table1.Type)を使用します。
  • SINGLEのようにすべての値を大文字にする場合は、両方のテーブルで計算されたType項目を作成し、それぞれのテーブルで数式Upper(Table1.Type)Upper(Table2.Type)を使用します。

計算された項目の詳細については、「計算された項目の使用」を参照してください。

大文字化の詳細については、「Capitalize スクリプトおよびチャート関数」、「Lower スクリプトおよびチャート関数」、および「Upper スクリプトおよびチャート関数」を参照してください。

地理空間データをロードしてマップのデータを可視化する

マップを使用して可視化するデータ (国別または店舗別の売上データなど) がある場合、マップ ビジュアライゼーションを使用するには、エリア データまたはポイント データをロードする必要があります。

提案されたアクション  

KML ファイルまたは Excel ファイルから、データ値の場所と一致するエリア データまたはポイント データをロードできます。また、実際のマップの背景もロードする必要があります。

詳細については、「ユーザー独自のマップ データのロード」を参照してください。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。