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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
pedanticpad
Helper II
Helper II

Power Query - Unir/Combinar según la fecha entre 2 fechas

Hola, tengo dos tablas, una tabla de puntos y una tabla de ventas. Necesito usar la marca de tiempo de creación de factura en la tabla de ventas y asignar el número de semana de la tabla de períodos donde la marca de tiempo está entre las marcas de tiempo. ¿Hay alguna manera de unir /combinar las tablas para obtener mi resultado deseado a continuación?

¡Gracias!

Tabla de períodos

image.png

Tabla de ventas (extraer)

image.png

Resultado deseado (Tabla de ventas con WeekPeriod)

image.png

7 REPLIES 7
mahoneypat
Employee
Employee

Podría hacerlo en consulta, pero es más fácil hacerlo en DAX. Cargue ambas tablas tal cual (con el formato DateTime para esas columnas) y use esta expresión en una columna calculada de la tabla Sales. Esto supone que no hay ninguna relación entre las tablas Sales y Period. De ser así, se necesitaría una pequeña modificación.

WeekPeriod - var currenttime - Sales[Timestamp]

return Calculate(min(Period[WeekNumber]), Period[WeekPeriod_StartTimeStamp]<-currenttime, Period[WeekPeriod_EndTimeStamp]>-currenttime)

Si esto funciona para usted, por favor márquelo como solución. Los felicitaciones también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@mahoneypat, gracias por la ayuda, pero preferiría hacerlo en la consulta de poder en lugar de dax.

Lo siguiente en M hará lo que quieras.

    #"Added Custom" = 
        Table.AddColumn(#"Changed Type", "Some Number", each let
                varDate = [Sales Date]
            in
                Table.SelectRows(Table, each [Date1] <= varDate and [Date2] >= varDate)[Some Number]{0}
        )

Puede verlo en este archivo PBIX.

Tenga en cuenta que mis datos tienen algunos errores en los resultados porque mi tabla Sales tiene fechas no en los intervalos de fechas de la tabla. Si tiene el mismo problema, podría envolver en una construcción try/otherwise.

Si desea más ayuda, proporcione datos por enlaces a continuación, no capturas de pantalla. ¡Gracias!

Cómo obtener una buena ayuda rápidamente. Ayúdanos a ayudarte.
Cómo obtener respuesta rápida a su pregunta
Cómo proporcionar datos de ejemplo en el foro de Power BI



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

@edhans que funcionó, pero mi tiempo de actualización para esa tabla ha pasado de 30 segundos a casi media hora. ¿Hay otra opción?

Incondicionalmente no hay ninguna combinación entre los intervalos en Power Query, por lo que mi código está haciendo muchas comparaciones fila por fila y un Table.SelectRows() para cada elemento.

Otra posibilidad es hacer una unión cartesiana. A ver si esto ayuda. No es optimista.

    #"Added Custom1" = 
        Table.AddColumn(
            #"Added Custom", 
            "Some Number Again",
            each let
                varDate = [Sales Date]
            in
                Table.SelectRows([Custom], each varDate >= [Date1] and varDate <= [Date2])[Some Number]{0}
        )

Ve a tomar mi archivo de nuevo usando el enlace de arriba. Se ha actualizado con una tabla Sales2 para mostrarle todo el proceso.

Alguien puede escribir código más eficiente. No estoy seguro de si @ImkeF podría mejorar esto o no - pero si alguien puede, es ella.



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

Hola

en realidad hay un patrón para esta tarea que probablemente aumentará la velocidad: https://www.skillwave.training/vlookup-true-in-power-query/

Consulte también el archivo adjunto.

Proporciona resultados correctos si los intervalos no tienen huecos como en los datos @pedanticpad da en su hilo inicial.

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

@ImkeF @edhans, muchas gracias por tu ayuda. El patrón es en realidad un increíblemente simple que simplemente funciona y no añade tiempo en absoluto a la actualización.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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