JSON ファイル

この記事では、Tableau をローカル JSON ファイルに接続し、データ ソースを設定する方法について説明します。

接続してデータ ソースを設定する

  1. Tableau を起動し、[接続] の下で [JSON ファイル] を選択します。その後、次を実行します。

    1. 接続するファイルを選択し、[開く] を選択します。

    2. [スキーマ レベルの選択] ダイアログ ボックスから Tableau で表示および分析するスキーマ レベルを選択し、[OK] を選択します。詳細については、スキーマ レベルの選択を参照してください。

  2. データ ソース ページで次の手順を行います。

    1. (任意) ページ上部にある既定のデータ ソース名を選択し、Tableau で使用する一意のデータ ソース名を入力します。たとえば、データの他のユーザーが、どのデータ ソースに接続するか推測するのに役立つ命名規則を使用します。

    2. シート タブを選択して分析を開始します。

JSON ファイル データ ソースの例

データ ソースとしての JSON ファイル (Windows コンピューターで Tableau Desktop を使用) の例を、次に示します。

スキーマ レベルの選択

Tableau を JSON ファイルに接続する際、Tableau は JSON ファイルの最初の 10,000 行のデータをスキャンして、そのプロセスからスキーマを推定します。Tableau はこの推定されるスキーマを使用してデータを平坦化します。JSON ファイル スキーマ レベルは、[スキーマ レベルの選択] ダイアログ ボックスにリストされます。Tableau Desktop では、JSON ファイルの行が 10,000 行を超える場合、[Scan Entire Document (ドキュメント全体をスキャン)] オプションを使用してスキーマを作成できます。

注: [Scan Entire Document (ドキュメント全体をスキャン)] オプションは、10,000 行を超える JSON ファイルでのみ表示されます。このオプションは、Web 上では使用できません。

ダイアログ ボックスで選択したスキーマ レベルにより、Tableau での表示や分析に使用できるディメンションやメジャーが決定します。また、パブリッシュするデータも決定されます。

注: ワークブックを Web 上にパブリッシュすると、Web バージョンの Viz ではスキーマの更新は使用できなくなるため、その後 Viz が更新されるとエラーが発生する可能性があります。

子スキーマ レベルを選択すると、親レベルも選択されます。

たとえば、JSON ファイルのスニペットは次のとおりです。JSON ファイルはこれらのスキーマ レベルを生成します。

新しいフィールドの検出

場合によっては、行により多くのフィールドが存在し、これらが推定スキーマを作成するためにスキャンされないことがあります。必要なフィールドが [スキーマ] から欠落していることに気付いたときは、次のいずれかを選択して実行することができます。

  • JSON ドキュメント全体をスキャンします。スキャンが完了するまでに長時間かかることがあります。

  • 一覧されているスキーマからスキーマ レベルを選択して [OK] をクリックします。Tableau はドキュメント全体を読み取り、さらに多くのフィールドが見つかると、それが [スキーマ レベルの選択] ダイアログ ボックスにリストされます。

抽出の更新中や、スキーマ レベルの選択後に Tableau が抽出を作成した場合など、Tableau が利用可能な新しいフィールドを検出するたびに、ファイル名の近くの情報アイコンまたは [スキーマ レベルの選択] ダイアログ ボックスの通知によって、追加のスキーマが検出されたことが示されます。

スキーマ レベルの変更

データ ソース ページに移動し、[データ] > [JSON ファイル名] > [スキーマ レベルの選択] を選択することで、選択したスキーマ レベルを変更できます。または、キャンバス上のファイル名をポイントし、ドロップダウン メニューから [スキーマ レベルの選択] を選択します。

JSON ファイルのユニオン作成

JSON データのユニオンを作成できます。JSON ファイルのユニオンを作成するには、拡張子が .json、.txt、または .log のファイルが必要です。ユニオンの詳細については、データのユニオンを参照してください。

JSON ファイルのユニオンを作成する際、ユニオン内のすべてのファイルの最初の 10,000 行からスキーマが推測されます。

ファイルのユニオンを作成した後に、スキーマ レベルを変更することができます。詳細については、スキーマ レベルの変更を参照してください。

階層 JSON ファイル用にディメンション フォルダーがどのように整理されているか

