Hola a todos,
Tengo un cliente que trabaja en la industria del automóvil con ingenieros de calidad de suministros. Tienen una gran hoja de cálculo PPAP (proceso de aprobación de piezas de producción) que tiene columnas de número de pieza, algunas otras columnas categóricas, una columna que muestra la fecha tentativa de aprobación, una columna que muestra la fecha real de aprobación y una columna ingresada manualmente que describe la razón por la que se pasó por alto la fecha tentativa. El objetivo del cliente es poder:
1) Predecir si un próximo número de pieza se aprobará en la fecha tentativa
2) Visualice si los números de pieza están por debajo o por encima de su fecha tentativa de aprobación (por cuántos días)
Me preguntaba si alguien tenía un conjunto de datos de muestra que se pareciera a la hoja de cálculo que describí. Tengo dificultades para encontrar un conjunto de datos relevante. Parece que una vez que tengo la tabla JMP, podría hacer una demostración del explorador de texto, el generador de gráficos y algunas de las plataformas en el menú de confiabilidad/supervivencia (es posible que deba invertir la censura para que funcione). ¿Cualquier otra sugerencia?
Mejor,
Clodoveo
@cweisbart podría considerar obtener acceso en línea a Documentación PPAP de AIAG . Si las personas con las que está trabajando están en la industria automotriz, es probable que este sea el documento con el que están trabajando. Tuve una experiencia similar cuando la gente de semiconductores que abastecía a esta industria necesitaba realizar un análisis de sistemas de medición (misma idea, diferente documento de estándares).
Gracias Ian, terminé creando una tabla muy similar a la tuya el otro día. Lo único que falta son los datos de texto introducidos manualmente. Sería genial usar algunos de los términos comunes como predictores de la respuesta DateDifference. Pero estoy pensando en tener varias mesas durante la demostración. Una tabla similar a esta para demostrar manipulaciones de fechas y gráficos/tabulaciones, luego algo como el archivo Chips JMP para mostrar los beneficios del explorador de texto.
Por supuesto, es bastante fácil simular datos y luego ajustarlos para admitir una narrativa interesante. Esto podría ayudarte a mostrar algunas de las cosas simples que mencionas. No hace falta decir que es un código bastante antiguo:
NamesDefaultToHere(1);
// *************************************************************************************************
// Change me!
// *************************************************************************************************
nr = 100; // Number of rows
earliestDate = DateDMY(1, 1, 2010); // Earliest possible start date
latestDate = DateDMY(31, 12, 2010); // Latest possible start date
processTimeMu = 14; // Mean of random process time (in days)
processTimeSigma = 7; // Sigma of random process time (in days)
// *************************************************************************************************
// Make some simulated 'start date' data (time ordered)
dt1 = NewTable("In",
NewColumn("In Date", Numeric, Continuous,
Formula(RandomInteger(earliestDate, latestDate)),
Format( "ddMonyyyy h:m:s", 22, 0 ),
Input Format( "ddMonyyyy h:m:s", 0 ),
)
);
dt1 << addRows(nr);
Column(dt1, "In Date") << deleteFormula;
dt1 << Sort(By(:In Date), ReplaceTable(1));
dt1 << NewColumn("ID", Numeric, Nominal, Values((1::nr)`));
dt1 << moveSelectedColumns(:ID, ToFirst);
// Make some simulated 'end date' data (don't allow the end date to be earlier than the start date)
inVals = Column(dt1, "In Date") << getValues;
processTime = J(nr, 1, Round(RandomNormal(processTimeMu, processTimeSigma), 0); );
processTime[Loc(processTime <= 0)] = 0;
outVals = inVals + InDays(processTime);
dt2 = NewTable("Out",
NewColumn("ID", Numeric, Nominal, Values((1::nr)`)),
NewColumn("Out Date", Numeric, Continuous,
Values(outVals),
Format( "ddMonyyyy h:m:s", 22, 0 ),
Input Format( "ddMonyyyy h:m:s", 0 ),
)
);
// Join dt1 and dt2
dt3 = dt2 << Join(
With( dt1 ),
SelectWith( :ID, :In Date ),
Select( :Out Date ),
By Matching Columns( :ID = :ID ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 ),
Output Table( "In and Out Dates" )
);
// Add a column for the process time
dt3 << New Column( "Process time in days",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( DateDifference( :In Date, :Out Date, "Day" )),
);