Guia do Usuário do Cliente Web Spotfire®

Funções Lógicas

A lista abaixo mostra as funções lógicas que podem ser utilizadas em expressões.

FunçãoDescrição
CaseA instrução case tem duas formas diferentes.

Simples:

case Arg1 when Arg2 then Arg3 else Arg4 end

A expressão Arg1 é avaliada e, quando Arg1 é igual a Arg2, Arg3 é retornado.Múltiplas expressões quando/então podem ser inseridas e são avaliadas em ordem da esquerda para direita.

Pesquisado:

case when Arg1 then Arg2 else Arg3 end

RetornaArg2 seArg1=true e Arg3 seArg1=false.Múltiplos

As expressões quando/então podem ser inseridas e são avaliadas em ordem da esquerda para direita.

Consulte abaixo para mais informações.

Exemplo:

case when 1 < 2 then "a" when 1 < 3 then "b" else "c" end

case [Column] when 3 then "a" when 2 then "b" else "c" end

Para mais exemplos, veja abaixo e Colunas calculadas com base em condições.

If(Arg1,Arg2,Arg3) RetornaArg2 seArg1=true e Arg3 seArg1=false.Arg1 é do tipo booleano, normalmente o resultado de uma comparação.Arg2 eArg3 podem ser de qualquer tipo, mas devem ser do mesmo tipo ou nulo.

O segundo e o terceiro argumento apenas processam os subconjuntos das linhas, o que afeta todos os métodos baseados em colunas e métodos acumulados.Consulte abaixo para mais informações.

Exemplos:

If([Count] > 3, "many", "few")

If(true, null, null) -> (Vazio)

If(true, 1, null) -> 1

If(false, null, 2) -> 2

If(null, 1, 2) -> (Vazio)

If(1 < 2, "Small", "Big")-> Small

If([Column] Is Null,"0","has value")

Para mais exemplos, veja abaixo e Colunas calculadas com base em condições.

Is Not Null Usado em uma instrução If ou Case para determinar se uma expressão produz ou não um valor vazio (valor nulo).

Exemplo:

If([Column] Is Not Null, "value was not null", "value was null")

Se uma expressão contiver valores vazios (valores nulos), você poderá usar a função SN (consulte Funções de conversão) para substituir os valores nulos pelo valor especificado.

Is Null

Usado em uma instrução If ou Case para determinar se uma expressão produz ou não um valor vazio (valor nulo).

Exemplo:

If([Column] Is Null, "value was null", "value was not null")

Se uma expressão contiver valores vazios (valores nulos), você poderá usar a função SN (consulte Funções de conversão) para substituir os valores nulos pelo valor especificado.

Mais sobre usar "if" em expressões:

Quando você estiver usando uma instrução If em uma expressão, a condição no primeiro argumento limita os valores a serem avaliados no terceiro argumento.Para entender como funciona, primeiro pegue uma coluna de número inteiro simples como exemplo:

Col1
1
2
3

Insira uma coluna calculada usando a seguinte expressão:

if(Col1 < 2, Max(Col1), Max(Col1))

Isso resultará em uma nova coluna com dois valores diferentes; um para "case" quando o máximo para todos os valores que são menores que 2 e um mostrando o valor máximo para o resto dos valores (que também é o máximo da coluna inteira):

Col1if(Col1 < 2, Max(Col1), Max(Col1))
11
23
33

A função If foi projetada para dividir a coluna em dois grupos e continuar avaliando a expressão nos novos grupos.

Se estiver usando uma expressão Percentile, você obterá resultados diferentes na mesma expressão de percentil, dependendo de como a primeira condição dividiu a coluna:

Col2
1
2
3
4
5
6
7
8
9
10

Insira duas colunas usando as duas expressões seguintes:

if (Col2 < 4, 0, Percentile(Col2, 70))

if (Col2 < 6, 0, Percentile(Col2, 70))

Em seguida, obtém-se o seguinte resultado:

Col2if (Col2 < 4, 0, Percentile(Col2, 70)) if (Col2 < 6, 0, Percentile(Col2, 70))
100
200
300
48,20
58,20
68,28,8
78,28,8
88,28,8
98,28,8
108,28,8
Como você pode ver, o valor do percentil mudará dependendo de como 'If' agrupou os dados.

Mais sobre como usar "case" em expressões:

Ao trabalhar com expressões de caso, a condição depois de "when" é calculada na coluna inteira.O argumento depois de "then" é calculado nas linhas definidas pela condição "when".Se vários pares "when- then" estiverem incluídos na expressão, um "then" será limitado por todas as condições anteriores, bem como pela última.

Um exemplo de uso de uma coluna de número inteiro simples:

Col1
1
2
3
4
5
6
7
8

Inserir duas colunas calculadas, chamadas Case Min e Case Max, utilizando as seguintes expressões:

Case Min:

case 
		when [Col1]<Avg([Col1]) then Min([Col1]) 
		when [Col1]<(Avg([Col1]) + 1) then Min([Col1]) 
		else Min([Col1]) 
end

Case Max:

case
		when [Col1] < Avg([Col1]) then Max([Col1])
		when [Col1] < (Avg([Col1]) + 1) then Max([Col1])
		else Max([Col1]) 
end

O resultado será:

Col1Case MinCase Max
114
214
314
414
555
668
768
868
Veja tambémFunções.