シート タブを選択した後、JSON ファイルの選択されたスキーマ レベルは [データ] ペインの [ディメンション] の下に表示されます。各フォルダーは選択したスキーマ レベルに対応し、そのスキーマ レベルと関連付けられた属性は、そのフォルダーの子フォルダーとしてリストされます。

たとえば、次の画像では、"Address (住所)" はスキーマ レベルである "Businesses (ビジネス)" フォルダーの下にあるディメンションです。"Categories (カテゴリー)" もスキーマ レベルですが、これは値のリストでありデータの階層ではないため、独自のフォルダーは必要ありません。親フォルダーにグループ化されます。[スキーマ レベルの選択] ダイアログ ボックスのスキーマ レベルは、[データ] ペインのフォルダー構造に直接的にはマッピングしないようにしてください。[データ] ペインのフォルダーはオブジェクト別にグループ化されるため、フィールド間を簡単に移動でき、フィールドの背景も引き続き把握できます。

各ドキュメントに対して一意のインデックスが生成され、データの平坦化された表現に保存されます。また、インデックスはスキーマ内の各レベルに対しても生成されます。

たとえば、上記の画像では、"Document Index (generated) (ドキュメント インデックス (生成済))" エントリだけでなく、"Attribute (属性)""Hours (時間)" スキーマ レベルはすべてインデックスを生成します。

階層的な JSON ファイルでメジャーが計算される理由

階層的な JSON ファイルを平坦化する場合、データが複製される場合があります。メジャーをスキーマ レベルで一貫させるため、Tableau はスキーマ レベルでデータを正確に表示するための詳細レベル (LOD) 計算を作成します。元のメジャーは [ソース メジャー] フォルダー内にあり、それらを使用できますが、計算メジャーを使用することをお勧めします。

[データ] ペインで、計算メジャーには「Number of <measure name> per <parent name>」というラベルが付けられます。

メジャー用の LOD 計算を表示するには、次の手順に従います。

  1. メジャーを選択します。

  2. ドロップダウン矢印を選択してから、[編集] を選択します。

次の例は、"Revenue per Document (ドキュメントあたりの収益)" に対する LOD 計算を示しています。士気は、各ドキュメントのインデックス値に対する最大収益を選択します。

LOD 計算を使用すると複数のスキーマ レベルを選択できますが、メジャーはオーバーカウントされないという確信を持つことができます。

JSON データ操作のヒント

これらのヒントは、Tableau で JSON データを操作する際に役立ちます。

  • ネストされた配列に対する 10x10 の制限を超えないようにしてください。

    ネストされたアレイの数が多数の場合、多数の行が作成されます。たとえば、10x10 のネストされたアレイは 10 億行になります。Tableau がメモリに読み込むことができる行の数を超えると、エラーが表示されます。この場合、[スキーマ レベルの選択] ダイアログ ボックスを使用して、選択したスキーマ レベルの数を減らします。

  • 100 レベルを超える JSON オブジェクトを含むデータ ソースは、読み込みに長い時間がかかる場合があります。

    多数のレベルによって多数の列が作成されるため、処理に長い時間がかかる場合があります。たとえば、100 レベルの場合、データの読み込み時間が 2 分を超える場合があります。ベスト プラクティスとして、スキーマ レベルを減らし、分析に必要なレベルのみにします。

  • 単一の JSON オブジェクトは 128 MB を超えることはできません。

    単一オブジェクトの上位アレイが 128 MB を超えた場合、JSON オブジェクトがラインごとに 1 つ定義されているファイルに変換する必要があります。

  • ピボット オプションはサポートされていません。

.ttde ファイルおよび .hhyper ファイルについて

コンピューターのディレクトリを移動していると、.ttde または .hhyper ファイルに気づくかもしれません。お使いのデータに接続する Tableau データ ソースを作成すると、Tableau は .ttde または .hhyper ファイルを作成します。このファイルはシャドー抽出としても知られ、Tableau Desktop でデータ ソースの読み込み速度を向上させるのに使用されます。シャドー抽出には参照元データや標準的な Tableau 抽出に似た他の情報が含まれますが、シャドー抽出は別の形式で保存されているため、データの復元には使用できません。

注: Tableau バージョン 2024.2 以降では、.tde ファイルはサポートされなくなりました。すべての抽出は .hyper 形式になりました。

 

関連項目

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!