Forum Discussion

Markzolotoy's avatar
Markzolotoy
Icon for Impactful Individual rankImpactful Individual
5 years ago

Error al cargar datos

Tengo el siguiente SQL en mi consulta:

declare @AlarmSummaryAlramCount table (summary_description nvarchar(20), summary_cnt int);

DECLARE @reportData TABLE(
	reportID int, userSID varchar(max), xmlData xml
);
insert @reportData
select * from [PRISM2019R32DB]..udf_getSSRSReportRawData(3, 'S-1-5-21-1275210071-1532298954-725345543-9037')
-- Bar chart  - Monthly distribution
DECLARE @xml XML = (select xmlData from @reportData)
;WITH rs AS
	(
		SELECT col.value('(Summary_Description)[1]','varchar(20)') AS [summary_description]
		, col.value('(Summary_Cnt)[1]','int') AS [summary_cnt]
		, col.value('(ColorAlarmTotals)[1]','varchar(10)') AS [alarm_color]
		FROM @xml.nodes('AlarmSummaryReport/AlarmSummary/AlarmSummaryAlarmsSubReport') AS tab(col)
	)
	insert @AlarmSummaryAlramCount
	SELECT case summary_description when 'Not In Alarm' then 'Not In Alarm' else 'In Alarm' end as summary_description, summary_cnt FROM rs;

select * from @AlarmSummaryAlramCount
where summary_cnt <> ''

Obtención de esto:

Consulta 2
Microsoft SQL: sintaxis incorrecta cerca de la palabra clave 'declare'. Sintaxis incorrecta cerca de ')'.
¿Cuál es el problema?
Gracias

12 Replies

  • ¿Funciona este texto EXACT en SSMS?

    No estoy seguro de que pueda hacer declaraciones complejas, cosas con variables declaradas, etc. Tal vez debería ajustar esto en un procedimiento almacenado en la base de datos y, a continuación, ejecutar ese proceso desde Power BI.

      • ToddChitt's avatar
        ToddChitt
        Icon for Super User rankSuper User

        ¿Está toda la declaración envuelta en comillas dobles? ¿Es su propia consulta?

        Hago esto a veces, creo una consulta con algo como:

        " SELECCIONAR ... De... Dónde... "

        A continuación, tenga una segunda consulta con el código M como esta:

        Dejar
        Origen: Sql.Database(ServerName, DatabaseName, [Query-"sql_text"])
        En
        Fuente

        ¿Eso es lo que estás haciendo aquí?

    • Markzolotoy's avatar
      Markzolotoy
      Icon for Impactful Individual rankImpactful Individual

      @ToddChitt He convertido mi código en SP y es exactamente el mismo error. Me huele a bicho PBI.

      Estoy llamando a la tienda proc de la siguiente manera:

      ejecutivo usp_GetAlerts_Summary_Counts 3, '............

      Consigue esto:

      Microsoft SQL: sintaxis incorrecta cerca de la palabra clave 'exec'. Sintaxis incorrecta cerca de ')'.

    • Markzolotoy's avatar
      Markzolotoy
      Icon for Impactful Individual rankImpactful Individual

      @ToddChitt He copiado código de la primera consulta inot segundo y obtengo el mismo error. Parece que el error es:

      declarar funciona sólo para una consulta.

      ¿Hay una versión PBI sin este error?

  • Markzolotoy's avatar
    Markzolotoy
    Icon for Impactful Individual rankImpactful Individual

    Definitivamente lo optimizaré más tarde, es sólo código existente ahora.

  • Markzolotoy's avatar
    Markzolotoy
    Icon for Impactful Individual rankImpactful Individual

    Eso no es lo que estoy haciendo. Todavía no es tan avanzado 😉. Estoy obteniendo datos de la base de datos de SQL Server y en la sección avanzada que escribe el código anterior. Esta es una segunda consulta. El primero se bifurcaba bien y creo que es casi el mismo código. Pero no puedo comprobarlo porque no puedo ver el código de la primera consulta.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      No @Markzolotoy

      ¿Qué tipo de modo de conexión intentó conectarse a SQL, importar o consultar directamente?

      Encontré un post con el problema smiliar como el suyo, resolvió su problema cambiando el modo de conexión de Consulta directa a importar.

      Aquí está la publicación: Microsoft SQL: Sintaxis incorrecta cerca de la palabra clave 'exec'. Sintaxis incorrecta cerca de ')'.

      Desde este blog: Sintaxis incorrecta en Power BI, pero la consulta funciona bien en SSMS? Me di cuenta de que Power BI Desktop tiene problemas al analizar consultas en modo de consulta directa. Siempre resuelve la instrucción SQL de entrada de front-end como una tabla derivada para que instrucciones como DECLARE, CTE causen un error de sintaxis.

      Intente conectarse a SQL mediante la importación con este código.

      Saludos

      Rico Zhou

      Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

    • Anonymous's avatar
      Anonymous
      Not applicable

      No @Markzolotoy

      Encontré un problema como el tuyo y muestra que:

      El error se produce porque la consulta utilizada por el cliente contiene comentarios (--) en la consulta. Si la consulta se ejecutara tal cual, la consulta devolvería los resultados correctamente. Al usar objetos visuales, se agrega una consulta adicional alrededor de la consulta original. Los comentarios '--' se extenderían hasta el final de la línea rompiendo así la consulta generada por el objeto visual.

      Intente eliminar los comentarios '--' de la consulta. Si eso no es posible, deben usar Block Comment en su lugar (/* */).

      O también puede intentar importar la conexión.

      Saludos

      Rico Zhou

      Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

  • No @Markzolotoy

    ¿Podría decirme si su problema ha sido resuelto? Si es así, acédi es la solución. Más gente se beneficiará de ello. O usted todavía está confundido al respecto, por favor proporcione más detalles sobre su problema.

    Saludos

    Rico Zhou