埋め込みオブジェクトと配列の可視化
Atlas Charts は、豊富なデータ構造のフィールドを視覚化できます。 埋め込みオブジェクトのフィールドに直接アクセスし、ユースケースに応じて配列フィールドを柔軟に処理できます。
埋め込みオブジェクト
チャートビルダの Fieldsセクション内の埋め込みオブジェクトは、名前の横に中括弧( {}
)で示されます。 オブジェクト フィールドを展開するには、フィールド名の左側にある矢印をクリックします。 埋め込みオブジェクト フィールドを他のフィールドと同様に、目的のエンコーディング チャンネルにドラッグして、チャート内のそれらのフィールドを視覚化できます。
例
次の例のvideo.movieDetails
データソースには、 awards
とimdb
という名前の埋め込みオブジェクトが含まれています。 名前の左側にある矢印をクリックしてオブジェクトを展開し、棒グラフでY-axisの平均imdb.rating
とX-axisのawards.wins
を比較します。
{'awards.wins': {$gt: 0}}
のチャートの上に表示されているfilterがあることに注意してください。つまり、少なくとも 1 つの賞を受賞した映画のみが可視化に含まれています。 Atlas Charts でドキュメントをフィルタリングする方法の詳細については、「ドキュメントのフィルタリング 」ページを参照してください。
配列フィールド
チャートビルダ ページのFieldsセクションの配列フィールドは、名前の横にある角括弧( []
)で示されます。 配列フィールドをエンコーディング チャンネルに追加する場合は、可視化に最適な方法でデータを処理するためにarray reductionオプションを選択します。 次の配列削減オプションが利用できます。
一般的な配列削減オプション
これらの配列削減オプションは、任意の配列に適用できます。
配列削減オプション | 説明 |
---|---|
配列の展開 | 入力ドキュメントから配列フィールドを分解して、各要素のドキュメントを出力します。 各出力ドキュメントは、配列フィールドの値が要素に置き換えられた入力ドキュメントのコピーです。 |
配列の長さ | 配列内の項目の合計数をカウントして返します。 |
インデックス別の配列要素 | 指定されたゼロベースのインデックス位置にある配列要素を返します。 |
string のアキュムレータ
これらの accumulate は、 string値の配列に適用できます。
accumulate | 説明 | ||
---|---|---|---|
concat | 配列の値を単一の string に連結します。 Delimiterフィールドに、Charts が各配列要素の間に表示する文字を入力します。 デフォルトの区切り文字は 以下に例を挙げます。 映画のジャンルを説明する次の配列について考えてみましょう。
前の例では、Delimiter フィールドに
| ||
minLength | 配列内の最も短い string の長さを返します。 | ||
maxLength | 配列内の最も長い string の長さを返します。 | ||
最長 | 配列内の最も長い string を返します。 | ||
最短 | 配列内の最も短い string を返します。 | ||
値の存在 | 指定された string が配列に存在する場合は true を返し、string が配列に存在しない場合はfalse を返します。 | ||
発生回数 | 配列内で指定された string が出現する回数を返します。 |
数値アキュムレータ
これらの accumulate は数値の配列に適用できます。
accumulate | 説明 |
---|---|
min | 配列内の最小値を返します。 |
最大 | 配列内の最大値を返します。 |
平均 | 配列内のすべての値の平均を返します。 |
合計 | 配列内のすべての値の合計を返します。 |
注意
Atlas Charts は、可視化で使用されるフィールドのデータ型と一致する accumulate オプションのみを表示します(つまり、string データの場合は string の accumulate オプションのみを表示し、数値データの場合は数値 accumulate オプションのみを表示します)。
配列内のフィールド
配列値フィールドと同様に、エンコーディング チャネルでは、配列内のフィールドを処理するときに配列削減オプションを指定する必要があります。 この場合、選択した削減は、ターゲット フィールドを含む配列に適用されます。 さらに、埋め込み配列の場合は、最上位の配列とすべてのサブ配列の削減オプションを選択する必要があります。 埋め込まれた配列ごとに異なる削減オプションが使用されることに注意してください。