# Money - Fonction de script et de graphique

Money() formate une expression numériquement sous forme de valeur monétaire, en utilisant le format défini dans les variables système du script de chargement de données ou sur le système d'exploitation, à moins qu'une chaîne de format ne soit précisée, et insère des séparateurs décimaux et de milliers facultatifs.

Money(number[, format[, dec\_sep[, thou\_sep]]])

double

Arguments

| Argument | Description |
| --- | --- |
| number | Nombre à formater. |
| format | Chaîne décrivant la façon dont la chaîne monétaire résultante doit être formatée. En cas d'omission, la valeur définie dans le script de chargement de données pour `MoneyFormat` est utilisée.<br><br>La fonction `Money` supporte de nombreuses options de format pour différentes structures de date, par exemple :<br><br>​`$#,##0.00` : ajoute un signe dollar et deux décimales.<br><br>`€ #,##0` : ajoute un signe euro sans aucune décimale, avec un espace après le signe euro.<br><br>`​¥#,##0` : ajoute un signe yen japonais sans aucune décimale.<br><br>`$#,##0;($#,##0)` : formate les valeurs négatives entre parenthèses.<br><br>`₣ #.##0,00` : ajoute un signe franc suisse avec des points comme séparateurs des milliers et une virgule pour les décimales (par exemple, `  ₣ 1.000,00 `).<br><br>`R #,##0.00` : signe rand sud-africain avec deux décimales et un espace après le signe rand.<br><br>`$ #,##0.000` : ajoute trois décimales au format dollar. |
| dec\_sep | Chaîne indiquant le séparateur de nombres décimaux. En cas d'omission, la valeur `MoneyDecimalSep` définie dans le script de chargement de données est utilisée.<br><br>La fonction `Money` supporte de nombreux formats de séparateurs de nombres décimaux, par exemple :<br><br>Virgule ​« `,` » : par exemple, `$1,000,00` pour mille dollars.<br><br>Point « `.` » :​ par exemple, `€ 1,000.00`.<br><br>Trait d'union « `-` » : lorsqu'il est utilisé à la place du point ou de la virgule traditionnel(le) comme séparateur décimal, il affiche des valeurs telles que `¥1,000-00`. |
| thou\_sep | Chaîne indiquant le séparateur de milliers. En cas d'omission, la valeur `MoneyThousandSep` définie dans le script de chargement de données est utilisée.<br><br>La fonction `Money` supporte de nombreuses options pour le séparateur des milliers :<br><br>Point ​« `.` » : utilise un point comme séparateur des milliers (courant dans certains formats européens), pour un affichage au format `$1.000,00` s'il est combiné avec un séparateur décimal de type virgule.<br><br>Espace ​« » : utilise un espace comme séparateur des milliers, ce qui est courant dans certains pays européens. Affiche la valeur au format `€ 1 000.00`.<br><br>Trait de soulignement ​« `_` » :​ utilise un trait de soulignement comme séparateur des milliers, ce qui est parfois utilisé dans des formats techniques ou régionaux spécifiques. Affiche des valeurs telles que `$1_000.00`. |

Si les arguments format, dec\_sep et thou\_sep sont omis, le format de devise défini dans le système d'exploitation est utilisé pour formater chaque partie spécifique de la sortie. Les paramètres du système d'exploitation sont automatiquement inclus en tant que variables système lors de la création du script, ce qui garantit leur cohérence dans l'ensemble de l'application.

Ces variables système sont MoneyFormat, MoneyDecimalSep et MoneyThousandSep, et elles sont respectivement mappées vers les arguments de fonction format, dec\_sep et thou\_sep.

Exemple : Expressions de graphique

| Exemple | Résultats |
| --- | --- |
| `Money( 35648 )` | Renvoie `kr 35 648,00` lorsque le paramètre `MoneyFormat` est `kr ##0,00` et le paramètre `MoneyThousandSep` est un point `' '` . |
| `Money( 35648, '#,##0 ¥', '.' , ',' )` | Renvoie `3,564,800 ¥` en ignorant les paramètres `MoneyFormat` et `MoneyThousandSep`, puisque les paramètres facultatifs `Format`, `dec_sep` et `thou_sep` sont fournis dans la fonction. |
| `Money(35648)` | Renvoie `$ 35,648.00` lorsque le paramètre `MoneyFormat` est `$ #,##0.00` et le paramètre `MoneyThousandSep` est une virgule `','`. |

