คุณสามารถเพิ่มพารามิเตอร์วันที่และกำหนดชื่อไฟล์ปลายทางแบบไดนามิค
หัวข้อต่างๆ มีดังนี้
คุณสามารถระบุเอ็กซ์เพรสชันในฟิลด์พารามิเตอร์วันที่ของรายงาน
หากรายงานตามกำหนดการมีพารามิเตอร์วันที่ เมื่อคุณป้อนค่าสำหรับวันที่ตามกำหนดการ คุณไม่สามารถเปลี่ยนค่าวันที่ ทุกครั้งที่รันอินสแตนซ์ตามกำหนดการของรายงาน ระบบจะใช้พารามิเตอร์วันที่เดียวกัน หากการเปลี่ยนพารามิเตอร์วันที่จำเป็นสำหรับการรันแต่ละครั้ง คุณสามารถป้อนเอ็กซ์เพรสชันในฟิลด์พารามิเตอร์วันที่ของโปรแกรมวางกำหนดการเพื่อคำนวณวันที่ทุกครั้งที่รันงานของรายงาน
ตัวอย่างเช่น หากคุณสร้างกำหนดการสำหรับรายงานที่รันทุกวันจันทร์เพื่อบันทึกข้อมูลจากสัปดาห์ก่อนหน้า คุณต้องอัปเดตพารามิเตอร์วันที่สำหรับรายงานเพื่อเพิ่มวันแรกและวันสุดท้ายของสัปดาห์ก่อนหน้า
ป้อนหนึ่งในฟังก์ชันต่อไปนี้โดยใช้รูปแบบคำสั่งที่ปรากฏเพื่อคำนวณวันที่ที่เหมาะสมขณะรันไทม์ตามกำหนดการสำหรับรายงานดังนี้
{$SYSDATE()$} - วันที่ปัจจุบัน วันที่ของระบบของเซิร์ฟเวอร์ที่ BI Publisher กำลังรัน
{$FIRST_DAY_OF_MONTH()$} - วันแรกของเดือนปัจจุบัน
{$LAST_DAY_OF_MONTH()$} - วันสุดท้ายของเดือนปัจจุบัน
{$FIRST_DAY_OF_YEAR()$} - วันแรกของปีปัจจุบัน
{$LAST_DAY_OF_YEAR()$} - วันสุดท้ายของปีปัจจุบัน
ระบบจะไม่ประมวลผลการเรียกฟังก์ชันวันที่ในค่าพารามิเตอร์ จนกว่าโปรแกรมวางกำหนดการจะดำเนินการงานของรายงาน
นอกจากนี้ คุณยังสามารถป้อนเอ็กซ์เพรสชันโดยใช้เครื่องหมายบวก (+) และเครื่องหมายลบ (-) เพื่อเพิ่มหรือลบวันดังนี้
{$SYSDATE()+1$}
{$SYSDATE()-7$}
สำหรับตัวอย่างนี้ ในการบันทึกข้อมูลจากสัปดาห์ก่อนหน้า ทุกครั้งที่รันกำหนดการ ให้ป้อนข้อมูลต่อไปนี้ในฟิลด์พารามิเตอร์วันที่ของรายงาน
จากวันที่: {$SYSDATE()-7$}
ถึงวันที่: {$SYSDATE()-1$}
คุณสามารถตั้งค่าฟังก์ชันวันที่เป็นค่าพารามิเตอร์ดีฟอลต์ในโมเดลข้อมูล ในกรณีนี้ ทุกครั้งที่ผู้ใช้ดูรายงานจากโปรแกรมดูรายงาน จะมีการคำนวณพารามิเตอร์วันที่ตามเอ็กซ์เพรสชันที่ระบุสำหรับค่าดีฟอลต์
เมื่อป้อนชื่อไฟล์ระยะไกลสำหรับเว็บโฟลเดอร์หรือปลายทาง FTP คุณสามารถป้อนเอ็กซ์เพรสชันวันที่เพื่อระบุในชื่อไฟล์แบบไดนามิคได้ ตั้งค่าวันขณะรันไทม์ โดยใช้โซนเวลาของเซิร์ฟเวอร์
เอ็กซ์เพรสชันวันที่มีคำอธิบายในตารางต่อไปนี้
เอ็กซ์เพรสชัน | คำอธิบาย |
---|---|
%y |
แสดงปีเป็นตัวเลขสี่หลัก: ตัวอย่าง: 2011 |
%m |
แสดงเดือนเป็นตัวเลขสองหลัก: 01-12 (โดยที่ 01 = มกราคม) |
%d |
แสดงวันที่เป็นตัวเลขสองหลัก: 01-31 |
%H |
แสดงชั่วโมงเป็นตัวเลขสองหลักตาม 24 ชั่วโมงของวัน: 00-24 |
%M |
แสดงนาทีเป็นตัวเลขสองหลัก: 00 - 59 |
%S |
แสดงจำนวนวินาทีเป็นตัวเลขสองหลัก: 00 - 59 |
%l |
แสดงมิลลิวินาทีเป็นตัวเลขสามหลัก: 000 - 999 |
ใช้ตัวอย่างเหล่านี้เพื่อสร้างชื่อไฟล์ที่มีวันที่ต่อท้าย และชื่อไฟล์ที่มีวันที่นำหน้าและเวลาต่อท้าย
ในการสร้างชื่อไฟล์ที่มีวัน เดือน และปีต่อท้าย เช่น
myfile_01_11_2010.pdf
ป้อนข้อมูลต่อไปนี้
myfile_%d_%m_%y.pdf
ในการสร้างชื่อไฟล์ที่มีวัน เดือน และปีนำหน้า และชั่วโมงและนาทีต่อท้าย เช่น
01_01_2010_myfile_22_57.pdf
ป้อนข้อมูลต่อไปนี้
%d_%m_%y_myfile_%H_%M.pdf
หากชื่อไฟล์มีเอ็กซ์เพรสชันที่ไม่ได้กำหนด เช่น my_file_%a%b%c.pdf
จะมีการสร้างไฟล์ที่ชื่อ my_file_%a%b%c.pdf