Dobregón
Hola,
He realizado una consulta directa en mi base de datos como ejemplo.
SELECT Element,
TypeElement, Date, Cost From ElementCost
Esta «tabla» tiene mucha información desde hace años por lo que no es posible hacer una consulta de importación ya que el sistema necesitará 4h para tomar toda la información de la tabla, por eso estoy pensando en usar una consulta directa porque en En este tipo de consulta, el sistema tomará solo la información filtrada, por lo que el sistema no debería tardar mucho en tomar la información.
Entonces, para eso, he hecho 2 rebanadores:
- dropdown de fechas intermedias para seleccionar solo un período de tiempo
- Slicer para seleccionar el TypeElement
El problema es que cuando selecciono las fechas o el typeelemtn, PowerBI ejecuta la consulta y no quiero esto. Sé que existe el botón de aplicación, pero es individual para cada dropdown, así que … no es una solución real para mí.
Estoy buscando un botón de aplicar o algo que pueda seleccionar el período de tyme en el slicer 1 y el Typeelement en el slicer 2 y luego aplicar los filtros y ejecutar la consulta para hacer todo al mismo tiempo.
¿Es posible?
Thejeswar
@dobregon,
Sí, puede importar los datos restringiéndolos durante un cierto período de tiempo.
En caso de que eso no sea posible, dedique 4 horas a importarlo por primera vez, pero luego implemente Actualización incremental de datos para restringir la cantidad de datos que se están importando.
La consulta whoch que importa los datos debería ser como la especificada @ v-frfei-msft
En caso de que esto no sea posible, intente concatenar las dos columnas «algo como dice 2014 – TypeElementValue»
Ahora, al filtrar esto después de habilitar un botón Aplicar, debería enviar la consulta solo una vez al informe
Dobregón
En respuesta a Thejeswar
Gracias por la respuesta @Thejeswar
La actualización de datos incremental es una opción (como sé, tal vez me equivoque) solo para los usuarios premium y por ahora solo soy un usuario Pro, así que no puedo hacer eso.
Y no puedo concatenar la cortadora porque tengo miles de elementos de tipo y varios años / meses / días, por lo que solicito un solo botón de aplicación 1 porque veo que puedo poner botones pero no pueden hacer un acción para aplicar las cortadoras.
Otra cosa que estoy pensando ahora es hacer un SP con 3 parámetros (fecha de inicio, fecha de finalización, elemento de tipo) y luego escribir los 3 parámetros y aplicarlos, pero no puedo encontrar cómo puedo seleccionar el parámetro en la web powerbi.app cuando publicar el informe.
Veo que pueden escribir parámetros en función de una consulta, pero he intentado hacerlo y no puedo seleccionar una consulta. Hay alguna opcion?
v-frfei-msft
Hola @dobregon,
¿Por qué no usaste y en la consulta?
let Source = Sql.Database("localhost", "Power_BI_Test", [Query="select * from Financial_1 where ID>50 and Year >= 2014"]) in Source
Aquí puedo obtener el resultado que se filtró por ID y año a la vez.
Saludos,
Franco
Dobregón
En respuesta a v-frfei-msft
gracias por la respuesta @ v-frfei-msft, pero esta no es una solución porque las partes interesadas del informe quieren tener un filtro dinámico para ver un período de tiempo y el tipo de elemento, por lo que no puedo usarlo en la consulta.
El problema es que mi base de datos tiene muchas filas y si hago una consulta de importación, el sistema necesita más de 7 horas para cargar todos los datos y tenemos que hacerlo todos los días, por lo que la consulta de importación no puede hacer eso.
La consulta directa parece ser una buena solución porque si la gente necesita filtrar el período de tiempo y el elemento de tipo y luego esperar 10-30 segundos, es una buena solución, pero el problema es que si tengo 2 rebanadores, el sistema ejecutará la consulta directa cuando las personas cambian cualquier segmentación en lugar de esperar a finalizar la selección de las 2 segmentaciones y ejecutar la consulta. Por eso les pregunto si podrían ser un fondo para aplicar ambos filtros al mismo tiempo.
v-frfei-msft
En respuesta a Dobregón
Hola @dobregon,
Puede utilizar Filtrar en el campo para filtrar más de una columna a la vez.
Saludos,
Franco
Dobregón
En respuesta a v-frfei-msft
hola @ v-frfei-msft Conozco esta opción pero es similar a filtrar usando segmentaciones (y conectarlas en todas las páginas). el problema es que necesito filtrar «fechas» (con inicio y finalización) y tipos, así que en este caso necesito tener 2 filtros (igual que las segmentaciones) pero en esta opción necesito hacer clic en «aplicar» individualmente, así que, m en el mismo problema.
Estoy tratando de ver cómo hacerlo usando un SP con parámetros pero todavía no puedo encontrar una solución
v-frfei-msft
En respuesta a Dobregón
Hola @dobregon,
Entonces podemos usar parámetros en Power query para solucionarlo.
Aquí está el código M para su referencia.
(para as text, para1 as date,para2 as date) as table => let Source = Sql.Database("localhost", "Power_BI_Test"), dbo_Financial_1 = Source{[Schema="dbo",Item="Financial_1"]}[Data], #"Filtered Rows" = Table.SelectRows(dbo_Financial_1, each [Date] < para1 and [Date] > para2), #"Filtered Rows2" = Table.SelectRows(#"Filtered Rows", each [ID]> para) in #"Filtered Rows2"
Saludos,
Franco
Dobregón
En respuesta a v-frfei-msft
Hola,
No puedo hacer eso porque necesito que los parámetros y filtros sean dinámicos y en la aplicación powerbi los usuarios finales no pueden cambiar los parámetros.
He hecho 2 cosas y parece funcionar (pero no mucho más rápido):
– Una consulta directa a toda la tabla
– Importar consulta sobre todos los tipos de elementos (bicicletas, coches, bus, etc) que tengo.
He hecho una relación entre ambas consultas usando un elemento de tipo para muchos elementos de tipo en la consulta directa.
Luego, en las imágenes, he creado una cortadora con el tipo de elementos que tengo en la consulta de importación y otra visual con los detalles, así que cuando hago clic en la primera imagen, el sistema filtra para ese elemento y luego ejecuta la consulta directa para esto. elemento (tarda 15-20seg).