データ準備と分析用にデータを構造化する方法を理解するために基本となる概念がいくつかあります。データは、実にさまざまな形式で生成、キャプチャ、保存できますが、分析に関してはすべてのデータ形式が等しく作成されているわけではありません。

データの準備とは、適切に書式設定されたデータを単一の表または複数の関連する表に取り込み、Tableau で分析できるようにするプロセスです。このプロセスには、構造(行と列)、ならびに適切なデータ型や適切なデータ値などのデータ クレンリネスの側面が含まれます。

ヒント: 独自のデータセットを使用する際、次のトピックを参照すると役立つでしょう。使用できるデータセットがまだない場合は、適切なデータセットを探す(新しいウィンドウでリンクが開く)でヒントを参照してください。

構造が分析に与える影響

データ構造は制御できない場合もあります。このトピックの残りの部分は、生データとそれを加工するために必要なツール (Tableau Prep Builder など) にアクセスできることを前提としています。しかし、望んだとおりにデータをピボットまたは集計できない場合があります。多くの場合、分析の実行が可能であっても、計算やデータへのアプローチ方法を変更する必要が生じる場合があります。異なるデータ構造で同じ分析を実行する方法の例については、「Tableau Prep のある日のシナリオ: Tableau Desktop での 2 番目の日付を使用した分析」(新しいウィンドウでリンクが開く)を参照してください。しかし、データ構造を最適化できれば、分析がはるかに簡単になります。

データ構造

Tableau Desktop は、スプレッドシートのように書式設定された表内のデータに最適です。つまり、行と列に格納され、最初の行に列見出しがあるデータと相性が良いのです。それでは、行や列とは一体何でしょうか?

行とは何ですか?

小売店での取引に関する情報から、特定の場所の気象測定、ソーシャルメディア投稿に関する統計など、どんなものでも行またはレコードになりえます。

データ内のレコード (行) が何を表すのかを知ることが重要です。これがデータの粒度です。

ここでは、各レコードは 1 日です ここでは、各レコードは 1 か月です

ヒント: ベスト プラクティスは、一意の ID (各行を一意のデータとして識別する値) を持たせることです。各レコードの社会保障番号や URL のようなものと考えてください。スーパーストアでは、これは行 ID になります。すべてのデータセットに UID があるわけではありませんが、UID があっても問題にはならないという点に注意してください。

「データセットの行は何を表すのか?」という質問に答えられるようにしましょう。これは、「TableName(Count) フィールドは何を表しているのか?」という質問に対する回答と同じです。その点を明確に説明できなければ、分析を行うデータの構造が不十分になる可能性があります。

集計と粒度

行を構成するものに関連する概念は、スペクトルの反対側の端である集約と粒度の概念です。

集計

  • 複数のデータ値がどのように 1 つの値にまとめられているかを指します。たとえば、パンプキンパイ用のスパイスに関する Google 検索をすべて数えたり、特定の日にシアトル周辺のすべての温度測定値の平均を取ったりできます。、

  • 規定では、Tableau のメジャーは常に集計されます。規定の集計は SUM です。集計は、Average、Median、Count Distinct、Minimum などのオプションに変更できます。

粒度

  • そのデータがどれほど詳細なのかを示します。データ セット内の行またはレコードは何を表していますか?マラリアにかかっている人ですか?その月におけるある地域のマラリアの総症例数ですか?それが粒度です。

  • データの粒度を把握することは、詳細度 (LOD) 式を操作する上で非常に重要です。

集計と粒度を理解することは、多くの理由から非常に重要な概念です。有用なデータ セットの検索、必要なビジュアライゼーションの構築、データの関連付けや結合、LOD 式の使用などに影響を及ぼします。

ヒント: 詳細については、ヘルプでトレーニング ビデオ「集計と粒度」 または 「Tableau でのデータ集約」 を参照してください。

フィールドまたは列とは何ですか?

表内のデータは、データ ペインのフィールドとして Tableau Desktop に取り込まれますが、これらは本質的にはどちらを使っても変わりはない用語です。 (Tableau Desktop での用語列を、 列と行のシェルフで使用し、特定のビジュアライゼーションを記述するために保存します)。 データのフィールドには、より大きなリレーションシップにグループ化できる項目を含める必要があります。項目自体はまたはメンバーと呼ばれます(不連続ディメンションにのみメンバーが含まれます)。

