fusionar tablas en dos columnas

Un usuario Pregunto ✅

pxg638

Hola,

Primera publicación, así que disculpas si esto es súper tonto: ¡estaba buscando algo incorrecto o estaba siendo extremadamente denso en la comprensión de lo que otros habían escrito! Tengo una tabla de datos grande (fila de 1 m) y una tabla de configuración pequeña (unos cientos de filas) y estoy tratando de fusionarlas, así:

Tabla.Datos

Fecha Unidad de producción mensual

31/1/2017 1000 CNC1
31/1/2017 2000 CNC2
31/1/2017 3000 CNC3
28/2/2017 1000 CNC1
28/2/2017 2000 CNC2
28/2/2017 3000 CNC3

etc.

Tabla.Configuración

Fecha Unidad Tipo1Trabajos Tipo2Trabajos

1/1/2017 CNC1 0.5 0.5
2/1/2017 CNC1 0.6 0.4
1/1/2017 CNC2 0.5 0.5
1/1/2017 CNC3 0.5 0.5
2/1/2017 CNC3 0 1

En otras palabras, para el mes de enero, CNC1 realizó el 50 % de los trabajos de tipo 1 y el 50 % de los trabajos de tipo 2, y luego, en febrero, se reconfiguró para realizar el 60 % de los trabajos de tipo 1 y el 40 % de los trabajos de tipo 2.

El resultado que quiero es efectivamente:

Fecha Unidad de Producción Mensual Tipo1Trabajo Tipo2Trabajo

31/1/2017 1000 CNC1 500 500
31/1/2017 2000 CNC2 1000 1000
31/1/2017 3000 CNC3 1500 1500
28/2/2017 1000 CNC1 600 400
28/2/2017 2000 CNC2 1000 1000
28/2/2017 3000 CNC3 0 3000

Entonces la producción mensual se reparte en base a la fracción del tipo de trabajo, por máquina. El resultado final que quiero ver es el tipo de trabajo a lo largo del tiempo por máquina, ya que se agrupan por sitio.

Ahora, puedo hacer una combinación externa izquierda simple para lograr una configuración de línea de base, pero no puedo hacer una combinación en dos columnas sin entrar en el tipo de pensamiento intermedio/rango y eso está más allá de mi cerebro en este momento, y por lo tanto cualquier cambio de configuración del se pierde la máquina.

Veo respuestas que sugieren una segunda tabla de fechas de alguna manera, pero estoy luchando por ver la solución. Estoy seguro de que esto es súper simple, ¿qué me estoy perdiendo?

Anónimo

En respuesta a Anónimo

@pxg638

¿Lo resolvieron con SQL después de todo?

Si es así, ¿puedo pedirle que acepte una solución para esta publicación, para que otros puedan beneficiarse de ella de todos modos?

vanessafvg

@ pxg638 ¿por qué no crea una nueva columna, es decir, una clave basada en la combinación de ambas columnas?

pxg638

En respuesta a vanessafvg

Entonces puedo crear [Unit]&[Date] en ambas tablas, eso es bastante simple, ¿cómo lo utilizaría para crear el cambio en la asignación entre los tipos de trabajo? ¿Una unión en la nueva columna simplemente no dejaría muchos espacios donde no encajaba?

vanessafvg

En respuesta a pxg638

@pxg638 ah ok, cuéntame un poco más sobre el cambio en la asignación, no me queda claro en tu publicación (podría ser un poco lento esta mañana)

pxg638

En respuesta a vanessafvg

Así que para enero hacemos 1000 trabajos. La unidad está configurada para hacer 50% tipo 1 y 50% tipo 2, por lo que obtiene 500 del primero, 500 del segundo. El próximo mes también hacemos 1000 trabajos, pero hemos reconfigurado la máquina, por lo que ahora hace un 40 % de tipo 1 y un 60 % de tipo 2, así que obtengo 400 y 600 respectivamente. Si ahora quiero resumir mis trabajos tipo 1, me gustaría saber que esta unidad hizo 900 trabajos tipo 1 y 1100 trabajos tipo 2 en los primeros dos meses.

