Power BI – BiqQuery: no se puede combinar a la izquierda 2 tablas de BigQuery

Un usuario Pregunto ✅

Bamak

Si en Power Query, intenta fusionar a la izquierda 2 tablas de consulta grandes, a través de 2 columnas que aceptan valores NULL se producirá un error

Se debe a un plegado de consultas SQL «incorrecto» generado por consulta de potencia

Power Query add proporciona un código extraño al final, y si lo elimina en la consola, aparecerá «OK»

Aparentemente, Power BI y Google GCP no quieren solucionar este problema

Para Power BI, es una limitación de SQL con respecto a la combinación izquierda de Big Query;>);>) gran humor

Amitchandak

@Bamak, ¿cuáles son los pasos exactos que estás haciendo?

Bamak

En respuesta a Amitchandak

Hola Amitchandac

Estoy tratando de fusionar 2 tablas de GCP Bigquery en la consulta M a través de Exterior izquierdo , pero estoy enfrentando un problema extraño

Información: si se une internamente, no hay problema

Excepción:
Tipo de excepción: Microsoft.Mashup.Engine1.Library.Odbc.Interop.OdbcException, Microsoft.MashupEngine, Versión = 1.0.0.0, Cultura = neutral, PublicKeyToken = 31bf3856ad364e35
Mensaje: ERROR [42000] [Microsoft][BigQuery] (70) Consulta no válida: LEFT OUTER JOIN no se puede utilizar sin una condición que sea la igualdad de campos de ambos lados de la combinación.
StackTrace:
à Microsoft.Mashup.Engine1.Library.Odbc.Interop.OdbcUtils.HandleErrorCheckNoData (OdbcHandle hrHandle, RetCode retcode)
à Microsoft.Mashup.Engine1.Library.Odbc.OdbcService.OdbcEngineConnection.ExecuteStatement (String commandText, parámetros IList`1, instrucción OdbcStatementHandle, OdbcBuffer & parameterBuffer)
à Microsoft.Mashup.Engine1.Library.Odbc.OdbcService.OdbcEngineConnection.ExecuteDirect (String commandText, parámetros IList`1, RowRange rowRange)
à Microsoft.Mashup.Engine1.Library.Odbc.OdbcTracingService.OdbcTracingConnection.ExecuteDirect (String commandText, IList`1 parámetros, RowRange rowRange)
à Microsoft.Mashup.Engine1 …

Para obtener información, consulte el código M ->

dejar
Fuente = GoogleBigQuery.Database ([]),
…..
# «Requêtes fusionnées» = Table.NestedJoin (# «Autres colonnes supprimées», {«string_field_0»}, accesslog, {«string_field_0»}, «accesslog», JoinKind.LeftOuter),
# «accesslog développé» = Table.ExpandTableColumn (# «Requêtes fusionnées», «accesslog», {«string_field_0»}, {«accesslog.string_field_0»})
en
# «accesslog développé»

La solicitud plegable podría encontrarse en el rastreador de diagnóstico de Query M ->

seleccione `OTBL«string_field_0`,
`ITBL«string_field_0` como` C1`
desde
(
seleccione `string_field_0`
de `CCCCC«CCCCC`accesslog2`
donde (`string_field_13` = ‘http://www.google.com’ y` string_field_13` no es nulo) y ((`string_field_0` = ’10 .0.235.71 ‘y` string_field_0` no es nulo o `string_field_0` =’ 10.1.160.165 ‘y `string_field_0` no es nulo) o (` string_field_0` = ’10 .1.238.116’ y `string_field_0` no es nulo o` string_field_0` = ’10 .1.54.193 ‘y `string_field_0` no es nulo))
) como «OTBL»
izquierda combinación externa
(
seleccione `string_field_0`
de `CCCCC«CCCCC«accesslog`
donde (`string_field_13` = ‘http://www.google.com’ y` string_field_13` no es nulo) y ((`string_field_0` = ’10 .0.235.71 ‘y` string_field_0` no es nulo o `string_field_0` =’ 10.1.160.165 ‘y `string_field_0` no es nulo) o (` string_field_0` = ’10 .1.238.116’ y `string_field_0` no es nulo o` string_field_0` = ’10 .1.54.193 ‘y `string_field_0` no es nulo))
) como `ITBL` en ((` OTBL«string_field_0` = `ITBL«string_field_0` y` OTBL«string_field_0` no es nulo) y `ITBL«string_field_0` no es nulo o` OTBL«string_field_0` es nulo y `ITBL«string_field_0` es nulo)
LÍMITE 1000 DESPLAZAMIENTO 0

Quién muestra efectivamente un problema cuando se ejecuta en GCP BigQuery Console ->

LEFT OUTER JOIN no se puede usar sin una condición que sea una igualdad de campos de ambos lados de la combinación.

Si eliminamos el código rojo SQL en SQL Query, el problema desaparece

Un problema de 2 años, ninguno de energía bi y GCP Bigquery quieren solucionarlo

Muchas gracias por la ayuda y saludos cordiales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *