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
Anonymous
Not applicable

Es la fecha de pedido en el rango

Hola, chicos

Tengo una mesa con horario de entrega de clientes tenue en formato como este

País

Cst

Seq

Ref

Lunes

Martes

Miércoles

Jueves

Viernes

Sábado

Domingo

eso

2062

004D1

ES2062004D1

1

1

1

1

1

0

0

eso

2062

005D1

ES2062005D1

1

1

0

1

0

0

0

eso

2062

006D1

ES2062006D1

1

1

1

1

1

0

0

eso

2062

007D1

ES2062007D1

0

1

1

1

1

0

0

eso

2062

008D1

ES2062008D1

1

1

1

0

1

0

0

eso

2062

009D1

ES2062009D1

1

1

1

1

1

0

0

eso

2062

011D1

ES2062011D1

1

1

1

1

1

0

0

eso

2064

001D1

ES2064001D1

1

0

1

1

1

0

0

eso

3482

000D1

ES3482000D1

1

1

1

1

1

0

0

eso

3482

003D1

ES3482003D1

1

1

1

1

1

0

0

eso

3492

000D1

ES3492000D1

1

1

0

1

1

0

0

eso

3515

001D1

ES3515001D1

0

1

1

1

1

0

0

eso

3523

000D1

ES3523000D1

0

1

0

1

1

1

0

eso

3543

000D1

ES3543000D1

1

1

0

1

1

0

0

eso

3578

001D1

ES3578001D1

0

1

1

0

1

0

0

eso

4481

001D1

ES4481001D1

1

1

1

1

0

0

0

eso

9426

000D1

ES9426000D1

1

1

0

1

1

0

0

eso

3256

000Z0

ES3256000Z0

0

1

1

1

0

0

0

donde básicamente dice que el cust con referencia ES2062004D1 (Country&cst&seq) sólo acepta la entrega en mo-fr,

cust con referencia ES2062005D1(Country&cst&seq) sólo acepta la entrega en mo, tue y thu. etcetera.

Entonces tengo una tabla de hechos donde tengo pedidos con fecha de entrega

Orden #

País

Cst

Seq

Ref

de la fecha

12365

eso

2062

004D1

ES2062004D1

19-10-20

12366

eso

2062

004D1

ES2062004D1

20-10-20

12367

eso

2062

004D1

ES2062004D1

21-10-20

12368

eso

2062

004D1

ES2062004D1

22-10-20

12369

eso

2062

004D1

ES2062004D1

23-10-20

12370

eso

2062

004D1

ES2062004D1

24-10-20

12371

eso

2062

004D1

ES2062004D1

25-10-20

12372

eso

2062

004D1

ES2062004D1

26-10-20

12373

eso

2062

004D1

ES2062004D1

27-10-20

12374

eso

2062

004D1

ES2062004D1

28-10-20

12375

eso

2062

004D1

ES2062004D1

29-10-20

12376

eso

2062

004D1

ES2062004D1

30-10-20

12377

eso

2062

004D1

ES2062004D1

31-10-20

12378

eso

2062

004D1

ES2062004D1

01-11-20

12379

eso

2062

004D1

ES2062004D1

02-11-20

12380

eso

2062

004D1

ES2062004D1

03-11-20

12381

eso

2062

004D1

ES2062004D1

04-11-20

12382

eso

2062

004D1

ES2062004D1

05-11-20

lo que quiero lograr es que quiero saber si la fecha del es un día en el que el cliente acepta la entrega.

¿Cuál es la mejor solución

Estoy pensando en crear una columna calculada que calcularía algo como

si dim horario de entrega del cliente ref - referencia de hecho y la fecha de entrega es en los días 1-5 entonces 1 más 0

- ¿cómo debo abordar esto debo añadir esta tabla al modelo y crear relación

- no debería conectarlo al modelo y usar es como tabla de búsqueda - esto se puede hacer finalmente también en el editor de consultas (supongo)

- o de alguna manera crear columna calculada usando dax

Estaría muy agradecido si alguien tiene experiencia con escenario similar y puede recomendar una solución o al menos sugerir dirección

Muchas gracias

Miba

1 ACCEPTED SOLUTION
camargos88
Community Champion
Community Champion

Hola @miba ,

Transformaría (despivo las columnas de día) las fechas en la programación de entrega del cliente tenue en filas, teniendo sólo dos columnas (día y entrega)..

por lo que puede calcular si su cliente tiene 1 en esas fechas comparando con otra tabla....

Consulte la solución adjunta mediante Power Query.

Aquí he creado una columna en la tabla de entrega para comprobar si tiene la fecha o no.



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

Proud to be a Super User!



View solution in original post

4 REPLIES 4
v-kelly-msft
Community Support
Community Support

Hola @miba ,

Primero vaya a Power query>select Columns Mon-Sun >unpivot the columns;

A continuación, vuelva a la vista de modelo>crear una relación entre el tabel de hechos y la tabla unpivot;

Screenshot 2020-10-23 101956.png

A continuación, cree una columna calculada como se indica a continuación:

Column = 
var _search=LOOKUPVALUE('Unpivot table'[Value],'Unpivot table'[ref],'Table (2)'[ref],0)
var _search2=LOOKUPVALUE('Unpivot table'[Value],'Unpivot table'[Attribute],'Table (2)'[Weekday],0)
Return
IF(_search=1&&_search2=1,TRUE(),FALSE())

O una medida como se indica a continuación:

Screenshot 2020-10-23 102705.png

Para el archivo .pbix relacionado, pls ver adjunto.

Saludos
Kelly

¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

Ashish_Mathur
Super User
Super User

Hola

Me gustaría ayudar. La segunda tabla, cuando se pega en MS Excel, no aparece en un formato adecuado. El primero parece estar bien. Pegue ambas tablas en un libro de MS Excel y comparta el vínculo de descarga de ese libro de trabajo.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
camargos88
Community Champion
Community Champion

Hola @miba ,

Transformaría (despivo las columnas de día) las fechas en la programación de entrega del cliente tenue en filas, teniendo sólo dos columnas (día y entrega)..

por lo que puede calcular si su cliente tiene 1 en esas fechas comparando con otra tabla....

Consulte la solución adjunta mediante Power Query.

Aquí he creado una columna en la tabla de entrega para comprobar si tiene la fecha o no.



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

Proud to be a Super User!



Hola @miba,

Puedes probar lo siguiente,

-> crear una nueva columna en su dimensión de cliente como:

Accepts Delivery = 
if([Monday] = 1, "2|", "|" ) &
if([Tuesday] = 1, "3|", "|" ) &
if([Wednesday] = 1, "4|", "|" ) &
if([Thursday] = 1, "5|", "|" ) &
if([Friday] = 1, "6|", "|" ) &
if([Saturday] = 1, "7|", "|" )&
if([Sunday] = 1, "1|", "|" ) 

-> crear una columna del día de la semana en su tabla de hechos (tipo de texto)

Day of Week = WEEKDAY([del date])

-> crear un calc en la tabla de hechos para identificar si el día de la semana existe en la cadena de entrega acepta

Good Date = if(FIND([Day of Week], RELATED('dim customer delivery schedule'[Accepts Delivery]), 1, 0)>0, TRUE(), FALSE())

Espero que esto ayude,
Richard
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
¿Mis respuestas ayudaron a llegar a una solución? Dale un kudos haciendo clic en Thumbs Up!



I hope this helps,
Richard

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

Proud to be a Super User!


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