Veröffentlicht am :
Datenmanagement CREATION_INTERNE

Generierung von Testdatensätzen (JES)

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Skript erstellt eine Reihe von Tabellen in der Bibliothek 'JES' für Test- oder Demonstrationszwecke. Es verwendet verschiedene Methoden: direkte Eingabe (DATALINES) für Kontakte, arithmetische Schleifen für statistische Verteilungen (Poisson) und Zufallsgenerierung (RANUNI, RANPOI) zur Simulation operationeller Daten (Einheiten, Fehler, Raten). Es umfasst auch nachfolgende Transformationen mit der LAG-Funktion zur Simulation von Abhängigkeiten zwischen Zeilen und eine Sortierprozedur.
Datenanalyse

Type : CREATION_INTERNE


Alle Daten werden innerhalb des Skripts über DATALINES, Generierungsschleifen oder Zufallsfunktionen (RANUNI, RANPOI) generiert.

1 Codeblock
DATA STEP Data
Erklärung :
Erstellung der Tabelle JES.Contacts mit statischen Daten, die über DATALINES bereitgestellt werden.
Kopiert!
1DATA JES.Contacts;
2 INPUT Name $15. City $10. State $5. Number $15.;
3 DATALINES;
4John X. Doe Lodi nj 201-555-O123
5Mary Murphy San Jose CA 408.555.678
6;
7RUN;
2 Codeblock
DATA STEP Data
Erklärung :
Erstellung der Tabelle JES.TimeStamp, die Zeichenketten mit Datums-/Uhrzeitangaben enthält.
Kopiert!
1DATA JES.TimeStamp;
2 Time = "Tue Apr 03 08:25:00 MST 2004"; OUTPUT;
3 Time = "Tue Mar 26 17:52:31 MST 2004"; OUTPUT;
4 Time = "Tue Jun 03 08:25:00 MDT 2004"; OUTPUT;
5RUN;
3 Codeblock
DATA STEP Data
Erklärung :
Generierung statistischer Daten (Poisson-Verteilung) unter Verwendung der Funktionen CDF und PDF in einer Schleife.
Kopiert!
1DATA JES.Poisson;
2 DO K = 0 TO 5;
3 F = CDF('POISSON', K, 5);
4 P = PDF('POISSON', K, 5);
5 OUTPUT;
6 END;
7RUN;
4 Codeblock
DATA STEP Data
Erklärung :
Simulation von Einheitsdaten (JES.Units) mit zufälligen Seriennummern und Installationsdaten über RANUNI.
Kopiert!
1DATA JES.Units; FORMAT SN $4. Install MMDDYY10.;
2 SEED=12345;
3 DO I=1 TO 10;
4 CALL RANUNI(SEED, X); CALL RANUNI(SEED, Y); CALL RANUNI(SEED, Z);
5 SN=put(FLOOR(99*X), Z4.0);
6 Install = '01JUN2006'd + ROUND(21*Y);
7 Loc ="CA"; IF Z<.45 THEN Loc="NY";
8 OUTPUT;
9 END;
10 DROP i X Y Z SEED;
11RUN;
5 Codeblock
DATA STEP Data
Erklärung :
Modifikation von JES.Units zur Einführung von Duplikaten oder verschobenen Werten unter Verwendung der LAG3-Funktion auf die Seriennummer.
Kopiert!
1DATA JES.Units; SET JES.Units;
2 L=LAG3(SN);
3 IF _N_ in (4,6,8) THEN SN=L;
4 DROP L;
5RUN;
6 Codeblock
DATA STEP Data
Erklärung :
Simulation von Fehlerdaten (JES.Fails) mit zufälligen Daten und Orten.
Kopiert!
1DATA JES.Fails; FORMAT SN $4. Fail MMDDYY10. Loc $6.;
2 SEED=12345;
3 DO I=1 TO 10;
4 CALL RANUNI(SEED, X); CALL RANUNI(SEED, Y); CALL RANUNI(SEED, Z);
5 SN=put(FLOOR(99*X), Z4.0);
6 Fail = '01JUL2006'd + FLOOR(90*Y);
7 Loc ="Top"; IF Z<.45 THEN Loc="Bottom";
8 OUTPUT;
9 END;
10 DROP i X Y Z SEED;
11RUN;
7 Codeblock
DATA STEP Data
Erklärung :
Filterung und Modifikation von JES.Fails: Löschen bestimmter Zeilen (4, 8, 10) und Modifikation von Zeile 5 über LAG4.
Kopiert!
1DATA JES.Fails; SET JES.Fails; L=Lag4(SN);
2 IF _N_=5 THEN SN=L;
3 IF _N_ NE 4; IF _N_ NE 8; IF _N_ NE 10;
4 DROP L;
5RUN;
8 Codeblock
PROC SORT
Erklärung :
Sortierung der Tabelle JES.Fails nach Fehlerdatum.
Kopiert!
1PROC SORT DATA=JES.Fails; BY Fail; RUN;
9 Codeblock
DATA STEP Data
Erklärung :
Generierung der Tabelle JES.Rates, die Fehlerraten nach Anbieter und Region simuliert, unter Verwendung von RANPOI (Poisson-Verteilung).
Kopiert!
1DATA JES.Rates;
2 FORMAT Vendor $15. GEO $4. QTR $2. Rate 8.4 Test 8.0; SEED=12345;
3 Vendor = "ChiTronix"; GEO = "APAC"; Test = 5000;
4 DO i=1 TO 4; QTR="Q"||PUT(i, 1.0); Fail=RANPOI(SEED, .05*Test); OUTPUT; END;
5 Vendor = "Duality"; GEO = "EMEA"; Test = 1000; Fail = 7;
6 DO i=2 TO 4; QTR="Q"||PUT(i, 1.0); Fail=RANPOI(SEED, .02*Test); OUTPUT; END;
7 Vendor = "Empirical"; GEO="AMER"; Test = 7000; Fail = 100;
8 DO i=1 TO 3; QTR="Q"||PUT(i, 1.0); Fail=RANPOI(SEED, .01*Test); OUTPUT; END;
9RUN;
10 Codeblock
DATA STEP Data
Erklärung :
Finale Berechnung der Fehlerrate (Rate) in der Tabelle JES.Rates.
Kopiert!
1DATA JES.Rates; SET JES.Rates; FORMAT Rate percent8.2;
2 IF Test>0 THEN Rate=Fail/Test;
3 drop SEED i;
4RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.