Definieren der SQL-Abfrage - 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 eine beliebige gültige SQL SELECT-Anweisung in das Textfeld im Dialogfeld „Candidate Finder“-Optionen eingeben.
Anmerkung: Select * ist nicht zulässig.
Angenommen, Sie haben eine Tabelle mit Namen „Customer_Table“ in Ihrer Datenbank, die die folgenden Spalten aufweist:
  • Customer_Table
  • Cust_Name
  • Cust_Address
  • Cust_City
  • Cust_State
  • Cust_Zip

Um alle Zeilen aus der Datenbank abzurufen, könnten Sie eine Abfrage ähnlich der folgenden erstellen:

SELECT Cust_Name, Cust_Address, Cust_City, Cust_State, Cust_Zip from Customer_Table; 

Sie werden nur selten Ihre Transaktion mit allen Zeilen in der Datenbank vergleichen wollen. Um nur die relevanten Kandidatendatensätze zurückzugeben, fügen Sie eine WHERE-Klausel hinzu und nutzen Sie die Variablenersetzung. Mit „Variablenersetzung“ ist eine spezielle Syntax gemeint, die Sie verwenden, um die Candidate Selection-Engine zu veranlassen, die Variable durch die eigentlichen Daten aus Ihrem Kopfdubletten-Datensatz zu ersetzen.

Um die Variablenersetzung zu verwenden, schließen Sie den Feldnamen in geschweiften Klammern ein, denen Sie ein Dollarzeichen voranstellen: ${FieldName}. Beispiel: Die folgende Abfrage gibt nur Datensätze mit einem Wert in „Cust_Zip“ zurück, der mit dem Wert in „PostalCode“ im Kopfdubletten-Datensatz übereinstimmt.

SELECT Cust_Name, Cust_Address, Cust_City, Cust_State,Cust_Zip  FROM Customer_Table  WHERE Cust_Zip = ${PostalCode}; 

Für SQL 2000 muss der Datentyp mit dem Datentyp für Candidate Finder identisch sein. Der JDBC-Treiber legt die Candidate Finder-Eingabevariable (z. B. ${MatchKey}), die in der WHERE-Klausel verwendet wird, auf den Datentyp „nVarChar(4000)“ fest. Wenn die Daten in der Datenbank auf den Datentyp „VarChar“ festgelegt werden, ignoriert der SQL-Server den Index in der Datenbank. Wenn der Index ignoriert wird, sinkt die Leistung. Verwenden Sie deshalb die folgende Abfrage für SQL 2000:

SELECT Cust_Name, Cust_Address, Cust_City, Cust_State,Cust_Zip  FROM Customer_Table  WHERE Cust_Zip = CAST(${PostalCode} AS VARCHAR(255));