Anterior Seguinte

Classe BirtComp

A classe BirtComp faculta funções para comparar valores como, por exemplo, testar se um valor é igual, superior ou inferior a outro valor. Todas as funções devolvem valores booleanos. Esta classe é estática. A aplicação não pode criar ocorrências da classe.

BirtComp.anyOf

Esta função compara um ou mais valores com os conteúdos índices de um campo.

Sintaxe

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

Parâmetros

origem

Um campo com índices a utilizar na comparação.

destino

O valor ou valores a encontrar na origem.

Devoluções

Boolean. É devolvido true caso um valor de destino corresponda a um valor na origem; caso contrário, é devolvido false.

Exemplos

O exemplo seguinte testa se Canadá, México ou EUA são valores no campo País. Caso algum destes países se encontre no campo, a função devolve true.

BirtComp.anyOf(dataSetRow["País"], "Canadá", "México", "EUA")

O exemplo seguinte testa se 15 de Jan. de 2009 ou 31 de Jan. de 2009 são valores no campo payDate (Data de pagamento):

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

O exemplo seguinte testa se dois códigos de produto específicos são valores no campo productCode (Código de produto). Caso um dos valores apareça no campo, é apresentada a cadeia Obsolete (Obsoleto); caso contrário, o valor Código de produto é apresentado como aparece no campo.

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

BirtComp.between

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

Sintaxe

boolean BirtComp.between( source, target1, target2 )

Parâmetros

source

O valor a testar.

target1

O primeiro valor no intervalo de valores com o qual efectuar a comparação.

target2

O segundo valor no intervalo de valores com o qual efectuar a comparação.

Devoluções

É devolvido true caso o valor de origem se encontre entre os valores target1 e target; caso contrário é devolvido false.

Exemplos

As seguintes expressões testam valores de campo para verificar se se encontram dentro de um intervalo especificado 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 seguinte calcula datas de transporte. Caso um valor OrderDate (Data de encomenda) seja Dezembro de 2008 (entre 12/01/08 e 12/31/08), adicione 5 dias ao valor OrderDate. Caso um valor de OrderDate (Data de encomenda) seja em outro mês que não Dezembro, adicione 3 dias ao 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 cadeia corresponde a outro valor de cadeia, em condições especificadas.

Sintaxe

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

Parâmetros

source1

O primeiro valor de cadeia a utilizar na comparação.

source2

O segundo valor de cadeia a utilizar na comparação.

ignoreCase

Especifique true para executar uma comparação que seja insensível a letras maiúsculas e minúsculas. Especifique false para executar uma comparação que seja sensível a maiúsculas e minúsculas.

trim

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

Devoluções

É devolvido true caso o valor de source1 corresponda ao valor de source2; caso contrário, é devolvido false.

Exemplos

As seguintes expressões comparam cadeias com diferentes condições especificadas:

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

BirtComp.equalTo

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

Sintaxe

boolean BirtComp.equalTo( source, target )

Parâmetros

source

O primeiro valor a utilizar na comparação.

target

O segundo valor a utilizar na comparação.

Devoluções

É devolvido true caso o valor de source seja igual ao valor de target; caso contrário, é devolvido false.

Exemplos

As seguintes expressões testam valores de campo para verificar se são iguais a 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

source

O primeiro valor a utilizar na comparação.

target

O segundo valor a utilizar na comparação.

Devoluções

É devolvido true caso o valor de source seja maior ou igual ao valor de target; caso contrário, é devolvido false.

Exemplos

As seguintes expressões testam valores de campo para verificar se são maiores ou iguais a 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 do que outro valor.

Sintaxe

boolean BirtComp.greaterThan( source, target )

Parâmetros

source

O primeiro valor a utilizar na comparação.

target

O segundo valor a utilizar na comparação.

Devoluções

É devolvido true caso o valor de source seja maior do que o valor de target; caso contrário, é devolvido false.

Exemplos

As seguintes expressões testam valores de campo para verificar se são maiores do que 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

source

O primeiro valor a utilizar na comparação.

target

O segundo valor a utilizar na comparação.

Devoluções

É devolvido true caso o valor de source seja menor ou igual ao valor de target; caso contrário, é devolvido false.

Exemplos

As seguintes expressões testam valores de campo para verificar se são menores ou iguais a 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 do que outro valor.

Sintaxe

boolean BirtComp.lessThan( source, target )

Parâmetros

source

O primeiro valor a utilizar na comparação.

target

O segundo valor a utilizar na comparação.

Devoluções

É devolvido true caso o valor de source seja menor do que o valor de target; caso contrário, é devolvido false.

Exemplos

