หัวข้อขั้นสูง

คุณสามารถเพิ่มพารามิเตอร์วันที่และกำหนดชื่อไฟล์ปลายทางแบบไดนามิค

พารามิเตอร์วันที่เพิ่ม

คุณสามารถระบุเอ็กซ์เพรสชันในฟิลด์พารามิเตอร์วันที่ของรายงาน

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

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

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

  • {$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