Docs Menu
Docs Home
/
BI Connector
/

MongoDB Connector for BI の既知の問題

項目一覧

  • SQLの互換性の問題
  • マッピング エラーにより BI Connector が NULL値を返す

一部の SQL 集計関数SUM MIN、 、またはCOUNT など)は、その集計関数に一致する値がない場合、NULL を返します。この応答は実質的に空の行です。

まったく同じSQLクエリの場合、BI Connector はどの集計関数に対してもNULLを返しません。代わりに空のセットが返されます。

過去 1 年に提供されたクラスごとの学生のテスト パフォーマンスを分析しています。 Tableau を使用してSQLクエリを実行し、最高のテスト スコアと最低のテスト スコア、およびクラス内のすべてのスコアの合計と数など、各クラスの統計情報を見つけます。

SELECT SUM(scores), COUNT(*), COUNT(scores), MAX(scores), MIN(scores)
FROM students_2019
GROUP BY class;

残念ながら、翌年のデータに対して誤ってクエリを実行したため、クエリで検索できるテスト スコアはありません。

学生データが MySQL に保存されている場合、このクエリは、 SUMMAXMIN関数で計算されたフィールドのNULL値と 計算されたフィールドの0を含む 1 つの行を返します。 COUNT関数と 。

SELECT SUM(scores), COUNT(*), COUNT(scores), MAX(scores), MIN(scores)
FROM students_2019
GROUP BY class;
+-------------+----------+---------------+-------------+-------------+
| sum(scores) | count(*) | count(scores) | max(scores) | min(scores) |
+-------------+----------+---------------+-------------+-------------+
| NULL | 0 | 0 | NULL | NULL |
+-------------+----------+---------------+-------------+-------------+

学生データが MongoDB に保存され、BI Connector 経由でアクセスされている場合、このクエリは空のセットを返します。

SELECT SUM(scores), COUNT(*), COUNT(scores), MAX(scores), MIN(scores)
FROM students_2019
GROUP BY class;
Empty set (0.00 sec)

既知のマッピング エラーが発生し、BI Connector がすべてのNULL値を返すことがあります。 このエラーは、 NULLとなる可能性のある配列フィールドを含み、かつ同じ配列にNULLとなる追加のフィールドが含まれているコレクションをクエリする場合に発生します。 このエラーの回避策としては、 $matchフィルターを使用して、 createViewメソッドとともにフィールド$typearrayであるドキュメントのみを返すビューを作成することです。

という名前の配列フィールドがあり、場合によってはresponse.schedule NULL nextDepartureある、という名前のコレクションがある場合、次のビューを作成できます。

db.createView('nonullsched', '"nextDeparture"', [{'$match': {'response.schedule': {'$type': 'array'}}}])

戻る

システム変数