Macro NUMBER

La macro NUMBER est disponible dans Unica Campaign Unica Interact et .

Syntaxe

NUMBER(data [, conversion_keyword])

Paramètres

data

Données de texte ASCII à convertir en valeurs numériques. Il peut s'agir de texte ASCII entre guillemets, d'une colonne de texte, d'une plage de cibles contenant du texte ou d'une expression convertie comme l'une de ces valeurs. Pour la définition du format de data, voir la section "Paramètres des fonctions macro" du chapitre du présent document correspondant à votre produit .

conversion_keyword

Ce mot clé facultatif indique comment interpréter les formats de texte des dates et des heures. Sélectionnez l'un des mots clés du tableau ci-après.

Remarque : Si ce paramètre n'est pas spécifié, la valeur par défaut est 1.
Mot clé de conversion Format Description
0 ##### Convertit les 5 premiers caractères de chaque chaîne de texte en un numéro unique
1 $ ( default) Convertit les valeurs en dollars en valeurs numériques (par exemple, "$123.45" en 123.45)
2 % Convertit un pourcentage en valeur numérique (par exemple, "50%" en 0.5)
3 mm/dd/yy hh:mm Convertit une date et une heure en nombre de jours écoulés depuis le 1 janvier 0000 (1900 est automatiquement ajouté à l'année yy)
4 dd-mmm-yy Convertit une date en nombre de jours écoulés depuis le 1 janvier 0000 (1900 est automatiquement ajouté à l'année yy)
5 mm/dd/yy Convertit une date en nombre de jours écoulés depuis le 1 janvier 0000 (1900 est automatiquement ajouté à l'année yy)
6 mmm-yy Convertit une date en nombre de jours écoulés entre le premier jour du mois spécifié et le 1er janvier 0000 (1900 est automatiquement ajouté à l'année yy)
7 dd-mmm Convertit une date en nombre de jours écoulés depuis le début de l'année (par exemple, "01-FEB" en 32)
8 mmm Convertit une abréviation de mois en trois lettres en une valeur comprise entre 1 et 12 (par exemple, "DEC" en 12)
9 {January | February | March … } Convertit un nom de mois en toutes lettres en valeur comprise entre 1 et 12 (par exemple, "March" en 3)
10 {Sun | Mon | Tue … } Convertit une abréviation de jour de la semaine sur trois caractères en valeur comprise entre 0 et 6, dimanche correspondant au début de la semaine (par exemple, "Sun" en 0)
11 {Sunday | Monday | Tuesday … } Convertit un nom de jour de la semaine en toutes lettres en valeur comprise entre 0 et 6, dimanche correspondant au début de la semaine (par exemple, "Monday"en 1)
12 hh:mm:ss {AM | PM} Convertit l'heure en nombre de secondes écoulées depuis 00:00:00 AM (minuit) (par exemple, "01:00:00 AM" en 3600)
13 hh:mm:ss Convertit l'heure en nombre de secondes écoulées depuis 00:00:00 AM (minuit) (par exemple, "01:00:00" en 3600)
14 hh:mm {AM | PM} Convertit l'heure en nombre de minutes écoulées depuis 00:00:00 AM (minuit) (par exemple, "01:00 AM" en 60)
15 hh:mm Convertit l'heure en nombre de minutes écoulées depuis 00:00:00 AM (minuit) (par exemple, "01:00" en 60)
16 mm:ss Convertit l'heure en nombre de secondes écoulées depuis 00:00:00 AM (minuit) (par exemple, "30:00" en 1800)
17 ddmm Convertit une date en nombre de jours écoulés depuis le début de l'année (par exemple, "3101" en 31)
18 ddmmm Convertit une date en nombre de jours écoulés depuis le début de l'année (par exemple, "31JAN" en 31)
19 ddmmmyy Convertit une date en nombre de jours écoulés depuis le 1 janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20. Sinon, 2000 est ajouté)
20 ddmmmyyyy Convertit une date en nombre de jours écoulés depuis le 1er janvier 0000 (par exemple, "31JAN0000" en 31)
21 ddmmyy Convertit une date en nombre de jours écoulés depuis le 1 janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20. Sinon, 2000 est ajouté)
22 ddmmyyyy Convertit une date en nombre de jours écoulés depuis le 1er janvier 0000 (par exemple, "31010000" en 31)
23 mmdd Convertit une date en nombre de jours écoulés depuis le début de l'année (par exemple, "0131" en 31)
24 mmddyy Convertit une date en nombre de jours écoulés depuis le 1 janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20. Sinon, 2000 est ajouté)
25 mmddyyyy Convertit une date en nombre de jours écoulés depuis le 1er janvier 0000 (par exemple, "01010001" en 366)
26 mmm Convertit une abréviation de mois en trois lettres en une valeur comprise entre 1 et 12 (par exemple, "MAR" en 3) [Remarque : identique au mot clé de conversion 8]
27 mmmdd Convertit une date en nombre de jours écoulés depuis le début de l'année (par exemple, "JAN31" en 31)
28 mmmddyy Convertit une date en nombre de jours écoulés depuis le 1 janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20. Sinon, 2000 est ajouté)
29 mmmddyyyy Convertit une date en nombre de jours écoulés depuis le 1er janvier 0000 (par exemple, "FEB010001" en 32)
30 mmmyy Convertit une date en nombre de jours écoulés entre le 1er du mois spécifié et le 1er janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20 ; sinon, 2000 est ajouté)
31 mmmyyyy Convertit une date en nombre de jours écoulés entre le 1er du mois spécifié et le 1er janvier 0000 (par exemple, "FEB0001" en 32)
32 mmyy Convertit une date en nombre de jours écoulés entre le 1er du mois spécifié et le 1er janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20 ; sinon, 2000 est ajouté)
33 mmyyyy Convertit une date en nombre de jours écoulés entre le 1er du mois spécifié et le 1er janvier 0000 (par exemple, "020001" en 32)
34 yymm Convertit une date en nombre de jours écoulés entre le 1er du mois spécifié et le 1er janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20 ; sinon, 2000 est ajouté)
35 yymmdd Convertit une date en nombre de jours écoulés depuis le 1 janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20. Sinon, 2000 est ajouté)
36 yymmm Convertit une date en nombre de jours écoulés entre le 1er du mois spécifié et le 1er janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20 ; sinon, 2000 est ajouté)
37 yymmmdd Convertit une date en nombre de jours écoulés depuis le 1 janvier 0000 (1900 est automatiquement ajouté à l'année si yy est inférieur ou égal à 20. Sinon, 2000 est ajouté)
38 yyyy Convertit le nombre d'années écoulées depuis l'an 0000 (par exemple, "1998" en 1998)
39 yyyymm Convertit une date en nombre de jours écoulés entre le 1er du mois spécifié et le 1er janvier 0000 (par exemple, "000102" en 32)
40 yyyymmdd Convertit une date en nombre de jours écoulés depuis le 1er janvier 0000 (par exemple, "00010201" en 32)
41 yyyymmm Convertit une date en nombre de jours écoulés entre le 1er du mois spécifié et le 1er janvier 0000 (par exemple, "000102" en 32)
42 yyyymmmdd Convertit une date en nombre de jours écoulés depuis le 1er janvier 0000 (par exemple, "0001FEB01" en 32)
43 <day>* <month> Convertit toute date délimitée avec le jour suivi du mois en nombre de jours écoulés depuis le début de l'année (par exemple, "15-JAN" en 15)
44 <day>* <month>* <year> Convertit toute date délimitée avec le jour précédant le mois et suivi de l'année en nombre de jours écoulés depuis le 1er janvier 0000 (par exemple, "1/1/0001" en 366)
45 <month>* <day> Convertit toute date délimitée avec le mois suivi du jour en nombre de jours écoulés depuis le début de l'année (par exemple, "JAN 31" en 31)
46 <month>* <day>* <year> Convertit toute date délimitée avec le mois suivi du jour, suivi de l'année en nombre de jours écoulés depuis le 1er janvier 0000 (par exemple, "JAN 1, 0001" en 366)
47 <month>* <year> Convertit toute date délimitée avec le mois suivi de l'année en nombre de jours écoulés entre le premier jour du mois spécifié et le 1er janvier 0000
48 <year>* <month> Convertit toute date délimitée avec l'année suivi du mois en nombre de jours écoulés entre le premier jour du mois spécifié et le 1er janvier 0000
49 <year>* <month>* <day> Convertit toute date délimitée avec le mois suivi du jour, suivi de l'année en nombre de jours écoulés depuis le 1er janvier 0000 (par exemple, "0001/01/01" en 366)
50 yy Convertit l'année en nombre d'années écoulées depuis l'an 0000 (par exemple, "97" en 97)
51 mm Convertit le mois en valeur comprise entre 1 et 12 (par exemple, "SEP" en 9)
52 dd Convertit le jour en valeur comprise entre 1 et 31 (par exemple, "28" en 28)
53 {January | February | March … } Convertit un nom de mois en toutes lettres en valeur comprise entre 1 et 12 (par exemple, "March" en 3) [Remarque : identique au mot clé de conversion 9]
54 {Sunday | Monday | Tuesday … } Convertit un nom de jour de la semaine en toutes lettres en valeur comprise entre 1 et 7, dimanche correspondant au début de la semaine (par exemple, "Sunday" en 1)
55 {Sun | Mon | Tue … } Convertit une abréviation de jour de la semaine sur trois caractères en valeur comprise entre 1 et 7, dimanche correspondant au début de la semaine (par exemple, "Sun" en 1)

Description

NUMBER convertit les valeurs de texte dans la plage de données spécifiée en valeurs numériques, à l'aide du format spécifié pour convertir les dates et les heures. Si une chaîne de texte ne peut pas être analysée à l'aide du mot clé conversion_keyword spécifié, NUMBER génère une erreur. Le format 0 convertit les cinq premiers caractères de chaque chaîne de texte en un nombre différent pour chaque chaîne de texte unique. C'est un moyen simple de changer une colonne de texte en classes uniques pour les sorties dans un discriminant.

Les formats délimités (mots clés de conversion 43 à 49) acceptent les caractères suivants comme délimiteurs :

  • / (barre oblique)
  • - (tiret)
  • , (virgule)
  • " " (espace)
  • : (deux-points)

Les mois peuvent être représentés sous la forme mm ou mmm ; les jours peuvent être représentés sous la forme d ou dd ; les années peuvent être représentées sous la forme yy ou yyyy.

Remarque : Dans le cadre de la conformité à l'an 2000, toutes les années des dates peuvent être désignées sous la forme yyyy au lieu de yy. Pour la compatibilité amont, dans les mots clés de conversion 1 à 16, 1900 est automatiquement ajouté à yy (années sur deux chiffres). Pour les mots clés de conversion 17 à 55, 2000 a été ajouté automatiquement au seuil yy < threshold ; 1900 automatiquement ajouté au seuil yy ≥ threshold.
Remarque : La valeur threshold de l'an 2000 est définie dans l'onglet Nettoyage des données de la fenêtre Paramètres avancés (appelez-la en sélectionnant Options > Paramètres > Paramètres avancés).
Remarque : Si vous changez la valeur de seuil an 2000, vous devez mettre à jour toutes les fonctions macro à l'aide de la fonction macro NUMBER pour manipuler les valeurs de date avec des années sur 2 chiffres. Pour forcer une mise à jour d'une fonction macro, vous pouvez effectuer tout changement (par exemple, ajouter un espace et le supprimer) et cliquer sur l'icône en forme de coche pour accepter le changement.
Remarque : Lorsque vous utilisez le format 0, seuls les cinq premiers caractères de chaque chaîne de texte sont utilisés pour générer un nombre unique. Toutes les chaînes contenant ces cinq premiers caractères seront converties dans la même valeur numérique. La même chaîne de texte générera la même valeur numérique à chaque fois, même entre des feuilles de calcul différentes. Si nécessaire, utilisez des macros de chaîne pour manipuler les chaînes de sorte que les cinq premiers caractères définissent une classe de manière unique. Notez que les valeurs numériques résultantes peuvent être très petites. Utilisez la fenêtre Formats d'affichage pour augmenter le nombre de décimales à afficher ou changer le format en mode exponentiel (00E+00).

Exemples

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

Crée une colonne nommée TEMP contenant le nombre 1.23.

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

Crée une colonne nommée TEMP contenant les nombres 1, 3 et 12.

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

Crée une colonne nommée TEMP contenant le nombre 832.

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

Crée une colonne nommée TEMP contenant le nombre 728660.

TEMP = NUMBER(V1)

Crée une colonne nommée TEMP contenant les valeurs numériques des chaînes de texte de la colonne V1. Les valeurs en dollars sont correctement converties en valeurs numériques. ??? est renvoyé pour les chaînes de texte qui ne peuvent pas être analysées à l'aide du format $.

TEMP = NUMBER(V1:V3, 4)

Crée trois colonnes nommées TEMP, VX et VY. La colonne TEMP contient les valeurs numériques des chaînes de texte de la colonne V1. La colonne VX contient les valeurs numériques des chaînes de texte de la colonne V2. La colonne VY contient les valeurs numériques des chaînes de texte de la colonne V3. Les dates au format dd-mmm-yy sont converties en nombre de jours de décalage à partir du 1er janvier 0000. ??? sont renvoyées pour les chaînes de texte qui ne peuvent pas être analysées à l'aide du format $.

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

Crée deux colonnes nommées TEMP et VX. La colonne TEMP contient les valeurs numériques des chaînes de texte des lignes 10 à 20 de la colonne V1. La colonne VX contient les valeurs numériques des chaînes de texte des lignes 10 à 20 de la colonne V2. Toutes les représentations standard de jour de la semaine à trois caractères sont converties en nombres de 0 à 6 (0 = dimanche, 6 = samedi). En l'absence de correspondance pour un nom de jour de la semaine, ??? est renvoyé.

TEMP = NUMBER(V1, 0)

Si la colonne V1 ne contient que des chaînes de texte à cinq chiffres, crée une colonne nommée TEMP contenant une valeur numérique différente par chaîne unique.

Fonctions associées

Fonction Description
WEEKDAY Convertit les chaînes de date textuelles ASCII en jour de la semaine