Skip to main content

Expect_Equals_ico.png 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:

Expect_Equals_ex1.png

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)