## Exemple - Les bases de Money

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Money.htm)

#### Expression de graphique

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Un champ dans la table de données appelé `InputValue`.

* Formats de variable suivants :

  * Variable `MoneyFormat`, qui utilise le format : `kr ##0,00`

  * Variable `MoneyThousandSep` définie pour utiliser un espace `' '`

Script de chargement

```
SET MoneyFormat='kr ##0,00';
SET MoneyThousandSep=' ';
Example:
Load * inline [
InputValue
35648
3564800
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* `InputValue`

Créez les mesures suivantes :

* `=Money(InputValue)`, pour afficher la valeur sous forme de devise formatée via le paramètre système.

* `=Money(InputValue, '#,##0 ¥', '.' , ',')`, pour afficher la valeur sous forme de devise formatée selon le format fourni dans la fonction.

* `=Num(InputValue)`, pour renvoyer la valeur numérique.

Results table

| InputValue | Money(InputValue) | Money(InputValue, '#,##0 ¥', '.' , ',') | Num(InputValue) |
| --- | --- | --- | --- |
| 35648 | kr35 648,00 | 35,648 ¥ | 35648 |
| 3564800 | kr3 564 800,00 | 3,564,800 ¥ | 3564800 |

Dans cet exemple, vous pouvez voir comment la fonction `Money` affiche les valeurs et comment les valeurs du paramètre de format peuvent modifier la sortie.

## Exemple - Les bases de Money via un paramètre de format différent

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Money.htm)

#### Expression de graphique

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Un champ dans la table de données appelé `InputValue`.

* Formats de variable suivants :

  * Variable `MoneyFormat`, qui utilise le format : `$ #,##0.00`

  * Variable `MoneyThousandSep` définie pour utiliser une virgule `','`

Script de chargement

```
SET MoneyFormat='$ #,##0.00';
SET MoneyThousandSep=',';
Example:
Load * inline [
InputValue
35648
3564800
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* `InputValue`

Créez les mesures suivantes :

* `=Money(InputValue)`, pour afficher la valeur sous forme de devise formatée via le paramètre système.

* `=Money(InputValue, '#,##0 ¥', '.' , ', )`, pour afficher la valeur sous forme de devise formatée selon le format fourni dans la fonction.

* `=Num(InputValue)`, pour renvoyer la valeur numérique.

Results table

| InputValue | Money(InputValue) | Money(InputValue, '#,##0 ¥', '.' , ',') | Num(InputValue) |
| --- | --- | --- | --- |
| 35648 | $ 35,648.00 | 35,648 ¥ | 35648 |
| 3564800 | $ 3,564,800.00 | 3,564,800 ¥ | 3564800 |

Dans cet exemple, vous pouvez voir comment la fonction `Money` affiche les valeurs et comment les valeurs du paramètre de format peuvent modifier la sortie.

## Exemple - Scénario Money

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Money.htm)

#### Expression de graphique

Vue d'ensemble

Les données relatives aux ventes des clients sont reçues dans différentes devises. Vous souhaitez afficher les données dans une table en utilisant le format de devise approprié.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `Customer`
  * `CurrencyCode`
  * `Sales`

* Formats de variable suivants :

  * Variable `MoneyFormat`, qui utilise le format : `$ ###0.00;-$ ###0.00`

  * Variable `MoneyThousandSep` définie pour utiliser une virgule `','`

  * Variable `MoneyDecimalSep` définie pour utiliser un point « . »

Script de chargement

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='$ ###0.00;-$ ###0.00';
Example:
Load * inline [
Customer, CurrencyCode, Sales
Customer A, USD, 100008
Customer B, EUR, 12500
Customer C, YEN, 15000
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* `Customer`

Créez la mesure suivante :

* `=Money(Sales, If(CurrencyCode = 'USD', '$#,##0.00', If(CurrencyCode = 'EUR', '€ #,##0.00', '¥#,##0')))`, pour afficher la devise dans le bon format de devise.

Results table

| Customer | Money(Sales, If(CurrencyCode = 'USD', '$#,##0.00', If(CurrencyCode = 'EUR', '€ #,##0.00', '¥#,##0'))) |
| --- | --- |
| Customer A | $100,008.00 |
| Customer B | € 12,500.00 |
| Customer C | ¥15,000 |

Les données de ventes utilisent maintenant le format de devise défini dans l'expression de la mesure. Les paramètres décimal et des milliers utilisent les paramètres du script de chargement.