Forrige Næste

Klassen BirtComp

Klassen BirtComp indeholder funktioner, der gør det muligt at sammenligne værdier, f.eks. teste, om en værdi er lig med, større end eller mindre end en anden værdi. Alle funktionerne returnerer booleske værdier. Klassen er statisk. Programmet kan ikke oprette forekomster af klassen.

BirtComp.anyOf

Denne funktion sammenligner en eller flere værdier med indholdet af et felt.

Syntaks

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

Parametre

source

Et felt, hvis indhold skal bruges til sammenligningen.

target

Den eller de værdier, der skal findes i source.

Returnerer

Boolesk. Sand, hvis en target-værdi matcher en værdi i source. Ellers returneres falsk.

Eksempler

I følgende eksempel testes, om Canada, Mexico eller USA er værdier i feltet Country. Hvis et af landene findes i feltet, returnerer funktionen sand.

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

I følgende eksempel testes, om 15. januar 2009 eller 31. januar 2009 er værdier i feltet payDate:

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

I følgende eksempel testes, om to bestemte produktkoder er værdier i feltet productCode. Hvis en af værdierne forekommer i feltet, vises strengen Obsolete, eller vises productCode-værdien på samme måde som i feltet.

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

BirtComp.between

Funktionen tester, om en værdi findes mellem to angivne værdier.

Syntaks

boolean BirtComp.between( source, target1, target2 )

Parametre

source

Den værdi, der skal testes.

target1

Den første af en række værdier, der skal sammenlignes med.

target2

Den anden af en række værdier, der skal sammenlignes med.

Returnerer

Sand, hvis source-værdien ligger mellem target1-værdien og target2-værdien, ellers returneres falsk.

Eksempler

Følgende udtryk tester feltværdier for at afgøre, om de ligger inden for et angivet værdiområde:

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

Følgende eksempel beregner forsendelsesdatoer. Hvis en OrderDate-værdi er i december 2008 (mellem 01-12-08 og 31-12-08), skal der lægges 5 dage til OrderDate-værdien. Hvis en OrderDate-værdi ligger i en anden måned end december, skal der lægges 3 dage til OrderDate-værdien.

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

Funktionen tester, om en strengværdi matcher en anden strengværdi under de betingelser, der angives.

Syntaks

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

Parametre

source1

Den første strengværdi, der skal bruges i sammenligningen.

source2

Den anden strengværdi, der skal bruges i sammenligningen.

ignoreCase

Angiv true for at udføre en sammenligning, hvor der ikke skelnes mellem små og store bogstaver. Angiv false for at udføre en sammenligning, hvor der skelnes mellem små og store bogstaver.

trim

Angiv true for at fjerne eventuelle foran- eller bagvedstillede blanktegn, inden de to værdier sammenlignes. Blanktegn midt i en streng fjernes ikke. Angiv false, hvis foran- og efterstillede blanktegn skal inkluderes i sammenligningen.

Returnerer

Sand, hvis source1-værdien matcher source2-værdien, ellers returneres falsk.

Eksempler

Følgende udtryk sammenligner strenge, hvor der er angivet forskellige betingelser:

BirtComp.compareString( "Jackson", "Jackson", false, false ) // returnerer sand
BirtComp.compareString( "Jackson", "jackson", false, true ) // returnerer falsk
BirtComp.compareString( "Jackson", "jackson", true, false ) // returnerer sand
BirtComp.compareString( "Jackson ", "jackson", true, false ) // returnerer falsk
BirtComp.compareString( "Jackson ", "jackson", true, true ) // returnerer sand

BirtComp.equalTo

Funktionen tester, om en værdi er lig med en anden værdi.

Syntaks

boolean BirtComp.equalTo( source, target )

Parametre

source

Den første værdi, der skal bruges i sammenligningen.

target

Den anden værdi, der skal bruges i sammenligningen.

Returnerer

Sand, hvis source-værdien er lig med target-værdien, ellers returneres falsk.

Eksempler

Følgende udtryk tester feltværdier for at afgøre, om de er lig med angivne værdier:

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

BirtComp.greaterOrEqual

Funktionen tester, om en værdi er større end eller lig med en anden værdi.

Syntaks

boolean BirtComp.greaterOrEqual( source, target )

Parametre

source

Den første værdi, der skal bruges i sammenligningen.

target

Den anden værdi, der skal bruges i sammenligningen.

Returnerer

Sand, hvis source-værdien er større end eller lig med target-værdien, ellers returneres falsk.

Eksempler

Følgende udtryk tester feltværdier for at afgøre, om de er større end eller lig med angivne værdier:

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

BirtComp.greaterThan

Funktionen tester, om en værdi er større end en anden værdi.

Syntaks

boolean BirtComp.greaterThan( source, target )

Parametre

source

Den første værdi, der skal bruges i sammenligningen.

target

Den anden værdi, der skal bruges i sammenligningen.

Returnerer

Sand, hvis source-værdien er større end target-værdien, ellers returneres falsk.

Eksempler

Følgende udtryk tester feltværdier for at afgøre, om de er større end angivne værdier:

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

BirtComp.lessOrEqual

Funktionen tester, om en værdi er mindre end eller lig med en anden værdi.

Syntaks

boolean BirtComp.lessOrEqual( source, target )

Parametre

source

Den første værdi, der skal bruges i sammenligningen.

target

Den anden værdi, der skal bruges i sammenligningen.

Returnerer

Sand, hvis source-værdien er mindre end eller lig med target-værdien, ellers returneres falsk.

Eksempler

