Strumento Previsione di valori uguali
Utilizza Previsione di valori uguali per verificare se due flussi di dati sono identici e segnalare errori in caso contrario.
Lo strumento segnala solo i primi quattro errori che rileva e indica il numero degli errori aggiuntivi.
Previsione di valori uguali indica:
Se i nomi dei campi sono diversi o anomali.
Se i tipi di campo sono diversi.
Se i valori numerici, stringa o di data/ora non corrispondono.
Se i valori Blob o spaziali non corrispondono.
Se il numero di righe è diverso (maggiore o minore del previsto).
Componenti dello strumento
Previsione di dati uguali ha 2 ancoraggi:
Ancoraggio previsto: connetti i dati previsti a questo ancoraggio.
Ancoraggio effettivo: connetti i dati che desideri convalidare a questo ancoraggio.
Il significato dei due ancoraggi è correlato solo ai messaggi forniti dallo strumento. Lo strumento può segnalare:
Error: Expect Equal (1): Record 1 field Field1: Expected "a", Actual "A"
Il valore previsto è semplicemente quello risultante sull'ancoraggio previsto.
Configurazione dello strumento
Questo strumento non ha opzioni di configurazione.
Esempi di strumenti
Tutti gli esempi possono essere dimostrati con il seguente flusso di lavoro:
1. Esempio: campi diversi
Se i campi disponibili negli input dei valori previsti ed effettivi sono diversi, appaiono i messaggi:
Error: Expect Equal (1): Expected field was missing: F1
Error: Expect Equal (1): Actual field was not expected: Field1
I due messaggi ti consentono di stabilire se il nome del campo previsto era errato o se i dati hanno prodotto un nome di campo errato.
Tieni presente che i confronti dei nomi dei campi, come sempre negli strumenti Alteryx, non distinguono tra lettere maiuscole e minuscole, quindi "F1" corrisponde a "f1"."
2. Esempio: ordine dei campi diverso
Se i due flussi hanno gli stessi nomi dei campi ma ordini diversi, lo strumento mostrerà un sottoinsieme di tutti i campi per mostrare la differenza:
Error: Expect Equal (1): Different field order. Expected: ..., b, c; Actual: ..., c, b
Se i campi hanno un ordine diverso, i dati verranno confrontati in base al nome del campo, non alla posizione. Quindi, se il campo B ha il valore 2 in entrambi i flussi, lo strumento non segnalerà un errore aggiuntivo. Tuttavia, se il campo B previsto ha il valore 2 e il campo B effettivo ha il valore 3, verrà segnalato un errore aggiuntivo.
3. Esempio: tipi di campi diversi
La corrispondenza dei tipi è ampia. Tutti i tipi di numeri interi corrispondono agli altri tipi di numeri interi, i numeri a virgola mobile corrispondono ai numeri doppi e tutti i tipi di stringa corrispondono agli altri tipi di stringa. I decimali fissi corrispondono solo a decimali fissi, per mantenere la precisione nel confronto dei valori. Le dimensioni dei tipi non vengono prese in considerazione ai fini della corrispondenza dei tipi.
Se è previsto un tipo a virgola mobile ma si ottiene un tipo intero, viene segnalato un errore nella verifica del tipo e non viene eseguito nessun confronto dei valori.
Quando i tipi differiscono, appare il messaggio di errore:
Error: Expect Equal (1): Field a is expected to be type Double, but is actually type V_String 2147483647
Tieni presente che le descrizioni dei tipi includono il nome esatto e alcune informazioni sulle dimensioni, ma queste ultime non causano errori di mancata corrispondenza.
4. Esempio: valori dei dati diversi
I valori interi vengono confrontati senza compromettere la precisione. Può essere rilevata la differenza tra 9.223.372.036.854.775, 807 (il più grande numero intero a 64 bit possibile) e 9.223.372.036.854.775, 806 .
Error: Expect Equal (1): Record 1 field F1: Expected 9223372036854775807, Actual 9223372036854775806
I valori a virgola mobile e doppi vengono confrontati per stabilire la corrispondenza esatta, non la corrispondenza approssimativa.
Ad esempio, il valore 5124095575370702,5 corrisponde a 5124095575370701,6 perché la rappresentazione dei valori doppi non è sufficientemente precisa da distinguere questi valori, che vengono memorizzati in modo identico nel computer. Quando i numeri non corrispondono, vengono stampati con 17 cifre fisse.
Error: Expect Equal (1): Record 1 field D: Expected 5124095575370702.00000000000000000, Actual 5124095575370701.00000000000000000
I tipi di stringa vengono confrontati con la distinzione tra lettere maiuscole e minuscole. I valori vengono visualizzati se non corrispondono a quelli previsti, le stringhe effettive possono essere accorciate in modo da mostrare solo un minimo di contesto prima e dopo la prima differenza:
Error: Expect Equal (1): Record 1 field a: Expected "...ar like the present peri...", Actual "...ar like the Present Peri..."
I valori di data e ora vengono confrontati con la massima precisione del più preciso tra i due e i valori vengono mostrati se vengono rilevate differenze:
Error: Expect Equal (1): Record 1 field c: Expected 2024-03-14 11:07:00, Actual 2024-03-14 11:07:00.001
Error: Expect Equal (1): Record 1 field c: Expected 11:07:00.002, Actual 11:07:00.001
Se i campi BLOB differiscono, lo strumento segnala semplicemente che sono diversi:
Error: Expect Equal (1): Record 1 field a: Expected Blob does not match Actual
Gli oggetti spaziali vengono convertiti in GeoJson e confrontati come stringhe:
Error: Expect Equal (1): Record 1 field d: Expected "...inates":[1,2] }", Actual "...inates":[1,2.000001]}"
5. Esempio: numero di righe diverso
Lo strumento può segnalare:
Error: Expect Equal (1): Actual had fewer records than expected: 2
Error: Expect Equal (1): Actual had more records than expected: 3
Il numero indicato (2 o 3 in questo caso) è quello che differisce dal valore previsto.
6. Esempio: numero eccessivo di messaggi
Lo strumento segnala solo i primi 4 messaggi. In presenza di più messaggi, conclude con:
Error: Expect Equal (1): Total errors: 6 (suppressed messages beyond limit 4)