ก่อนหน้า ถัดไป

คลาส BirtComp

คลาส BirtComp จัดเตรียมฟังก์ชันเพื่อเปรียบเทียบค่า, ตัวอย่างเช่น, เพื่อทดสอบค่าค่าเท่ากับ, มากกว่า, หรือน้อยกว่าค่าอื่น ฟังก์ชันทั้งหมดส่งคืนค่าบูลีน คลาสนี้เป็นแบบสแตติก แอ็พพลิเคชันไม่สามารถสร้างอินสแตนซ์ของคลาส

BirtComp.anyOf

ฟังก์ชันนี้เปรียบเทียบค่าตั้งแต่หนึ่งค่าขึ้นไปกับเนื้อหาของฟิลด์,

ไวยากรณ์

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

พารามิเตอร์

source

ฟิลด์ที่มีเนื้อหาที่ใช้สำหรับการเปรียบเทียบ

target

ค่าที่ต้องการหาในต้นทาง

Returns

Boolean True หากค่าเป้าหมายตรงกับค่าในซอร์ส; ส่งคืนค่า false อื่นๆ

ตัวอย่าง

ตัวอย่างต่อไปนี้ทดสอบว่า แคนาดา, เม็กซิโก, หรือสหรัฐอเมริกา คือค่าในฟิลด์ ประเทศคอลัมน์ ถ้าหนึ่งในประเทศใดๆ อยู่ในฟิลด์, ฟังก์ชันจะส่งคืนค่า true

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

ตัวอย่างต่อไปนี้ทดสอบว่า มกราคม 15, 2009 หรือ มกราคม 31, 2009 คือค่าในฟิลด์ payDate:

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

ตัวอย่างต่อไปนี้ทดสอบว่ามีสองโค้ดผลิตภัณฑ์ที่ระบุเฉพาะคือค่าในฟิลด์ productCode ถ้าค่าปรากฏขึ้นในฟิลด์, สตริง Obsolete จะแสดง; หากไม่ปรากฏขึ้น ค่า productCode จะถูกแสดงตามที่ปรากฏขึ้นในฟิลด์

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

BirtComp.between

ฟังก์ชันนี้จะทดสอบว่า ค่าอยู่ระหว่างค่าสองค่าที่ระบุหรือไม่

ไวยากรณ์

boolean BirtComp.between( source, target1, target2 )

พารามิเตอร์

source

ค่าที่ต้องการทอสอบ

target1

ค่าแรกในช่วงของค่าที่ต้องการเปรียบเทียบ

target2

ค่าที่สองในช่วงของค่าที่ต้องการเปรียบเทียบ

คืนค่า

เป็น true หากค่าซอร์สอยู่ระหว่างค่า target1 และค่าเป้าหมาย; ส่งคืนค่า false ในกรณีอื่น

ตัวอย่าง

นิพจน์ต่อไปนี้ทดสอบค่าฟิลด์ที่ต้องการดูหากอยู่ภายในช่วงของค่าที่ระบุไว้:

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

ตัวอย่างต่อไปนี้จะแสดงการคำนวณ วันที่จัดส่งสินค้า ถ้าค่า OrderDate อยู่ใน ธันวาคม 2008 (ระหว่าง 12/01/08 และ 12/31/08), ให้เพิ่ม 5 วันให้กับค่า OrderDate ถ้าค่า OrderDate อยู่ในเดือนที่ไม่ใช่ ธันวาคม, ให้เพิ่ม 3 วันให้กับค่า 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

ฟังก์ชันนี้ทดสอบว่าค่าสตริงตรงกับค่าสตริงอื่นๆ, ที่กำหนดเงื่อนไขที่ระบุไว้

ไวยากรณ์

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

พารามิเตอร์

source1

ค่าสตริงแรกที่ใช้ในการเปรียบเทียบ

source2

ค่าสตริงที่สองที่ใช้ในการเปรียบเทียบ

ignoreCase

ระบุ true เพื่อทำการเปรียบเทียบโดยไม่สนใจขนาดตัวพิมพ์ ระบุค่า false เพื่อดำเนินการกับการเปรียบเทียบที่คำนึงถึงขนาดตัวพิมพ์