Eso más claro?

Anónimo

En respuesta a vanessafvg

Hola @pxg638

¿Podría proporcionar encabezados de columna? Quiero volver a crear su problema en Power BI para probar una solución que tengo en mente.

Gracias por adelantado.

Mejor

Martín

pxg638

En respuesta a Anónimo

@Anónimo

Los encabezados de las columnas no se mostraron en la publicación original, ¡lo siento! HTML me falló! Por lo tanto, tiene la fecha de informe, el volumen y la unidad para la primera tabla, luego la fecha de configuración, el nombre de la unidad, el trabajo de fracción T1 y el trabajo de fracción T2 (efectivamente) para la segunda tabla.

Aquí estoy simplificando la realidad, pero se presenta el principio.

Anónimo

En respuesta a pxg638

@pxg638

Muy bien, la forma en que resolví esto es generando una columna de identificación para vincular una determinada producción a una determinada configuración. No estoy seguro de si esto se adaptará a su flujo de datos o configuración de datos. Si no puede generar una columna de identificación, le sugiero que nos cuente un poco más sobre su desafío y configuración de datos, para que podamos encontrar una solución adecuada para usted. En mi opinión, la forma más sencilla de abordar su desafío es generar una columna de identificación. Echa un vistazo a la imagen de abajo.

Avíseme si esto resuelve su problema y si debemos ir en una dirección diferente.

Tablas de producción relacionadas.png

pxg638

En respuesta a Anónimo

@Anónimo

Eso funcionaría si la tabla de configuración tuviera una entrada para cada mes en el que tuviera datos. En este momento, no lo hace, solo registra los cambios. Usando un [unit]&[Date.Month]&[Date.Year] key habilitaría esto simplemente, si tuviera una entrada para cada mes en ambas tablas. El uso de ese enfoque en este momento produce una gran cantidad de filas nulas en la combinación posterior.

Anónimo

En respuesta a pxg638

Tal vez entendí mal tu respuesta, en cuyo caso por favor corrígeme. ¿Pero probablemente podría duplicar la tabla de configuración para cada mes? ¿Es solo una nueva duplicación cuando ustedes tienen cambios en la tabla de configuración?

Un ejemplo: verifique si hay cambios en la tabla de configuración: si no hay ninguno, duplique el mes pasado, si hay cambios, duplique esos cambios. ¿No se acomodaría esto a su problema?

pxg638

En respuesta a Anónimo

Cambiar el conjunto de datos de origen es más difícil de lo que debería ser. ¿Sería posible duplicar esas filas en una tabla dentro del análisis?

Anónimo

En respuesta a pxg638

Mmm. Supongo que podrías hacerlo en Power Query. Tal vez también sea posible con DAX, sinceramente no lo sé. Pero en el futuro, sugeriría adoptar este enfoque.

pxg638

En respuesta a Anónimo

Nuestro equipo de datos ha hecho esto en SQL Server para nosotros como prueba de concepto, por lo que obtengo la tabla resultante final directamente en SQL Server y puedo hacer mi visualización en la parte posterior de eso, en lugar de intentar construirla aquí. ¡Gracias por las sugerencias!

Anónimo

En respuesta a pxg638

@pxg638

Me alegro de que lo hayan probado, y que les funcione. Si considera resuelto este post, ¿puedo pedirle que acepte una solución?

La mejor de las suertes en el futuro,

Martín

Anónimo

En respuesta a Anónimo

@pxg638

¿Lo resolvieron con SQL después de todo?

Si es así, ¿puedo pedirle que acepte una solución para esta publicación, para que otros puedan beneficiarse de ella de todos modos?

pxg638

En respuesta a Anónimo

Sí, al final lo hicimos a nivel de base de datos. ¡Gracias por la ayuda!

Anónimo

En respuesta a pxg638

El ejemplo está bien. Me había perdido los encabezados, así que gracias por proporcionarlos. Volveré a crear esto en Power BI ahora y probaré mi solución. Luego me pondré en contacto con usted con los resultados.

Mejor

Martín

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *