Anterior Avançar

Classe BirtComp

A classe BirtComp fornece funções para comparar valores, por exemplo, para testar se um valor é igual, maior ou menor que outro valor. Todas as funções retornam valores booleanos. Essa classe é estática. O aplicativo não pode criar instâncias da classe.

BirtComp.anyOf

Esta função compara um ou mais valores com o conteúdo de um campo,.

Sintaxe

boolean BirtComp.anyOf( source, target1, ..., targetN )

Parâmetros

origem

Um campo com conteúdo a ser usado para comparação.

destino

O valor ou valores a localizar na origem.

Retornos

Booleano. True se um valor de destino corresponder a um valor na origem; caso contrário, retorna false.

Exemplos

O exemplo a seguir testa se Canada, Mexico ou USA são valores no campo Country. Se algum dos países estiver no campo, a função retornará true.

BirtComp.anyOf(dataSetRow["Country"], "Canada", "Mexico", "USA")

O exemplo a seguir testa se Jan 15, 2009 ou Jan 31, 2009 são valores no campo payDate:

BirtComp.anyOf(dataSetRow["payDate"], "2009-01-15", "2009-01-31")

O exemplo a seguir testa se dois códigos de produtos específicos são valores no campo productCode. Se aparecer qualquer valor no campo, a sequência Obsolete será exibida; caso contrário, o valor productCode será exibido conforme aparece no campo.

if (BirtComp.anyOf(dataSetRow["PRODUCTCODE"], "S18_1749", "S18_2248" )){
  displayString = "Obsolete"
}else{
  dataSetRow["PRODUCTCODE"]
}

BirtComp.between

Esta função testa se um valor está entre dois valores especificados.

Sintaxe

boolean BirtComp.between( source, target1, target2 )

Parâmetros

origem

O valor a testar.

target1

O primeiro valor no intervalo de valores a comparar.

target2

O segundo valor no intervalo de valores a comparar.

Retornos

True se o valor de origem estiver entre os valores target1 e target; caso contrário, retorna false.

Exemplos

As expressões a seguir testam valores do campo para verificar se estão dentro de uma faixa especificada de valores:

BirtComp.between( row["SalesTotal"], 10000, 20000 )
BirtComp.between( row["CustomerName"], "A", "M" )
BirtComp.between( row["OrderDate"], "2009-01-01", "2009-01-31" )

O exemplo a seguir calcula datas de remessa. Se um valor OrderDate estiver em dezembro de 2008 (entre 12/01/08 e 12/31/08), inclua 5 dias no valor OrderDate. Se um valor OrderDate estiver em um mês diferente de dezembro, inclua 3 dias no valor OrderDate.

if (BirtComp.between(row["OrderDate"], "2008-12-01", "2008-12-31" )){
  shipDate = BirtDateTime.addDay( row["OrderDate"], 5 )
  }
else{
  ShipDate = BirtDateTime.addDay( row["OrderDate"], 3 )
  }

BirtComp.compareString

Esta função testa se um valor de sequência corresponde a outro valor de sequência, dadas as condições especificadas.

Sintaxe

boolean BirtComp.compareString( source1, source2, ignoreCase, trim )

Parâmetros

source1

O primeiro valor da sequencia a usar na comparação.

source2

O segundo valor da sequencia a usar na comparação.

ignoreCase

Especifique true para executar uma comparação sem distinção de maiúsculas e minúsculas. Especifique false para executar uma comparação com distinção entre maiúsculas e minúsculas.

aparar

Especifique true para remover todos os espaços em branco iniciais ou finais antes de comparar os dois valores. Espaços em branco no meio de uma sequencia não são removidos. Especifique false se desejar que a comparação inclua espaços em branco iniciais ou finais.

Retornos

True se o valor da source1 corresponder ao valor da source2; caso contrário, retorna false.

Exemplos

As expressões a seguir comparam sequencias com diferentes condições especificadas:

BirtComp.compareString( "Jackson", "Jackson", false, false ) // returns true
BirtComp.compareString( "Jackson", "jackson", false, true ) // returns false
BirtComp.compareString( "Jackson", "jackson", true, false ) // returns true
BirtComp.compareString( "Jackson ", "jackson", true, false ) // returns false
BirtComp.compareString( "Jackson ", "jackson", true, true ) // returns true

BirtComp.equalTo

A função testa se um valor é igual a outro valor.

Sintaxe

boolean BirtComp.equalTo( source, target )