trim

ระบุ true เพื่อลบช่องว่างที่นำหน้าหรือตามหลังก่อนที่จะเปรียบเทียบค่าสองค่า ช่องว่างที่อยู่กึ่งกลางของสตริงจะไม่ถูกลบออก ระบุค่า false หากคุณต้องการเปรียบเทียบเพื่อรวมช่องว่างที่นำหน้าหรือตามหลัง

คืนค่า

เป็น true ถ้าค่า source1 ตรงกับค่า source2 ไม่เช่นนั้นคืนค่า false

ตัวอย่าง

นิพจน์ต่อไปนี้จะเปรียบเทียบสตริงด้วยการระบุเงื่อนไขที่ต่างกัน:

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

BirtComp.equalTo

ฟังก์ชันนี้จะทดสอบว่า ค่าเท่ากับค่าอื่นหรือไม่

ไวยากรณ์

boolean BirtComp.equalTo( source, target )

พารามิเตอร์

source

ค่าแรกที่ใช้ในการเปรียบเทียบ

target

ค่าที่สองที่ใช้ในการเปรียบเทียบ

คืนค่า

เป็น true ถ้าค่าต้นทางเท่ากับค่าปลายทาง ไม่เช่นนั้นคืนค่า false

ตัวอย่าง

นิพจน์ต่อไปนี้ทดสอบค่าฟิลด์เพื่อดูว่านิพจน์เหล่านี้เท่ากับค่าที่ระบุไว้:

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

BirtComp.greaterOrEqual

ฟังก์ชันนี้จะทดสอบว่า ค่ามากกว่าหรือเท่ากับค่าอื่น

ไวยากรณ์

boolean BirtComp.greaterOrEqual( source, target )

พารามิเตอร์

source

ค่าแรกที่ใช้ในการเปรียบเทียบ

target

ค่าที่สองที่ใช้ในการเปรียบเทียบ

คืนค่า

เป็น true หากค่าซอร์สมีค่ามากกว่าหรือเท่ากับค่าเป้าหมาย; ส่งคืนค่า false หากเป็นกรณีอื่น

ตัวอย่าง

นิพจน์ต่อไปนี้ทดสอบค่าฟิลด์เพื่อดูว่านิพจน์เหล่านั้นมีค่ามากกว่าหรือเท่ากับค่าที่ระบุ:

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

BirtComp.greaterThan

ฟังก์ชันนี้ทดสอบว่าค่ามากกว่าหรือเท่ากับค่าอื่น

ไวยากรณ์

boolean BirtComp.greaterThan( source, target )

พารามิเตอร์

source

ค่าแรกที่ใช้ในการเปรียบเทียบ

target

ค่าที่สองที่ใช้ในการเปรียบเทียบ

คืนค่า

เป็น true ถ้าค่าต้นทางมากกว่าค่าปลายทาง ไม่เช่นนั้นคืน false

ตัวอย่าง

นิพจน์ต่อไปนี้ทดสอบค่าฟิลด์เพื่ดูว่านิพจน์มีค่ามากกว่าค่าที่ระบุไว้:

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

BirtComp.lessOrEqual

ฟังก์ชันนี้จะทดสอบว่า ค่าน้อยกว่าหรือเท่ากับค่าอื่น

ไวยากรณ์

boolean BirtComp.lessOrEqual( source, target )

พารามิเตอร์

source

ค่าแรกที่ใช้ในการเปรียบเทียบ

target

ค่าที่สองที่ใช้ในการเปรียบเทียบ

คืนค่า

เป็น true หากค่าซอร์สมีค่าน้อยกว่าหรือเท่ากับค่าเป้าหมาย; ส่งคืน false หากเป็นกรณีอื่น

ตัวอย่าง

นิพจน์ต่อไปนี้ทดสอบค่าฟิลด์เพื่อดูว่านิพจน์เหล่านั้นมีค่าน้อยกว่าหรือเท่ากับค่าที่ระบุไว้:

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

BirtComp.lessThan

ฟังก์ชันนี้จะทดสอบว่า ค่าน้อยกว่าค่าอื่น

ไวยากรณ์

