Come: |
La funzione PATTERN esamina una stringa di origine e produce un modello che indica la sequenza di numeri, le lettere in maiuscolo e in minuscolo nella stringa di origine. Questa funzione risulta utile per l'esamininazione di dati, per assicurarsi che si segua un modello standard.
Nel modello di emissione:
PATTERN (length, source_string, output)
dove:
Numerico
La lunghezza di source_string.
Alfanumerico
Stringa di caratteri racchiusa tra virgolette singole, oppure un campo che contiene la stringa di caratteri.
Alfanumerico
Nome del campo che contiene il risultato o formato del campo racchiuso tra virgolette singole.
I seguenti 19 record sono memorizzati nel file sequenziale di formato fisso (con LRECL 14) , chiamati TESTFILE:
212-736-6250 212 736 4433 123-45-6789 800-969-INFO 10121-2898 10121 2 Penn Plaza 917-339-6380 917-339-4350 (212) 736-6250 (212) 736-4433 212-736-6250 212-736-6250 212-736-6250 (212) 736 5533 (212) 736 5533 (212) 736 5533 10121 Æ 800-969-INFO
Il file principale è:
FILENAME=TESTFILE, SUFFIX=FIX , SEGMENT=TESTFILE, SEGTYPE=S0, $ FIELDNAME=TESTFLD, USAGE=A14, ACTUAL=A14, $
La seguente richiesta genera un modello per ciascuna istanza di TESTFLD e le visualizza a seconda del modello generato. Visualizza il conteggio di ciascun modello e la sua percentuale del conteggio totale. Il comando PRINT mostra quali valori di TESTFLD hanno generato ciascun modello.
FILEDEF TESTFILE DISK testfile.ftmDEFINE FILE TESTFILE
PATTERN/A14 = PATTERN (14, TESTFLD, 'A14' ) ;
END
TABLE FILE TESTFILE
SUM CNT.PATTERN AS 'COUNT' PCT.CNT.PATTERN AS 'PERCENT'
BY PATTERN
PRINT TESTFLD
BY PATTERN
ON TABLE COLUMN-TOTAL
END
Notare che il prossimo dell'ultima riga ha creato un modello da una stringa d'immissione contenente un carattere non stampabile, per poter modificare quel carattere in X. Altrimenti, ciascuna cifra numerica creerebbe un 9 nella stringa d'immissione, ciascuna lettera maiscola creerebbe il carattere 'A' e ciascuna lettera minuscola creerebbe il carattere 'a'. L'emissione è:
PATTERN COUNT PERCENT TESTFLD ------- ----- ------- ------- (999) 999 9999 3 15.79 (212) 736 5533 (212) 736 5533 (212) 736 5533 (999) 999-9999 2 10.53 (212) 736-6250 (212) 736-4433 9 Aaaa Aaaaa 1 5.26 2 Penn Plaza 999 999 9999 1 5.26 212 736 4433 999-99-9999 1 5.26 123-45-6789 999-999-AAAA 2 10.53 800-969-INFO 800-969-INFO 999-999-9999 6 31.58 212-736-6250 917-339-6380 917-339-4350 212-736-6250 212-736-6250 212-736-6250 99999 1 5.26 10121 99999 X 1 5.26 10121 Æ 99999-9999 1 5.26 10121-2898 TOTAL 19 100.00
WebFOCUS |