parámetro de usuario en consulta dinámica

Un usuario Pregunto ✅

Raji

¡Hola!

Estoy tratando de pasar el valor de un parámetro a mi declaración de consulta dinámica para poder limitar el conjunto de datos en la base de datos de origen (que trata con datos extremadamente grandes).

Intenté lo siguiente… pero no transfiere el valor del parámetro StartDate a la variable p_start_date. ¿Cómo puedo obtener el valor del parámetro para poder usarlo en mi consulta dinámica?

dejar
p_start_date = fnGetParameter(«StartDate»),
Fuente = SapHana.Database(«servidor»,
[Query=»select «»VBAK»».»»VBELN»», «»VBAK»».»»AUART»» #(lf)from «»VBAK»» #(lf)where «»VBAK»».»»ERDAT»» > ‘& p_start_date &'»])
en
Fuente

¡¡Muchas gracias!!

Raji

Creo que obtuve la sintaxis, pero ahora aparece el siguiente error:

«No se admite la combinación de DirectQuery y datos importados».

¿Eso significa que un parámetro no se puede usar para la entrada del usuario y pasar a una consulta dinámica?

¿O alguien sabe cómo evitar esto?

¡¡Muchas gracias!!

En respuesta a Raji

Hola Raji,

El parámetro es compatible con Consulta directa. Cheque:

Inmersión profunda en los parámetros de consulta y las plantillas de Power BI

Este error «No se admite la combinación de DirectQuery y datos importados». Puede deberse al estado del parámetro, haga clic con el botón derecho en el parámetro y desmarque la opción Habilitar carga (si está marcada, después de hacer clic en cerrar y aplicar, el escritorio de Power BI generará el error «No se admite la combinación de DirectQuery y datos importados»).

5 PNG

Además, observe el tipo de datos de la fuente de datos y el parámetro, asegúrese de que el tipo coincida.

Responda si necesita más ayuda al respecto.

Saludos

Raji

En respuesta a v-micsh-msft

Perdón por la demora. Estaba en un viaje de negocios y no pude verificar esto… ahora…

Miré el enlace y creo que veo el problema/desconexión ahora… Estaba buscando un parámetro de consulta que el usuario pudiera ingresar y podría pasar a la declaración de selección para limitar las filas devueltas (frente a una segmentación y filtrado en él ya que el conjunto de datos es de millones de registros). Sin embargo, al usar el enlace a los parámetros de consulta y las plantillas proporcionadas anteriormente, parece que esto solo es posible con Desktop BI frente a los informes publicados que usan los usuarios.

Si entendí mal y hay una manera de hacerlo donde los usuarios pueden ingresar el valor del parámetro del informe, ¡me encantaría saberlo!

¡¡Gracias a todos por su opinión!!

gilbertq

En respuesta a Raji

Hola @raji

¿Puede proporcionar su nombre de parámetro, así como una muestra o la consulta real?

He hecho esto en el pasado y es un proceso para asegurarme de que tiene los nombres de los parámetros y la sintaxis de Power Query (M) correcta.

ozmike

En respuesta a gilbertq

Lo siento, ¿no estás seguro de lo que estás preguntando?

En respuesta a Raji

Hola Raji,

Actualmente, no creo que esto se pueda hacer en el nivel de Informe con los usuarios.

El parámetro de consulta está disponible para consultar los datos, no después de la consulta. Si quisiéramos filtrar el informe, podríamos agregar la segmentación Visual. Qué usuario podría seleccionar en Informes:

rebanadoras en Power BI

Saludos

ozmike

En respuesta a v-micsh-msft

Aquí hay un ejemplo que usa una base de datos HANA, con sintaxis de trabajo

disfrutar. Tenga en cuenta que debe usar los nombres de las columnas internas de SAP hana, las columnas que se muestran en PBI son «etiquetas» y pueden tener espacios en ellas o ser completamente diferentes a las columnas reales de SAP.

let
xx = "0000610127",
sel = "select ""ColumnName"" from ""ZXXX.XXX::TABLE""  where ""ColumnName"" = '"  & xx & "'  ",
Source = SapHana.Database("Server:12345", [Query=sel])
in
Source

ankitpatira

@raji Creo que solo te faltan comillas dobles. Pase el parámetro como se muestra en la imagen a continuación con comillas dobles.

Captura.PNG

Raji

En respuesta a ankitpatira

Gracias @ankitpatira! Intenté eso pero obtuve un error:

Nuevo guión:

dejar
Fuente = SapHana.Database(«servidor»,
[Query=»select «»VBAK»».»»VBELN»», «»VBAK»».»»AUART»»
from «»schema»».»»VBAK»»
where «»VBAK»».»»ERDAT»» > «»»& Start & «»»
«])
en
Fuente

Muestra la siguiente consulta:

seleccione «VBAK».»VBELN», «VBAK».»AUART»
de «esquema».»VBAK»
donde «VBAK».»ERDAT» > «20160101»

pero el sistema hana necesita la fecha sin las comillas ya que arroja el siguiente mensaje de error:

DataSource.Error: ODBC: ERROR [S1000] [SAP AG][LIBODBCHDB DLL][HDBODBC] Error general;260 nombre de columna no válido: 20160101: línea 3 col 24 (en pos 200)
Detalles:
DataSourceKind=SapHana
DataSourcePath=servidor
OdbcErrors=Tabla

¿Algunas ideas? ¡Gracias!

bhaveshpatel

Hola,

Consulte esta publicación de blog para obtener más información.

https://blog.oraylis.de/2013/05/using-dynamic-parameter-values-in-power-query-queries/

Gracias y Saludos,

Bhavesh

Deja un comentario

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