Tengmin123
@DavisBI
Hola,
Estoy usando el generador de informes para generar un informe y mi fuente de datos es la base de datos cassandra en una fuente de datos compartida en el servidor de informes pbi.
Al principio, cuando creo un conjunto de datos, mi consulta es:
seleccione * de la tabla donde user_id en (@user_id)
y mi parámetro puede seleccionarse mutuamente, luego recibí un error:
Error al ejecutar una consulta en Cassandra: [33562624] : línea 17:18 no hay alternativa viable en el carácter ‘@’
Luego cancelo la selección múltiple para el parámetro y uso la expresión para generar la consulta y mi expresión es:
= «seleccionar * de la tabla donde user_id = ‘» & Parameters! userid.Value & «‘»
Luego, el informe se generó muy rápido.
Después de eso, vuelvo a marcar la selección múltiple para el parámetro y cambio la expresión como:
= «seleccionar * de la tabla donde log_time> = ‘» & Format (Parameters! start.Value, «yyyy-MM-dd») & «‘ y log_time <= '" & Format (Parameters! end.Value, "yyyy- MM-dd ") y" '"
Luego, el informe se genera muy, muy lento, tal vez demore unos 5 minutos.
¿Alguien ayuda a mejorar la consulta de este conjunto de datos?
¡Gracias!
DavisBI
Hola, @ Tengmin123,
Usted puede crear una función (como se muestra en la figura a continuación) que puede dividir su PARÁMETRO de LISTA a (‘a’, ‘b’, …) en SQL Server DB, luego puede usar la consulta como se muestra a continuación:
--Create a function, for example: [PBI_REPORT_BUILDER_SPLIT_PARAM]
CHANGE:
select * from table where user_id in (@user_id)
TO:
select * from table
where user_id in
(SELECT [ITEM] FROM [PBI_REPORT_BUILDER_SPLIT_PARAM](@user_id,","))
De lo contrario, obtendrá el error como su mención (Error al ejecutar una consulta …).
Marque esta respuesta como una solución si esto ayuda, ¡gracias!
Tengmin123
En respuesta a DavisBI
Hola, Davis. Gracias por su respuesta. Estoy usando la base de datos Cassandra en lugar de la base de datos SQL. No puedo crear esta función en db.