所定のフィールドに許可される値は、そのフィールドのドメインによって決まります(以下の注を参照してください)。 たとえば、「食料品店の売り場」の列には、「デリ」「ベーカリー」、「農産物」などが含まれている場合がありますが、「パン」や「サラミ」は売り場ではなく項目であるため含まれません。別の言い方をすれば、売り場フィールドのドメインは、食料品店の売り場だけに限定されます。

さらに、よく構造化されたデータセットには単一の「お金」という列ではなく、「売上高」と「利益」の列があると思いますが、利益とは売上高とは異なる概念だからです。

  • 「売上高」フィールドのドメインは、負の値にできないため、0 以上の値になります。

  • しかし、利益は負の値になる可能性があるため、「利益」フィールドのドメインはすべての値になります。

: ドメインは、そのデータに存在する値を意味することもあります。 「食料品店の売り場」列に誤って「サラミ」が含まれている場合、この定義によって、その値はその列のドメインに含まれることになります。この定義はわずかに矛盾しています。一方はそこに存在する可能性のある値、または存在するべき値であり、他方では実際に存在する値です

フィールドの分類

データ表の各列は、フィールドとして Tableau Desktop に表示されますが、これはデータペインに表示されます。Tableau Desktop のフィールドは、ディメンションやメジャー ([データ] ペインでテーブル内がテーブルで区切られた状態) のいずれかでなければならず、 不連続や連続 (色分け: 青色のフィールドは不連続フィールド、緑色のフィールドは連続フィールド) のいずれかでなければなりません。

  • ディメンションは定性的です。測定はできませんが、説明はできることを意味します。ディメンションは、多くの場合、都市や国、目の色、カテゴリ、チーム名などです。ディメンションは通常、不連続です。

  • メジャー は定量的です。数値で測定および記録できることを意味します。メジャーには、売上高、身長、クリック数などがあります。Tableau Desktop では、メジャーは自動的に集計されます。規定の集計は SUM です。通常、メジャーは連続的です。

  • 不連続は、個別に分離または区別できることを意味します。トヨタはマツダとは異なります。Tableau Desktop では、不連続値がラベルとしてビューに表示され、ペインが作成されます。

  • 連続的という意味は、途切れのない、連続的な全体を形成するという意味です。7 の後ろに 8 が続き、8 は 9 までの同じ距離になり、7.5 は 7 と 8 の間の中間になります。Tableau Desktop では、連続値は軸としてビューに表示されます。

  • ディメンションは通常不連続的であり、メジャーは通常連続的です。ただし、これは必ずしも当てはまるわけではありません。日付は、不連続または連続のいずれかになる場合があります。

    • 日付はディメンションであり、自動的に不連続としてビューに表示されます(日付部分とも言われ、「8 月」などであり、これは 8 月を考慮するものの、年のような他の情報を考慮しません)。不連続な日付があるタイムラインに適用されるトレンド ラインは、ペインごとに 1 つずつ、複数のトレンド ラインに分かれます。

    • 必要に応じて連続する日付を使用することができます(日付とランケーションとも言われ、「2017 年 8 月」などであり、「2018 年 8 月」とは異なります)。連続する日付があるタイムラインに適用されるトレンド ラインは、日付軸全体に対して単一のトレンド ラインがあります。

ヒント: 詳細については、ヘルプのトレーニングビデオ「ピル タイプの理解」 または 「ディメンションとメジャー、青色と緑色」を参照してください。

Tableau Prep では、ディメンションとメジャーとの区別はされません。ただし、詳細を理解する場合や、プロファイル ウィンドウでのデータの概要表示を理解する場合は、不連続または連続の背景にある概念を理解することは大切です。

  • 詳細: 詳細ビューでは、すべてのドメイン要素が不連続ラベルとして表示され、すべてのデータの視覚的な概要として表示するビジュアル スクロール バーがあります。

  • 概要: 概要ビューには、連続軸上でヒストグラムとしてビンされた値が表示されます。

ビニングとヒストグラム

