Föregående Nästa

Klass BirtComp

Klassen BirtComp innehåller funktioner för jämförelse av värden, t.ex. för att testa om ett värde är lika med, större än eller mindre än ett annat värde. Alla funktionerna returnerar booleska värden. Klassen är statisk. Tillämpningen kan inte skapa förekomster av klassen.

BirtComp.anyOf

Funktionen jämför ett eller flera värden med innehållet i ett fält.

Syntax

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

Parametrar

source

Ett fält med innehåll som ska användas för jämförelse.

target

Värdet eller värdena som ska hittas i källan.

Returnerar

Boolesk. True om ett target-värde matchar ett värde i source. I annat fall returneras false.

Exempel

I följande exempel testas om Kanada, Mexico eller USA är värden i fältet Country. Om något av länderna finns i fältet returneras true.

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

I följande exempel testas om värdet 15 januari 2009 eller 31 januari 2009 finns i fältet payDate:

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

I följande exempel testas om två specifika produktkoder finns i fältet productCode. Om något av värdena finns i fältet visas strängen Obsolete. I annat fall visas productCode-värdet som det visas i fältet.

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

BirtComp.between

Funktionen testar om ett värde ligger mellan två angivna värden.

Syntax

boolean BirtComp.between( source, target1, target2 )

Parametrar

source

Värdet som ska testas.

target1

Det första värdet i värdeintervallet som ska användas för jämförelsen.

target2

Det andra värdet i värdeintervallet som ska användas för jämförelsen.

Returnerar

True om source-värdet ligger mellan target1- och target-värdet. I annat fall returneras false.

Exempel

Följande uttryck kontrollerar om fältvärden ligger inom angivet värdeintervall:

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

Följande exempel beräknar leveransdatum. Om ett OrderDate-värde är i december 2008 (mellan 1 och 31 december 2008), läggs 5 till OrderDate-värdet. Om ett OrderDate-värde är någon annan månad än december, läggs 3 dagar till.

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 testar om ett strängvärde matchar ett annat strängvärde under angivna villkor.

Syntax

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

Parametrar

source1

Det första strängvärdet i jämförelsen.

source2

Det andra strängvärdet i jämförelsen.

ignoreCase

Ange true för en skiftoberoende jämförelse. Ange false för en skiftberoende jämförelse.

trim

Ange true för att ta bort inledande och avslutande blanktecken före jämförelsen av de två värdena. Blanktecken i mitten av en sträng tas inte bort. Ange false om du vill att jämförelsen ska innefatta blanktecken.

Returnerar

True om source1-värdet matchar source2-värdet. I annat fall returneras false.

Exempel

Följande uttryck jämför strängar med olika angivna villkor:

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

BirtComp.equalTo

Funktionen testar om ett värde är lika med ett annat värde.

Syntax

boolean BirtComp.equalTo( source, target )

Parametrar

source

Det första värdet i jämförelsen.

target

Det andra värdet i jämförelsen.

Returnerar

True om source-värdet är lika med target-värdet. I annat fall returneras false.

Exempel

Följande uttryck kontrollerar om fältvärden är lika med angivna värden:

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

BirtComp.greaterOrEqual

Funktionen testar om ett värde är större än eller lika med ett annat värde.

Syntax

boolean BirtComp.greaterOrEqual( source, target )

Parametrar

source

Det första värdet i jämförelsen.

target

Det andra värdet i jämförelsen.

Returnerar

True om source-värdet är större än eller lika med target-värdet. I annat fall returneras false.

Exempel

Följande uttryck kontrollerar om fältvärden är större än eller lika med angivna värden:

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

BirtComp.greaterThan

Funktionen testar om ett värde är större än ett annat värde.

Syntax

boolean BirtComp.greaterThan( source, target )

Parametrar

source

Det första värdet i jämförelsen.

target

Det andra värdet i jämförelsen.

Returnerar

True om source-värdet är större än target-värdet. I annat fall returneras false.

Exempel

Följande uttryck kontrollerar om fältvärden är större än angivna värden:

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

BirtComp.lessOrEqual

Funktionen testar om ett värde är mindre än eller lika med ett annat värde.

Syntax

boolean BirtComp.lessOrEqual( source, target )

Parametrar

source

Det första värdet i jämförelsen.

target

Det andra värdet i jämförelsen.

Returnerar

True om source-värdet är mindre än eller lika med target-värdet. I annat fall returneras false.

Exempel

Följande uttryck kontrollerar om fältvärden är mindre än eller lika med angivna värden:

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

BirtComp.lessThan

Funktionen testar om ett värde är mindre än ett annat värde.

Syntax

boolean BirtComp.lessThan( source, target )

