Scénario de test & Cas d'usage
Präzise Berechnung von Perzentilen und Quantilen.
Entdecken Sie alle Aktionen von percentileErstellt eine Tabelle mit simulierten Transaktionsdaten, die eine Transaktions-ID, einen Betrag und eine Händlerkategorie enthält.
| 1 | DATA casuser.transactions_de; |
| 2 | LENGTH category $ 20; |
| 3 | DO category = 'Lebensmittel', 'Elektronik', 'Reisen'; |
| 4 | DO i = 1 to 100; |
| 5 | IF category = 'Lebensmittel' THEN amount = 10 + rand('NORMAL', 20, 5); |
| 6 | ELSE IF category = 'Elektronik' THEN amount = 150 + rand('NORMAL', 300, 50); |
| 7 | ELSE IF category = 'Reisen' THEN amount = 500 + rand('NORMAL', 800, 200); |
| 8 | IF amount < 5 THEN amount = 5; |
| 9 | OUTPUT; |
| 10 | END; |
| 11 | END; |
| 12 | RUN; |
| 1 | PROC CAS; |
| 2 | percentile.boxPlot / |
| 3 | TABLE={name='transactions_de', caslib='casuser', groupBy={'category'}}, |
| 4 | inputs={{name='amount'}}, |
| 5 | casOut={name='trans_boxplot_std', caslib='casuser', replace=true}, |
| 6 | method='EXACT', |
| 7 | pctlDef=5; |
| 8 | RUN; |
| 9 | QUIT; |
| 1 | |
| 2 | PROC PRINT |
| 3 | DATA=casuser.trans_boxplot_std; |
| 4 | var category _VAR_ _Q1_ _MEDIAN_ _Q3_ _LOW_ _HIGH_; |
| 5 | RUN; |
| 6 |
Die Ausgabetabelle `trans_boxplot_std` sollte drei Zeilen enthalten, eine für jede Händlerkategorie ('Lebensmittel', 'Elektronik', 'Reisen'). Jede Zeile muss die korrekten Boxplot-Statistiken (Q1, Median, Q3 usw.) für die Variable `amount` enthalten, die mit der exakten Methode und der PCTLDEF=5-Definition berechnet wurden. Die Werte sollten die erwarteten Verteilungen widerspiegeln (z. B. niedrigere Medianwerte für Lebensmittel, höhere für Reisen).