As seguintes expressões testam valores de campo para verificar se são menores do que 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 de cadeia corresponde a um padrão. O padrão tem de utilizar sintaxe de correspondência de padrões de SQL.

Sintaxe

boolean BirtComp.like( source, target )

Parâmetros

source

O valor de cadeia a avaliar.

target

O padrão de cadeia a corresponder. Deve colocar o padrão entre aspas (" "). Utilize o tipo de letra correcto ao escrever os caracteres que pretende corresponder. Pode utilizar o seguinte carácter especial num padrão:

*
*

Para corresponder a um carácter de percentagem (%) ou de sublinhado (_) literal, coloque dois caracteres de barra invertida (\\) antes desses caracteres. Por exemplo, para corresponder a S_10, utilize o seguinte padrão:

S\\_10

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

50\\%

Devoluções

É devolvido true caso o valor de source corresponda ao valor de target; caso contrário, é devolvido false.

Exemplos

O exemplo seguinte devolve true para valores no campo Código de produto que começam por S18:

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

O exemplo seguinte devolve true para valores de productName (Nome de produto) que contenham a subcadeia Ford precedida por um único carácter:

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

BirtComp.match

Esta função testa se um valor de cadeia corresponde a um padrão. O padrão tem de utilizar sintaxe de expressões regulares JavaScript.

Sintaxe

boolean BirtComp.match( source, target )

Parâmetros

source

O valor de cadeia a avaliar.

target

O padrão de cadeia a corresponder. Na sintaxe de expressões regulares JavaScript, o utilizador especifica um padrão dentro de um par de caracteres de barra (/). Pode utilizar qualquer carácter especial suportado por expressões regulares JavaScript como, por exemplo:

*
*
*
*
*

Para corresponder de forma literal a um carácter especial, coloca um carácter de barra invertida (\) antes do carácter especial. Por exemplo, para corresponder a S*10, utilize o seguinte padrão:

/S\*10/

Devoluções

É devolvido true caso o valor de source corresponda ao valor de target; caso contrário, é devolvido false.

Exemplos

O exemplo seguinte devolve true para valores no campo Código de produto que começam por S18:

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

O exemplo seguinte devolve true para valores de productName (Nome de produto) que contenham a subcadeia Ford:

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

BirtComp.notBetween

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

Sintaxe

boolean BirtComp.notBetween( source, target1, target2 )

Parâmetros

source

O valor a testar.

target1

O primeiro valor no intervalo de valores com o qual efectuar a comparação.

target2

O segundo valor no intervalo de valores com o qual efectuar a comparação.

Devoluções

É devolvido true caso o valor de origem não se encontre entre os valores target1 e target; caso contrário é devolvido false.

Exemplos

As seguintes expressões testam valores de campo para verificar se se encontram 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 seguinte calcula datas de transporte. Caso um valor OrderDate (Data de encomenda) não seja em Dezembro de 2008 (entre 12/01/08 e 12/31/08), adicione 3 dias ao valor OrderDate. Caso um valor de OrderDate (Data de encomenda) seja em Dezembro, adicione 5 dias ao 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

source

O primeiro valor a utilizar na comparação.

target

O segundo valor a utilizar na comparação.

Devoluções

É devolvido true caso o valor de source não seja igual ao valor de target; caso contrário, é devolvido false.

Exemplos

As seguintes expressões testam valores de campo para verificar se não são iguais a valores especificados:

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

BirtComp.notLike

Esta função testa se um valor de cadeia não corresponde a um padrão. O padrão tem de utilizar sintaxe de correspondência de padrões de SQL.

Sintaxe

boolean BirtComp.notLike( source, target )

Parâmetros

source

O valor de cadeia a avaliar.

target

O padrão de cadeia com o qual efectuar a comparação. Deve colocar o padrão entre aspas (" "). Utilize o tipo de letra correcto ao escrever os caracteres que pretende corresponder. Pode utilizar o seguinte carácter especial num padrão:

*
*

Para corresponder a um carácter de percentagem (%) ou de sublinhado (_) literal, coloque dois caracteres de barra invertida (\\) antes desses caracteres. Por exemplo, para corresponder a S_10, utilize o seguinte padrão:

S\\_10

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

50\\%

Devoluções

É devolvido true caso o valor de source não corresponda ao valor de target; caso contrário, é devolvido false.

Exemplos

O exemplo seguinte devolve false para valores no campo Código de produto que começam por S18:

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

O exemplo seguinte devolve false para valores de productName (Nome de produto) que contenham a subcadeia Ford precedida por um único carácter:

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

(c) Copyright Actuate Corporation 2013