boolean BirtComp.lessThan( source, target )

พารามิเตอร์

source

ค่าแรกที่ใช้ในการเปรียบเทียบ

target

ค่าที่สองที่ใช้ในการเปรียบเทียบ

คืนค่า

เป็น true ถ้าค่าต้นทางน้อยกว่าค่าปลายทาง ไม่เช่นนั้นคืน false

ตัวอย่าง

นิพจน์ต่อไปนี้ทดสอบค่าฟิลด์เพื่อดูว่านิพจน์เหล่านั้นมีค่าน้อยกว่าค่าที่ระบุไว้:

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

BirtComp.like

ฟังก์ชันนี้จะทดสอบว่าค่าสตริงตรงกับแพตเทิร์นหรือไม่ รูปแบบต้องใช้ไวยากรณ์ที่ตรงกับรูปแบบ SQL

ไวยากรณ์

boolean BirtComp.like( source, target )

พารามิเตอร์

source

ค่าสตริงที่ต้องการประเมินค่า

target

แพตเทิร์นของสตริงที่ต้องการเทียบ คุณต้องล้อมรอบรูปแบบในเครื่องหมายคำพูดคู่ (" ") ใช้ขนาดตัวพิมพ์ที่ถูกต้องเมื่อพิมพ์อักขระที่คุณต้องการเปรียบเทียบ คุณสามารถใช้อักขระพิเศษต่อไปนี้ในรูปแบบ:

*
*

เมื่อต้องการจับคู่อักขระเปอร์เซ็นต์ (%) หรือเครื่องหมายขีดเส้นใต้ (_), ให้นำหน้าอักขระเหล่านี้ด้วยเครื่องหมายแบ็คสแลชสองตัว (\\) ตัวอย่างเช่น, เมื่อต้องการจับคู่ S_10, ให้ใช้รูปแบบต่อไปนี้:

S\\_10

เมื่อต้องการเปรียบเทียบ 50% ให้ใช้แพตเทิร์นต่อไปนี้:

50\\%

คืนค่า

เป็น true ถ้าค่าต้นทางตรงกับค่าปลายทาง ไม่เช่นนั้นคืน false

ตัวอย่าง

ตัวอย่างต่อไปนี้ส่งคืนค่าในฟิลด์ ProductCode ที่ขึ้นต้นด้วย S18:

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

ตัวอย่างต่อไปนี้ส่งคืนค่า true สำหรับค่า productName ที่มีสตริงย่อย Ford ที่นำหน้าด้วยอักขระเดี่ยว:

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

BirtComp.match

ฟังก์ชันนี้จะทดสอบว่าค่าสตริงตรงกับแพตเทิร์นหรือไม่ รูปแบบต้องใช้ไวยากรณ์นิพจน์ปกติ JavaScript

ไวยากรณ์

boolean BirtComp.match( source, target )

พารามิเตอร์

source

ค่าสตริงที่ต้องการประเมินค่า

target

แพตเทิร์นของสตริงที่ต้องการเทียบ ในไวยากรณ์นิพจน์ปกติ JavaScript, คุณระบุรูปแบบภายในคู่ขอเครื่องหมายสแลช (/) คุณสามารถใช้อักขระพิเศษใดๆ ที่สนับสนุนโดยนิพจน์ปกติ JavaScript, เช่นตัวอย่างต่อไปนี้:

*
*
*
*
*

เมื่อต้องการจับคู่อักขระพิเศษ, นำหน้าอักขระพิเศษด้วยเครื่องหมายแบ็คสแลช (\) ตัวอย่างต่อไปนี้, จับคู่ S*10, ให้ใช้รูปแบบต่อไปนี้:

/S\*10/

คืนค่า

เป็น true ถ้าค่าต้นทางตรงกับค่าปลายทาง ไม่เช่นนั้นคืน false

ตัวอย่าง

ตัวอย่างต่อไปนี้ส่งคืนค่า true สำหรับค่าในฟิลด์ productCode ที่ขึ้นต้นด้วย S18:

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

ตัวอย่างต่อไปนี้ส่งคืนค่า true สำหรับค่า productName ที่มีสตริงย่อย Ford:

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

BirtComp.notBetween

