Verwenden benutzerdefinierter Ausdrücke in Exception Monitor - dataflow_designer - spectrum_quality_1 - 23 - 23.1

Spectrum Data Quality-Handbuch

Product type
Software
Portfolio
Verify
Product family
Spectrum
Product
Spectrum > Qualität > Spectrum Quality
Version
23.1
Language
Deutsch
Product name
Spectrum Data Quality
Title
Spectrum Data Quality-Handbuch
First publish date
2007
Last updated
2023-10-25
Published on
2023-10-25T06:24:19.942092

Sie können Ihre eigenen benutzerdefinierten Ausdrücke schreiben, um zu steuern, wie Exception Monitor zum Erstellen eines Ausdrucks über Groovy-Scripting Datensätze weiterleitet.

Verwenden von Groovy-Scripting

Informationen zu Groovy finden Sie unter groovy-lang.org.

Die Auswertung der im Schritt „Exception Monitor“ verwendeten Groovy-Ausdrücke muss einen booleschen Wert (wahr oder falsch) ergeben, der darauf hindeutet, ob der Datensatz als Ausnahme gilt und zur manuellen Überprüfung weitergeleitet werden soll. Ausnahmedatensätze werden an den Ausnahmeport weitergeleitet.

Wenn Sie beispielsweise Datensätze mit einem Zuverlässigkeitsniveau für Überprüfungen in Höhe von < 85 überprüfen müssen, würde Ihr Script folgendermaßen aussehen:

data['Confidence']<85

Bei der Überwachung würde der Wert im Feld „Zuverlässigkeit“ auf Basis Ihrer Kriterien ausgewertet werden, damit ermittelt werden kann, an welchen Ausgabeport er gesendet werden soll.

Beispiel: Überprüfen eines Feldes auf einen einzelnen Wert

Bei diesem Beispiel ergibt die Auswertung „wahr“, wenn das Statusfeld „F“ enthält. Dies müsste eine genaue Übereinstimmung sein, die Auswertung von „f“ würde folglich nicht „wahr“ ergeben.

return data['Status'] == 'F'; 

Beispiel: Überprüfen eines Feldes auf mehrere Werte

Bei diesem Beispiel ergibt die Auswertung „wahr“, wenn das Statusfeld „F“ oder „f“ enthält.

boolean returnValue = false; if (data['Status'] == 'F' || data['Status'] == 'f') {  returnValue = true; } return returnValue; 

Beispiel: Auswerten der Feldlänge

Bei diesem Beispiel ergibt die Auswertung „wahr“, wenn das Feld „PostalCode“ mehr als 5 Zeichen enthält.

return data['PostalCode'].length() > 5; 

Beispiel: Prüfen auf ein Zeichen innerhalb eines Feldwertes

Bei diesem Beispiel ergibt die Auswertung „wahr“, wenn das Feld „PostalCode“ einen Gedankenstrich enthält.

boolean returnValue = false;  if (data['PostalCode'].indexOf('-') != -1)  {  	returnValue = true;  }  return returnValue; 

Häufige Fehler

Im Folgenden werden häufige Fehler bei der Verwendung des Skriptings aufgeführt.

Das folgende Beispiel ist falsch, da „PostalCode“ (der Spaltenname) in einfachen oder doppelten Anführungszeichen stehen muss

return data[PostalCode]; 

Das folgende Beispiel ist falsch, da keine Spalte angegeben ist

return data[]; 

Das folgende Beispiel ist falsch, da „row.set()“ keinen booleschen Wert zurückgibt. Die Auswertung wird immer „falsch“ ergeben und das Feld „PostalCode“ wird immer in 88989 geändert.

return row.set('PostalCode', '88989'); 

Verwenden Sie ein einfaches Gleichheitszeichen, um den Wert eines Feldes festzulegen, und ein doppeltes Gleichheitszeichen, um den Wert eines Feldes zu überprüfen.