As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Crie campos calculados para transformar seus dados usando uma ou mais das seguintes opções:
-
Funções agregadas (você só pode adicioná-las a uma análise)
-
Campos contendo dados
-
Outros campos calculados
Você pode adicionar campos calculados a um conjunto de dados durante a preparação de dados ou na página de análise. Quando adicionar um campo calculado a um conjunto de dados durante a preparação dos dados, ele estará disponível para todas as análises que usarem esse conjunto de dados. Ao adicionar um campo calculado a um conjunto de dados em uma análise, ele só estará disponível nessa análise.
As análises oferecem suporte a operações de linha única e a operações de agregação. Operações de linha única são aquelas que fornecem um resultado (possivelmente) diferente para cada linha. Operações de agregação fornecem resultados que são sempre os mesmos para conjuntos inteiros de linhas. Por exemplo, se você usar uma função de sequência de caracteres simples sem nenhuma condição, ela alterará cada linha. Se você usar uma função de agregação, ela se aplicará a todas as linhas em um grupo. Se você solicitar o valor total de vendas para os EUA, o mesmo número se aplicará ao conjunto inteiro. Se você solicitar dados sobre um estado específico, o total de vendas será alterado para refletir o novo agrupamento. Ele ainda fornece um resultado para o conjunto inteiro.
Ao criar o campo calculado agregado dentro da análise, você pode fazer busca detalhada nos dados. O valor desse campo agregado é recalculado apropriadamente para cada nível. Esse tipo de agregação não é possível durante a preparação do conjunto de dados.
Por exemplo, digamos que você deseja descobrir a porcentagem de lucro de cada país, região e estado. Você pode adicionar um campo calculado à sua análise, (sum(salesAmount - cost)) / sum(salesAmount)
. Esse campo será calculado para cada país, região e estado, no momento em que seu analista fizer uma busca detalhada na área geográfica.
Tópicos
Como adicionar campos calculados a uma análise
Quando você adiciona um conjunto de dados a uma análise, cada campo calculado que existe no conjunto de dados é adicionado à análise. Você pode adicionar mais campos calculados no nível da análise para criar campos calculados que estejam disponíveis somente nessa análise.
Para adicionar um campo calculado a uma análise
-
Abra o console do QuickSight
. -
Abra a análise que você deseja alterar.
-
No painel Dados, acesse Adicionar no canto superior esquerdo e, em seguida, selecione + CAMPO CALCULADO.
-
No editor de cálculos que é aberto, faça o seguinte:
-
Insira um nome para o campo calculado.
-
Insira uma fórmula usando campos do seu conjunto de dados, funções e operadores.
-
-
Quando terminar, escolha Save (Salvar).
Para obter mais informações sobre como criar fórmulas usando as funções disponíveis no QuickSight, consulte Função de campo calculado e referência ao operador no Amazon QuickSight .
Como adicionar campos calculados a um conjunto de dados
Os autores do Amazon QuickSight podem gerar campos calculados durante a fase de preparação de dados da criação de um conjunto de dados. Quando você cria um campo calculado para um conjunto de dados, o campo se torna uma nova coluna no conjunto de dados. Todas as análises que usam o conjunto de dados herdam os campos calculados do conjunto de dados.
Se o campo calculado operar no nível da linha e o conjunto de dados estiver armazenado no SPICE, o QuickSight computará e materializará o resultado no SPICE. Se o campo calculado depende de uma função de agregação, o QuickSight retém a fórmula e realiza o cálculo quando a análise é gerada. Esse tipo de campo calculado é chamado de campo calculado não materializado.
Para adicionar ou editar um campo calculado de um conjunto de dados
-
Abra o conjunto de dados com o qual deseja trabalhar. Para ter mais informações, consulte Como editar conjuntos de dados.
-
Na página de preparação dos dados, faça um dos seguintes procedimentos:
-
Para criar um campo, escolha Adicionar campo calculado à esquerda.
-
Para editar um campo calculado existente, escolha-o em Campos calculados à esquerda e selecione Editar no menu de contexto (clique com o botão direito do mouse).
-
-
No editor de cálculo, insira um nome descritivo para Adicionar título, dando um nome ao novo campo calculado. Esse nome aparece na lista de campos no conjunto de dados, portanto, deve ser semelhante aos outros campos. Para esse exemplo, definimos o nome do campo como
Total Sales This Year
. -
(Opcional) Adicione um comentário, por exemplo, para explicar o que a expressão faz, colocando o texto em barras e asteriscos.
/* Calculates sales per year for this year*/
-
Identifique métricas, funções e outros itens a serem usados. Neste exemplo, precisamos identificar o seguinte:
-
A métrica a ser usada
-
Funções:
ifelse
edatediff
Queremos criar uma declaração como: “Se a venda aconteceu durante este ano, mostre o total de vendas, caso contrário, mostre 0”.
Para adicionar a função
ifelse
, abra a lista de Funções. Escolha Tudo para fechar a lista de todas as funções. Agora você deve ver os grupos de funções: Agregado, Condicional, Data e assim por diante.Escolha Condicional e clique duas vezes em
ifelse
para adicioná-lo ao espaço de trabalho.ifelse()
-
-
Coloque o cursor dentro dos parênteses no espaço de trabalho e adicione três linhas em branco.
ifelse( )
-
Com o cursor na primeira linha em branco, encontre a função
dateDiff
. Está listada em Funções em Datas. Você também pode encontrá-la inserindodate
em Funções de pesquisa. A funçãodateDiff
retorna todas as funções que têm
como parte do nome. Ela não retorna todas as funções listadas em Datas; por exemplo, a funçãodate
now
está faltando nos resultados da pesquisa.Clique duas vezes em
dateDiff
para adicioná-lo à primeira linha em branco da declaraçãoifelse
.ifelse( dateDiff() )
Adicione os parâmetros que
dateDiff
usa. Coloque o cursor dentro dos parêntesesdateDiff
para começar a adicionardate1
,date2
eperiod
:-
Para
date1
: o primeiro parâmetro é o campo que contém a data. Encontre-o em Campos e adicione-o ao espaço de trabalho clicando duas vezes nele ou inserindo o nome. -
Para
date2
, adicione uma vírgula e escolhatruncDate()
em Funções. Entre parênteses, adicione o período e a data, assim:truncDate( "YYYY", now() )
-
Para
period
: adicione uma vírgula depois dedate2
e insiraYYYY
. Esse é o período do ano. Para ver uma lista de todos os períodos compatíveis, encontredateDiff
na lista Funções e abra a documentação selecionando Saiba mais. Se você já estiver visualizando a documentação, como agora, consulte dateDiff.
Adicione alguns espaços para facilitar a leitura, se quiser. A expressão deve ser algo semelhante a:
ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) )
-
-
Especifique o valor de retorno. Para o nosso exemplo, o primeiro parâmetro em
ifelse
precisa retornar um valor deTRUE
ouFALSE
. Como queremos o ano atual e o estamos comparando com este ano, especificamos que a declaraçãodateDiff
deve retornar0
. A parteif
deifelse
é avaliada como verdadeira para linhas em que não há diferença entre o ano da venda e o ano atual.dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) =
0
Para criar um campo de
TotalSales
para o ano passado, você pode mudar0
para1
.Outra maneira de fazer a mesma coisa é usar
addDateTime
em vez detruncDate
. Então, para cada ano anterior, você altera o primeiro parâmetro paraaddDateTime
a fim de representar cada ano. Para isso, use-1
para o ano passado,-2
para o ano anterior a ele e assim por diante. Se você usaraddDateTime
, deixe a funçãodateDiff
em= 0
para cada ano.dateDiff( {Discharge Date},
addDateTime(-1, "YYYY", now() )
,"YYYY" ) = 0 /* Last year */ -
Mova o cursor para a primeira linha em branco, logo abaixo de
dateDiff
. Adicione uma vírgula.Para a parte
then
da declaraçãoifelse
, precisamos escolher a medida (métrica) que contém o valor das vendas,TotalSales
.Para escolher um campo, abra a lista Campos e clique duas vezes em um campo para adicioná-lo à tela. Também é possível inserir o nome. Adicione chaves
{ }
ao redor dos nomes que contenham espaços. É provável que sua métrica tenha um nome diferente. Você consegue saber qual campo é uma métrica pelo sinal numérico na frente dele (#).Agora, a expressão deve ser semelhante à que é mostrada a seguir.
ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0 ,{TotalSales} )
-
Adicione uma cláusula
else
. A funçãoifelse
não exige uma, mas queremos adicioná-la. Para fins de geração de relatórios, normalmente não é desejado ter valores nulos, porque às vezes as linhas com nulos são omitidas.Definimos a parte else de ifelse como
0
. O resultado é que esse campo é0
para linhas que contêm vendas de anos anteriores.Para isso, na linha em branco, adicione uma vírgula e depois um
0
. Se tiver adicionado o comentário no início, sua expressãoifelse
final deve ter a aparência a seguir./* Calculates sales per year for this year*/ ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0 ,{TotalSales} ,0 )
-
Salve seu trabalho escolhendo Salvar no canto superior direito.
Se houver erros na sua expressão, o editor exibirá uma mensagem de erro na parte inferior. Verifique se há uma linha ondulada vermelha na expressão. Em seguida, passe o cursor sobre essa linha para ver qual é a mensagem de erro. Os erros comuns incluem pontuação ausente, parâmetros ausentes, erros ortográficos e tipos de dados inválidos.
Para evitar fazer alterações, escolha Cancelar.
Para adicionar um valor de parâmetro a um campo calculado
-
Você pode fazer referência a parâmetros em campos calculados. Ao adicionar o parâmetro à sua expressão, você adiciona o valor atual desse parâmetro.
-
Para adicionar um parâmetro, abra a lista Parâmetros e selecione o parâmetro cujo valor você deseja incluir.
-
(Opcional) Para adicionar manualmente um parâmetro à expressão, digite o nome dele. Em seguida, coloque-o entre chaves
{}
e prefixe-o com um$
, por exemplo,${parameterName}
.
Você pode alterar o tipo de dados de qualquer campo no seu conjunto de dados, incluindo os tipos de campos calculados. Você só pode escolher tipos de dados que correspondam aos dados que estão no campo.
Para alterar o tipo de dados de um campo calculado
-
Em Campos calculados (à esquerda), escolha o campo que deseja alterar e selecione Alterar tipo de dados no menu de contexto (clique com o botão direito do mouse).
Ao contrário dos outros campos no conjunto de dados, os campos calculados não podem ser desabilitados. Em vez disso, exclua-os.
Para excluir um campo calculado
-
Em Campos calculados (à esquerda), escolha o campo que deseja alterar e selecione Excluir no menu de contexto (clique com o botão direito do mouse).
Tratamento de valores decimais em campos calculados
Quando seu conjunto de dados usa o modo de Direct Query, o cálculo do tipo de dados decimal é determinado pelo comportamento do mecanismo de origem do qual o conjunto de dados se origina. Em alguns casos específicos, o QuickSight aplica tratamentos especiais para determinar o tipo de dados do cálculo de saída.
Quando seu conjunto de dados usa o modo de consulta do SPICE e um campo calculado é materializado, o tipo de dados do resultado depende dos operadores de função específicos e do tipo de dados da entrada. As tabelas abaixo mostram o comportamento esperado para alguns campos numéricos calculados.
Operadores unários
A tabela a seguir mostra qual tipo de dados é gerado com base no operador que você usa e no tipo de dados do valor inserido. Por exemplo, se você inserir um número inteiro em um cálculo abs
, o tipo de dados do valor de saída será inteiro.
Operador | Tipo de entrada | Tipo de saída |
---|---|---|
abs |
Fixado em decimal | Fixado em decimal |
Int | Int | |
Flutuação decimal | Flutuação decimal | |
ceil |
Fixado em decimal | Int |
Int | Int | |
Flutuação decimal | Int | |
exp |
Fixado em decimal | Flutuação decimal |
Int | Flutuação decimal | |
Flutuação decimal | Flutuação decimal | |
floor |
Fixado em decimal | Int |
Int | Int | |
Flutuação decimal | Int | |
ln |
Fixado em decimal | Flutuação decimal |
Int | Flutuação decimal | |
Flutuação decimal | Flutuação decimal | |
log |
Fixado em decimal | Flutuação decimal |
Int | Flutuação decimal | |
Flutuação decimal | Flutuação decimal | |
round |
Fixado em decimal | Fixado em decimal |
Int | Fixado em decimal | |
Flutuação decimal | Fixado em decimal | |
sqrt |
Fixado em decimal | Flutuação decimal |
Int | Flutuação decimal | |
Flutuação decimal | Flutuação decimal |
Operadores binários
As tabelas a seguir mostram qual tipo de dados é gerado com base nos tipos de dados dos dois valores que você insere. Por exemplo, para um operador aritmético, se você fornecer dois tipos de dados inteiros, o resultado da saída do cálculo será um número inteiro.
Para operadores básicos (+, -, *):
Inteiro | Fixado em decimal | Flutuação decimal | |
---|---|---|---|
Inteiro |
Inteiro |
Fixado em decimal |
Flutuação decimal |
Fixado em decimal |
Fixado em decimal |
Fixado em decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Para operadores de divisão (/):
Inteiro | Fixado em decimal | Flutuação decimal | |
---|---|---|---|
Inteiro |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Fixado em decimal |
Flutuação decimal |
Fixado em decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Para operadores exponenciais e de modificação (^, %):
Inteiro | Fixado em decimal | Flutuação decimal | |
---|---|---|---|
Inteiro |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Fixado em decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |
Flutuação decimal |