- 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.
Anforderungen an die Zugriffssteuerung¶
Das Zuordnen und Ausführen einer System-DMF erfordert die USAGE-Berechtigung für die System-DMF. Sie können die SNOWFLAKE.DATA_METRIC_USER-Datenbankrolle gewähren, um Benutzenden die USAGE-Berechtigung für alle System-DMFs zu geben. Weitere Informationen dazu finden Sie unter Gewähren der USAGE-Berechtigung für System-DMFs.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
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'));