Parâmetros

origem

O primeiro valor a usar na comparação.

destino

O segundo valor a usar na comparação.

Retornos

True se o valor da origem for igual ao valor do destino; caso contrário, retorna false.

Exemplos

As expressões a seguir testam valores do campo para verificar se eles são iguais aos valores especificados:

BirtComp.equalTo( row["SalesTotal"], 10000 )
BirtComp.equalTo( row["Country"], "France" )
BirtComp.equalTo( row["OrderDate"], "2009-02-15" )

BirtComp.greaterOrEqual

Esta função testa se um valor é maior ou igual a outro valor.

Sintaxe

boolean BirtComp.greaterOrEqual( source, target )

Parâmetros

origem

O primeiro valor a usar na comparação.

destino

O segundo valor a usar na comparação.

Retornos

True se o valor de origem for maior ou igual ao valor de destino; caso contrário, retorna false.

Exemplos

As expressões a seguir testam valores do campo para verificar se eles são maiores ou iguais aos valores especificados:

BirtComp.greaterOrEqual( row["SalesTotal"], 10000 )
BirtComp.greaterOrEqual( row["ProductCode"], "S50_4000" )
BirtComp.greaterOrEqual( row["OrderDate"], "2009-02-15" )

BirtComp.greaterThan

Esta função testa se um valor é maior que outro valor.

Sintaxe

boolean BirtComp.greaterThan( source, target )

Parâmetros

origem

O primeiro valor a usar na comparação.

destino

O segundo valor a usar na comparação.

Retornos

True se o valor da origem for maior que o valor do destino; caso contrário, retorna false.

Exemplos

As expressões a seguir testam valores do campo para verificar se eles são maiores que os valores especificados:

BirtComp.greaterThan( row["SalesTotal"], 10000 )
BirtComp.greaterThan( row["CustomerName"], "M" )
BirtComp.greaterThan( row["OrderDate"], "2009-02-15" )

BirtComp.lessOrEqual

Esta função testa se um valor é menor ou igual a outro valor.

Sintaxe

boolean BirtComp.lessOrEqual( source, target )

Parâmetros

origem

O primeiro valor a usar na comparação.

destino

O segundo valor a usar na comparação.

Retornos

True se o valor de origem for menor ou igual ao valor de destino; caso contrário, retorna false.

Exemplos

As expressões a seguir testam valores do campo para verificar se eles são menores ou iguais aos valores especificados:

BirtComp.lessOrEqual( row["SalesTotal"], 10000 )
BirtComp.lessOrEqual( row["ProductCode"], "S18_4000" )
BirtComp.lessOrEqual( row["OrderDate"], "2009-02-15" )

BirtComp.lessThan

Esta função testa se um valor é menor que outro valor.

Sintaxe

boolean BirtComp.lessThan( source, target )

Parâmetros

origem

O primeiro valor a usar na comparação.

destino

O segundo valor a usar na comparação.

Retornos

True se o valor da origem for menor que o valor do destino; caso contrário, retorna false.

Exemplos

As expressões a seguir testam valores do campo para verificar se eles são menores que os valores especificados:

BirtComp.lessThan( row["SalesTotal"], 10000 )
BirtComp.lessThan( row["CustomerName"], "M" )
BirtComp.lessThan( row["OrderDate"], "2009-02-15" )

BirtComp.like

Esta função testa se um valor da sequencia corresponde a um padrão. O padrão deve usar a sintaxe de correspondência de padrões SQL.

Sintaxe

boolean BirtComp.like( source, target )

Parâmetros

origem

O valor da sequencia a avaliar.

destino

O padrão da sequencia a corresponder. Você deve colocar o padrão entre aspas duplas (" "). Use o caso correto ao digitar os caracteres que deseja corresponder. É possível usar o seguinte caractere especial em um padrão:

*
*

Para corresponder a um caractere literal de percentual (%) ou sublinhado (_), preceda esses caracteres com duas barras invertidas (\\). Por exemplo, para corresponder a S_10, use o seguinte padrão:

S\\_10

Para corresponder a 50%, use o seguinte padrão:

50\\%

Retornos

True se o valor de origem corresponder ao valor do destino; caso contrário, retorna false.

Exemplos

O exemplo a seguir retorna true para valores no campo productCode que começam com S18:

BirtComp.like( row["productCode"], "S18%" )

O exemplo a seguir retorna true para valores productName que contêm a subsequência Ford precedida por um único caractere:

BirtComp.like( row["productName"], "_Ford%" )

BirtComp.match

Esta função testa se um valor da sequencia corresponde a um padrão. O padrão deve usar a sintaxe de expressão regular JavaScript.

Sintaxe

boolean BirtComp.match( source, target )

Parâmetros

origem

O valor da sequencia a avaliar.

destino

O padrão da sequencia a corresponder. Na sintaxe de expressão regular JavaScript, especifique um padrão em um par de barras (/). É possível usar qualquer caractere especial suportado por expressões regulares JavaScript, como os seguintes:

*
*
*
*
*

Para corresponder literalmente a um caractere especial, preceda o caractere especial com uma barra invertida (\). Por exemplo, para corresponder a S*10, use o seguinte padrão:

/S\*10/

Retornos

True se o valor de origem corresponder ao valor do destino; caso contrário, retorna false.

Exemplos

O exemplo a seguir retorna true para valores no campo productCode que começam com S18:

BirtComp.match( row["productCode"], /^S18/ )

O exemplo a seguir retorna true para valores productName que contêm a subsequência Ford:

BirtComp.match( row["productName"], /Ford/ )

BirtComp.notBetween

Esta função testa se um valor não está entre dois valores especificados.

Sintaxe

boolean BirtComp.notBetween( source, target1, target2 )

Parâmetros

origem

O valor a testar.

target1

O primeiro valor no intervalo de valores a comparar.

target2

O segundo valor no intervalo de valores a comparar.

Retornos

True se o valor de origem não estiver entre os valores target1 e target; caso contrário, retorna false.

Exemplos

As expressões a seguir testam valores do campo para verificar se eles estão fora de um intervalo especificado de valores:

BirtComp.notBetween( row["SalesTotal"], 10000, 20000 )
BirtComp.notBetween( row["CustomerName"], "A", "M" )
BirtComp.notBetween( row["OrderDate"], "2009-01-01", "2009-01-31" )

O exemplo a seguir calcula datas de remessa. Se um valor OrderDate não estiver em dezembro de 2008 (não entre 12/01/08 e 12/31/08), inclua 3 dias no valor OrderDate. Se um valor OrderDate estiver em dezembro, inclua 5 dias no valor OrderDate.

if (BirtComp.notBetween(row["OrderDate"], "2008-12-01", "2008-12-31" )){
  shipDate = BirtDateTime.addDay( row["OrderDate"], 3 )
  }
else{
  ShipDate = BirtDateTime.addDay( row["OrderDate"], 5 )
  }

BirtComp.notEqual

Esta função testa se um valor não é igual a outro valor.

Sintaxe

boolean BirtComp.notEqual( source, target )

Parâmetros

origem

O primeiro valor a usar na comparação.

destino

O segundo valor a usar na comparação.

Retornos

True se o valor da origem não for igual ao valor do destino; caso contrário, retorna false.

Exemplos

As expressões a seguir testam valores do campo para verificar se eles não são iguais aos valores especificados:

BirtComp.notEqual( row["SalesTotal"], 10000 )
BirtComp.notEqual( row["Country"], "France" )
BirtComp.notEqual( row["OrderDate"], "2009-02-15" )

BirtComp.notLike

Essa função testa se um valor de sequência não corresponde a um padrão. O padrão deve usar a sintaxe de correspondência de padrões SQL.

Sintaxe

boolean BirtComp.notLike( source, target )

Parâmetros

origem

O valor da sequencia a avaliar.

destino

O padrão de sequência ao qual comparar. Você deve colocar o padrão entre aspas duplas (" "). Use o caso correto ao digitar os caracteres que deseja corresponder. É possível usar o seguinte caractere especial em um padrão:

*
*

Para corresponder a um caractere literal de percentual (%) ou sublinhado (_), preceda esses caracteres com duas barras invertidas (\\). Por exemplo, para corresponder a S_10, use o seguinte padrão:

S\\_10

Para corresponder a 50%, use o seguinte padrão:

50\\%

Retornos

True se o valor da origem não corresponder ao valor do destino; caso contrário, retorna false.

Exemplos

O exemplo a seguir retorna false para valores no campo productCode que começam com S18:

BirtComp.notLike( row["productCode"], "S18%" )

O exemplo a seguir retorna false para valores productName que contêm a subsequência Ford precedida por um único caractere:

BirtComp.notLike( row["productName"], "_Ford%" )

(c) Copyright Actuate Corporation 2013