Scénario de test & Cas d'usage
Génération de données simulées de capteurs avec une boucle pour simuler du volume et introduire un écart.
| 1 | |
| 2 | DATA casuser.LOGS_LOCAL; |
| 3 | DO i=1 to 1000; |
| 4 | SensorID='S_'||put(mod(i,10), z2.); |
| 5 | Value=rand('Uniform'); |
| 6 | OUTPUT; |
| 7 | END; |
| 8 | |
| 9 | RUN; |
| 10 | DATA casuser.LOGS_CLOUD; |
| 11 | DO i=1 to 950; |
| 12 | SensorID='S_'||put(mod(i,10), z2.); |
| 13 | Value=rand('Uniform'); |
| 14 | OUTPUT; |
| 15 | END; |
| 16 | |
| 17 | RUN; |
| 18 |
| 1 | PROC CAS; |
| 2 | SIMPLE.compare / |
| 3 | TABLE={name='LOGS_LOCAL', groupBy={'SensorID'}}, |
| 4 | table2={name='LOGS_CLOUD', groupBy={'SensorID'}}, |
| 5 | freqOut={name='BILAN_SYNCHRO', replace=true}, |
| 6 | generatedColumns={'ALL'}, |
| 7 | frequencyName='Nb_Messages_Local', |
| 8 | frequency2Name='Nb_Messages_Cloud'; |
| 9 | RUN; |
La table 'BILAN_SYNCHRO' doit lister chaque 'SensorID' avec le décompte exact des messages locaux vs cloud. On s'attend à voir des différences (ex: S_01 a 100 messages locaux mais 95 cloud) indiquant la perte de données.