ฟังก์ชันนี้จะทดสอบว่า ค่าไม่อยู่ระหว่างค่าสองค่าที่ระบุ

ไวยากรณ์

boolean BirtComp.notBetween( source, target1, target2 )

พารามิเตอร์

source

ค่าที่ต้องการทอสอบ

target1

ค่าแรกในช่วงของค่าที่ต้องการเปรียบเทียบ

target2

ค่าที่สองในช่วงของค่าที่ต้องการเปรียบเทียบ

คืนค่า

เป็น true ถ้าค่าซอร์สไม่ได้อยู่ระหว่างค่า target1 และ target; ส่งคืน false ในกรณีอื่น

ตัวอย่าง

นิพจน์ต่อไปนี้ทดสอบค่าฟิลด์เพื่อดูว่านิพจน์เหล่านั้นอยู่ภายนอกช่วงของค่าที่ระบุไว้:

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

ตัวอย่างต่อไปนี้จะแสดงการคำนวณ วันที่จัดส่งสินค้า ถ้าค่า OrderDate ไม่ใช่ ธันวาคม 2008 (ไม่ได้อยู่ระหว่าง 12/01/08 และ 12/31/08), ให้เพิ่ม 3 วันให้กับ OrderDate ถ้าค่า OrderDate อยู่ในเดือน ธันวาคม, ให้เพิ่ม 5 วันให้กับค่า 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

ฟังก์ชันนี้จะทดสอบว่า ค่าไม่เท่ากับค่าอื่น

ไวยากรณ์

boolean BirtComp.notEqual( source, target )

พารามิเตอร์

source

ค่าแรกที่ใช้ในการเปรียบเทียบ

target

ค่าที่สองที่ใช้ในการเปรียบเทียบ

คืนค่า

เป็น true ถ้าค่าต้นทางไม่เท่ากับค่าปลายทาง ไม่เช่นนั้นคืนค่า false

ตัวอย่าง

นิพจน์ต่อไปนี้ทดสอบค่าฟิลด์เพื่อดูว่านิพจน์เหล่านั้นไม่เท่ากับค่าที่ระบุไว้:

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

BirtComp.notLike

ฟังก์ชันนี้ทดสอบว่าค่าสตริงไม่ตรงตามรูปแบบ รูปแบบต้องใช้ไวยากรณ์ที่ตรงกับรูปแบบ SQL

ไวยากรณ์

boolean BirtComp.notLike( source, target )

พารามิเตอร์

source

ค่าสตริงที่ต้องการประเมินค่า

target

รูปแบบสตริงที่จะเปรียบเทียบด้วย คุณต้องล้อมรอบรูปแบบในเครื่องหมายคำพูดคู่ (" ") ใช้ขนาดตัวพิมพ์ที่ถูกต้องเมื่อพิมพ์อักขระที่คุณต้องการเปรียบเทียบ คุณสามารถใช้อักขระพิเศษต่อไปนี้ในรูปแบบ:

*
*

เมื่อต้องการจับคู่อักขระเปอร์เซ็นต์ (%) หรือเครื่องหมายขีดเส้นใต้ (_), ให้นำหน้าอักขระเหล่านี้ด้วยเครื่องหมายแบ็คสแลชสองตัว (\\) ตัวอย่างเช่น, เมื่อต้องการจับคู่ S_10, ให้ใช้รูปแบบต่อไปนี้:

S\\_10

เมื่อต้องการเปรียบเทียบ 50% ให้ใช้แพตเทิร์นต่อไปนี้:

50\\%

คืนค่า

เป็น true ถ้าค่าต้นทางไม่เท่ากับค่าปลายทาง ไม่เช่นนั้นคืนค่า false

ตัวอย่าง

ตัวอย่างต่อไปนี้ส่งคืนค่า false สำหรับค่าในฟิลด์ productCode ที่ขึ้นต้นด้วย S18:

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

ตัวอย่างต่อไปนี้ส่งคืนค่า false สำหรับค่า productName ที่มีสตริงย่อย Ford ที่นำหน้าด้วยอักขระเดี่ยว:

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

(c) ลิขสิทธิ์ Actuate Corporation 2013