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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Back2Basics
Helper IV
Helper IV

Búsqueda del número de referencia anterior

Bien, tengo una tabla con registros que tienen un número de cliente. Cada número de cliente puede tener varias filas de pedidos. Algunos cómo un montón de órdenes recientemente tenían sus adormeces de referencia sobre-escritos a '1'. Afortunadamente tenemos una tabla de historial, así que puedo ver los números de pedido anteriores...

Lo que espero hacer es encontrar a todos los clientes que tienen una referencia de pedido de '1' y, a continuación, actualizarlos a la referencia de pedido anterior. En el historial de órdenes tengo algo así:

Lo que necesito, para importar los datos para corregirlos, es una tabla que tiene la referencia del historial del cliente que se va a actualizar (por ejemplo. AB1001/2) en una columna, la referencia de la orden para ese registro en la columna 2 y la referencia de la orden anterior en la columna 3. ¿Hay alguna manera de hacer esto directamente en PBI o necesito exportar y jugar en Excel?

ClienteOrden
AB1001/115000
AB1001/21
BC1001/114000
BC1001/2

1

3 REPLIES 3
MFelix
Super User
Super User

Hola @Back2Basics ,

Sin saber cómo tiene los datos históricos conectados a sus datos (lo que se considera el ID de una línea específica) puede hacer una combinación de ambas tablas por el IDENTIFICADOR específico.

Suponiendo que en los datos que ha enviado que el cliente AB1001/2 es el valor único y que las tablas son las siguientes:

Actual

Cliente Orden
AB1001/1 15000
AB1001/2 1
BC1001/1 14000
BC1001/2

1

Histórico

Cliente Orden
AB1001/1 15000
AB1001/2 18000
BC1001/1 14000
BC1001/2

10000

Ahora debe hacer lo siguiente:

  • Haga una fusión de Por Cliente de ambas tablas
    • El vínculo entre ambas tablas es el Cliente, pero puede ser más columnas
  • A continuación, expanda el orden de las columnas con los valores que necesita.
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnQyNDAw1DdU0lEyNDUwMFCK1YELGoEEwQJOzghVJjBVUEGoqlgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Customer = _t, Order = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Customer", type text}, {"Order", Int64.Type}}),
    #"Merged Queries" = Table.NestedJoin(#"Changed Type", {"Customer"}, Historical, {"Customer"}, "Historical", JoinKind.LeftOuter),
    #"Expanded Historical" = Table.ExpandTableColumn(#"Merged Queries", "Historical", {"Order"}, {"Historical.Order"})
in
    #"Expanded Historical"

Tenga en cuenta que el depeding en sus datos de la forma en que hace la fusión (izquierda, rigth, fuzzy) puede necesitar ajustes.

Compruebe la conexión PBIX.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Gracias por la respuesta @MFelix, pero fue un poco sobre mi cabeza.

Me las arreglé para evitar esto duplicando la mesa un par de veces y haciendo algunos cambios, voy a explicar lo que hice:

  • Dupliqué la tabla y filtré así que solo tenía los registros donde el número de pedido era 1. Esto me dio una lista de todos los que necesitaban ser corregidos. llamaremos a esta tabla A.
  • Duplid la tabla original de nuevo y luego eliminé los registros donde el número de pedido era 1. Ahora tenía dos tablas, una con las filas que necesitaban corrección y otra con el número de pedido anterior. Llamaremos a esta tabla B.
  • Luego, volví a la tabla A y dupliqué la columna Cliente. Luego divido este duplicado por '/' dándome por ejemplo. AB1001 en una columna y 2 en otra.
  • Luego agregué una nueva columna para proporcionar la referencia anterior usando textcombine - textcombine([customer1], ([customer2] -1), /). Llamaremos a esto 'cliente anterior'
  • A continuación, cerré el editor y creé una relación entre la tabla Un cliente anterior y el cliente de la tabla B.

Esto me dio lo que quería. Podría haber una forma más limpia de hacerlo, pero tuvo el efecto deseado.

Hola @Back2Basics ,

Me alegra que pudieras averiguarlo.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors