Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Problemas conocidos de MongoDB Connector for BI

Algunas funciones agregadas de SQL(como,SUM MIN COUNTo) devuelve NULL si no hay valores coincidentes para esa función de agregación. Esta respuesta es, en efecto, una fila vacía.

Dada exactamente la misma consulta SQL, el Conector BI no devuelve NULL para ninguna función agregada; en su lugar, devuelve un conjunto vacío.

Ejemplo

Estás analizando el rendimiento de los estudiantes en los exámenes de cada una de las clases impartidas el año pasado por una universidad. Con Tableau, ejecutas una consulta SQL para obtener estadísticas de cada clase, incluyendo las puntuaciones más altas y más bajas, así como la suma y el recuento de todas las puntuaciones de la clase.

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

Lamentablemente, ejecutas accidentalmente la **query** sobre los datos de las clases del **siguiente** año, por lo que no hay puntajes de pruebas que la **query** pueda encontrar.

Si los datos de los estudiantes se almacenaron en MySQL, esta consulta devolvería una sola fila con valores NULL para los campos que se calculan con las funciones SUM, MAX y MIN y 0 para los campos que se calculan con la función 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 |
+-------------+----------+---------------+-------------+-------------+

Si los datos de los estudiantes se almacenaron en MongoDB y se accedió a ellos a través del Conector BI, esta consulta devolvería un conjunto vacío.

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

Puede ocurrir un error de mapeo conocido que hace que BI Connector devuelva todos los valores de NULL. Este error puede ocurrir cuando se hace query a una colección que contiene un campo de array que puede ser NULL, y el mismo array contiene un campo adicional que también puede ser NULL. Una solución temporal para este error es crear una vista con el filtro $match que solo devuelva documentos en los cuales el campo $type esté array mediante el método createView.

Ejemplo

Para una colección llamada nextDeparture con un campo de arreglo llamado response.schedule que a veces es NULL, puede crear la siguiente vista:

db.createView("nextDeparture_view", "nextDeparture", [
{
"$project": {
"response": { "$cond": { "if": { "$eq": ["$response.schedule", null] },
"then": { }, "else": "$response" } }, "name": 1
}
} ])

Volver

Variables del sistema

En esta página