dobregón
Hola tios,
Tengo una tabla en la base de datos con miles de eventos, con una identidad/número único para cada evento, id. En PowerBI tengo una tabla con la lista de eventos con algunos metadatos relacionados con el evento, pero lo que quiero tener (para no cargar muchas filas cada vez) es filtrar los 1000 eventos inferiores creados (los últimos 1000 eventos) .
Entonces, voy al ID visual del filtro, filtro Botton N, 1000 y por valor pongo el ID y no funciona y me da los 2000000000 eventos que tengo.
¿Estoy haciendo algo mal? he intentado poner 1 en la parte inferior N y el resultado es siempre el mismo
v-lionel-msft
Hola @dobregon,
¿Como esto?
Atentamente,
Lionel Chen
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.
dobregón
En respuesta a v-lionel-msft
Hola de nuevo
Resuelto ese problema he encontrado otro problema. Tengo la lista de eventos y cada evento tiene una fecha de inicio y una fecha de finalización y mi conjunto de datos tiene un calendario de fechas, por lo que, dependiendo de las fechas que seleccioné, los eventos deben filtrarse por los eventos que podrían tener en ese período.
Entonces, tengo la lista de eventos filtrados primero por una medida como «evento activo». El problema es que cuando traté de aplicar el evento de los 1000 principales (para ver los primeros 1000 eventos), los 1000 eventos principales filtran solo los primeros 1000 eventos sin tener en cuenta el evento activo, tiene en cuenta la lista completa de eventos. .
¿Hay alguna forma de que los filtros se apliquen después de aplicar ese evento activo?
v-lionel-msft
En respuesta a dobregón
Hola @dobregon,
El problema con los filtros es que los has agregado de forma incorrecta. Podrías hacer esto:
Tipo de datos
Filtrar
Pero no creo que necesites hacer esto. Puede crear directamente una medida y dejar que devuelva el resultado final.
Measure =
CALCULATE(
MAX(Sheet1[ID]),
FILTER(
TOPN( 100, Sheet1, [ID], DESC ),
Sheet1[StartDate] <= SELECTEDVALUE('Table'[Date]) && Sheet1[EndDate] >= SELECTEDVALUE('Table'[Date])
)
)
Atentamente,
Lionel Chen
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.
dobregón
En respuesta a v-lionel-msft
gracias por tus respuestas @v-lionel-msft pero tal vez no entiendo tu punto o tal vez no estoy explicando muy bien mi ejemplo.
he subido un ejemplo en el siguiente enlace archivo PBI
Como puede ver, hay 2 tablas (reales y eventos), las tablas reales tienen las ventas de los mercados para cada día y los eventos son para cada mercado y tienen fecha de inicio y fecha de finalización.
La conexión entre las tablas es marketid, y la tabla más importante (la tabla mian) es theh actuals. Bien, en los datos reales tengo 2 medidas (intervalo de inicio de fecha, intervalo de finalización de fecha) que muestran que depende de los días seleccionados el rango de fechas de su análisis.
luego, en la tabla de eventos, tengo una medida para saber si el evento está activo en el período de tiempo o no, así que… si marcamos el 7 de enero, quiero ver los eventos que están activos en ese día.
– el evento comienza antes de ese día pero no está cerca
– los eventos comienzan antes de ese día y cierran ese día
– los eventos comienzan esa fecha
– los eventos terminan ese día, etc etc
Por eso el filtro visual de eventos activos es = 1 para mostrar solo los eventos activos. Ok, ahora puede ver que podría aparecer una gran cantidad de eventos y quiero filtrar solo los eventos TOPN DESC 10 pero eventid pero solo para los eventos activos en el período (por lo que debe ser dinámico), en esta parte es donde tengo problemas
v-lionel-msft
En respuesta a dobregón
Hola @dobregon,
¿Se ha solucionado tu problema?
Atentamente,
Lionel Chen
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.
dobregón
En respuesta a v-lionel-msft
realmente no,
La única idea que he encontrado es crear una medida que cree nuevos valores de identidad para los eventos activos y luego filtrar por top1000 de esa medida. el problema es que esta opcion produce un rendimiento muy bajo asi que… por ahora no puedo hacer eso
v-lionel-msft
En respuesta a dobregón
Hola @dobregon,
«Entonces, tengo la lista de eventos filtrada primero por una medida como «evento activo». El problema es que cuando traté de aplicar el evento de los 1000 principales (para ver los primeros 1000 eventos), los 1000 eventos principales filtran solo los primeros 1000 eventos sin tener en cuenta el evento activo, tiene en cuenta toda la lista de eventos».
Intente escribir todos los filtros en DAX. En otras palabras, haga que la medida devuelva directamente el resultado que desea al final, no agregue «Filtros en este objeto visual».
¿Te importaría compartir tu archivo .pbix? (Si el problema sigue sin resolverse).
Atentamente,
Lionel Chen
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.
dobregón
En respuesta a v-lionel-msft
hola @Greg_Deckler es un valor numérico
hola @v-lionel-msft, esto es lo que hice, pero la imagen no filtra nada, como puede ver en mi imagen a continuación, puse la columna eventid, top N 1 usando eventid y no pasa nada
El objeto visual se configura solo con el eventid y la opción «no resumir» para ese campo porque es numérico. La columna es numérica.
gracias de antemano
dobregón
En respuesta a dobregón
He creado la nueva columna eventid2 como texto e intento hacer lo mismo y esto resuelve el problema, por lo que parece que debe ser texto o algo así.
esperando la confirmación de @v-lionel-msft si tengo razón para cerrar el tema.
greg_deckler
¿La identificación es numérica o de texto?