Restricciones sobre el tamaño / número de registros en la declaración SQL de Teradata en el editor avanzado

Un usuario Pregunto ✅

amitksingh2003

Hola amigos, recientemente comencé a aprender sobre Power BI y a tratar de usarlo para automatizar una tarea que requiere un gran esfuerzo manual.

Terminé con la mayor parte, excepto por encontrar un error al intentar recuperar algunos datos de la base de datos de teradata.

Tengo una lista de números de referencia de pago almacenados en una tabla llamada «BI_Data» y el nombre de columna «Números de referencia de pago». Esta columna tiene unos 37.000 valores impares. Necesito recuperar detalles adicionales de Teradata con referencia a estos números de referencia de pago.

Estoy usando una variable «PayRefNum» en el editor avanzado para obtener la lista de la tabla y formatearla según el requisito de declaración SQL para el delimitador.

let
    PayRefNum= "'246532387" & Text.Combine(List.Distinct(BI_Data[Payment Reference Number]),"','"),
    Source = Teradata.Database("SERVER", [Query="SELECT FP.PRO_NBR,FP.SCAC_CODE,FP.WM_TRANS_MODE_CD,FP.CARRIER_NAME,FP.SHIP_DATE,FP.SHIPPER_NAME,FP.SHIPPER_CITY_NAME,FP.SHIPPER_STATE_CODE,FP.SHIPPER_POSTAL_CODE,FP.CNSGN_NAME,FP.CNSGN_CITY_NAME,FP.DEST_STORE_NBR,FP.FRT_PYMT_SEQ_NBR,FP.TOTAL_PAID_AMT,FP.PAID_DATE FROM US_WM_LDSS_VM.FREIGHT_PAYMENT FP WHERE FP.FRT_PYMT_SEQ_NBR IN (" & PayRefNum & "')", CreateNavigationProperties=false])
in
    Source

La consulta funciona bien cuando paso un número limitado de valores para los números de referencia de pago. Sin embargo, recibo un error que dice que no se pueden convertir cadenas a números cuando intento pasar los 37.000 números de referencia de pago impares a la consulta.

Al solucionar problemas, puedo ver que todos los números de referencia de pago están cargados correctamente en la variable «PayRefNum». Sin embargo, los valores parecen truncarse en la declaración de consulta.

Error de PBI2.JPGError de PBI.JPG

Quería entender si esto se debe a algún límite / restricción en el tamaño o la cantidad de registros en el editor avanzado y cuál es la solución. Mi teradata no tiene esta restricción de tamaño, ya que puedo recuperar datos con éxito directamente de teradata para el mismo conjunto de registros.

amitksingh2003

Hola @ v-frfei-msft. Muchas gracias por la rápida respuesta.

Como señaló, el límite de 32,766 parece ser la razón por la que obtengo una vista truncada en la ventana de ejecución de consultas. Sin embargo, afortunadamente, ese no fue el motivo del error en la ejecución real de la consulta. Parece que el límite estaba impactando solo en la vista.

Resulta que había un carácter «https://community.powerbi.com/t5/Power-Query/Restrictions-on-size-number-of-records-in-Teradata-SQL-statement/mp/#» en mi consulta que estaba dando este error. Agregué algunas validaciones para verificar la cordura de los datos antes de la consulta y ahora está funcionando bien. Gracias de nuevo por tu respuesta.

amitksingh2003

Hola @ v-frfei-msft. Muchas gracias por la rápida respuesta.

Como señaló, el límite de 32,766 parece ser la razón por la que obtengo una vista truncada en la ventana de ejecución de consultas. Sin embargo, afortunadamente, ese no fue el motivo del error en la ejecución real de la consulta. Parece que el límite estaba impactando solo en la vista.

Resulta que había un carácter «https://community.powerbi.com/t5/Power-Query/Restrictions-on-size-number-of-records-in-Teradata-SQL-statement/mp/#» en mi consulta que estaba dando este error. Agregué algunas validaciones para verificar la cordura de los datos antes de la consulta y ahora está funcionando bien. Gracias de nuevo por tu respuesta.

Hola @ amitksingh2003,

Como el blog, La longitud máxima de un valor de texto que el motor de Power Query puede cargar en una sola celda de una tabla en un conjunto de datos es 32766 caracteres; más que eso, el texto se truncará silenciosamente.

Deja un comentario

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