Docs Menu
Docs Home
/
Atlas Charts
/

チャート結果のフィルタリング

項目一覧

  • データのフィルターの作成
  • リストにない文字列とオブジェクト ID の表示
  • タイムゾーンの指定
  • フィルターを有効または無効にする
  • フィルターを展開または折りたたむ
  • クエリ バーを使用したデータのフィルタリング
  • クエリエラーへの対処
  • Considerations

フィルターは、指定された条件に一致する結果のサブセットを表示します。 Atlas Charts では、単一のグラフのデータをフィルタリングする 2 つの方法が提供されています。 次のいずれかを使用できます。

  • [ フィルター タブの数値、string、日付、またはブール値フィールドは、データフィルタリング ニーズのほとんどを処理します。

  • 論理演算子クエリなどのより複雑なクエリを使用してデータをフィルタリングするか、 集計パイプラインを使用して未加工データを処理するには、クエリ バーを使用します。

ダッシュボード上の複数のグラフで結果をフィルタリングする方法については、「 フィールド値でダッシュボードをフィルタリング 」を参照してください。

チャートビルダには、フィールドをドラッグして削除してデータのフィルターを指定できるフィルタータブが含まれています。 フィルター タブを使用してデータをフィルタリングするには、次の手順に従います。

  1. チャートビルダの中央タブをクリックします。

    フィルター タブにアクセスする方法を示す画像

  2. 左側の Fieldsからフィールドを タブのChart Filtersセクションにドラッグします。

選択したフィールドのデータ型によって、使用可能なフィルタリング オプションが決まります。 次のデータ型のフィールドをフィルタリングできます。

数値フィールドをフィルター パネルにドラッグすると、そのフィールドの最小値および最大値に基づいてフィルタリングできます。

最小値を指定するには、
最大値を指定するには
  1. MinOn に切り替えます。

  2. 任意の最小値を指定します。

  3. これが包括的最小値であるかどうかを選択します。

  1. MaxOn に切り替えます。

  2. 任意の最大値を指定します。

  3. これが包括的最大値であるかどうかを選択します。

Inclusive設定をオンにして、 5の最小値がある場合、Atlas Charts はフィールドが5以上のドキュメントを表示します。

あるいは、 Inclusiveがオフの場合、Atlas Charts は フィールドが5より大きいドキュメントを表示します。

string またはObjectIdフィールドをフィルター パネルにドラッグすると、Atlas Charts には最大20の個別のフィールド値のリストが表示されます。 20を超える個別の値が存在する場合、Atlas Charts はランダムに選択された20値を表示します。

また、リストには、次のものが含まれます。

  • NULL / MISSING フィールドのnull値を持つドキュメント、 または フィールドが欠落しているドキュメントの場合。

  • Empty String string フィールドに""値を持つドキュメントの場合、 ( string フィールドのみ。

チャートに表示する値を選択します。 デフォルトでは、すべての値が選択されています。

Tip

すべての値が選択されている場合は、リストの上部にあるDeselect Allをクリックして、すべての値を非表示にできます。

すべての値が選択されていない場合は、 Select Allをクリックすることで、すべての値が表示されるデフォルト状態に戻すことができます。

リストに含まれていない特定の値を表示するには、 Add Valueをクリックして値を追加します。

重要

ObjectIdフィールドの場合、入力する値は正しい形式の ObjectId である必要があります。そうでない場合、Atlas Charts は値を受け入れません。

リストに含まれていない他のすべての値を表示するには、 All other valuesを確認します。

  • All other valuesがオンの場合、Atlas Charts は$ninクエリを使用して、チェックされていないリスト項目をフィルタリングで除外します。

  • All other valuesがオフの場合、Atlas Charts には$inクエリを使用することでのみチェックされたリスト項目が含まれます。

日付フィールドをフィルター パネルにドラッグすると、指定された日付範囲に基づいてフィルタリングできます。 この範囲は次のいずれかになります。

  • 相対日付範囲 。チャートがレンダリングされる時間に対する範囲を指定します(例: 過去 6 か月)。

  • チャートがレンダリングされる現在時刻に基づく日付範囲(期間の選択)。

  • 特定の開始日から終了日までの範囲である絶対日付範囲。

日付フィルターの詳細については、適切なタブを選択してください。

相対的な日付フィルターは、チャートがレンダリングされる時間を基準とした範囲を指定します。 日付範囲を定義するには、現在の日付に対して過去の期間、または未来の期間を指定します。 Relativeは、デフォルトの日付フィルタリング オプションです。

日付フィルターの下限を設定するには、次の手順に従います。
日付フィルターの上限を設定するには、次の手順に従います。
  1. [From] トグルをオンにします。

  2. 相対日付の下限を設定します。 このタイムスパンは、現在の日付を基準にしています。

  1. [Until] トグルをオンにします。

  2. 相対日付の上限を設定します。 このタイムスパンは、現在の日付を基準にしています。

次の相対日付フィルターでは、現在の日付から 1 年前よりも新しいWorkout Date (As Date)フィールドを持つドキュメントのみが表示されます。

相対日付フィルターを示す画像

期間日付フィルターは、チャートがレンダリングされる現在時刻を基準とする範囲を指定します。 期間の日付範囲を定義するには、日付フィルター カードの上部にある [ Periodを選択します。

期間オプションは次のとおりです。

  • Hour 正午から

  • Day 午前 0 時から

  • Week 日曜日の午前 0 時から

  • Month 毎月の1日の午前 0 時から

  • Year 1 月の1日の午前 0 時から

[ period ] フィルターにも使用オプションがあります。 期間とともに、使用オプションを使用すると、過去、現在、または未来の正確な時間枠を定義できます。

期間使用オプションは次のとおりです。

  • 方向。 過去の期間を表示するにはPreviousを選択し、将来の期間を表示するにはNextを選択します。

  • カウントします。 表示する期間の数を設定できます。

  • 現在の期間を含めます。 指定された時間枠に現在の期間を含めることができます。

期間使用オプションは連携します。 Atlas Charts がMonth期間に表示するデータは、方向、カウント、およびInclude current periodの選択によって異なります。

Atlas Charts では、指定した期間の数を逆方向( Previous )または順方向( Next )にカウントします。 カウントは、現在の期間の先頭( Include current periodが選択されている場合)、または最後に完了した期間の先頭( Include current periodが選択されていない場合)から開始されます。 Atlas Charts では、選択した期間の最初から選択した期間の終了までのデータが表示されます。

今日が 12 月8で、 releasedに次の選択を行う期間日付フィルターを設定した場合。

  • Previous

  • 3

  • Months

  • Include current period 選択した

Atlas Charts131では、開始日と終了日を含め、

期間日付フィルターを示す画像

ただし、 Include current periodを選択せずに同じフィルターを設定すると、Atlas Charts には、開始日と終了日を含む、当年の 9 月1から 11 月30までのリリース日を持つドキュメントが表示されます。

期間の日付フィルターを設定するには、次の手順に従います。

  1. 最初のドロップダウン メニューから期間の方向を選択します。

  2. テキスト 入力 フィールドに期間数の数値を入力します。 整数または小数値を入力できます。

  3. 次のドロップダウン メニューで期間を選択します。

  4. (任意)現在の期間を除外するには、 Include current periodの選択を解除します。 デフォルトではInclude current periodが選択されています。

絶対日付フィルターは、絶対日付を使用して上限と下限を定義します。 絶対日付範囲を定義するには、日付フィルター カードの上部にある [ Absoluteを選択します。 デフォルトでは、フィルターで指定された日付は UTCであると想定され、 コレクション内の未加工データと一致します。 フィルターのタイムゾーンを指定して、日付値を必要に応じて調整できます。

日付フィルターの下限を設定するには、次の手順に従います。
日付フィルターの上限を設定するには、次の手順に従います。
  1. [From] トグルをオンにします。

  2. 下限の日付を入力するか、入力フィールドの下の暦上の日付を選択します。

  3. 下限の時間を入力するか、入力フィールドの下のリストから時間を選択します。

  4. 指定した日付を含めるかどうかを決定するには、 Inclusiveを設定します。

  1. [To] トグルをオンにします。

  2. 上限の日付を入力するか、入力フィールドの下の暦上の日付を選択します。

  3. 上限の時間を入力するか、入力フィールドの下のリストから時間を選択します。

  4. 指定した日付を含めるかどうかを決定するには、 Inclusiveを設定します。

注意

境界で使用される日付と時刻の形式は、ブラウザの設定から決定されるロケーションによって異なります。

次の絶対日付フィルターには、 2018年からのWorkout Date (As Date)フィールドを持つドキュメントのみが表示されます。

絶対日付フィルターを示す画像

フィルターでは、 January 1, 2018 12:00:00 AMからJanuary 1, 2019 12:00:00 AMまでのWorkout Date (As Date)フィールドを持つすべてのドキュメントが返されます。

フィルター カードの下部にあるTime Zoneドロップダウンを使用して、絶対日付フィルターのタイムゾーンを指定します。

デフォルトでは、MongoDB は日付値をUTCで保存します。 タイムゾーンを変更すると、Charts は選択したタイムゾーンに基づいて日付値を変更します。 その結果、選択したタイムゾーンに応じて、異なるドキュメントが絶対日付フィルターによって返される場合があります。

1 月1 、 2018 12 : 00 : 00午前から 1 月1 、 2019 12 : 00 : 00午前 までの絶対日付フィルターを検討します排他的。 デフォルトでは、UTC 日付が 1 月1 、 2019 2 : 00 : 00の UTC 日付を持つドキュメントは、この日付範囲に含まれません。 ただし、タイムゾーンをCentral America (UTC-06:00)に調整すると、調整された日付が31年 12 月 、 2018 8 : 00 : 00 PM であるため、このドキュメントが返されます。

特定のフィールドのブール値に基づいてチャート データをフィルタリングできます。 ブール値フィールドをフィルター パネルにドラッグし、利用可能なオプションを表示します。

  • True は、フィールド値がtrueであるドキュメントを表示します。

  • False は、フィールド値がfalseであるドキュメントを表示します。

  • NULL / MISSING は、 フィールドがnullであるか、 または 存在しないドキュメントを表示します。

デフォルトではすべてのオプションが選択されています。 選択したオプションを変更すると、チャートのプレビューがアップデートされます。 すべてのオプションの選択を解除すると、空白のグラフが表示されます。

次のフィルターを使用するグラフには、 passedフィールドがtrueであるドキュメントのみが表示されます。 このチャートには、 passedフィールドがfalsenullであるか、 または 存在しないドキュメントは表示されません。

ブール値フィルターを示す画像

注意

複数のフィルターで同じフィールドを使用することはできません。

Filterタブでフィルターを有効または無効にするかを切り替えることができます。 フィルターを無効にしても、チャートに表示されるドキュメントには影響しません。 無効にされたフィルターはグレー表示され、有効になるまで編集することはできません。

フィルターが有効かどうかを切り替えるには、フィルターにカーソルを合わせ、フィルターの上部に表示されるトグルを 設定に設定します。

フィルターの切り替えを示す画像
クリックして拡大します

チャートフィルター カードで [ ShowまたはHideをクリックすると、チャートフィルター カードを展開または折りたたむことができます。

無効にされたフィルターは自動的に折りたたまれます。

有効になっていても、折りたたまれたフィルターは引き続きチャートに適用されます。

チャート表示の上のQueryバーは、フィルター パネルよりも複雑なクエリをサポートしています。 さらに、クエリ バーを使用して、データがレンダリングされる前に処理するための集計パイプラインを作成することもできます。

Queryバーを使用してデータをフィルタリングするには:

  1. Queryバーに、フィルター ドキュメントを入力します。 db.collection.find()のクエリ部分で使用されるのと同じ構文を使用します。 使用して複数のドキュメントを挿入できます。 フィルター ドキュメントは中括弧で囲む必要があります。

  2. [Apply] をクリックします。

次のタブでは、次の演算子を使用してクエリを作成する方法を説明します。

  • $or 少なくとも 1 つの句が true であるドキュメントを一致させる論理演算子

  • $exists クエリ演算子: 存在する要素を持つドキュメントを照合する

  • $regex クエリ演算子 : 正規表現でドキュメントを照合する

  • Date 特定の日付を持つドキュメントを照合するためのフィールド

次のグラフは、ドキュメントまたはアクション映画のいずれかを作成した監督の数における上位 5 国( Limit Results X Axis有効になり、5 に設定されている)を示しています。

論理演算子クエリの例
クリックして拡大します

このチャートでは、次のクエリを使用します。

{
$or: [
{
genres: "Documentary"
},
{
genres: "Biography"
} ]
}

genres は、各要素が映画のジャンルである配列です。 このフィルターにより、特定の国の監督の総数にドキュメントまたはアクション映画のいずれかを作成した監督のみが含まれるようになります。

次のチャートは、 5年ごとの映画の平均メタファー評価を示しています。

クエリ比較の例
クリックして拡大します

このチャートでは、次のクエリを使用します。

{ 'writers.1': { $exists: true }}

writers は、各要素が映画に貢献したライターである配列です。 このフィルターで、2 番目の配列要素が存在することを確認して、少なくとも 2 人の書込み (write) を持つドキュメントのみが平均メタクリティカル評価に考慮されるようにします。

正規表現を使用してフィルタリングするには、 $regexクエリ演算子を使用します。

{ <field>: { $regex: "pattern", $options: "<options>" } }

たとえば、 jobsフィールドが文字Aで始まるすべてのドキュメントを検索するには、 Queryバーに次の内容を書き込みます。

{ "jobs" : { $regex : "^A" } }

jobsフィールドが文字Aまたはaで始まるすべてのドキュメントを検索するには、 Queryバーに次の内容を書き込みます。

{ "jobs" : { $regex : "^A", $options : "i" } }

次のチャートは、事務用品会社の合計売上額を購入方法別に分類したものです。

日付クエリの例
クリックして拡大します

このチャートでは、次のクエリを使用します。

{
$and: [
{
saleDate: { $gte: new Date("2017-01-01") }
},
{
'items.4': { $exists: true }
} ]
}

コレクション内の各ドキュメントは 1 つの販売を表します。 itemsは、各要素が販売中に購入された商品である配列です。

このクエリは、 saleDateJanuary 1, 2017以降で、 items配列内に少なくとも5要素があるドキュメントのみに表示されるドキュメントを制限します。

クエリが無効な場合、Charts はQueryバーの アイコン。

エラーの詳細を表示するには、まだ表示されていない場合はQueryバーをクリックします。 Charts には、次のエラーの詳細が表示されます。

  • 不正な JSON などのクライアント側のエラーや

  • 無効なMQLなど、サーバー側のエラー。

フィルターエラーの例
クリックして拡大します

エラーの詳細を確認し、それに応じてクエリを調整します。

戻る

クエリの保存と再利用