NUMBER-Makro

Das NUMBER-Makro ist in Unica Campaign und Unica Interact verfügbar.

Syntax

NUMBER(data [, conversion_keyword])

Parameter

data

Die ASCII-Textdaten, die in numerische Werte konvertiert werden sollen. Dabei kann es sich um ASCII-Text in Anführungszeichen, eine Textspalte, einen Zellenbereich mit Text oder einen Ausdruck handeln, dessen Auswertung einen dieser Typen ergibt. Informationen zur Formatdefinition von data finden Sie im Abschnitt "Makrofunktionsparameter" im Kapitel des vorliegenden Handbuchs für Ihr Produkt.

conversion_keyword

Dieses optionale Schlüsselwort legt fest, wie Textformate für Datums- und Uhrzeitangaben interpretiert werden sollen. Wählen Sie eines der Schlüsselwörter in der folgenden Tabelle aus.

Anmerkung: Wird dieser Parameter nicht angegeben, ist der Standard 1.
Schlüsselwort Format Syntax
0 ##### Konvertiert die ersten 5 Zeichen jeder Zeichenfolge in eine eindeutige Zahl
1 $ ( default) Konvertiert Dollarwerte in numerische Werte (z. B. "$123.45" in 123.45)
2 % Konvertiert Prozentwerte in numerische Werte (z. B. "50%" in 0.5)
3 mm/dd/yy hh:mm Konvertiert ein Datum und eine Uhrzeit in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (zum Jahr yy wird automatisch 1900 addiert)
4 dd-mmm-yy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (zum Jahr yy wird automatisch 1900 addiert)
5 mm/dd/yy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (zum Jahr yy wird automatisch 1900 addiert)
6 mmm-yy Konvertiert ein Datum in die Anzahl der Tage, die zwischen dem ersten Tag des angegebenen Monats und dem 1. Januar 0000 vergangen sind (zum Jahr yy wird automatisch 1900 addiert)
7 dd-mmm Konvertiert ein Datum in die Anzahl der Tage, die seit dem Anfang des Jahres vergangen sind (z. B. ""01-FEB"" in 32)
8 mmm Konvertiert eine Monatsabkürzung aus 3 Buchstaben in einen Wert zwischen 1 und 12 (z. B. ""DEC"" in 12)
9 {January | February | March … } Konvertiert einen vollständigen Monatsnamen in einen Wert zwischen 1 und 12 (z. B. ""March"" in 3)
10 {Sun | Mon | Tue … } Konvertiert eine Wochentagsabkürzung aus 3 Buchstaben in einen Wert zwischen 0 und 6, wobei die Woche am Sonntag beginnt (z. B. ""Sun"" in 0)
11 {Sunday | Monday | Tuesday … } Konvertiert einen vollständigen Wochentagsnamen in einen Wert zwischen 0 und 6, wobei die Woche am Sonntag beginnt (z. B. ""Monday"" in 1)
12 hh:mm:ss {AM | PM} Konvertiert die Uhrzeit in die Anzahl der Sekunden, die seit Mitternacht vergangen sind (z. B. ""01:00:00 AM"" in 3600),
13 hh:mm:ss Konvertiert die Uhrzeit in die Anzahl der Sekunden, die seit Mitternacht vergangen sind (z. B. ""01:00:00"" in 3600),
14 hh:mm {AM | PM} Konvertiert die Uhrzeit in die Anzahl der Minuten, die seit Mitternacht vergangen sind (z. B. ""01:00 AM"" in 60)
15 hh:mm Konvertiert die Uhrzeit in die Anzahl der Minuten, die seit Mitternacht vergangen sind (z. B. ""01:00"" in 60)
16 mm:ss Konvertiert die Uhrzeit in die Anzahl der Sekunden, die seit Mitternacht vergangen sind (z. B. ""30:00"" in 1800),
17 ddmm Konvertiert ein Datum in die Anzahl der Tage, die seit dem Anfang des Jahres vergangen sind (z. B. ""3101"" in 31)
18 ddmmm Konvertiert ein Datum in die Anzahl der Tage, die seit dem Anfang des Jahres vergangen sind (z. B. ""31JAN"" in 31)
19 ddmmmyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
20 ddmmmyyyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (z. B. ""31JAN0000"" in 31)
21 ddmmyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
22 ddmmyyyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (z. B. ""31010000"" in 31)
23 mmdd Konvertiert ein Datum in die Anzahl der Tage, die seit dem Anfang des Jahres vergangen sind (z. B. ""0131"" in 31)
24 mmddyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
25 mmddyyyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (z. B. ""01010001"" in 366)
26 mmm Konvertiert eine Monatsabkürzung aus 3 Buchstaben in einen Wert zwischen 1 und 12 (z. B. ""MAR"" in 3) [Beachten Sie, dass dies dasselbe ist wie das Konvertierungsschlüsselwort 8]
27 mmmdd Konvertiert ein Datum in die Anzahl der Tage, die seit dem Anfang des Jahres vergangen sind (z. B. ""JAN31"" in 31)
28 mmmddyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
29 mmmddyyyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (z. B. ""FEB010001"" in 32)
30 mmmyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
31 mmmyyyy Konvertiert ein Datum in die Anzahl der Tage, die zwischen dem ersten Tag des angegebenen Monats und dem 1. Januar 0000 vergangen sind (z. B. ""FEB0001"" in 32)
32 mmyy Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
33 mmyyyy Konvertiert ein Datum in die Anzahl der Tage, die zwischen dem ersten Tag des angegebenen Monats und dem 1. Januar 0000 vergangen sind (z. B. ""020001"" in 32)
34 yymm Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
35 yymmdd Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
36 yymmm Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
37 yymmmdd Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (wenn das Jahr yy kleiner-gleich 20 ist, wird automatisch 1900 addiert; andernfalls wird 2000 addiert)
38 yyyy Konvertiert das Jahr in die Anzahl der Jahre, die seit dem Jahr 0000 vergangen sind (z. B. ""1998"" in 1998)
39 yyyymm Konvertiert ein Datum in die Anzahl der Tage, die zwischen dem ersten Tag des angegebenen Monats und dem 1. Januar 0000 vergangen sind (z. B. ""000102"" in 32)
40 yyyymmdd Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (z. B. ""00010201"" in 32)
41 yyyymmm Konvertiert ein Datum in die Anzahl der Tage, die zwischen dem ersten Tag des angegebenen Monats und dem 1. Januar 0000 vergangen sind (z. B. ""000102"" in 32)
42 yyyymmmdd Konvertiert ein Datum in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (z. B. ""0001FEB01"" in 32)
43 <day>* <month> Konvertiert jedes Datum mit Begrenzer, gefolgt von Tag und Monat, in die Anzahl der Tage, die seit dem Beginn des Jahres vergangen sind (z.B. ""15-JAN"" in 15)
44 <day>* <month>* <year> Konvertiert jedes Datum mit Begrenzer, bei dem der Tag vor dem Monat gefolgt vom Jahr erscheint, in die Anzahl der seit dem 1. Januar vergangenen Tage, 0000 (z. B. ""1/1/0001"" in 366)
45 <month>* <day> Konvertiert ein Datum mit Begrenzer, das aus Monat und Tag besteht, in die Anzahl der Tage, die seit dem Anfang des Jahres vergangen sind (z. B. ""JAN 31"" in 31)
46 <month>* <day>* <year> Konvertiert ein Datum mit Begrenzer, das aus Jahr, Monat und Tag besteht, in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (z. B. ""JAN 1, 0001"" in 366)
47 <month>* <year> Konvertiert ein Datum mit Begrenzer, das aus Monat und Jahr besteht, in die Anzahl der Tage, die zwischen dem ersten Tag des angegebenen Monats und dem 1. Januar 0000 vergangen sind
48 <year>* <month> Konvertiert ein Datum mit Begrenzer, das aus Jahr und Monat besteht, in die Anzahl der Tage, die zwischen dem ersten Tag des angegebenen Monats und dem 1. Januar 0000 vergangen sind
49 <year>* <month>* <day> Konvertiert ein Datum mit Begrenzer, das aus Jahr, Monat und Tag besteht, in die Anzahl der Tage, die seit dem 1. Januar 0000 vergangen sind (z. B. ""0001/01/01"" in 366)
50 yy Konvertiert das Jahr in die Anzahl der Jahre, die seit dem Jahr 0000 vergangen sind (z. B. ""97"" in 97)
51 mm Konvertiert den Monat in einen Wert zwischen 1 und 12 (z. B. ""SEP"" in 9)
52 dd Konvertiert den Tag in einen Wert zwischen 1 und 31 (z. B. ""28"" in 28)
53 {January | February | March … } Konvertiert einen vollständigen Monatsnamen in einen Wert zwischen 1 und 12 (z. B. ""March"" in 3) [Beachten Sie, dass dies dasselbe ist wie das Konvertierungsschlüsselwort 9]
54 {Sunday | Monday | Tuesday … } Konvertiert einen vollständigen Wochentagsnamen in einen Wert zwischen 1 und 7, wobei die Woche am Sonntag beginnt (z. B. ""Sunday"" in 1)
55 {Sun | Mon | Tue … } Konvertiert eine 3-Tage-Wochentagsabkürzung in einen Wert zwischen 1 und 7, wobei die Woche am Sonntag beginnt (z. B. ""Sun"" in 1)