年齢や給料などのフィールドは連続的であると見なされます。34歳と35歳の間には関係性があり、34歳から35歳までは、35歳から36歳までと同じく離れています。しかし、10歳あたりを過ぎると、通常は「9歳半」や「7歳と9か月」などと言わなくなります。私たちはすでに年齢を整った年サイズの増分にビニングしています。12,850日の人は12,790日の人より年上ですが、境界を定めて、両方とも35歳としています。同様に、年齢グループは、多くの場合、実際の年齢の代わりに使用されています。映画チケットの子供料金は12歳以下の子供のためのものであり、アンケートでは20歳から24歳、25歳から30歳などの年齢グループを選択するように求められる場合があります。

ヒストグラムは、ビニングを使用して数値データの分布をビジュアライズするために使用されます。ヒストグラムは棒グラフに似ていますが、棒ごとに不連続なカテゴリになるのではなく、ヒストグラムを構成する長方形が、花の数の範囲(0-4、5-9、10-14 など)などのように連続軸の 1 つのビンに表示されます。長方形の高さは、頻度やそれらの値の数によって決定されます。ここでは、y 軸はそれぞれのビンに入る植物の数を表しています。7 つの植物には 0-4 個の花があり、2 つの植物には 5-9 個の花があり、43 個の植物には 20-24 個の花があります。

植物の数ごとの花の数を示すヒストグラム

Tableau Prep では、概要ビューはビンされている値のヒストグラムが表示されます。詳細ビューには、すべての値の頻度が表示され、データの全体的な分布を示す横方向へのビジュアル スクロール バーが表示されます。

概要ビュー 詳細ビュー
Tableau Prep の概要ビューのスクリーンショット Tableau Prep の詳細ビューのスクリーンショット

分布と外れ値

データ セットの分布を確認すると、外れ値の検出に役立ちます。

  • 分布: ヒストグラム内のデータの形状です。これはビンのサイズによって異なります。ヒストグラム ビューですべてのデータを表示できることで、データが正しく、完全であると思われるかどうかを判断するのに役立ちます。分布の形状は、データを理解しており、その分布が意味をなすかどうかを解釈できる場合にのみ使用されます。

    • たとえば、1940 年から 2017 年にかけてブロードバンド インターネットを利用する住宅の数のデータセットを見ると、非常に傾斜した分布が見られると思います。しかし、2017 年 1 月から 2017 年 12 月までは、ブロードバンド インターネットを利用する住宅の数を見ると、かなり均一な分布となることが予想されます。

    • Google検索のデータセットで「パンプキン スパイス ラテ」を検索する場合、秋はかなり急激なピークが見られると思いますが、「摂氏から華氏への変換」の検索はかなり安定している可能性があります。

  • 外れ値: 他の値と比較して極端な値。外れ値は正しい値かもしれませんが、エラーを示している可能性もあります。

    • 一部の外れ値は正しく、実際の異常を示します。これらの値は削除したり変更したりしないでください。

    • 一部の外れ値は、コンマの代わりにピリオドが入力されたため、$50,000 ではなく $50 の給与など、データのクリーンさに関する問題を示しています。

分布を使用したビジュアルでの外れ値の検出

次のようなリストが表示される場合:

一見すると奇妙には見えません。しかし、ラベルのリストではなく、これが連続的なビンされた軸にプロットされた場合、次のようになります。

そして、最後の観測値が最初の観測値から遠く離れており、エラーにより外れ値となっている可能性があることは非常に明白です。

データ型

データベースは、スプレッドシートとは異なり、通常、データ型に対して厳密な規則を適用します。データ型は、特定のフィールドにあるデータを分類し、データの書式設定、解釈、およびそのデータに対して実行できる操作に関する情報を提供します。たとえば、数値フィールドには数学的な演算を適用し、地理フィールドにはマップを適用できます。

Tableau Desktop は、フィールドがディメンションまたはメジャーのいずれかを割り当てますが、フィールドにはデータ型に依存するその他の特性があります。これらの特性は、各フィールドにあるアイコンで示されます(ただし、一部のタイプはアイコンを共有します)。Tableau Prep では、同じデータ型を使用します。列にデータ型が適用され、既存の値が割り当てられたデータ型と一致しない場合は、null として表示されます(「purple」は数値としては何も意味しないため)。

関数によっては、特定のデータ型が必要になる場合があります。例えば、CONTAINS を数値フィールドで使用することはできません。Type 関数は、フィールドのデータ型を変更するために使用されます。たとえば、DATEPARSE は特定の形式のテキスト日付を取得して日付にすることで、ビュー内で自動ドリルダウンなどを行うことができます。

