BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: yokyai ที่ มิถุนายน 01, 2010, 16:43:08 PM

หัวข้อ: ปรึกษาเรื่องรูปแบบรายงานคับ
เริ่มหัวข้อโดย: yokyai ที่ มิถุนายน 01, 2010, 16:43:08 PM
ถ้าทำรายงานลักษณะที่แนบมา(ไฟล์ excel ) โดยที่เราจะ query รหัสแผนกและให้คำนวนยอดของแพทย์ตามแผนกเลย และให้ออกมาในแนวนอนทีเดียวจะทำได้หรือไม่คับ ปกติตอนนี้ต้องพิมพ์ใส่ label และใช้ variable แต่ว่าถ้าเยอะจะคำนวนนานมากคับ มีวิธีไหมคับ ขอบคุณคับ :)
หัวข้อ: Re: ปรึกษาเรื่องรูปแบบรายงานคับ
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ มิถุนายน 01, 2010, 16:54:34 PM
คิดว่าได้ครับ

ตอนเรา  select  ก็ใส่เป็น  subquery  อีกทีครับ

select k.depcode,k.department,

(select count(*).......) as opd,
(select count(*).......) as er

from kskdepartment  k

แต่งื่อนไขการ Count ต้องไปดูอีกทีครับ
หัวข้อ: Re: ปรึกษาเรื่องรูปแบบรายงานคับ
เริ่มหัวข้อโดย: James011 ที่ มิถุนายน 01, 2010, 17:06:13 PM
 ;D ;D 

    SQL  :   select code,name where position_id="1"

      แล้ว  DBtext ไปวางที่   Detail
 
      แล้ว ใช้ Variable แต่ละตัว นับจำนวน ของแต่ละแผนก   เช่น

    Value:=GetSQLIntegerData('select count(xx) form table where doctor="'+dbpineline['code']+'" 
    and แผนก ="ER" ');

    ;D ;D  หลักการกันเดียวกับรายงานนี้ครับ
               http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=14626.0


หัวข้อ: Re: ปรึกษาเรื่องรูปแบบรายงานคับ
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ มิถุนายน 01, 2010, 17:59:11 PM
สงสัยว่าผมจะเข้าใจคำถามผิด  อิอิ

แต่พบก็เคยเจอปัญหานี้เหมือนกันครับ  เวลาวาง  Variable แล้วมีข้อมูลเยอะจำคำนวณค่อนข้างช้า
ลองคิดดูเล่นนะครับ  สมมุติ  1 Redcord มี 7 ฟิล  ข้อมูลทั้งหมด  100  Redcord
เท่ากับว่าโปรแกรมต้อง Query  700  ครั้ง  เพื่อให้ได้ข้อมูลครบ
ยังไม่นับคำสั่งใน Variable ที่ค่อนข้างซับซ้อนนะครับ

มันน่าจะเป็นเพราะส่วนนี้หรือเปล่าครับ  ที่ทำให้วาง  Variable  แล้วดึงข้อมูลนาน

อันนี้แค่สมมุติฐานนะครับ   เพราะไม่ได้จับเวลาอย่างจริงจัง  555+

หัวข้อ: Re: ปรึกษาเรื่องรูปแบบรายงานคับ
เริ่มหัวข้อโดย: thecoy ที่ มิถุนายน 01, 2010, 22:08:32 PM
select o.main_dep ,k.department,sum(o.doctor="008") as Doctor1 ,
sum(O.doctor="010") as doctor2,sum(o.doctor="119") as doctor3
from ovst   o
left outer join kskdepartment k on k.depcode=o.main_dep
where vstdate between '2010-01-01' and '2010-01-31'
group by o.main_dep
ประมาณนีได้มัยครับ สลับกันนิดหน่อย แพทย์ แนวนอน แผนกแนวตั้ง
หัวข้อ: Re: ปรึกษาเรื่องรูปแบบรายงานคับ
เริ่มหัวข้อโดย: yokyai ที่ มิถุนายน 02, 2010, 08:22:38 AM
ขอบคุณทุกคนมากคับ แต่ว่าถามมีเทคนิคอีกก็แนะนำด้วยคับ การใช้ variable เยอะๆมันรอนานมาก อยากใช้ให้น้อยที่สุด :)