Parametrar

source

Det första värdet i jämförelsen.

target

Det andra värdet i jämförelsen.

Returnerar

True om source-värdet är mindre än target-värdet. I annat fall returneras false.

Exempel

Följande uttryck kontrollerar om fältvärden är mindre än angivna värden:

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

BirtComp.like

Funktionen testar om ett strängvärde matchar ett mönster. Mönstret måste ha SQL-målmatchningssyntax.

Syntax

boolean BirtComp.like( source, target )

Parametrar

source

Den sträng som ska utvärderas.

target

Strängmönstret som ska matcha. Du måste omge mönstret med citattecken (" "). Välj rätt skiftläge när du skriver tecknen som ska matchas. Du kan använda följande specialtecken i ett mönster:

*
*

Om procenttecken (%) eller understreck (_) ska ingå i mönstret måste de tecknen föregås av två omvända snedstreck (\\). Använd följande mönster om t.ex. S_10 ska matchas:

S\\_10

Om du vill matcha 50 % använder du följande mönster:

50\\%

Returnerar

True om source-värdet matchar target-värdet. I annat fall returneras false.

Exempel

Följande exempel returnerar true för värden i fältet productCode som startar med S18:

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

Följande exempel returnerar true för productName-värden som innehåller delsträngen Ford och föregås av ett enda tecken:

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

BirtComp.match

Funktionen testar om ett strängvärde matchar ett mönster. Mönstret måste ha JavaScript-syntax för reguljära uttryck.

Syntax

boolean BirtComp.match( source, target )

Parametrar

source

Den sträng som ska utvärderas.

target

Strängmönstret som ska matcha. I reguljära JavaScript-uttryck anger du ett mönster inom snedstreck (/). Du kan valfritt specialtecken i reguljära JavaScript-uttryck, t.ex. följande:

*
*
*
*
*

Om du vill matcha ett tecken bokstavligt ska det föregås av ett omvänt snedstreck (\). Om du vill matcha S*10 använder du följande mönster:

/S\*10/

Returnerar

True om source-värdet matchar target-värdet. I annat fall returneras false.

Exempel

Följande exempel returnerar true för värden i fältet productCode som startar med S18:

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

Följande exempel returnerar true för productName-värden som innehåller delsträngen Ford:

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

BirtComp.notBetween

Funktionen testar om ett värde inte ligger mellan två angivna värden.

Syntax

boolean BirtComp.notBetween( source, target1, target2 )

Parametrar

source

Värdet som ska testas.

target1

Det första värdet i värdeintervallet som ska användas för jämförelsen.

target2

Det andra värdet i värdeintervallet som ska användas för jämförelsen.

Returnerar

True om source-värdet inte ligger mellan target1- och target2-värdet. I annat fall returneras false.

Exempel

Följande uttryck kontrollerar om fältvärden ligger utanför angivet värdeintervall:

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

Följande exempel beräknar leveransdatum. Om ett OrderDate-värde inte är i december 2008 (inte mellan 1 och 31 december 2008) läggs 3 dagar till OrderDate-värdet. Om ett OrderDate-värde är i december läggs 5 dagar till.

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 testar om ett värde inte är lika med ett annat värde.

Syntax

boolean BirtComp.notEqual( source, target )

Parametrar

source

Det första värdet i jämförelsen.

target

Det andra värdet i jämförelsen.

Returnerar

True om source-värdet inte är lika med target-värdet. I annat fall returneras false.

Exempel

Följande uttryck kontrollerar om fältvärden inte är lika med angivna värden:

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

BirtComp.notLike

Funktionen testar om ett strängvärde matchar ett mönster. Mönstret måste ha SQL-målmatchningssyntax.

Syntax

boolean BirtComp.notLike( source, target )

Parametrar

source

Den sträng som ska utvärderas.

target

Strängmönstret som ska jämföras. Du måste omge mönstret med citattecken (" "). Välj rätt skiftläge när du skriver tecknen som ska matchas. Du kan använda följande specialtecken i ett mönster:

*
*

Om procenttecken (%) eller understreck (_) ska ingå i mönstret måste de tecknen föregås av två omvända snedstreck (\\). Använd följande mönster om t.ex. S_10 ska matchas:

S\\_10

Om du vill matcha 50 % använder du följande mönster:

50\\%

Returnerar

True om source-värdet inte matchar target-värdet. I annat fall returneras false.

Exempel

Följande exempel returnerar false för värden i fältet productCode som startar med S18:

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

Följande exempel returnerar false för productName-värden som innehåller delsträngen Ford och föregås av ett enda tecken:

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

(c) Copyright Actuate Corporation 2013