Předchozí Další

Třída BirtComp

Třída BirtComp poskytuje funkce pro porovnávání hodnot, například pro otestování, zda je hodnota rovna jiné hodnotě nebo zda je větší či menší. Všechny funkce vrací logické hodnoty. Tato třída je statická. Aplikace nemůže vytvořit instance této třídy.

BirtComp.anyOf

Tato funkce porovná jednu nebo více hodnot obsahuje pole.

Syntaxe

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

Parametry

source

Pole s obsahem, které se má použít k porovnání.

target

Hodnota nebo hodnoty, které se mají vyhledat ve zdroji.

Vrací

Hodnota typu Boolean. Hodnotu true, pokud cílová hodnota odpovídá hodnotě ve zdroji. Jinak vrací hodnotu false.

Příklady

Následující příklad testuje přítomnost hodnot Kanada, Mexiko nebo USA v poli Země. Pokud se některá z těchto zemí nachází v tomto poli, funkce vrací hodnotu true.

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

Následující příklad testuje přítomnost hodnoty 15.led 2009 nebo 31.led 2009 v poli Datum platby (payDate):

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

Následující příklad testuje přítomnost hodnot dvou specifických kódů produktu v poli Kód produktu (productCode). Pokud se některá z těchto hodnot zobrazuje v tomto poli, zobrazí se řetězec Zastaralý. Jinak se zobrazí hodnota Kód produktu tak, jak se zobrazuje v poli.

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

BirtComp.between

Tato funkce testuje, zda se daná hodnota nachází mezi dvěma určenými hodnotami.

Syntaxe

boolean BirtComp.between( source, target1, target2 )

Parametry

source

Hodnota, která se má testovat.

target1

První hodnota v rozsahu hodnot, které se mají použít k porovnání.

target2

Druhá hodnota v rozsahu hodnot, které se mají použít k porovnání.

Vrací

Hodnotu true, pokud se zdrojová hodnota nachází mezi hodnotami target1 a target. Jinak vrací hodnotu false.

Příklady

Následující výrazy testují hodnoty polí pro zjištění, zda se tyto hodnoty nacházejí v určeném rozmezí hodnot:

BirtComp.between( row["Celkové prodeje"], 10000, 20000 )
BirtComp.between( row["Jméno zákazníka"], "A", "M" )
BirtComp.between( row["Datum objednávky"], "1.1.2009", "31.1.2009" )

Následující příklad vypočítává data expedice. Pokud se hodnota Datum objednávky nachází v prosinci 2008 (mezi dnem 1.12.2008 a 31.12.2008), přidejte k ní 5 dnů. Pokud se hodnota Datum objednávky nachází v jiném měsíci než prosinci, přidejte k ní 3 dny.

if (BirtComp.between(row["Datum objednávky"], "1.12.2008", "31.12.2008" )){
  shipDate = BirtDateTime.addDay( row["OrderDate"], 5 )
  }
else{
  ShipDate = BirtDateTime.addDay( row["OrderDate"], 3 )
  }

BirtComp.compareString

Tato funkce testuje, zda řetězcová hodnota za určených podmínek odpovídá jiné řetězcové hodnotě.

Syntaxe

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

Parametry

source1

První řetězcová hodnota, která se používá při porovnávání.

source2

Druhá řetězcová hodnota, která se používá při porovnávání.

ignoreCase

Při zadání hodnoty true se provede porovnání bez rozlišování velikosti písmen. Při zadání hodnoty false se provede porovnání s rozlišováním velikosti písmen.

trim

Při zadání hodnoty true se před porovnáním dvou hodnot odeberou všechny úvodní nebo koncové mezery. Mezery uvnitř řetězce nejsou odebrány. Chcete-li do porovnání zahrnout počáteční a koncové mezery, zadejte hodnotu false.

Vrací

Hodnotu true, pokud hodnota source1 odpovídá hodnotě source2. Jinak vrací hodnotu false.

Příklady

Následující výrazy porovnávají řetězce s jinými zadanými podmínkami:

BirtComp.compareString( "Jackson", "Jackson", false, false ) // vrací hodnotu true
BirtComp.compareString( "Jackson", "jackson", false, true ) // vrací hodnotu false
BirtComp.compareString( "Jackson", "jackson", true, false ) // vrací hodnotu true
BirtComp.compareString( "Jackson ", "jackson", true, false ) // vrací hodnotu false
BirtComp.compareString( "Jackson ", "jackson", true, true ) // vrací hodnotu true

BirtComp.equalTo

Tato funkce testuje, zda se daná hodnota rovná jiné hodnotě.

Syntaxe

boolean BirtComp.equalTo( source, target )

Parametry

source

První hodnota, která se má použít k porovnání.

target

Druhá hodnota, která se má použít k porovnání.

Vrací

Hodnotu true, pokud se zdrojová hodnota rovná cílové hodnotě. Jinak vrací hodnotu false.

Příklady

Následující výrazy testují hodnoty polí pro zjištění, zda se tyto hodnoty rovnají zadaným hodnotám:

