Error de consulta directa de Teradata

Un usuario Pregunto ✅

ThreadRider2000

Puedo ejecutar la siguiente consulta en TD SQL Assistant. Estoy usando ORDER BY porque tengo entendido que mejorará el rendimiento de PowerBI.

SELECCIONE TPO_SKU_PRD_SLS_SUMMRY.TPO_SKU,
TPO_SKU_PRD_SLS_SUMMRY.BRND_NM,
TPO_PROD_MSTR.TPO_SGMNT_NM,
Cast((Recortar(TPO_SKU_PRD_SLS_SUMMRY.YR_NUM) ||
CASO CUANDO TPO_SKU_PRD_SLS_SUMMRY.PRD_NUM <10 ENTONCES
‘0’ || Ajuste (TPO_SKU_PRD_SLS_SUMMRY.PRD_NUM)
ELSE Ajuste (TPO_SKU_PRD_SLS_SUMMRY.PRD_NUM)
FIN) COMO ENTERO) COMO YR_PRD_NUM,
TPO_SKU_PRD_SLS_SUMMRY.BU_NM,
TPO_SKU_PRD_SLS_SUMMRY.DIVSN_NM,
TPO_SKU_PRD_SLS_SUMMRY.RGN_NM,
TPO_SKU_PRD_SLS_SUMMRY.MKT_NM,
TPO_SKU_PRD_SLS_SUMMRY.GEO_TYP_CD,
TPO_SKU_PRD_SLS_SUMMRY.LOCL_CRNCY_CDV,
TPO_SKU_PRD_SLS_SUMMRY.MTRL_UOM_CDV,
TPO_SKU_PRD_SLS_SUMMRY.CY_NET_REV_AMT,
TPO_SKU_PRD_SLS_SUMMRY.LY_NET_REV_AMT,
TPO_SKU_PRD_SLS_SUMMRY.CY_EXPNS_RTRN_AMT,
TPO_SKU_PRD_SLS_SUMMRY.LY_EXPNS_RTRN_AMT,
TPO_SKU_PRD_SLS_SUMMRY.CY_TRK_STL_AMT,
TPO_SKU_PRD_SLS_SUMMRY.LY_TRK_STL_AMT,
TPO_SKU_PRD_SLS_SUMMRY.CY_MFG_DFECT_AMT,
TPO_SKU_PRD_SLS_SUMMRY.LY_MFG_DFECT_AMT,
TPO_SKU_PRD_SLS_SUMMRY.CY_NET_TKT_SALE_QTY,
TPO_SKU_PRD_SLS_SUMMRY.LY_NET_TKT_SALE_QTY
DESDE SEM_TPO.TPO_SKU_PRD_SLS_SUMMRY,
SEM_TPO.TPO_PROD_MSTR
DONDE TPO_SKU_PRD_SLS_SUMMRY.TPO_SKU = TPO_PROD_MSTR.TPO_SKU Y
TPO_SKU_PRD_SLS_SUMMRY.YR_NUM >= (Extraer(AÑO de la_fecha_actual)-2) Y
(TPO_SKU_PRD_SLS_SUMMRY.YR_NUM <= Extraer (AÑO de la fecha_actual) Y
TPO_SKU_PRD_SLS_SUMMRY.PRD_NUM <= Extraer (MES de la fecha_actual))
ORDEN POR TPO_SKU_PRD_SLS_SUMMRY.TPO_SKU,
TPO_SKU_PRD_SLS_SUMMRY.BRND_NM,
TPO_PROD_MSTR.TPO_SGMNT_NM,
Cast((Recortar(TPO_SKU_PRD_SLS_SUMMRY.YR_NUM) ||
CASO CUANDO TPO_SKU_PRD_SLS_SUMMRY.PRD_NUM <10 ENTONCES
‘0’ || Ajuste (TPO_SKU_PRD_SLS_SUMMRY.PRD_NUM)
ELSE Ajuste (TPO_SKU_PRD_SLS_SUMMRY.PRD_NUM)
FIN) COMO ENTERO),
TPO_SKU_PRD_SLS_SUMMRY.BU_NM,
TPO_SKU_PRD_SLS_SUMMRY.DIVSN_NM,
TPO_SKU_PRD_SLS_SUMMRY.RGN_NM,
TPO_SKU_PRD_SLS_SUMMRY.MKT_NM,
TPO_SKU_PRD_SLS_SUMMRY.GEO_TYP_CD,
TPO_SKU_PRD_SLS_SUMMRY.LOCL_CRNCY_CDV,
TPO_SKU_PRD_SLS_SUMMRY.MTRL_UOM_CDV

Sin embargo, cuando ingreso el SQL en la consulta directa de PowerBI, encuentro el siguiente error.

TPO_SKU_PRD_SLS_SUMMRY
Teradata: [Teradata Database] [3706] Error de sintaxis: ORDER BY no está permitido en subconsultas.

He visto otros errores de TD sql al conectarme con PowerBI. ¿Hay algo en general que deba configurarse para garantizar que todas las declaraciones de TD SQL se puedan ejecutar en PowerBI sin encontrar problemas?

Gracias,

Kelly

amichandak

@ ThreadRider2000, puedo ser un problema de nivel de base de datos. Algunas bases de datos no permiten ordenar por subconsulta. En este caso, debe dar orden en la consulta externa. Además, no está utilizando ningún límite, por lo que dudo que el pedido se beneficie

ThreadRider2000

En respuesta a amichandak

Hola,

Este no es un problema de la base de datos, ya que puedo ejecutarlo en Excel Power Query/PowerPivot y extraer todos los datos. Sin embargo, cuando intento hacer lo mismo en PowerBI, la consulta falla. Pude cargar ~1,7 millones de filas en Excel Power Pivot

¿Se supone que Power Query es lo mismo entre Excel y Power BI? Validación de Power Query.jpgExcel Power Pivot Importación.jpg

Gracias

En respuesta a ThreadRider2000

Hola @ThreadRider2000,

Supongo que esto debería estar relacionado con la seguridad del servicio power bi. AFAIK, algunos tipos de fuentes de datos, funciones y solicitudes/operaciones se bloquearán por razones de seguridad.

Seguridad de Power BI#seguridad-de-almacenamiento-de-datos
De acuerdo con su mensaje de error, creo que significa que la función ‘ordenar por’ no se permite usar en la subconsulta t-SQL cuando se ejecutaron en el lado del servicio power bi. Puede intentar eliminarlo o cambiar a otras funciones equivalentes e intentarlo de nuevo.

Saludos,

Xiaoxin-sheng

ThreadRider2000

En respuesta a v-shex-msft

Gracias por la sugerencia y los enlaces, pero estoy usando estrictamente el escritorio de Power BI.

Kelly

Deja un comentario

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