Kategorien:

Datenmetrikfunktionen

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> )
Copy

Argumente

column

Gibt die Spalte an, die Werte enthält, die mit dem booleschen Ausdruck in lambda-expression verglichen werden.

lambda-expression

Gibt 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 column im Lambda-Ausdruck stimmt immer mit dem column-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);
Copy

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'));
Copy