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.
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
Exemplos | Resultados |
---|---|
sum( {$<Year = {$(#vLastYear)}>} 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( {$<Year = {$(#=Only(Year)-1)}>} 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. |