ผู้เขียน หัวข้อ: ปรึกษาเรื่องการสร้างรายงานแบบแยกตามรายวันครับ  (อ่าน 6913 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ songwut

  • Jr. Member
  • **
  • กระทู้: 55
  • Respect: 0
    • ดูรายละเอียด
สวัสดีครับ
อยากจะปรึกษาเรื่องการทำรายงานแบบแยกตามวันครับ เช่น รายการยอด xray แยกตามรายวัน "โดยกำหนดช่วงระยะเวลาได้" แต่ขอให้แยกออกมาเป็นรายวัน ตามระยะเวลาที่เราเลือก
โดยให้รูปแบบออกมาประมาณนี้ครับ

             วันที่1 วันที่2 วันที่ 3 ..... วันที่ 31
รายการ 1    1       5      4     .....     6
รายการ 2    5       4      8     .....     9
รายการ 3    3       2      1     .....     2

พอจะมีใครมีแนวทาง หรือตัวอย่างบ้างไม๊ครับ
ขอบคุณครับ
 

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,138
  • Respect: +40
    • ดูรายละเอียด
    • Phanomphrai Hospital
Re: ปรึกษาเรื่องการสร้างรายงานแบบแยกตามรายวันครับ
« ตอบกลับ #1 เมื่อ: กันยายน 19, 2012, 20:39:58 PM »
0
ทำแบบ crosstab ได้ครับ
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด https://pnphos.moph.go.th/hosweb/

ออฟไลน์ yokyai

  • Hero Member
  • *****
  • กระทู้: 1,462
  • Respect: +9
    • ดูรายละเอียด
Re: ปรึกษาเรื่องการสร้างรายงานแบบแยกตามรายวันครับ
« ตอบกลับ #2 เมื่อ: กันยายน 20, 2012, 07:54:57 AM »
0
ทำแบบ crosstab ได้ครับ
พยายามทำเหมือนกันครับ แต่ติดว่าเวลาเปลี่ยนชื่อฟิลด์เป็นภาษาไทยไม่ได้ครับ ทำยังไงครับ ตอนนี้ใช้วิธีอื่นอยู่ครับ
Sakaowrat Choocherd(Administrator) Information Technologist
Bangyai Hospital(30 beds)
HOSxP = 16_May_2008
Master and Slave : DELL-R730 Server Intel Xeon 8Core(2Units)
,Ram64 GB,HDD600(10k)x4,Raid5,CentOS 7.0 64 bit
,MySQL 10.1.10-MariaDB
(3 March 2016) With BMSxTraBackupGUI

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,138
  • Respect: +40
    • ดูรายละเอียด
    • Phanomphrai Hospital
Re: ปรึกษาเรื่องการสร้างรายงานแบบแยกตามรายวันครับ
« ตอบกลับ #3 เมื่อ: กันยายน 20, 2012, 08:19:26 AM »
0
ทำแบบ crosstab ได้ครับ
พยายามทำเหมือนกันครับ แต่ติดว่าเวลาเปลี่ยนชื่อฟิลด์เป็นภาษาไทยไม่ได้ครับ ทำยังไงครับ ตอนนี้ใช้วิธีอื่นอยู่ครับ

เปลี่ยน font ใน crosstab design ได้เลยครับ
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด https://pnphos.moph.go.th/hosweb/

ออฟไลน์ songwut

  • Jr. Member
  • **
  • กระทู้: 55
  • Respect: 0
    • ดูรายละเอียด
Re: ปรึกษาเรื่องการสร้างรายงานแบบแยกตามรายวันครับ
« ตอบกลับ #4 เมื่อ: กันยายน 20, 2012, 17:47:44 PM »
0
ลองทำดูแล้วครับ โดยใช้ cross tab

แต่ปรากฎว่า ข้อมูลออกมาซ้ำหลายหน้าเลย

คือ สมมุติว่า ข้อมูลจริงๆมีหน้า 1-2 แล้วพอหน้า 3 มันก็ เอาข้อมูลหน้า 1-2 มาใส่ต่อๆเป็นร้อยหน้าเลย เกิดจากอะไรเหรอครับ ?

แล้วคำสั่ง sql ตอนสร้างรายงานเพื่อใช้ cross tab นี่ต้องเขียนในหน้าแรกเท่านั้นเหรอครับ ?
ผมลองเขียนให้มัน change report ตรง cal>event>on create ข้อมูลกลับไม่ออกมาเลย
 

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,138
  • Respect: +40
    • ดูรายละเอียด
    • Phanomphrai Hospital
Re: ปรึกษาเรื่องการสร้างรายงานแบบแยกตามรายวันครับ
« ตอบกลับ #5 เมื่อ: กันยายน 20, 2012, 19:15:52 PM »
0
ลองทำดูแล้วครับ โดยใช้ cross tab

แต่ปรากฎว่า ข้อมูลออกมาซ้ำหลายหน้าเลย

คือ สมมุติว่า ข้อมูลจริงๆมีหน้า 1-2 แล้วพอหน้า 3 มันก็ เอาข้อมูลหน้า 1-2 มาใส่ต่อๆเป็นร้อยหน้าเลย เกิดจากอะไรเหรอครับ ?

แล้วคำสั่ง sql ตอนสร้างรายงานเพื่อใช้ cross tab นี่ต้องเขียนในหน้าแรกเท่านั้นเหรอครับ ?
ผมลองเขียนให้มัน change report ตรง cal>event>on create ข้อมูลกลับไม่ออกมาเลย

วาง crosstab ไว้ที่ detail band หรือเปล่า ลองย้ายไปไว้ที่ header band ครับ ส่วนคำสั่งจะใช้การเขียนจากหน้าแรก หรือ changereportsql ก็ได้ครับ
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด https://pnphos.moph.go.th/hosweb/

ออฟไลน์ songwut

  • Jr. Member
  • **
  • กระทู้: 55
  • Respect: 0
    • ดูรายละเอียด
Re: ปรึกษาเรื่องการสร้างรายงานแบบแยกตามรายวันครับ
« ตอบกลับ #6 เมื่อ: กันยายน 20, 2012, 19:51:47 PM »
0
ได้แล้วครับ เอา crosstab วางไว้ผิดที่นี่เอง

แต่ลองทดสอบ changereport sql แล้ว หน้ารายงานมันไม่ออกเลยน่ะครับโชว์แค่หน้าขาวเปล่าๆไม่แน่ใจว่าผิดตรงไหน

GetDateRangeDialog(d1, d2);
ds1:=formatdatetime('yyyy-mm-dd',d1);
ds2:=formatdatetime('yyyy-mm-dd',d2);

ChangeReportSQL(' select * '+
' from xray_report xr '+
' left outer join xray_items xi on xi.xray_items_code = xr.xray_items_code '+
' where xr.report_date between '+ds1+' and '+ds2+' '+
' group by xr.xray_items_code '+
' order by xr.report_date ');

โค้ดก็ตามนี้เลย

ส่วนในหน้าของ crosstab ทำเหมือนตัวรายงานที่ใส่โค้ด sql หน้าแรกเลยครับ
 

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,138
  • Respect: +40
    • ดูรายละเอียด
    • Phanomphrai Hospital
Re: ปรึกษาเรื่องการสร้างรายงานแบบแยกตามรายวันครับ
« ตอบกลับ #7 เมื่อ: กันยายน 20, 2012, 19:56:34 PM »
0
ลองแก้เป็นแบบนี้ครับ

GetDateRangeDialog(d1, d2);
ds1:=formatdatetime('yyyy-mm-dd',d1);
ds2:=formatdatetime('yyyy-mm-dd',d2);

ChangeReportSQL(' select * '+
' from xray_report xr '+
' left outer join xray_items xi on xi.xray_items_code = xr.xray_items_code '+
' where xr.report_date between "'+ds1+'" and "'+ds2+'" '+
' group by xr.xray_items_code '+
' order by xr.report_date ');
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด https://pnphos.moph.go.th/hosweb/

ออฟไลน์ songwut

  • Jr. Member
  • **
  • กระทู้: 55
  • Respect: 0
    • ดูรายละเอียด
Re: ปรึกษาเรื่องการสร้างรายงานแบบแยกตามรายวันครับ
« ตอบกลับ #8 เมื่อ: กันยายน 23, 2012, 14:46:04 PM »
0
ได้แล้วครับ ตกตัว " ไปนี่เอง
ขอบคุณมากครับ