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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Chavas
Helper II
Helper II

Eliminar filas basadas en otra tabla

Hola a todos. Estoy tratando de optimizar un poco mi informe.

Tengo dos objetos principales que están relacionados. El principal se llama Ticket, y tiene un ID y Estatus

La segunda son tareas, con contiene su propio ID y el ParentID, que es el identificador de vale donde la tarea está vinculada a

He filtrado la tabla Entradas para mantener solo el estado no cerrado.

Sin embargo, con respecto a las tareas que necesito para eliminar las filas en función de los tickets restantes en la tabla Tickets para que pueda filtrarlo correctamente.

He pensado en algunas formas de hacerlo, pero parece que la sintaxis no es correcta. Parece que las columnas creadas en el Editor de consultas son bastante limitadas.

¿Alguna sugerencia sobre cómo hacerlo para evitar obtener 500.000 filas cada actualización donde el 95% no es relevante para el panel en el que estoy trabajando?

Gracias de antemano

1 ACCEPTED SOLUTION

@Chavas , En la mayor parte de la conexión, tiene una opción avanzada, puede dar una consulta allí. así que agregue esta consulta usando una nueva ruta de conexión

AdvanceProperty.png

View solution in original post

15 REPLIES 15
amitchandak
Super User
Super User

@Chavas , por lo que sé, la forma de Power Query de combinar la tabla mediante una combinación interna, si es necesario, crear una columna mediante el encabezado y el filtro en blanco

https://radacad.com/append-vs-merge-in-power-bi-and-power-query

Así que combine el encabezado (después de las filas del encabezado eliminado) con los detalles usando la combinación interna y expandir y tomar el estado del encabezado. Idealmente, debería reducir las filas. Si no filtra las filas aquí también en función del estado.

Thansk @amitchandak he intentado con la opción Combinar, pero no funciona porque quiero evitar obtener TODOS los datos cada actualización. Por lo tanto, esto debe procesar todo, pero quiero quitar las filas en función de una condición de: Si Task.Value-Incident.Value, mantener fila, quitar fila.

Greg_Deckler
Super User
Super User

@Chavas - No está del todo claro en esto, los datos de muestra y la salida esperada ayudarían. ¿Tal vez algo como EXCEPTO?

No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Hola @Greg_Deckler . Gracias por tu respuesta.

He estado buscando la solución, pero debería estar haciendo algo mal porque la función RELACIONADA no está siendo aceptada por el editor Nueva Columna.

Tengo una tabla como:

TABLA DE ENTRADAS
IdEstado
1A
2B
3C

Con 1M Records. He filtrado para filtrar todo con el estado C. Así que sólo acelerar mi proceso de actualización porque sólo procesa 500 filas.

También tengo la tabla de tareas:

TABLA DE TAREAS
IdIdentificación del boletoEstado
11A
21B
33C

Este tiene digamos 5M filas, y necesito filtrarlo y sólo mantener los datos de los Tickets que son relevantes (Los que donde no se filtró antes) En este caso, Tarea con ID 3 debe ser eliminado. así que instad de procesar entradas 5M, sólo procesaré 5K.

He intentado crear una nueva columna, pero cada fórmula que he establecido para tratar de obtener los datos que no funciona, el IDE no me permite establecer una fórmula VLOOKUP o relacionada incluso un IF.

Simpliet way es pseudo código va a crear una nueva columna:
If (Existe en la tabla de tickets (ID-Task.TicketID), 1,0)
DELETE ROW IF Exists-0

@Chavas - Si tiene problemas con RELATEd, pruebe RELATEDTABLE en su lugar.


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

@Greg_Deckler IDE no me permite utilizar esas funciones

Chavas_0-1599488892040.png

Podría estar realmente perdido en algún momento

@ImkeF , @edhans , ¿puede ayudar en este

@Chavas - Oh, estás en Power Query, lo siento, esos comandos que mencioné son DAX. Bueno, en Power Query, ¿probaste las uniones Left-Anti o Right-Anti? Déjame ver esto con un nuevo conjunto de ojos.


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Gracias a ambos (@Greg_Deckler y @amitchandak) por su ayuda, lo que estoy tratando, es algo como esto

SELECT TaskID, DATABASE.dbo.Ticket.TicketID, DATABASE.dbo.Ticket.Status FROM DATABASE.dbo.Task
unión interna Database.dbo.Ticket en DATABASE.dbo.Task.ParentID-Ticket.ID
DONDE Ticket.Status !- 'Cerrado'

Así que ya he filtrado la tabla Ticket pero no quiero evitar cargar toneladas de filas que no necesito y no voy a usarla. Así que no necesito tener en una nueva mesa toda la información de las Entradas, ¿sabes? Me gustaría mantenerlo separado y luego lo manejaré a través de las relaciones.

Podría publicarlo en el foro equivocado :S Y lo siento por la confusión

@Chavas , En la mayor parte de la conexión, tiene una opción avanzada, puede dar una consulta allí. así que agregue esta consulta usando una nueva ruta de conexión

AdvanceProperty.png

Lo sentimos por repositng, pero es posible que si lo hace a través del estado SQL, ¿tarda años en extraer los datos?

@Chavas Le recomiendo encarecidamente que no utilice la vista avanzada con la instrucción SQL. Evita un plegado adicional, evita la actualización incremental, puede hacer que los permisos se den un privilegio para una conexión de puerta de enlace.

Si debe usar como instrucción SQL, cree una vista en el servidor y conéctese a esa.

Dicho esto, puede hacer esto 100% en Power Query en un servidor SQL y se doblará, siempre y cuando no use ese cuadro de instrucción SQL.

  1. Crea un duplicado de tu tabla de Entradas y llámalo TicketIDs
  2. Haga clic con el botón derecho en la columna ID y seleccione Explorar en profundidad. Esto es ahora una lista.
  3. Vuelva a la tabla Tarea.
  4. Filtre en cualquier elemento de la columna ID de tarea. Sólo para obtener Power Query para generar una instrucción Table.SelectRows() para usted. Se verá algo como esto en la barra de fórmulas
    1. Table.SelectRows(Source, each each ([Ticket ID] á "1"))
  5. Debe reemplazarlo con el siguiente código:
    1. Table.SelectRows(Source, each (not List.Contains(TicketIDs, [Ticket ID])))

Lo que esto hace es convertir esto en una instrucción IN en SQL, luego hace lo contrario, así que no en básicamente. No tengo las tablas en SQL Server, pero lo probé con el ejemplo worldWideImportersDW db de MS. Este es el código que generó en el "Ver consulta nativa cuadro. El servidor procesará eso y devolverá los resultados.

edhans_0-1599496117031.png

Cualquier pregunta haga ping de nuevo.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

¡Yay!
¡Esa es una solución!
Pero el problema es que tengo que codificar el estado en la consulta. En un futuro, Si quiero cambiarlo, tendré que rehacer la consulta o la mente que he codificado de forma rígida en algún lugar.

¿Hay alguna otra opción elegante/más elegante?

(Soy bastante nuevo en PowerBI, por lo que su solución podría ser el camino)

Copiado. A partir de ahora voy a realizar el camino corto en la medida en que el reloj me está mordiendo.

¡Gracias por la ayuda!

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

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

MayPowerBICarousel

Fabric Monthly Update - May 2024

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

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

Top Solution Authors