Syntax

NUMBER konvertiert Textwerte im angegebenen Datenbereich anhand des angegebenen Umwandlungsformats für Datums- und Uhrzeitangaben in numerische Werte. Wenn eine Zeichenfolge mit dem angegebenen conversion_keyword nicht geparst werden kann, gibt NUMBER einen Fehler zurück. Format 0 konvertiert die ersten fünf Zeichen jeder Zeichenfolge für jede eindeutige Zeichenfolge in eine unterschiedliche Zahl. Dies ist ein einfacher Weg, eine Textspalte in eindeutige Klassen umzuwandeln, die als Ausgaben für einen Klassifikator dienen können.

Die begrenzten Formate (Schlüsselwort 43-49) unterstützen die folgenden Begrenzer:

  • / (Schrägstrich)
  • - (Bindestrich)
  • , (Komma)
  • " " (Leerzeichen)
  • : (Doppelpunkt)

Monate können als mm oder mmm dargestellt werden; Tage können als d oder dd dargestellt werden; Jahre können als yy oder yyyy dargestellt werden.

Anmerkung: Alle Jahre in Datumsangaben können als yyyy statt als yy angegeben werden, um das Jahr 2000 zu unterstützen. Im Interesse der Abwärtskompatibilität wird bei Schlüsselwort 1-16 zu 2-stelligen Jahresangaben yy automatisch 1900 addiert. Bei den Umwandlungsschlüsselwörtern 17-55 wird bei yy < thresholdautomatisch 2000 hinzugefügt. Bei yy ≥ threshold wird automatisch 1900 hinzugefügt.
Anmerkung: Der Jahr-2000-Grenzwert threshold wird auf der Registerkarte Datenbereinigung des Fensters Erweiterte Einstellungen festgelegt (Aufruf über Optionen > Einstellungen > Erweiterte Einstellungen).
Anmerkung: Wenn Sie den Jahr-2000-Grenzwert ändern, müssen Sie alle Makrofunktionen aktualisieren, die mithilfe der Makrofunktion NUMBERDatumswerte mit 2-stelligen Jahren bearbeiten. Um eine Aktualisierung einer Makrofunktion zu erzwingen, können Sie eine beliebige Bearbeitung vornehmen (z. B. ein Leerzeichen hinzufügen und wieder löschen) und auf das Hakensymbol klicken, damit die Änderung übernommen wird.
Anmerkung: Bei Format 0 werden nur die ersten fünf Zeichen jeder Zeichenfolge für die Generierung einer eindeutigen Zahl herangezogen. Alle Zeichenfolgen mit denselben ersten fünf Zeichen ergeben denselben numerischen Wert. Dieselbe Zeichenfolge ergibt jedes Mal denselben numerischen Wert, sogar in verschiedenen Arbeitsblättern. Bearbeiten Sie die Zeichenfolgen bei Bedarf mit Zeichenfolgemakros, sodass die ersten fünf Zeichen eine Klasse eindeutig definieren. Beachten Sie, dass die resultierenden numerischen Werte unter Umständen sehr klein sind. Mithilfe des Fensters Anzeigeformate können Sie entweder die Anzahl der angezeigten Dezimalstellen erhöhen oder das Format in den exponentiellen Modus ( 00E+00) ändern.

