Précédent Suivant

Classe BirtComp

La classe BirtComp fournit des fonctions pour comparer des valeurs, par exemple pour déterminer si une valeur est égale, supérieure ou inférieure à une autre. Toutes les fonctions renvoient des valeurs booléennes. Cette classe est statique. L'application ne peut pas créer d'instance de la classe.

BirtComp.anyOf

Cette fonction compare une ou plusieurs valeurs au contenu d'une zone.

Syntaxe

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

Paramètres

source

Zone dont le contenu doit être utilisé pour la comparaison.

target

Valeur ou valeurs à trouver dans la source.

Renvoie

Booléen. True si une valeur target correspond à une valeur dans la source ; autrement retourne false.

Exemples

L'exemple suivant permet de vérifier si les valeurs Canada, Mexico ou USA figurent dans la zone Country. Si un ou plusieurs de ces pays se trouvent dans la zone, la fonction retourne true.

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

L'exemple suivant permet de vérifier si 15 janvier 2009 ou 31 janvier 2009 figure dans la zone payDate :

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

L'exemple suivant permet de vérifier si deux codes produit spécifiques figurent dans la zone productCode. Si l'une ou l'autre des valeurs figurent dans la zone, la chaîne Obsolete s'affiche. Autrement la valeur productCode s'affiche, telle qu'elle apparaît dans la zone.

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

BirtComp.between

Cette fonction permet de vérifier si une valeur se trouve entre deux valeurs.

Syntaxe

boolean BirtComp.between( source, target1, target2 )

Paramètres

source

Valeur à tester.

target1

Première valeur de la plage de valeurs à comparer.

target2

Seconde valeur de la plage de valeurs à comparer.

Renvoie

True si la valeur source se trouve entre les valeurs target1 et target ; autrement retourne false.

Exemples

Les expressions suivantes permettent de déterminer si des valeurs de zone de test se trouvent dans une plage de valeurs :

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

L'exemple suivant calcule les dates d'envoi. Si une valeur OrderDate se trouve en décembre 2008 (entre le 1 décembre 2008 et le 31 décembre 2008), il ajoute 5 jours à la valeur OrderDate. Si une valeur OrderDate est dans un mois autre que décembre, il ajoute 3 jours à la valeur 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

Cette fonction permet de déterminer si une valeur de chaîne correspond à une autre en fonction de critères définis.

Syntaxe

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

Paramètres

source1

Première valeur de chaîne à utiliser dans la comparaison.

source2

Seconde valeur de chaîne à utiliser dans la comparaison.

ignoreCase

Spécifiez true pour effectuer une comparaison en ne respectant pas la casse. Spécifiez false pour effectuer une comparaison en respectant la casse.

trim

Spécifiez true pour supprimer les blancs de début ou de fin avant de comparer les deux valeurs. Les blancs au milieu d'une chaîne ne sont pas supprimés. Spécifiez false pour que les blancs de début ou de fin soient incluent dans la comparaison.

Renvoie

True si la valeur source1 correspond à la valeur source2 ; autrement, retourne false.

Exemples

Les expressions suivantes comparent des chaînes avec des critères différents définis :

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

BirtComp.equalTo

Cette fonction détermine si une valeur est égale à une autre.

Syntaxe

boolean BirtComp.equalTo( source, target )

Paramètres

source

Première valeur à utiliser dans la comparaison.

target

Seconde valeur à utiliser dans la comparaison.

Renvoie

True si la valeur source est égale à la valeur target ; autrement retourne false.

Exemples

Les expressions suivantes permettent de déterminer si des valeurs de zone de test sont égales à des valeurs définies :

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

BirtComp.greaterOrEqual

Cette fonction détermine si une valeur est supérieure ou égale à une autre.

Syntaxe

boolean BirtComp.greaterOrEqual( source, target )

Paramètres

source

Première valeur à utiliser dans la comparaison.

target

Seconde valeur à utiliser dans la comparaison.

Renvoie

True si la valeur source est supérieure ou égale à la valeur target ; autrement retourne false.

Exemples

Les expressions suivantes permettent de déterminer si des valeurs de zone de test sont supérieures ou égales à des valeurs définies :

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

BirtComp.greaterThan

Cette fonction permet de déterminer si une valeur est supérieure à une autre.

Syntaxe

boolean BirtComp.greaterThan( source, target )

Paramètres

source

Première valeur à utiliser dans la comparaison.

target

Seconde valeur à utiliser dans la comparaison.

Renvoie

True si la valeur source est supérieure à la valeur target. Autrement, retourne false.

Exemples

Les expressions suivantes permettent de déterminer si des valeurs de zone de test sont supérieures à des valeurs définies :

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

BirtComp.lessOrEqual

Cette fonction permet de déterminer si une valeur est inférieure ou égale à une autre.

Syntaxe

boolean BirtComp.lessOrEqual( source, target )

Paramètres

source

Première valeur à utiliser dans la comparaison.

target

Seconde valeur à utiliser dans la comparaison.

Renvoie

True si la valeur source est inférieure ou égale à la valeur target ; autrement retourne false.

Exemples

Les expressions suivantes permettent de déterminer si des valeurs de zone de test sont inférieures ou égales à des valeurs définies :

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

BirtComp.lessThan

Cette fonction permet de déterminer si une valeur est inférieure à une autre.

Syntaxe

boolean BirtComp.lessThan( source, target )

