Hi an alle,
Ich habe einen Kunden, der in der Automobilindustrie mit Supply Quality Engineers arbeitet. Sie haben eine große PPAP-Tabelle (Production Part Approval Process) mit einer Teilenummerspalte, einigen anderen kategorialen Spalten, einer Spalte mit dem vorläufigen Genehmigungsdatum, einer Spalte mit dem tatsächlichen Genehmigungsdatum und einer manuell eingegebenen Spalte beschreibt den Grund, warum der vorläufige Termin versäumt wurde. Das Ziel des Kunden ist es:
1) Prognostizieren Sie, ob eine bevorstehende Teilenummer bis zum vorläufigen Datum tatsächlich genehmigt wird
2) Visualisieren, ob Teilenummern unter oder über ihrem vorläufigen Genehmigungsdatum liegen (um wie viele Tage)
Ich habe mich gefragt, ob jemand einen Beispieldatensatz hat, der der von mir beschriebenen Tabelle ähnelt? Es fällt mir schwer, einen relevanten Datensatz zu finden. Sobald ich die JMP-Tabelle habe, könnte ich den Text-Explorer, den Graph-Builder und einige der Plattformen im Zuverlässigkeits-/Überlebensmenü demonstrieren (möglicherweise muss die Zensur umgedreht werden, damit sie funktioniert). Irgendwelche anderen Vorschläge?
Am besten,
Clovis
@cweisbart Sie könnten in Betracht ziehen, einen Online-Zugang zu erhalten PPAP-Dokumentation der AIAG . Wenn die Leute, mit denen Sie zusammenarbeiten, in der Automobilindustrie arbeiten, ist es wahrscheinlich, dass dies das Dokument ist, mit dem sie arbeiten. Ich habe eine ähnliche Erfahrung gemacht, als Halbleiterleute, die diese Branche beliefern, eine Messsystemanalyse durchführen mussten (gleiche Idee, anderes Standarddokument).
Natürlich ist es einfach genug, Daten zu simulieren und sie dann abzustimmen, um eine interessante Erzählung zu unterstützen. Dies könnte Ihnen helfen, einige der einfachen Dinge zu zeigen, die Sie erwähnen. Unnötig zu erwähnen, dass es sich um einen ziemlich alten Code handelt:
amesDefaultToHere(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,
"Nominal",
Format( "Best", 12 ),
Formula( DateDifference( :In Date, :Out Date, "Day" )),
);
Danke Ian, ich habe letztens eine sehr ähnliche Tabelle wie deine erstellt. Das einzige, was fehlt, sind die manuell eingegebenen Textdaten. Es wäre cool, einige der gebräuchlichen Begriffe als Prädiktoren für die DateDifference-Antwort zu verwenden. Aber ich denke daran, während der Demo nur mehrere Tische zu haben. Eine ähnliche Tabelle, um Datumsmanipulationen und Grafiken / Tabellen zu demonstrieren, dann so etwas wie die Chips JMP-Datei, um die Vorteile des Text-Explorers zu zeigen.