# Money Função de script e de gráfico

Money() formata uma expressão numericamente como um valor de moeda no formato numérico definido nas variáveis de sistema, definido no script de carga dos dados ou no sistema operacional, a não ser que uma string de formato seja fornecida, bem como separadores decimais e de milhar opcionais.

Sintaxe:

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

Tipo de dados de retorno: dual

Argumentos

| Argumento | Descrição |
| --- | --- |
| number | O número a ser formatado. |
| format | String descrevendo como a string de moeda resultante será formatada. Se for omitido, o valor definido no script de carga de dados para `MoneyFormat` será usado.<br><br>A função `Money` oferece suporte a muitas opções de formato para diferentes estruturas de data, por exemplo:<br><br>​`$#,##0.00`: adiciona um cifrão e duas casas decimais.<br><br>`€ #,##0`: adiciona um sinal de euro e nenhuma casa decimal, com um espaço após o sinal de euro.<br><br>`​¥#,##0`: adiciona um sinal de iene japonês sem casas decimais.<br><br>​`$#,##0;($#,##0)`: formata valores negativos entre parênteses.<br><br>​`₣ #.##0,00`:​ adiciona um sinal de franco suíço com pontos como separadores de milhar e uma vírgula para decimais (por exemplo,`  ₣ 1.000,00 `).<br><br>​`R #,##0.00`: sinal do rand sul-africano com duas casas decimais e espaço após o sinal do rand.<br><br>​`$ #,##0.000`: adiciona três casas decimais ao formato do dólar. |
| dec\_sep | String especificando o separador de número decimal. Se omitida, o valor `MoneyDecimalSep` definido no script de carga de dados será usado.<br><br>A função `Money` é compatível com muitos formatos de separadores decimais de números, por exemplo:<br><br>Vírgula ​' `,` ': por exemplo, `$1,000,00` para mil dólares.<br><br>Ponto ' `.` ':​ por exemplo, `€ 1,000.00`.<br><br>Hífen ' `-` ': quando usado no lugar do ponto tradicional ou da vírgula como separador decimal, mostra valores como `¥1,000-00`. |
| thou\_sep | String especificando o separador de número milhar. Se omitida, o valor `MoneyThousandSep` definido no script de carga de dados será usado.<br><br>A função `Money` oferece suporte a várias opções para o separador de milhares de números:<br><br>Ponto ' `.` ': usa um ponto para o separador de milhares (comum em alguns formatos europeus), exibido como `$1.000,00` se combinado com um separador decimal com vírgula.<br><br>Espaço ​' ': usa um espaço para o separador de milhares, o que é comum em alguns países europeus. É exibido como `€ 1 000.00`.<br><br>Sublinhado ​'`_`':​ usa um sublinhado para o separador de milhares, que às vezes é usado em formatos técnicos ou regionais específicos. Exibe valores como `$1_000.00`. |

Se os argumentos format, dec\_sep e thou\_sep forem omitidos, o formato de moeda definido no sistema operacional será usado na formatação de cada parte específica da saída. As configurações do sistema operacional são incluídas automaticamente como variáveis do sistema na criação do script, garantindo assim que elas sejam consistentes em todo o aplicativo.

Essas variáveis do sistema são MoneyFormat, MoneyDecimalSep e MoneyThousandSep, e mapeiam os argumentos das funções format, dec\_sep e thou\_sep, respectivamente.

Exemplo: expressões de gráfico

| Exemplo | Resultados |
| --- | --- |
| `Money( 35648 )` | Retorna `kr 35 648,00` quando a configuração de `MoneyFormat` é `kr ##0,00` e o `MoneyThousandSep` é um ponto `' '`. |
| `Money( 35648, '#,##0 ¥', '.' , ',' )` | Retorna `3,564,800 ¥` ignorando a configuração de `MoneyFormat` e a configuração de `MoneyThousandSep`, pois os parâmetros opcionais `Format`, `dec_sep` e `thou_sep` são fornecidos na função. |
| `Money(35648)` | Retorna `$ 35,648.00` quando a configuração de `MoneyFormat` é `$ #,##0.00` e o `MoneyThousandSep` é uma vírgula `','`. |

## Exemplo – Fundamentos de Money

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

#### Expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Um campo na tabela de dados chamado `InputValue`.

* Os formatos de variável a seguir:

  * Variável `MoneyFormat`, que usa o formato: `kr ##0,00`

  * Variável `MoneyThousandSep` definida para usar um espaço `' '`

Script de carregamento

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:

* `InputValue`

Crie as seguintes medidas:

* `=Money(InputValue)` para visualizar o valor como dinheiro formatado usando a configuração do sistema.

* `=Money(InputValue, '#,##0 ¥', '.' , ',')` para visualizar o valor como dinheiro formatado usando o formato fornecido na função.

* `=Num(InputValue)` para retornar o valor numérico.

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 |

Neste exemplo, você pode ver como a função `Money` exibe valores e como os valores no parâmetro format podem alterar a saída.

## Exemplo – Fundamentos de Money usando uma configuração de formato diferente

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

#### Expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Um campo na tabela de dados chamado `InputValue`.

* Os formatos de variável a seguir:

  * Variável `MoneyFormat`, que usa o formato: `$ #,##0.00`

  * Variável `MoneyThousandSep` definida para usar uma vírgula `','`

Script de carregamento

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:

* `InputValue`

Crie as seguintes medidas:

* `=Money(InputValue)` para visualizar o valor como dinheiro formatado usando a configuração do sistema.

* `=Money(InputValue, '#,##0 ¥', '.' , ', )` para visualizar o valor como dinheiro formatado usando o formato fornecido na função.

* `=Num(InputValue)` para retornar o valor numérico.

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 |

Neste exemplo, você pode ver como a função `Money` exibe valores e como os valores no parâmetro format podem alterar a saída.

## Exemplo – Cenário de Money

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

#### Expressão de gráfico

Visão geral

Os dados de vendas dos clientes são recebidos em várias moedas. Você deseja exibir os dados em uma tabela usando o formato de moeda relevante.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

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

* Os formatos de variável a seguir:

  * Variável `MoneyFormat`, que usa o formato: `$ ###0.00;-$ ###0.00`

  * Variável `MoneyThousandSep` definida para usar uma vírgula `','`

  * Variável `MoneyDecimalSep` definida para usar um ponto ".".

Script de carregamento

```
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
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:

* `Customer`

Crie a seguinte medida:

* `=Money(Sales, If(CurrencyCode = 'USD', '$#,##0.00', If(CurrencyCode = 'EUR', '€ #,##0.00', '¥#,##0')))` para exibir a moeda no formato correto.

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 |

Os dados de vendas agora usam o formato de moeda definido na expressão de medida. Os parâmetros decimal e mil usam as configurações do script de carregamento.