Paramètres

source

Première valeur à utiliser dans la comparaison.

target

Seconde valeur à utiliser dans la comparaison.

Renvoie

True si la valeur source est inférieure à la valeur target. Autrement, retourne false.

Exemples

Les expressions suivantes permettent de déterminer si des valeurs de zone de test sont inférieures à des valeurs définies :

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

BirtComp.like

Cette fonction permet de déterminer si une valeur de chaîne correspond à un modèle. Le modèle doit utiliser une syntaxe correspondant au modèle SQL.

Syntaxe

boolean BirtComp.like( source, target )

Paramètres

source

Valeur de chaîne à évaluer.

target

Modèle de chaîne à comparer. Vous devez placer le modèle entre guillemets (" "). Utilisez la casse correcte lorsque vous tapez les caractères à comparer. Vous pouvez utiliser les caractères spéciaux suivants dans un modèle :

*
*

Pour faire correspondre un pourcentage (%) ou un caractère de soulignement (_) littéral, faites précéder ces caractères de deux barres obliques inverses (\\). Par exemple, pour établir une correspondance avec S_10, utilisez le modèle suivant :

S\\_10

Pour établir une correspondance avec 50%, utilisez le modèle suivant :

50\\%

Renvoie

True si la valeur source correspond à la valeur target. Autrement, retourne false.

Exemples

L'exemple suivant retourne True pour les valeurs de la zone productCode qui commencent par S18 :

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

L'exemple suivant retourne True pour les valeurs productName qui contiennent la sous-chaîne Ford précédée d'un seul caractère :

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

BirtComp.match

Cette fonction permet de déterminer si une valeur de chaîne correspond à un modèle. Le modèle doit utiliser la syntaxe des expressions régulières JavaScript.

Syntaxe

boolean BirtComp.match( source, target )

Paramètres

source

Valeur de chaîne à évaluer.

target

Modèle de chaîne à comparer. Dans la syntaxe d'expression régulière JavaScript, vous définissez un modèle dans une paire de barres (/) obliques. Vous pouvez utiliser n'importe quel caractère spécial pris en charge dans les expressions régulière JavaScript :

*
*
*
*
*

Pour établir une correspondance avec un caractère spécial littéralement, faites précéder le caractère spécial d'une barre oblique inverse (\). Par exemple, pour établir une correspondance avec S*10, utilisez le modèle suivant :

/S\*10/

Renvoie

True si la valeur source correspond à la valeur target. Autrement, retourne false.

Exemples

L'exemple suivant retourne True pour les valeurs de la zone productCode qui commencent par S18 :

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

L'exemple suivant retourne True pour les valeurs productName qui contiennent la sous-chaîne Ford :

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

BirtComp.notBetween

Cette fonction permet de déterminer si une valeur se trouve entre deux valeurs définies.

Syntaxe

boolean BirtComp.notBetween( source, target1, target2 )

Paramètres

source

Valeur à tester.

target1

Première valeur de la plage de valeurs à comparer.

target2

Seconde valeur de la plage de valeurs à comparer.

Renvoie

True si la valeur source ne se trouve pas entre les valeurs target1 et target ; autrement retourne false.

Exemples

Les expressions suivantes permettent de déterminer si des valeurs de zone de test se trouvent hors d'une plage donnée de valeurs :

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

L'exemple suivant calcule les dates d'envoi. Si une valeur OrderDate ne se trouve pas en décembre 2008 (pas entre le 1 décembre 2008 et le 31 décembre 2008), il ajoute 3 jours à la valeur OrderDate. Si la valeur OrderDate se trouve en décembre, il ajoute 5 jours à la valeur 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

Cette fonction détermine si une valeur n'est pas égale à une autre.

Syntaxe

boolean BirtComp.notEqual( source, target )

Paramètres

source

Première valeur à utiliser dans la comparaison.

target

Seconde valeur à utiliser dans la comparaison.

Renvoie

True si la valeur source n'est pas égale à la valeur target ; autrement retourne false.

Exemples

Les expressions suivantes permettent de déterminer si des valeurs de zone de test ne sont pas égales à des valeurs définies :

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

BirtComp.notLike

Cette fonction permet de déterminer si une valeur de chaîne ne correspond pas à un modèle. Le modèle doit utiliser une syntaxe correspondant au modèle SQL.

Syntaxe

boolean BirtComp.notLike( source, target )

Paramètres

source

Valeur de chaîne à évaluer.

target

Modèle de chaîne à comparer. Vous devez placer le modèle entre guillemets (" "). Utilisez la casse correcte lorsque vous tapez les caractères à comparer. Vous pouvez utiliser les caractères spéciaux suivants dans un modèle :

*
*

Pour faire correspondre un pourcentage (%) ou un caractère de soulignement (_) littéral, faites précéder ces caractères de deux barres obliques inverses (\\). Par exemple, pour établir une correspondance avec S_10, utilisez le modèle suivant :

S\\_10

Pour établir une correspondance avec 50%, utilisez :

50\\%

Renvoie

True si la valeur source n'est pas égale à la valeur target ; autrement retourne false.

Exemples

L'exemple suivant retourne false pour les valeurs de la zone productCode qui commencent par S18 :

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

L'exemple suivant retourne false pour les valeurs productName qui contiennent la sous-chaîne Ford précédée d'un seul caractère :

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

(c) Copyright Actuate Corporation 2013