アイコン データ型
テキスト (文字列) 値
日付値
日付/時刻値
数値
ブール値 (リレーショナルのみ)
地理的値 (マップと併用)

ヒント: 詳細については、データ型のヘルプ記事を参照してください 。

データのピボットおよびピボット解除

分かりやすいデータは、多くの列を含む幅広の形式でキャプチャおよび記録されていることがよくあります。Tableau が好むような機械が読み取れるデータとしては、列数が少なく、行数が多い、細長い形式の方が優れています。

: 通常、データのピボットとは、縦長から横長 (行から列) に移行することを意味し、ピボット解除とは、横長から縦長 (列から行) に移行することを意味します。しかし、Tableau で使用するピボットという語は、列を行に変換することで横長 (ユーザーが見やすい) のものから縦長 (機械での読み取りが可能) のものに移行することを意味します。このドキュメントでは、ピボットは Tableau の感覚を参照します。 わかりやすくするために、「列を行にピボット」または「行を列にピボット」と指定すると役立ちます。

詳細については、ヘルプ記事「データのピボット」および「データの操作に関するヒント」を参照してください。

横長のデータ

WHO のマラリアに関するデータセットには、国の列があり、次に年ごとに 1 つの列があります。各セルは、その国と年でのマラリアの症例数を表しています。この形式では、108 行と 16 列あります。

マラリア データの幅広い書式設定

この形式を人が読み取り、理解するのは簡単です。ただし、このデータを Tableau Desktop に取り込む場合は、列ごとにフィールドを取得することになります。2000 年のフィールド、2001 年のフィールド、2002 年のフィールドなどがあります。

別の考え方をすると、15 のフィールドがすべて同じ基本的なもの(マラリアの報告された症例数)を表し、時間については単一のフィールドはありません。このため、データが別々のフィールドに格納されるため、時間全体で分析を行うのは非常に困難になります。

例: 横長のデータの操作

Q: 2000 年から 2014 年までの国ごとのマラリア症例総数を示すマップを作成するにはどうすればよいでしょうか? 

A: すべての年を合計する計算フィールドを作成します。

注: この画像は最新の UI を反映するように更新されていません。[データ] ペインには、ディメンションとメジャーがラベルとして表示されなくなりました。

 

このフォーマットが分析には理想的でないことを示すもう 1 つの兆候としては、実際の値の意味について情報がどこにもないことです。2012 年のアルジェリアでは、この値は 55 となっています。55 とは何を意味しているのでしょうか?データの構造からは明らかではありません。

列の名前が値が何であるかを記述するのではなく、追加情報を伝えるものである場合、これはそのデータをピボットする必要があるという兆候になります。

縦長のデータ

データをピボットすると、データの形状が横長から縦長に変わります。ここでは、年ごとに 1 つの列ではなく、単一の列である年と新しい列である報告された症例数があります。この形式では、1,606 行と 3 列が表示されています。このデータ形式は、横長というよりも縦長になります。

Tableau Desktop では、年フィールド、報告された症例数フィールド、もともとあった国フィールドが表示されるようになっています。それぞれのフィールドは、データ セット(場所、時間、値)に関する一意の属性を表すため、分析がはるかに簡単になります。

注: この画像は最新の UI を反映するように更新されていません。[データ] ペインには、ディメンションとメジャーがラベルとして表示されなくなりました。

例: 縦長データの操作

Q: 2000 年から 2014 年までの国ごとのマラリア症例総数を示すマップを作成するにはどうすればよいでしょうか? 

A: [報告された症例数] フィールドを使用します。

注: この画像は最新の UI を反映するように更新されていません。[データ] ペインには、ディメンションとメジャーがラベルとして表示されなくなりました。

2012 年のアルジェリアでは、55 が報告された症例数を指すことを理解するのは簡単です(この新しい列にラベルを付けることができるため)。

: この例では、横長のデータは、国ごとに単一のレコードで構成されています。縦長のデータ形式では、国ごとに 15 行あります(データでは 15 年ごとに 1 つ)。国ごとに複数の行が存在する点に注意することが重要です。

