# Modificadores de conjunto com expansões de sinal de dólar

Expansões de sinal de cifrão são construções calculadas antes que a expressão seja analisada e avaliada. O resultado é então injetado na expressão em vez de `$(…)`. O cálculo da expressão é então feito usando o resultado da expansão de sinal de cifrão.

O editor de expressões mostra uma visualização da expansão de sinal de cifrão para que você possa verificar o que sua expansão de sinal de cifrão avalia.

Visualização de expansão de sinal de dólar no editor de expressões

Visualização de expansão de sinal de dólar no editor de expressões

Visualização de expansão de sinal de dólar no editor de expressões ![Visualização de expansão de sinal de dólar no editor de expressões.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_expansion_preview.png)

Use expansões de sinal de dólar quando quiser usar um cálculo dentro do seu conjunto de elementos.

Por exemplo, se quiser ver apenas o último ano possível, use a seguinte construção:

`<Year = {$(=Max(Year))}>`

`Max(Year)` é calculado primeiro, e o resultado é injetado na expressão em vez de `$(…)`.

O resultado após a expansão do cifrão será uma expressão como a que se segue:

`<Year = {2021}>`

A expressão dentro da expansão de sinal de dólar é calculada com base na seleção atual. Isso significa que, se você tiver uma seleção em outro campo, o resultado da expressão será afetado.

Se quiser que o cálculo seja independente da seleção, use a análise de conjunto dentro da expansão de sinal de dólar. Por exemplo:

`<Year = {$(=Max({1} Year))}>`

## Sequências de caracteres

Quando você deseja que a expansão de sinal de dólar resulte em uma cadeia de caracteres, as regras normais de aplicação de aspas são aplicáveis. Por exemplo:

`<Country = {'$(=FirstSortedValue(Country,Date)'}>`

O resultado após a expansão do cifrão será uma expressão como a que se segue:

`<Country = {'New Zealand'}>`

Você obterá um erro de sintaxe se não usar as aspas.

## Números

Quando você deseja que a expansão de sinal de dólar resulte em um número, certifique-se de que ela tenha a mesma formatação que o campo. Isso significa que, às vezes, você precisa envolver a expressão em uma função de formatação.

Por exemplo:

`<Amount = {$(=Num(Max(Amount), '###0.00'))}>`

O resultado após a expansão do cifrão será uma expressão como a que se segue:

`<Amount = {12362.00}>`

Use um hash para forçar a expansão a sempre usar o ponto decimal e nenhum separador de milhar. Por exemplo:

`<Amount = {$(#=Max(Amount))}>`

## Datas

Quando quiser que a expansão de sinal de dólar resulte em uma data, certifique-se de que ela tenha a formatação correta. Isso significa que, às vezes, você precisa envolver a expressão em uma função de formatação.

Por exemplo:

`<Date = {'$(=Date(Max(Date)))'}>`

O resultado após a expansão do cifrão será uma expressão como a que se segue:

`<Date = {'12/31/2015'}>`

Assim como com sequências de caracteres, você precisa usar as aspas corretas.

Um caso de uso comum é quando você deseja que seu cálculo seja limitado ao último mês (ou ano). Nesse caso, é possível usar uma pesquisa numérica em combinação com a função `AddMonths()`.

Por exemplo:

`<Date = {">=$(=AddMonths(Today(),-1))"}>`

O resultado após a expansão do cifrão será uma expressão como a que se segue:

`<Date = {">=9/31/2021"}>`

Isso selecionará todos os eventos que ocorreram no mês passado.

## Exemplo: expressões de gráfico para modificadores de conjunto com expansões de sinal de dólar

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-modifiers-dollar-sign-expansions.htm)

#### Exemplo: expressões de gráfico

Script de carregamento

Carregue os seguintes dados como um carregamento inline no editor de carregamento de dados para criar os exemplos de expressão de gráfico abaixo.

