- Kategorien:
ACCEPTED_VALUES (System-Datenmetrikfunktion)¶
Gibt die Anzahl der Datensätze zurück, bei denen der Wert einer Spalte nicht mit einem booleschen Ausdruck übereinstimmt.
Syntax¶
SNOWFLAKE.CORE.ACCEPTED_VALUES ON ( <column>, <lambda-expression> )
Argumente¶
columnGibt die Spalte an, die Werte enthält, die mit dem booleschen Ausdruck in
lambda-expressionverglichen werden.lambda-expressionGibt einen Lambda-Ausdruck an, der aus der folgenden Syntax besteht:
column -> expression.Die Funktion gibt die Anzahl der Datensätze zurück, bei denen der Wert von :samp:`{column}`nicht mit dem booleschen Ausdruck übereinstimmt. Dieser Ausdruck kann die folgenden Operationen und Funktionen verwenden:
Die
columnim Lambda-Ausdruck stimmt immer mit demcolumn-Argument überein.
Zulässige Datentypen¶
Die in den Argumenten column und lambda-expression angegebene Spalte kann die folgenden Datentypen enthalten:
DATE
FLOAT
NUMBER
TIMESTAMP_LTZ
TIMESTAMP_NTZ
TIMESTAMP_TZ
VARCHAR
Rückgabewerte¶
Die Funktion gibt einen NUMBER-Wert zurück.
Nutzungshinweise¶
Sie können diese Funktion nicht direkt aufrufen. Wie Sie die Funktion mit einer Tabelle oder Ansicht verknüpfen, sodass sie in regelmäßigen Abständen ausgeführt wird, erfahren Sie unter Eine DMF verknüpfen, um Datenqualitätsprüfungen zu automatisieren.
Sie können die SYSTEM$DATA_METRIC_SCAN-Funktion verwenden, um die ACCEPTED_VALUES-Funktion für eine Tabelle auszuführen, ohne sie zu verknüpfen.
Sie können diese Funktion nicht mehr als einmal mit derselben Spalte verknüpfen.
Durch das Umbenennen einer Spalte, die in der ACCEPTED_VALUES-Funktion angegeben ist, wird die Zuordnung zwischen der Funktion und der Tabelle oder Ansicht der Spalte unterbrochen. Wenn Sie die Spalte umbenennen, müssen Sie die Funktion neu zu der Tabelle oder Ansicht zuordnen.
Beispiele¶
Verknüpfen Sie die Funktion mit der t1-Tabelle, sodass die Anzahl der Datensätze zurückgegeben wird, in denen der Wert der Spalte age nicht gleich fünf ist.
ALTER TABLE t1
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (age, age -> age = 5);
Verknüpfen Sie die Funktion mit der order_details-Ansicht, sodass die Anzahl der Datensätze zurückgegeben wird, in denen der Wert der Spalte order_status nicht in der Liste der Pending-, Dispatched- und Delivered-Zeichenfolgen enthalten ist.
ALTER VIEW order_details
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (
order_status,
order_status -> order_status IN ('Pending', 'Dispatched', 'Delivered'));