Zeichenfolgenfunktionen

In diesem Artikel werden Zeichenfolgenfunktionen sowie deren Nutzen in Tableau vorgestellt. Außerdem wird das Erstellen einer Zeichenfolgenberechnung anhand eines Beispiels dargestellt.

Warum werden Zeichenfolgenfunktionen verwendet?

Mit Zeichenfolgenfunktionen können Sie Zeichenfolgendaten ändern (d. h. aus Text bestehende Daten). Tableau verwendet beim Vergleich von Zeichenketten die aktuelle ICU-Bibliothek (International Components for Unicode). Die Art und Weise, wie Zeichenketten sortiert und verglichen werden, basiert sowohl auf der Sprache als auch auf dem Gebietsschema, und es ist möglich, dass sich die Visualisierungen ändern, da die ICU laufend aktualisiert wird, um die Sprachunterstützung zu verbessern.

Beispiel: Sie haben ein Feld, das die Vor- und Nachnamen Ihrer Kunden enthält. Eines der Listenelemente lautet beispielsweise: Jane Johnson. Sie können die Nachnamen aller Ihrer Kunden mit einer Zeichenfolgenfunktion in ein neues Feld ziehen.

Die Berechnung sieht in etwa so aus:

SPLIT([Customer Name], ' ', 2)

Daher gilt SPLIT('Jane Johnson' , ' ', 2) = 'Johnson'.

In Tableau verfügbare Zeichenfolgenfunktionen:

Funktion

Syntax

Definition

ASCII

ASCII(string)

Gibt den ASCII-Code zurück für das erste Zeichen von string.

Beispiel:

ASCII('A') = 65

CHAR

CHAR(number)

Gibt das Zeichen zurück für die ASCII-codierte number.

Beispiel:

CHAR(65) = 'A'

CONTAINS

CONTAINS(string, substring)

Gibt TRUE zurück, wenn die Zeichenfolge die angegebene Teilzeichenfolge enthält.

Beispiel:

CONTAINS(“Calculation”, “alcu”) = true

ENDSWITH

ENDSWITH(string, substring)

Gibt TRUE zurück, wenn die Zeichenfolge mit der angegebenen Teilzeichenfolge endet. Nachfolgende Leerzeichen werden ignoriert.

Beispiel:

ENDSWITH(“Tableau”, “leau”) = true

FIND

FIND(string, substring, [start])

Gibt die Index-Position von substring in string zurück oder 0, wenn substring nicht gefunden wird. Wenn das optionale Argument start hinzugefügt wird, ignoriert die Funktion sämtliche substring-Instanzen, die vor der Indexposition start auftreten. Das erste Zeichen in der Zeichenfolge ist Position 1.

Beispiele:

FIND("Calculation", "alcu") = 2
FIND("Calculation", "Computer") = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0

FINDNTH

FINDNTH(string, substring, occurrence)

Gibt die Position des n-ten Vorkommens einer Unterzeichenfolge in einer angegebenen Zeichenfolge zurück, wobei n durch das Argument "occurrence" definiert wird.

Hinweis: FINDNTH ist nicht für alle Datenquellen verfügbar.

Beispiel:

FINDNTH("Calculation", "a", 2) = 7

LEFT

LEFT(string, number)

Gibt den linken Teil einer Zeichenfolge mit der angegebenen Anzahl an Zeichen zurück.

Beispiel:

LEFT("Matador", 4) = "Mata"

LEN

LEN(string)

Gibt die Länge der Zeichenfolge zurück.

Beispiel:

LEN("Matador") = 7

LOWER

LOWER(string)

Gibt string ausschließlich in Kleinbuchstaben aus.

Beispiel:

LOWER("ProductVersion") = "productversion"

LTRIM

LTRIM(string)

Gibt die Zeichenfolge zurück und entfernt dabei alle vorgestellten Leerzeichen.

Beispiel:

LTRIM(" Matador ") = "Matador "

MAX

MAX(a, b)

 

Gibt das Maximum für a und b (die vom gleichen Typ sein müssen) aus. Diese Funktion dient in der Regel dem Vergleich von Zahlen, kann aber auch für Zeichenfolgen eingesetzt werden. Bei Zeichenfolgen findet MAX den höchsten Wert in der Sortierfolge, die von der Datenbank für diese Spalte definiert wurde. Gibt Null zurück, wenn eines der beiden Argumente folgenden Wert hat: Null.