```
Let vToday = Today();
MyTable:
Load 
Year(Date) as Year,
Date#(Date,'YYYY-MM-DD') as ISO_Date, 
Date(Date#(Date,'YYYY-MM-DD'),'M/D/YYYY') as US_Date, 
Country, Product, Amount 
Inline
[Date, Country, Product, Amount
2018-02-20, Canada, Washer, 6
2018-07-08, Germany, Anchor bolt, 10
2018-07-14, Germany, Anchor bolt, 3
2018-08-31, France, Nut, 2
2018-09-02, Czech Republic, Bolt, 1
2019-02-11, Czech Republic, Bolt, 3
2019-07-31, Czech Republic, Washer, 6
2020-03-13, France, Anchor bolt, 1
2020-07-12, Canada, Anchor bolt, 8
2021-10-15, France, Washer, 1];	
```

Para obter mais informações sobre como usar carregamentos inline, consulte [Usando carregamentos inline para carregar dados](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Expressões de gráfico com expansões de sinal de dólar

Crie uma tabela em uma pasta do Qlik Sense com as seguintes expressões de gráfico.

Tabela - Modificadores de conjunto com expansões de sinal de cifrão

| País | Soma (valor) | Sum({&lt;US\_Date={'$(vToday)'}&gt;} Amount) | Sum({&lt;ISO\_Date={"$(=Date(Min(ISO\_Date),'YYYY-MM-DD'))"}&gt;} Amount) | Sum({&lt;US\_Date={"&gt;=$(=AddYears(Max(US\_Date),-1))"}&gt;} Amount) |
| --- | --- | --- | --- | --- |
| Totais | 41 | 1 | 6 | 1 |
| Canadá | 14 | 0 | 6 | 0 |
| República Tcheca | 10 | 0 | 0 | 0 |
| França | 4 | 1 | 0 | 1 |
| Alemanha | 13 | 0 | 0 | 0 |

Explicação

* Dimensões:

  * `Country`

* Medidas:

  * `Sum(Amount)`

    Soma `Amount` sem uma expressão de conjunto.

  * `Sum({<US_Date={'$(vToday)'}>}Amount)`

    Soma `Amount` para todos os registros em que `US_Date` é igual ao da variável`vToday`.

  * `Sum({<ISO_Date={"$(=Date(Min(ISO_Date),'YYYY-MM-DD'))"}>}Amount)`

    Soma `Amount` para todos os registros em que `ISO_Date` é igual à primeira `ISO_Date` (menor) possível. A função `Date()` é necessária para garantir que o formato da data corresponda ao do campo.

  * `Sum({<US_Date={">=$(=AddYears(Max(US_Date),-1))"}>}Amount)`

    Soma `Amount` para todos os registros que têm `US_Date` após ou na data um ano antes da última `US_Date` (maior) possível. A função `AddYears()` retornará uma data no formato especificado pela variável `DateFormat`, e isso precisa corresponder ao formato do campo `US_Date`.

Modificadores de conjunto com expansões de sinal de cifrão

Modificadores de conjunto com expansões de sinal de cifrão

Modificadores de conjunto com expansões de sinal de cifrão ![Modificadores de conjunto com expansões de sinal de cifrão.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_dollar_expansion.png)

Para obter mais informações sobre expressões, consulte [Usando expressões em visualizações](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm).

| Exemplos | Resultados |
| --- | --- |
| sum( {$&lt;Year = {$(#vLastYear)}&gt;} Sales ) | Retorna as vendas do ano anterior em relação à seleção atual. Aqui, uma variável vLastYear contendo o ano relevante é usada em uma expansão de sinal de dólar. |
| sum( {$&lt;Year = {$(#=Only(Year)-1)}&gt;} Sales ) | Retorna as vendas do ano anterior em relação à seleção atual. Aqui, uma expansão de sinal de dólar é usada para calcular o ano anterior. |