「土地面積」の列がある場合、その値は、縦長のデータ構造ではそれぞれの国で 15 行ごとに繰り返されます。[]を[行] に、[土地エリア] を [列] に表示して棒グラフを作成した場合、既定では、ビューは国ごとに 15 行すべての土地面積を合計します。

一部のフィールドでは、合計やフィルター処理ではなく、平均または最小値で集計して二重カウント値を補正する必要がある場合があります。

正規化

リレーショナル データベースは、何らかの方法で相互に関連付けられたり、リンクされたりできる複数の表で構成されます。それぞれの表には、レコードごとに一意の識別子(キー)が含まれています。キーを関連付けたり結合したりすることで複数のレコードがリンクされ、単一のテーブルに含まれる情報よりも多くの情報を提供することができます。それぞれの表に情報を入力する情報は、使用するデータ モデルによりますが、重複を減らすことが一般的な原則となります。

たとえば、結婚式のようなイベントの計画を考えてみましょう。グループ(家族やカップルなど)のレベルの情報だけでなく、個人レベルでの情報を追跡する必要があります。

すべての情報を組み合わせた表を作成できます。 

ただし、住所が不正で修正が必要となる場合は、複数の行にわたって修正が必要となり、エラーや競合が発生する可能性があります。より優れた構造は、グループに関連する情報(住所や招待状が送信された場合など)と個人に関する情報(座席の割り当てや食事制限など)の 2 つの表を作成することです。

グループ表 個人表

グループ表のグループ レベル情報と個人表の個人レベルの情報を追跡および分析する方がはるかに簡単です。たとえば、必要な椅子の数は、個人表の「出席 = はい」のレコード数から取得でき、ギフトに必要なスタンプの数は、「ギフト」が null ではないグループ表のレコード数から取得できます。

すべてのデータを複数の表に分割し、どの表にどの列が含まれているかを把握するプロセスを正規化と呼んでいます 。 正規化は、冗長データを削減し、データベースの編成を簡素化するのに役立ちます。

ただし、複数の表にまたがる情報が必要な場合もあります。たとえば、新婦の側のグループが新郎の側のグループと混ざり合うような座席配置(個人)のバランスをとりたい場合はどうなるでしょうか?(新婦側所属か新郎側所属かはグループ レベルで追跡されます。これを実現するには、個人がグループに関する情報に関連付けられるようにテーブルを関連付けし直す必要があります。適切な正規化を行うには、単にテーブルを分割するだけでなく、データをもう一度組み合わせるために使用できる、共有されている関連フィールドや一意の識別子の存在が必要となります。ここでは、その関連フィールドが [グループ] です。このフィールドは両方の表に存在するため、このフィールドで結合して元の単一表形式に戻ることができます。これは非正規化構造です。

では、なぜ元の非正規化表を保持しなかったのでしょうか?メンテナンスが難しく、冗長な情報を格納していたためです。大規模なものでは、データの重複レベルが膨大になる可能性があります。同じ情報を何度も格納することは効率的ではありません。

正規化表には、いくつかの主要なプロパティがあります。

  • それぞれの行には一意の識別子が必要

  • それぞれの表には、他の表(キー)に接続し直すために使用できる 1 つまたは複数の列が必要です。

これらの共有 (キー) 列は、テーブルの関連付けや結合をやり直すために使用されます。データでは、関係や結合句が各テーブルの [グループ] フィールドに表示されます。

結合タイプ

Tableau Desktop でデータを組み合わせる既定の方法は関連付けですが、Tableau Desktop や Tableau Prep Builder でテーブルを結合する必要が生じる場合があります。結合の基本的な概要と結合タイプについては、「データの結合」を参照してください。

データの「整頓」

ハドリー・ウィッカムは、2014年に統計ソフトウェア誌「Tidy Data」(2014年8月、第59巻、第10号)にある記事を掲載しました。この記事では、分析用に十分に構造化されたデータのフレームワークを見事にレイアウトした内容が書かれています。この記事は こちら(ハドリー・ウィッカムのアカデミック・ポートフォリオ)(新しいウィンドウでリンクが開く) または こちら(r-project.org 提供)(新しいウィンドウでリンクが開く) で確認できます。

: この記事は外部の Web サイトで提供されています。Tableau は外部プロバイダーによって管理されているページの正確さや最新度に関して責任を負いかねます。それらの内容についてご質問がある場合には、Web サイト所有者にお問い合わせください。

ありがとうございます!