Beispiel:

MAX ("Apple","Banana") = "Banana"

MID

(MID(string, start, [length])

Gibt die Zeichenfolge zurück und beginnt dabei bei der Index-Position start. Das erste Zeichen in der Zeichenfolge ist Position 1. Wird das optionale Argument length hinzugefügt, enthält die zurückgegebene Zeichenfolge nur die angegebene Anzahl an Zeichen.

Beispiele:

MID("Calculation", 2) = "alculation"
MID("Calculation", 2, 5) ="alcul"

MIN

MIN(a, b)

Gibt das Minimum von a und b (die vom gleichen Typ sein müssen) aus. Diese Funktion dient in der Regel dem Vergleich von Zahlen, kann aber auch für Zeichenfolgen eingesetzt werden. Bei Zeichenfolgen findet MIN den niedrigsten Wert in der Sortierfolge. Gibt Null zurück, wenn eines der beiden Argumente folgenden Wert hat: Null.

Beispiel:

MIN ("Apple","Banana") = "Apple"

PROPERPROPER(string)

Konvertiert eine Textzeichenfolge so, dass der erste Buchstabe jedes Wortes groß geschrieben wird und die restlichen Buchstaben klein geschrieben werden. Leerzeichen und nicht-alphanumerische Zeichen (z. B. Interpunktionszeichen) fungieren ebenfalls als Trennzeichen.

Beispiel:

PROPER("PRODUCT name") = "Product Name"

PROPER("darcy-mae") = "Darcy-Mae"

REPLACE

REPLACE(string, substring, replacement)

Sucht nach string für substring und ersetzt diesen durch replacement. Falls die substring nicht gefunden wird, bleibt die Zeichenfolge unverändert.

Beispiel:

REPLACE("Version8.5", "8.5", "9.0") = "Version9.0"

RIGHT

RIGHT(string, number)

Gibt den rechten Teil einer Zeichenfolge mit der angegebenen Anzahl an Zeichen zurück für string.

Beispiel:

RIGHT("Calculation", 4) = "tion"

RTRIM

RTRIM(string)

Gibt string zurück und entfernt dabei alle nachfolgenden Leerzeichen.

Beispiel:

RTRIM(" Calculation ") = " Calculation"

SPACE

SPACE(number)

Gibt eine Zeichenfolge zurück, die aus der unter number angegebenen Anzahl an Leerzeichen besteht.

Beispiel:

SPACE(1) = " "

SPLIT

SPLIT(string, delimiter, token number)

Gibt eine Unterzeichenfolge von einer Zeichenfolge zurück und unterteilt die Zeichenfolge anhand von Trennzeichen in eine Abfolge aus Token.

Die Zeichenfolge wird als eine sich abwechselnde Sequenz aus Trennzeichen und Token interpretiert. Bei der Zeichenfolge abc-defgh-i-jkl mit dem Trennzeichen ‘-‘ lauten die Token beispielsweise abc, defgh, i und jkl. Stellen Sie sich diese als Tokens 1 bis 4 vor. SPLIT gibt die Token entsprechend ihrer Tokennummer zurück. Wenn die Tokennummer positiv ist, werden die Token ab dem linken Ende der Zeichenfolge gezählt. Wenn die Tokennummer negativ ist, werden sie ab dem rechten Ende gezählt.

Beispiele:

SPLIT (‘a-b-c-d’, ‘-‘, 2) = ‘b’
SPLIT (‘a|b|c|d’, ‘|‘, -2) = ‘c’


Hinweis: Die Befehle "Teilen" und "Benutzerdefiniertes Teilen" stehen für die folgenden Datenquellentypen zur Verfügung: Tableau-Datenextrakte, Microsoft Excel, Textdatei, PDF-Datei, Salesforce, OData, Microsoft Azure Market Place, Google Analytics, Vertica, Oracle, MySQL, PostgreSQL, Teradata, Amazon Redshift, Aster Data, Google Big Query, Cloudera Hadoop Hive, Hortonworks Hive und Microsoft SQL Server.

Einige Datenquellen erheben Begrenzungen in Bezug auf das Aufteilen einer Zeichenfolge. Die folgende Tabelle zeigt, welche Datenquellen negative Tokennummern (Aufteilung von rechts) unterstützen und ob eine Begrenzung der Anzahl der pro Datenquelle zulässigen Aufteilungen vorliegt. Eine SPLIT-Funktion, die eine negative Tokennummer festlegt und mit anderen Datenquellen zulässig wäre, wird bei diesen Datenquellen diesen Fehler zurückgeben: “Das Aufteilen von rechts wird von der Datenquelle nicht unterstützt.”

 

DatenquelleLinks-/RechtsbeschränkungenMaximale Anzahl der AufteilungenVersionsbeschränkungen
Tableau Data ExtractBeideUnbegrenzt 
Microsoft ExcelBeideUnbegrenzt 
TextdateiBeideUnbegrenzt 
SalesforceBeideUnbegrenzt 
ODataBeideUnbegrenzt 
Google AnalyticsBeideUnbegrenzt 
Tableau-DatenserverBeideUnbegrenztWird in Version 9.0 unterstützt.
VerticaNur links10 
OracleNur links10 
MySQLBeide10 
PostgreSQLLinks nur für Version vor 9.0, beide für Version 9.0 und höher10 
TeradataNur links10Version 14 und höher
Amazon RedshiftNur links10 
Aster DatabaseNur links10 
Google BigQueryNur links10 
Hortonworks Hadoop HiveNur links10 
Cloudera HadoopNur links10Impala wird ab der Version 2.3.0 unterstützt.
Microsoft SQL ServerBeide102008 und höher

STARTSWITH

STARTSWITH(string, substring)

Gibt "true" zurück, wenn string mit substring beginnt. Vorgestellte Leerzeichen werden ignoriert.

Beispiel:

STARTSWITH(“Joker”, “Jo”) = true

TRIM

TRIM(string)

Gibt die Zeichenfolge zurück und entfernt dabei alle vorgestellten und nachfolgenden Leerzeichen.

Beispiel:

TRIM(" Calculation ") = "Calculation"

UPPER

UPPER(string)

Gibt eine Zeichenfolge ausschließlich in Großbuchstaben zurück.

Beispiel:

UPPER("Calculation") = "CALCULATION"


Erstellen einer Zeichenfolgenberechnung

Sehen Sie sich das Beispiel unten an, um mehr über das Erstellen einer Zeichenfolgenberechnung zu erfahren.

  1. Stellen Sie in Tableau Desktop eine Verbindung zur standardmäßig in Tableau enthaltenen gespeicherten Datenquelle Beispiel – Superstore her.

  2. Navigieren Sie zu einem Arbeitsblatt.

  3. Ziehen Sie den Wert Bestell-ID aus dem Datenfenster unter Dimensionen in den Container Zeilen.

    Beachten Sie, dass jede Bestell-ID Werte für das Land (zum Beispiel CA und US), das Jahr (2011) und die Bestellnummer (100006) enthält. In diesem Beispiel erstellen Sie eine Berechnung, um nur die Bestellnummer aus dem Feld zu extrahieren.

  4. Wählen Sie Analyse > Berechnetes Feld erstellen aus.

  5. Gehen Sie in dem anschließend geöffneten Berechnungs-Editor wie folgt vor:

    • Geben Sie dem berechneten Feld den Namen Bestell-ID-Nummern.

    • Geben Sie die folgende Formel ein:

      RIGHT([Order ID], 6)

      Diese Formel entnimmt der rechten Seite der Zeichenfolge die festgelegten Zahlen (6) und zieht diese in ein neues Feld.

      Daher gilt RIGHT('CA-2011-100006' , 6) = '100006'.

    • Klicken Sie auf OK, wenn Sie fertig sind.

      Das neue berechnete Feld wird im Bereich Daten unter Dimensionen angezeigt. Wie bei Ihren anderen Feldern ist die Verwendung in mindestens einer Visualisierung möglich.

  6. Ziehen Sie das Feld Bestelldatum im Bereich Daten auf den Container Spalten. Platzieren Sie es rechts neben Bestell-ID.

    Achten Sie darauf, wie sich die Felder nun unterscheiden.

Siehe auch

Funktionen in Tableau

Tableau-Funktionen (alphabetisch)

Tableau-Funktionen (nach Kategorie)

Formatieren von Berechnungen in Tableau

Vielen Dank für Ihr Feedback!