Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Markzolotoy
Impactful Individual
Impactful Individual

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 12
Syndicate_Admin
Administrator
Administrator

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

Markzolotoy
Impactful Individual
Impactful Individual

Usé DirectQuery.

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.

Markzolotoy
Impactful Individual
Impactful Individual

¿Esa es la respuesta?

https://community.powerbi.com/t5/Desktop/Why-is-DECLARE-not-supported-Error/td-p/40983

Por lo tanto, sigue siendo un error incluso después de convertir en un SP???

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.

Markzolotoy
Impactful Individual
Impactful 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.

Markzolotoy
Impactful Individual
Impactful Individual

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

ToddChitt
Super User
Super User

¿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.




Did I answer your question? If so, mark my post as a solution. Also consider helping someone else in the forums!

Proud to be a Super User!





@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?

@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 ')'.

Funciona perfectamente en SSMS.

¿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í?




Did I answer your question? If so, mark my post as a solution. Also consider helping someone else in the forums!

Proud to be a Super User!





Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.