Tag: Reporting Services

  • ตอนที่ 4 : ใช้ Report Wizard ช่วยสร้างรายงาน

    จากตอนที่แล้วได้กล่าวถึงการสร้างรายงานว่าสามารถทำได้ 2 แบบ กล่าวคือ สร้างรายงานจากไฟล์ว่างๆ หรือ ใช้ Report Wizard เป็นตัวช่วยสร้างรายงาน ซึ่ง Wizard สามารถออกแบบรายงานเป็นTable หรือ Crosstab ตามรูปแบบที่มีให้เลือก โดยทำตามขั้นตอน ดังนี้

    1. ไปที่ Solution Explorer คลิกขวาโฟลเดอร์ Reports > Add New Report จะปรากฏหน้าจอ Report Wizard ดังรูปที่ 1

    B4_pic1

    รูปที่1 Report Wizard

    2. คลิก Next เลือก Data Sources เป็นแบบ Shared หรือ Embedded Data Sources ดังรูปที่ 2

    B4_pic2

    รูปที่2 Data Sources

    3. คลิก Next เพื่อเขียน query โดยกดปุ่ม Query Builder… จะไปยังหน้าจอ Query Designer

    B4_pic3 3-7
    รูปที่3 Design Query

    4. คลิก Next จะปรากฏหน้าจอให้เลือกว่าจะสร้างรายงานเป็นตาราง (Tabular) หรือ Metrix (สามารถสรุปข้อมูลในลักษณะ Pivot Table) ดังรูปที่ 4
    B4_pic4

    รูปที่4 Report Type

     5. คลิก Next เพื่อมาออกแบบตาราง ผู้ใช้จะต้องเลือก fields ที่อยู่ใน Available fields มาใส่ใน Displayed field ในที่นี้จะจัดกลุ่มข้อมูล (Group) ตาม CAMPUS_ID, FAC_ID, DEPT_ID และ fields อื่นๆจะแสดงในส่วนของ Details

    B4_pic5

    รูปที่5 Design Table

    6. คลิก Next เพื่อเลือกรูปแบบการจัดวางข้อมูล (Layout) และคลิกเลือก Include subtotals เพื่อรวมข้อมูลในระดับที่ได้ Group ไว้ในข้อที่แล้ว (CAMPUS_ID, FAC_ID, DEPT_ID) และคลิก Next เพื่อเลือก Style ดังรูปที่ 6

    B4_pic6B4_pic7

    รูปที่6 Table Layout & Style

    7. คลิก Next จะเห็นช่อง Report name: ให้ตั้งชื่อรายงาน และกดปุ่ม Finish จะได้รายงาน ดังรูปที่ 7

    B4_pic8

    รูปที่7 ตัวอย่างรายงาน

           จากการทดลองสร้างรายงานโดยไฟล์ว่างเปล่ากับใช้Wizard เป็นตัวช่วยสร้างรายงาน พบว่า Wizard สามารถทำให้งานง่ายขึ้นได้ ซึ่งรูปแบบที่มีให้เลือกอาจจะยังไม่ถูกใจผู้ใช้ก็ค่อยมาปรับกันในทีหลังได้ เช่น Format จำนวนเงิน, ใส่ Header / Footer, ใส่ Expression ใน Textbox… ส่วนในเรื่องการคำนวณจะเป็นการรวมข้อมูลแบบตรงไปตรงมา หากผู้ใช้ต้องการการคำนวณที่ซับซ้อนขึ้นก็สามารถทำได้ เช่น อยากได้คอลัมน์ยอดเงินสุทธิ = AMOUNT – AMOUNT_FINE – AMOUNT_VAT เป็นต้น

  • ตอนที่ 3 : สร้างรายงานด้วย Business Intelligence Development Studio (BIDS)

         เครื่องมือที่ใช้สำหรับสร้างรายงาน ได้แก่ Business Intelligence Development Studio (BIDS) และ Report Builder ในตอนที่นี้จะกล่าวถึงการสร้างรายงานด้วย BIDS ซึ่งเป็นอินเตอร์เฟซ ของ Microsoft Visual Studio เหมาะสำหรับนักพัฒนาที่คุ้นเคยกับ Microsoft Visual Studio ส่วน Report Builder เป็นโปรแกรมสำหรับสร้างรายงาน เหมาะกับผู้ใช้ทั่วๆไปที่ใช้ในทางธุรกิจเป็นหลัก

    การสร้างรายงานมีขั้นตอน ดังต่อไปนี้

    ขั้นตอนที่ 1 : Create Report Server Project

    • ไปที่ File > New > Project… ดังรูปที่ 1
    • จะได้ผลลัพธ์ ดังรูปที่ 2

    3-1

    รูปที่1 Create Report Server Project

    3-2

    รูปที่2 Report Server Project Solution

    ขั้นตอนที่ 2 : Create new report 
    การสร้างไฟล์รายงาน เราสามารถทำได้ 2 แบบคือ

     แบบที่1 สร้างไฟล์รายงานว่างๆ (empty report) ดังนี้

     1. จากรูปที่ 2 คลิกขวาที่โฟลเดอร์ Report > Add > New Item… > เลือก Create a new empty report ดังรูปที่ 3

    3-3

      รูปที่3 Create a new empty report

    2. ไปที่หน้าต่าง Report Data (View > Report Data) เพื่อสร้าง Data Sources และ Datasets

             – คลิกขวาโฟลเดอร์ Data Sources > Add Data Source… ซึ่งสามารถสร้าง Connection ได้ 2 แบบ คือ

              1. Embedded Connection เป็นการฝัง Connection String ไปในตัวรายงาน ดังรูปที่ 4

                3-5

           รูปที่4 Embedded Connection Properties

              2. Use Shared Data Sources Connection ซึ่งผู้ใช้จะต้องไปสร้าง Connection String ไว้ก่อน โดยเข้าไปที่หน้าต่าง Solution Explorer คลิกขวาโฟลเดอร์ Shared Data Sources > Add New Data Source ก็จะเข้าสู่หน้าจอสร้าง Connection ดังรูปที่ 4 ข้อดีของการใช้ Shared Data Sources คือเมื่อมีการเปลี่ยน Connection String สามารถเปลี่ยนที่เดียวไม่ต้องไล่เปลี่ยนทีละรายงาน และ Deploy เฉพาะ Shared Data Sources

              3. ไปที่หน้าต่าง Report Data คลิกขวาโฟลเดอร์ Datasets จะปรากฏหน้าต่าง Dataset Properties ดังรูปที่ 5

                3-6

                          รูปที่5 Dataset Properties

    ประกอบด้วย

        – Query เป็นส่วนสร้าง query โดยผู้ใช้สามารถเลือก Dataset, Data Source และประเภทของ query (Text, Table / View, Stored Procedure หรือ Import Query File – *.sql,*.rdl) จากรูปที่ 5 เมื่อกดปุ่ม Query Designer… จะปรากฏหน้าจอดังรูปที่ 6

           3-7

                       รูปที่6 Query Designer

        จากรูปที่ 6 ในหน้าจอประกอบด้วยส่วนหลักๆ 4 ส่วน ได้แก่ Diagram Pane ที่จะแสดง Table / View ซึ่งสามารถ Add / Remove Diagram โดยกดปุ่ม 3-7-1 จะปรากฏหน้าต่างแสดงรายชื่อ Table / View ทั้งหมดในระบบมาให้ผู้ใช้เลือก และผู้ใช้สามารถเชื่อม (Join) หลายๆตารางได้

        – Fields เป็นส่วนแสดงฟิลด์ข้อมูลที่เลือกมา (Select) ซึ่งผู้ใช้สามารถตั้งชื่อ Field Name ได้ ดังรูปที่ 7

           3-7-2

              รูปที่7 Dataset Properties-Fileds

        – Filters เป็นการกรองข้อมูลที่ได้จากการ query อีกที มีประโยชน์ตอนที่ใช้ Shared Dataset ร่วมกันหลายๆรายงาน ดังรูปที่ 8

           3-7-4

             รูปที่8 Dataset Properties-Filters

        – Parameters โปรแกรมจะ Generate ให้ Auto ตอนที่ผู้ใช้เขียนเงื่อนไขในของการ query ตัวอย่างเช่น ในรูปที่ 6 มีเงื่อนไขว่า “WHERE BUDGET_YEAR = :budget_year” (ในกรณีที่ผู้ใช้สร้างตัวแปลจากหน้าต่าง Report Data > Parameters แล้วนั้นจะต้องเลือก “Parameter Value” ให้ถูกต้อง) ดังรูปที่ 9

           3-7-5

          รูปที่9 Dataset Properties-Parameters

    4.  ไปยังหน้าต่าง Toolbox (View > Toolbox) ดังรูปที่ 10

            4

                          รูปที่10 Toolbox

    ตัวอย่าง สร้างตารางเบิกจ่ายประจำปีงบประมาณ

    –  ลาก Table จาก Toolbox ทางซ้ายมือมาวางบนรายงาน ดังรูปที่ 11 คลิกมุมตารางด้านซ้าย จะปรากฏหน้าจอ Tablix Properties ดังรูปที่ 12 จากนั้นเลือก Dataset name กดปุ่ม “OK”

    4-1

                      รูปที่11 Table

    4-2

               รูปที่12 Tablix Properties

    – เลือกฟิลด์ที่ต้องการแสดงมาใส่ใน Table จัดรูปแบบตามที่ต้องการ ดังรูปที่ 13 และกด Preview เพื่อดูข้อมูล จะช่วยให้ผู้ใช้สามารถเรียกรายงานได้ทันที โดยไม่ต้อง Deploy ขึ้น Report Server ถ้ารายงานมีการระบุพารามิเตอร์ จะขึ้นหน้าจอให้กรอกข้อมูลก่อน ดังรูปที่ 14 ซึ่งถ้าหากไม่ได้กำหนดพารามิเตอร์รายงานจะแสดงผลทันที

    4-3

                     รูปที่13 Design

    4-4

                     รูปที่14 Preview

    สำหรับแบบที่ 2 ใช้ Report Wizard เป็นตัวช่วยสร้างรายงาน จะขอกล่าวถึงในตอนถัดไปค่ะ…

     

  • ตอนที่ 1 : มารู้จัก SSRS กันเถอะ…

              SQL Server Reporting Services (SSRS) เป็น Technology หนึ่งของ Microsoft SQL Server Services ที่ใช้ในการสร้างและบริหารจัดการรายงาน เริ่มมีใน SQL Server 2005 และในปัจจุบันเป็น SQL Server 2016 ซึ่งข้อดีของการใช้ SSRS อาทิเช่น ไฟล์รายงานเป็นภาษา Rdl ที่เป็น Text File ธรรมดาสามารถเปิดด้วย Text Editor อะไรก็ได้ (ดูภาพประกอบที่ 1) อีกทั้ง SSRS แถมฟรีมากับ SQL Server ดังนั้นหากมี License การใช้งาน SQL Server ก็จะสามารถใช้ SSRS ทำรายงานได้โดยไม่มีค่าใช้จ่ายอื่นเพิ่มเติม และเมื่อมีการ Deployed รายงานไปแล้ว รายงานจะอยู่ใน Web Server ซึ่งผู้ใช้สามารถเรียกดูรายงานผ่าน Web Browser ได้ (ดูภาพประกอบที่ 2) โดยจะต้องกำหนดสิทธิการเช้าถึง Site และสิทธิการเข้าถึงรายงาน นอกจากนั้นยังสามารถนำรายงานไปฝังตัวไว้เป็นส่วนหนึ่งของ Application ก็ได้ เป็นต้น

    1_1

    ภาพประกอบที่ 1 เปิดไฟล์ *.rdl ด้วย Notepad

    1_2

    ภาพประกอบที่ 2 เรียกดูรายงานผ่าน Web Browser

              SSRS มีสถาปัตยกรรมแบบ Multi-Tier สนับสนุนการใช้งานทั้ง Native Mode และ SharePoint mode ในที่นี้จะขอกล่าวถึงสถาปัตยกรรมของSSRSที่เป็น Native Mode ซึ่งประกอบด้วย Components ต่างๆ ดังนี้ (ดูภาพประกอบที่ 3)

    1. Report Processor เป็นตัวที่ควบคุมการทำงานทั้งหมดที่อยู่ใน Report Server ตั้งแต่ Data Processing จนถึง Authentication โดยการทำงานบางอย่างจะแสดงผลผ่าน Programmatic Interfaces
    2. Programmatic Interfaces เป็นโปรแกรมที่ทำหน้าที่รับการติดต่อการทำงานจากผู้ใช้ แสดงผลการทำงานของรายงาน และ Report Server ให้ผู้ใช้เห็น โดยจะมีการทำงานรวมทั้งนำรายงานจาก Report Server Database มาแสดงผลให้เห็นด้วย
    3. Data Processing เป็นการประมวลผลข้อมูลที่มาจาก Data Source เพื่อนำมาสร้างรายงาน โดยถูกควบคุมการประมวลผลโดย Report processor
    4. Rendering เป็นการแสดงผลรายงาน ก่อนที่จะทำการส่งไปให้ผู้ใช้หรือสั่งพิมพ์นำไปใช้งาน
    5. Report Processing เป็นการประมวลผลรายงาน โดยจะรับข้อมูลที่ถูกส่งต่อมาจาก Data Processing มาประมวลผล
    6. Authentication (Security) เป็นการยืนยันตัวตนของผู้ใช้ที่ต้องการใช้งาน Report Server โดยแสดงหน้าจอในการ Log on เข้าใช้งาน ผ่าน Programmatic interfaces หาก Log on สำเร็จผู้ใช้ก็จะสามารถเข้าใช้งานได้
    7. Scheduling and Delivery Processor เป็นตัวประมวลผลการตั้งเวลาและการส่งรายงาน ทำหน้าที่ควบคุม การส่งรายงาน จะมีการให้ผู้ใช้ที่มีสิทธิ์ได้ตั้งเวลาและทำการกำหนดการส่งรายงานให้กับเป้าหมายโดยผ่าน Programmatic interfaces
    8. Delivery เป็นการส่งรายงานให้กับผู้ใช้ที่เป็นเป้าหมาย

     

    1_3

    ภาพประกอบที่ 3 SSRS components

    ที่มา : https://msdn.microsoft.com/en-us/library/ms157231.aspx

     

    ความสามารถในการ Authoring SSRS 

    1. สร้างรายงานได้จากหลายแหล่งข้อมูล (Data Sources) ที่มีอยู่ เช่น SQL Server, Oracle, OLE DB, OLEDB-MD, ODBC, XML, SAP BI NetWeaver, Hyperion Essbase, Teradata, Microsoft SQL Azure (SQL in the Cloud), Microsoft SQL Server Parallel Data Warehouse, Microsoft SharePoint List เป็นต้น
    2. สามารถกำหนดสิทธิให้ผู้ใช้สร้างรายงานได้เอง ผ่านโปรแกรม SQL Server Report Builder
    3. สามารถใช้ Expression ในการแสดงข้อมูล ซึ่งมีหลายประเภทให้ใช้งานตามความต้องการ (ดูภาพประกอบที่ 4)
    4. สามารถจัดกลุ่มข้อมูล (Grouping), การเรียงข้อมูล (Sorting) และ การกรองข้อมูล (Filtering) รวมถึงสร้างตัวแปร, เขียนฟังก์ชั่นประมวลผลข้อมูล
    5. Layout, Table, Matrix ของรายงานมีความยืดหยุ่น
    6. นำเสนอข้อมูลที่ซับซ้อนให้ผู้ใช้รายงานเข้าใจได้ง่าย ด้วยการแสดงข้อมูลแบบ Graphic ที่แสดงภาพรวมของการสรุปข้อมูลโดยใช้ Chart หรือ Gauge
    7. สามารถ Export ไฟล์ ในรูปแบบต่างๆ XML (File With Report Data), CSV (Comma Delimited), Tiff File, Pdf, Mhtml (Web Archive), Excel และ Word เป็นต้น

    1_4

    ภาพประกอบที่ 4 Expression

    อ้างอิง:

    เคล็ดลับการทำรายงานจากฐานข้อมูล