บทความก่อนหน้าได้กล่าวถึงการสร้างรายงานด้วยเครื่องมือ Jasper Report ผู้สนใจสามารถคลิกอ่านได้ที่ คลิกที่นี่
ในบทความนี้จะเป็นการแนะนำการส่งค่าพารามิเตอร์ (Parameter) ไปยังรายงานที่ได้สร้างไว้เพื่อกรองข้อมูลตามเงื่อนไขที่สนใจมาแสดงผล การส่งพารามิเตอร์สามารถทำได้โดยการแทรกพารามิเตอร์ $P{…} หรือ $P!{…} หรือ $X{…} ไปใน SQL ตัวอย่างเช่น
select * from table_name where column_name = $P{param_name}
select * from table_name where column_name LIKE ‘%$P!{param_name}%’
select * from table_name where $X{OPERATOR, column_name , param_name}
การส่งค่าพารามิเตอร์ใน Jasper Report มีขั้นตอนดังนี้
- คลิกแถบ Preview เพื่อแสดงข้อมูล

2. คลิก Design ไปที่ Outline -> Parameter -> Create Parameter

3. ระบุ Name, เลือก Class ให้สอดคล้องกับ Class Type ของข้อมูลที่ต้องการค้นหา
** กรณีใช้คำสั่ง IN และ NOTIN ให้ระบุ Class Type เป็น java.util.ArrayList

4. คลิก DataSet and Query Editor Dialog

5. ระบุเงื่อนไขที่ต้องการค้นหา เช่น
select * from staff t where $X{[BETWEEN], id ,idStart , idEnd}
[BETWEEN] คือ คำสั่งหาค่าช่วงของข้อมูล โดยมีความหมายเช่นเดียวกับ between ในคำสั่ง SQL
id คือ ชื่อคอลัมน์ที่ต้องการค้นหา
idStart คือ ค่าเริ่มต้นของข้อมูลที่ต้องการค้นหา โดยชื่อต้องตรงกับ Parameter ที่สร้างไว้ (case sensitive)
idEnd คือ ค่าสุดท้ายของข้อมูลที่ต้องการค้นหา โดยชื่อต้องตรงกับ Parameter ที่สร้างไว้ (case sensitive)

6. คลิก Preview -> ระบุค่าเริ่มต้นและค่าสุดท้ายที่ต้องการค้นหา คลิกปุ่ม ลูกศรสีเขียว เพื่อแสดงผลข้อมูล

คำสั่งที่น่าสนใจ


อ้างอิง:
Jaspersoft Community
MILAN GADA’S JASPERSOFT TECH BLOG