Følgende udtryk tester feltværdier for at afgøre, om de er mindre end eller lig med angivne værdier:

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

BirtComp.lessThan

Funktionen tester, om en værdi er mindre end en anden værdi.

Syntaks

boolean BirtComp.lessThan( source, target )

Parametre

source

Den første værdi, der skal bruges i sammenligningen.

target

Den anden værdi, der skal bruges i sammenligningen.

Returnerer

Sand, hvis source-værdien er mindre end target-værdien, ellers returneres falsk.

Eksempler

Følgende udtryk tester feltværdier for at afgøre, om de er mindre end angivne værdier:

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

BirtComp.like

Funktionen tester, om en strengværdi matcher et mønster. Mønsteret skal bruge SQL-syntaks til match af mønstre.

Syntaks

boolean BirtComp.like( source, target )

Parametre

source

Den strengværdi, der skal evalueres.

target

Det strengmønster, der skal matches. Der skal sættes dobbelte anførselstegn (" ") om mønsteret. Brug den rigtige kombination af store og små bogstaver, der skal matches. Du kan bruge følgende specialtegn i et mønster:

*
*

Hvis et procenttegn (%) eller understregningstegn (_) skal opfattes som tegnet selv, skal du sætte to omvendte skråstreger (\\) foran tegnene. Hvis du f.eks. vil matche S_10, skal du bruge følgende mønster:

S\\_10

Hvis du vil matche 50 %, skal du bruge følgende mønster:

50\\%

Returnerer

Sand, hvis source-værdien matcher target-værdien, ellers returneres falsk.

Eksempler

Følgende eksempel returnerer sand for værdier i feltet productCode, der begynder med S18:

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

Følgende eksempel returnerer sand for productName-værdier, der indeholder delstrengen Ford med et enkelt tegn foran:

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

BirtComp.match

Funktionen tester, om en strengværdi matcher et mønster. Mønsteret skal bruge en syntaks med regulære JavaScript-udtryk.

Syntaks

boolean BirtComp.match( source, target )

Parametre

source

Den strengværdi, der skal evalueres.

target

Det strengmønster, der skal matches. I syntaksen med regulære JavaScript-udtryk angives et mønster mellem to skråstreger (/). Du kan bruge alle de specialtegn, som kan benyttes i regulære JavaScript-udtryk, f.eks. følgende:

*
*
*
*
*

Hvis et specialtegn skal opfattes som tegnet selv, skal du sætte en omvendt skråstreg (\) foran specialtegnet. Hvis du f.eks. vil matche S*10, skal du bruge følgende mønster:

/S\*10/

Returnerer

Sand, hvis source-værdien matcher target-værdien, ellers returneres falsk.

Eksempler

Følgende eksempel returnerer sand for værdier i feltet productCode, der begynder med S18:

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

Følgende eksempel returnerer sand for productName-værdier, der indeholder delstrengen Ford:

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

BirtComp.notBetween

Funktionen tester, om en værdi ikke findes mellem to angivne værdier.

Syntaks

boolean BirtComp.notBetween( source, target1, target2 )

Parametre

source

Den værdi, der skal testes.

target1

Den første af en række værdier, der skal sammenlignes med.

target2

Den anden af en række værdier, der skal sammenlignes med.

Returnerer

Sand, hvis source-værdien ikke ligger mellem target1-værdien og target2-værdien, ellers returneres falsk.

Eksempler

Følgende udtryk tester feltværdier for at afgøre, om de ligger uden for et angivet værdiområde:

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

Følgende eksempel beregner forsendelsesdatoer. Hvis en OrderDate-værdi ikke er i december 2008 (ikke mellem 01-12-08 og 31-12-08), skal der lægges 3 dage til OrderDate-værdien. Hvis en OrderDate-værdi ligger i december, skal der lægges 5 dage til OrderDate-værdien.

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

Funktionen tester, om en værdi ikke er lig med en anden værdi.

Syntaks

boolean BirtComp.notEqual( source, target )

Parametre

source

Den første værdi, der skal bruges i sammenligningen.

target

Den anden værdi, der skal bruges i sammenligningen.

Returnerer

Sand, hvis source-værdien ikke er lig med target-værdien, ellers returneres falsk.

Eksempler

Følgende udtryk tester feltværdier for at afgøre, om de er forskellige fra angivne værdier:

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

BirtComp.notLike

Funktionen tester, om en strengværdi ikke matcher et mønster. Mønsteret skal bruge SQL-syntaks til match af mønstre.

Syntaks

boolean BirtComp.notLike( source, target )

Parametre

source

Den strengværdi, der skal evalueres.

target

Det strengmønster, der skal sammenlignes med. Der skal sættes dobbelte anførselstegn (" ") om mønsteret. Brug den rigtige kombination af store og små bogstaver, der skal matches. Du kan bruge følgende specialtegn i et mønster:

*
*

Hvis et procenttegn (%) eller understregningstegn (_) skal opfattes som tegnet selv, skal du sætte to omvendte skråstreger (\\) foran tegnene. Hvis du f.eks. vil matche S_10, skal du bruge følgende mønster:

S\\_10

Hvis du vil matche 50 %, skal du bruge følgende mønster:

50\\%

Returnerer

Sand, hvis source-værdien ikke matcher target-værdien, ellers returneres falsk.

Eksempler

Følgende eksempel returnerer falsk for værdier i feltet productCode, der begynder med S18:

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

Følgende eksempel returnerer false for productName-værdier, der indeholder delstrengen Ford med et enkelt tegn foran:

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

(c) Copyright Actuate Corporation 2013