BirtComp.equalTo( row["Celkové prodeje"], 10000 )
BirtComp.equalTo( row["Země"], "Francie" )
BirtComp.equalTo( row["Datum objednávky"], "15.2.2009" )

BirtComp.greaterOrEqual

Tato funkce testuje, zda je daná hodnota větší nebo rovna jiné hodnotě.

Syntaxe

boolean BirtComp.greaterOrEqual( source, target )

Parametry

source

První hodnota, která se má použít k porovnání.

target

Druhá hodnota, která se má použít k porovnání.

Vrací

Hodnotu true, pokud je zdrojová hodnota větší nebo rovna cílové hodnotě. Jinak vrací hodnotu false.

Příklady

Následující výrazy testují hodnoty polí pro zjištění, zda jsou větší nebo rovny zadaným hodnotám:

BirtComp.greaterOrEqual( row["Celkové prodeje"], 10000 )
BirtComp.greaterOrEqual( row["Kód produktu"], "S50_4000" )
BirtComp.greaterOrEqual( row["Datum objednávky"], "15.2.2009" )

BirtComp.greaterThan

Tato funkce testuje, zda je daná hodnota větší než jiná hodnota.

Syntaxe

boolean BirtComp.greaterThan( source, target )

Parametry

source

První hodnota, která se má použít k porovnání.

target

Druhá hodnota, která se má použít k porovnání.

Vrací

Hodnotu true, pokud je zdrojová hodnota větší než hodnota target. Jinak vrací hodnotu false.

Příklady

Následující výrazy testují hodnoty polí pro zjištění, zda jsou tyto hodnoty větší než zadané hodnoty:

BirtComp.greaterThan( row["Celkové prodeje"], 10000 )
BirtComp.greaterThan( row["Jméno zákazníka"], "M" )
BirtComp.greaterThan( row["Datum objednávky"], "15.2.2009" )

BirtComp.lessOrEqual

Tato funkce testuje, zda je daná hodnota menší nebo rovna jiné hodnotě.

Syntaxe

boolean BirtComp.lessOrEqual( source, target )

Parametry

source

První hodnota, která se má použít k porovnání.

target

Druhá hodnota, která se má použít k porovnání.

Vrací

Hodnotu true, pokud je zdrojová hodnota menší nebo rovna hodnotě target. Jinak vrací hodnotu false.

Příklady

Následující výrazy testují hodnoty polí pro zjištění, zda jsou tyto hodnoty menší nebo rovny zadaným hodnotám:

BirtComp.lessOrEqual( row["Celkové prodeje"], 10000 )
BirtComp.lessOrEqual( row["Kód produktu"], "S18_4000" )
BirtComp.lessOrEqual( row["Datum objednávky"], "15.2.2009" )

BirtComp.lessThan

Tato funkce testuje, zda je daná hodnota menší než jiná hodnota.

Syntaxe

boolean BirtComp.lessThan( source, target )

Parametry

source

První hodnota, která se má použít k porovnání.

target

Druhá hodnota, která se má použít k porovnání.

Vrací

Hodnotu true, pokud je zdrojová hodnota menší než hodnota target. Jinak vrací hodnotu false.

Příklady

Následující výrazy testují hodnoty polí pro zjištění, zda jsou tyto hodnoty menší než zadané hodnoty:

BirtComp.lessThan( row["Celkové prodeje"], 10000 )
BirtComp.lessThan( row["Jméno zákazníka"], "M" )
BirtComp.lessThan( row["Datum objednávky"], "15.2.2009" )

BirtComp.like

Tato funkce testuje, zda řetězcová hodnota odpovídá vzorku. Ve vzorku musí být použita syntaxe SQL pro porovnání vzorků.

Syntaxe

boolean BirtComp.like( source, target )

Parametry

source

Řetězcová hodnota, která se má vyhodnotit.

target

Vzorek řetězce, který se má porovnat. Vzorek musíte uzavřít do dvojitých uvozovek (" "). Při zadávání znaků, které chcete porovnat, použijte správnou velikost písmen. Ve vzorku můžete použít následující speciální znak:

*
*

Chcete-li porovnat i samotný znak procent (%) nebo podtržítka (_), umístěte před tyto znaky dvojité zpětné lomítko (\\). Například pro porovnání řetězce "S_10" použijte následující vzor:

S\\_10

Chcete-li porovnat například řetězec "50%", použijte následující vzor:

50\\%

Vrací

Hodnotu true, pokud zdrojová hodnota odpovídá cílové. Jinak vrací hodnotu false.

Příklady

V následujícím příkladě je vrácena hodnota true pro hodnoty v poli Kód produktu, které začínají řetězcem "S18":

BirtComp.like( row["Kód produktu"], "S18%" )

V následujícím příkladě je vrácena hodnota true pro hodnoty Název produktu, které obsahují podřetězec "Ford", před kterým se nachází jeden znak:

BirtComp.like( row["Název produktu"], "_Ford%" )

BirtComp.match

Tato funkce testuje, zda řetězcová hodnota odpovídá vzorku. Ve vzorku musí být použita syntaxe skriptu JavaScript s regulárními výrazy.