Beispiele

TEMP = NUMBER("$1.23") oder TEMP = NUMBER("123%", 2)

Erstellt eine neue Spalte TEMP, die die Zahl 1.23 enthält.

TEMP = NUMBER(column("Jan", "Mar", "Dec", 8)

Erstellt eine neue Spalte TEMP, die die Zahlen Wert 1, 3 und 12enthält.

TEMP = NUMBER("1:52 PM", 14)

Erstellt eine neue Spalte TEMP, die die Zahl 832 enthält.

TEMP = NUMBER("1/1/95", 5)

Erstellt eine neue Spalte TEMP, die die Zahl 728660 enthält.

TEMP = NUMBER(V1)

Erstellt eine neue Spalte TEMP, die die numerischen Werte der Zeichenfolgen in Spalte V1 enthält. Alle Dollarwerte werden korrekt in numerische Werte konvertiert. ??? wird bei Textzeichenfolgen zurückgegeben, die nicht mit dem $-Format geparst werden können.

TEMP = NUMBER(V1:V3, 4)

Erstellt drei neue Spalten mit den Namen TEMP, VX, und VY. Die Spalte TEMP enthält die numerischen Werte der Zeichenfolgen in Spalte V1. Die Spalte VX enthält die numerischen Werte der Zeichenfolgen in Spalte V2. Die Spalte VY enthält die numerischen Werte der Zeichenfolgen in Spalte V3. Alle Daten im Format dd-mmm-yy werden in die Anzahl der Tage ab dem 1. Januar 0000 konvertiert. ??? werden für Textzeichenfolgen zurückgegeben, die nicht mit dem $-Format geparst werden können.

TEMP = NUMBER(V1[10:20]:V2, 10)

Erstellt zwei neue Spalten mit den Namen TEMP und VX. Die Spalte TEMP enthält die numerischen Werte der Zeichenfolgen in Zeile 10-20 von Spalte V1. Die Spalte VX enthält die numerischen Werte der Zeichenfolgen in Zeile 10-20 von Spalte V2. Alle standardmäßigen Darstellungen der Wochentage durch drei Zeichen werden in die Zahlen 0 bis 6 konvertiert (0 = Sonntag, 6 = Samstag). Wenn es für einen Wochentag keine Übereinstimmung gibt, wird ??? zurückgegeben.

TEMP = NUMBER(V1, 0)

Sofern Spalte V1 nur 5-stellige Zeichenfolgen enthält, wird eine neue Spalte TEMP erstellt, die für jede eindeutige Zeichenfolge einen unterschiedlichen numerischen Wert enthält.

Zugehörige Funktionen

Funktion Syntax
WEEKDAY Konvertiert ASCII-Datumszeichenfolgen in Wochentage