Syntaxe

boolean BirtComp.match( source, target )

Parametry

source

Řetězcová hodnota, která se má vyhodnotit.

target

Vzorek řetězce, který se má porovnat. V syntaxi skriptu JavaScript s regulárními výrazy uzavřete vzorek pomocí páru dopředných lomítek (/). Můžete použít jakýkoli speciální znak podporovaný regulárními výrazy skriptu JavaScript, jako například:

*
*
*
*
*

Chcete-li porovnat samotný speciální znak, umístěte před něj znak zpětného lomítka (\). Například pro porovnání řetězce "S*10" použijte následující vzor:

/S\*10/

Vrací

Hodnotu true, pokud zdrojová hodnota odpovídá cílové. Jinak vrací hodnotu false.

Příklady

V následujícím příkladě je vrácena hodnota true pro hodnoty v poli Kód produktu, které začínají řetězcem "S18":

BirtComp.match( row["Kód produktu"], /^S18/ )

V následujícím příkladě je vrácena hodnota true pro hodnoty Název produktu, které obsahují podřetězec "Ford":

BirtComp.match( row["Název produktu"], /Ford/ )

BirtComp.notBetween

Tato funkce testuje, zda se daná hodnota nenachází mezi dvěma zadanými hodnotami.

Syntaxe

boolean BirtComp.notBetween( source, target1, target2 )

Parametry

source

Hodnota, která se má testovat.

target1

První hodnota v rozsahu hodnot, které se mají použít k porovnání.

target2

Druhá hodnota v rozsahu hodnot, které se mají použít k porovnání.

Vrací

Hodnotu true, pokud se zdrojová hodnota nenachází mezi hodnotami target1 a target. Jinak vrací hodnotu false.

Příklady

Následující výrazy testují hodnoty polí pro zjištění, zda se tyto hodnoty nacházejí mimo určené rozmezí hodnot:

BirtComp.notBetween( row["Celkové prodeje"], 10000, 20000 )
BirtComp.notBetween( row["Jméno zákazníka"], "A", "M" )
BirtComp.notBetween( row["Datum objednávky"], "1.1.2009", "31.1.2009" )

Následující příklad vypočítává data expedice. Pokud se hodnota Datum objednávky nenachází v prosinci 2008 (tedy mezi daty 1.12.2008 a 31.12.2008), přidejte k ní 3 dny. Pokud se hodnota Datum objednávky nachází v prosinci, přidejte k ní 5 dní.

if (BirtComp.notBetween(row["Datum objednávky"], "1.12.2008", "31.12.2008" )){
  shipDate = BirtDateTime.addDay( row["OrderDate"], 3 )
  }
else{
  ShipDate = BirtDateTime.addDay( row["OrderDate"], 5 )
  }

BirtComp.notEqual

Tato funkce testuje, zda se daná hodnota neliší od jiné hodnoty.

Syntaxe

boolean BirtComp.notEqual( source, target )

Parametry

source

První hodnota, která se má použít k porovnání.

target

Druhá hodnota, která se má použít k porovnání.

Vrací

Hodnotu true, pokud se hodnota source liší od hodnoty target. Jinak vrací hodnotu false.

Příklady

Následující výrazy testují hodnoty polí pro zjištění, zda se tyto hodnoty liší od zadaných hodnot:

BirtComp.notEqual( row["Celkové prodeje"], 10000 )
BirtComp.notEqual( row["Země"], "Francie" )
BirtComp.notEqual( row["Datum objednávky"], "15.2.2009" )

BirtComp.notLike

Tato funkce testuje, zda řetězcová hodnota neodpovídá vzorku. Ve vzorku musí být použita syntaxe SQL pro porovnání vzorků.

Syntaxe

boolean BirtComp.notLike( source, target )

Parametry

source

Řetězcová hodnota, která se má vyhodnotit.

target

Vzorek řetězce, který má být porovnán. Vzorek musíte uzavřít do dvojitých uvozovek (" "). Při zadávání znaků, které chcete porovnat, použijte správnou velikost písmen. Ve vzorku můžete použít následující speciální znak:

*
*

Chcete-li porovnat i samotný znak procent (%) nebo podtržítka (_), umístěte před tyto znaky dvojité zpětné lomítko (\\). Například pro porovnání řetězce "S_10" použijte následující vzor:

S\\_10

Chcete-li porovnat například řetězec "50%", použijte následující vzor:

50\\%

Vrací

Hodnotu true, pokud se hodnota source neshoduje s hodnotou target. Jinak vrací hodnotu false.

Příklady

V následujícím příkladě je vrácena hodnota false pro hodnoty v poli Kód produktu, které začínají řetězcem "S18":

BirtComp.notLike( row["Kód produktu"], "S18%" )

V následujícím příkladě je vrácena hodnota false pro hodnoty Název produktu, které obsahují podřetězec "Ford", před kterým se nachází jeden znak:

BirtComp.notLike( row["Název produktu"], "_Ford%" )

(c) Copyright Actuate Corporation 2013