Data Visualization นำเสนอข้อมูลเป็นรูป/กราฟแบบไหนดี ? กับข้อมูลที่มีอยู่

การสือสารที่มีอรรถรสสำหรับการมอง/อ่าน ที่ข้อมูลครบถ้วนโดยมีมิติ มุมมองและการเปรียบเทียบ จบในหน้าเดียวหรือรูปเดียว คือนิยาม Data Visualization ของผมครับ เราก็มาดูกันครับ เอาข้อมูลแบบไหนมาชนกับ Data Visualization แบบไหนถึงจะตรงประเด่นการนำเสนอข้อมูลด้วยภาพ ต้องการเปรียบเทียบข้อมูล (Comparison) กลุ่มนี้ก็จะมี Bar Chart Line Chart Bubble Chart Grouped Bar Table Pivot Table Bar Chart และ Grouped Bar ใช้เปรียบเทียบข้อมูลตามเงื่อนไขที่สนใจ ใช้เปรียบเทียบมิติจำนวนข้อมูลที่สนใจกับช่วงที่สนใจ เช่น เปรียบเทียบเป้าหมายที่ตั้งไว้กับข้อมูลที่ทำได้จริงในแต่ละเดือน, จำนวนนักศึกษา ในแต่ละปีการศึกษา เป็นต้น Line Chart ใช้เปรียบเทียบเพื่อดูแนวโน้มของข้อมูล ใช้เปรียบเทียบมิติของข้อมูล ในเชิงต้องการดูเพื่อเปรียบเทียบการเปลี่ยนแปลง ดูแนวโน้ม (Trends) โดยอาจจะเทียบกับมิติของเวลา (Time Series) และยังนำไปใช้ร่วมกับ machine learning เพื่อพยากรณ์ข้อมูลในอนาคตได้ด้วย เช่น ข้อมูลการถอนรายวิชาในแต่ละเดือนเปรีบเทียบ 3 ปีที่ผ่านมา จำนวนนักเรียนที่สมัครเข้าเรียนใน มอ. แยกตามโครงการ 5 ปีที่ผ่านมา เป็นต้น ตัวอย่างเป็นเปอร์เซ็นต์นักศึกษาเพศชายกับเพศหญิง Bubble Chart ใช้แสดงข้อมูลที่มีความสัมพันธ์กันแบบ 3 มิติ ใช้เปรียบเทียบแบบ 3 มิติข้อมูล เช่น แกน X แสดง จำนวนอาจารย์แกน Y แสดง จำนวนเงินค่าลงทะเบียนขนาดและจำนวนแต่ละฟอง แทน คณะและจำนวนนักศึกษาถ้าเปรียบเทียบแบบนี้ก็จะเห็นความสัมพันธ์ของข้อมูลทั้ง 3 ข้อมูลและสามารถตั้งเป้าหมาย หาค่ามากที่สุด น้อยที่สุดที่สนใจได้ Table ใช้เปรียบเทียบข้อมูลแบบแนวตั้ง เป็นการเปรียบเทียบพื้นฐานที่สุดเลย เป็นการเปรียบเทียบชุดข้อมูลที่ไม่ซับซ้อน เช่น Pivot Table ใช้เปรียบเทียบข้อมูลแนวนอน เหมาะสำหรับการเปลี่ยนเทียบข้อมูลเพื่อหาความแตกต่างตามแนวนอน มักจะใช้กับเวลา เดือน ปี เป็นแนวนอนและรายการข้อมูลที่สนใจเป็นแนวตั้งที่สามารถ Filter ได้ เช่น จำนวนค่าลงทะเบียนในแต่ละปีแยกตามคณะ 5 ปีที่ผ่านมาเป็นแนวนอนและรายชื่อคณะเป็นแนวตั้งที่สามารถ Filter ได้ เป็นต้น ต้องการดูการกระจาย (Distribution) สามารถใช้เมื่อต้องการดูความถี่ของข้อมูลว่ามีลักษณะการกระจายตัวอย่างไร HistogramLine HistrogramScatter PlotBox Plot Histogram แสดงความสัมพันธ์ระหว่างข้อมูล ดูการการจายความถี่ของข้อมูล Scatter Plot แสดงการกระจายของการจับคู่ข้อมูล เหมาะสำหรับแสดงการจับคู่ข้อมูลเพื่อดูการกระจายผลเช่น การวัดผลก่อนเรียนและหลังเรียน การวัดผลการทดลองสองกลุ่มทดลอง การวัดน้ำหนักสองครั้งจากคนเดียวกัน 100 คนในวิธีควบคุมอาหาร เป็นต้น จะเห็นอะไรจาก Scatter Plot -แนวโน้มของข้อมูลระหว่างตัวแปร-ความผิดปกติจากภาพรวม -กลุ่มก้อนภาพรวมของข้อมูล Box Plot เพื่อดูการกระจายของข้อมูลและมีค่าต่างๆประกอบอยู่ในกราฟคือ ค่ากลาง ค่าการการะจาย ค่ามากสุด น้อยที่สุดและข้อมูลห่างกลุ่มมาก (Outlier) Box Plot Chart จะมีข้อมูลแบ่งออกเป็น 3 ช่วงคือ25% (Q1) คือข้อมูล 25% แรกจากค่าต่ำขึ้นมา50% (Q2) คือข้อมูลตัวที่มากกว่า 25% จนถึงตัวที่ 75% โดยแสดงออกมาในรูป สี่เหลี่ยมผืนผ้า75% (Q3) คือข้อมูล 50% ของข้อมูลอยู่ เขียนแทนด้วยเส้นตรงอยู่ภายในรูปสี่เหลี่ยมผืนผ้า ค่านี้คือค่าค่ากลางของข้อมูลทั้งหมด (Median) และตรงค่า เฉลี่ย (Mean) จะแทนด้วย เครื่องหมายบวกสำหรับตัวอย่างที่น่าจะยกได้สำหรับการศึกษาอาจจะเป็นผลการเรียนของนุักศึกษา ดูการแบ่งสัดส่วน (Composition) ต้องการเห็นภาพรวมพร้อมกับส่วนต่างๆที่สนใจ TreemapDonut ChartStacked Area ChartStacked BarPie ChartWaterfall Chart Treemap เป็น Chart ตารางสี่เหลี่ยม โดยใช้สีแยกกลุ่มของข้อมูล และขนาดของสีสี่เหลี่ยมบอกถึงปริมาณของข้อมูลแต่ละกลุ่ม เป็นกราฟที่ดูง่ายเข้าใจในทันทีที่เห็น Pie Chart Pie Chart เป็น Chart ที่แสดงสัดส่วนของข้อมูลดังเดิมที่เข้าใจง่าย เห็นการแยกสัดส่วนตามสีของแต่ละส่วน (เหมือนพิสซ่ามากกว่าพาย) ดูความสัมพันธ์ (Relationship) ของข้อมูล HeatmapWorldmapColumn/Line

Read More »

SSIS (Integration service) ตอนที่ 1 พื้นฐาน SSIS และ ETL

SSIS (Integration service) เป็น Business Intelligent Tools ของ Microsoft ที่ออกมาเพื่อใช้งานในการจัดการข้อมูลในรูปแบบ ETL ซึ่ง ETL คืออะไร E – Extract การนำข้อมูลออกมาจาก Source database ซึ่งมาจากแหล่งเดียวหรือหลายแหล่ง T – Transform การแก้ไขและเปลี่ยนแปลงข้อมูลให้เหมาะสมที่จะในไปใช้งานต่อไป L – Load การเอาข้อมูลไปเก็บที่ปลายทาง (destination) แหล่งเดียวหรือแยกเป็นหลายๆแหล่ง โดย Business Intelligent Tools ของ Microsoft นั้นประกอบด้วย 3 ตัวได้แก่ Integration service :: เป็น ETL Tool Analysis service :: เป็น Tool ที่ใช้วิเคราะห์ข้อมูล ใช้ทำ Data warehouse Reporting service :: เป็น Tool ที่ใช้ในการสร้างรายงาน   ก่อนที่จะมี Tools ที่ใช้ทำ ETL (ซึ่งมีหลายตัว หลายค่าย ทั้งฟรีและไม่ฟรี) เราต้องลำบากในการจัดการข้อมูลดังรูป ที่มาของภาพ คือต้องจัดการข้อมูลจาก Source ต่างๆลงใน Database แยกเป็นแต่ละ Source กันไปแล้วค่อยมาทำการ Cleaning data ที่หลังแล้วค่อยไปรวมฐานข้อมูลอีกครั้งจึงจะเอาข้อมูลไปใช้งานได้ ซึ่งจะทำให้การทำงานค่อนข้างยุ่งยากและซับซ้อนและต้องทำซ้ำๆหลายๆครั้ง   SSIS ทำงานอย่างไร ที่มาของภาพ เตรียมข้อมูลให้พร้อมที่จะ load เข้าไปเก็บในฐานข้อมูล มี audit data เพื่อทำให้ตรวจสอบได้ว่าข้อมูลที่ได้มาได้มากจากไหน เมื่อไร process ไหนเป็นผู้จัดการข้อมูล สามารถทำ data cleaning ได้ก่อนที่จะนำข้อมูลเข้าสู่ฐานข้อมูล สามารถใช้ได้กับข้อมูลที่ใหญ่และซับซ้อนได้เป็นอย่างดี SSIS ประกอบด้วย Package ไฟล์ของ SSIS นามสกุล *.dtsx Control flow คือ Workflow engine สำหรับจัดการ tasks และ Containers ที่สั่ง Execute   Control Flow เป็น Workflow engine โดยมี Objects ใน Control Flow ดังนี้ -Control flow tasks คือ การเนินการของ Workflow Object -Control flow Containers เป็น Grouping tasks กับ Tasks หรือ Containers อื่นๆ -Precedence constraints ให้ติดต่อ Tasks และ Containers และ กำหนดลำดับการ execute และ Precedence สำหรับจัดการ tasks และ Containers ที่สั่ง Execute   Data flow ควบคุมการการประมวลผลข้อมูลต่างๆ Transform data จากแหล่งข้อมูล (Sources) ไปยัง ปลายทางข้อมูล (Destinations) Data flow task ยอดนิยมมีดังนี้ Aggregate Conditional Split Data Conversion Derived Column Lookup Merge Merge Join Multicast Sort Union All ไว้จะลงรายละเอียดในแต่ละ task กันในตอนต่อๆไปนะครับ สำหรับตอนที่ 1 นี้ก็ขอจบไว้เท่านี้ก่อนครับ

Read More »

Information graphics การใช้ภาพหรือแผ่นภูมิแทนข้อมูลที่จะนำเสนอ

Information graphics หรือ Infographics เป็นการนำเสนอข้อมูล หรือความรู้ต่างๆโดยการสื่อสารด้วยภาพกราฟิก ซึ่งจะทำให้ผู้รับสื่อเข้าใจและมีความชัดเจนมากขึ้น    ความสามารถในการรับรู้ข้อมูลของมนุษย์ ภาพกราฟิกต่างๆจะดึงดูดความสนใจและความจำได้ดีกว่าข้อความยาวๆหรือต้องอ่านข้อมูล ที่เห็นได้จัดเจนคือ การอ่านข้อความบอกเส้นทางกันการอ่านแผนที่จะให้ผลที่แตกต่างกันอย่างชัดเจน และแน่นอนยุคสมัยของโลก Social อย่าง Facebook Twitter และInstagram ถ้าใครโพสข้อความยาวๆเราก็จะไม่ค่อยสนใจเท่าไรแต่เมื่อโพสภาพสวยๆเมื่อไรจะดึงความสนใจเราได้เยอะมาก มาดูการใช้งาน Infographics เพื่อแสดงข้อมูลในรูปแบบต่างๆ ข้อมูลสำคัญทีต้องการให้เป็นจุดสนใจเพียงข้อมูลเดียว ควรจะใช้ฟอนต์ที่ใหญ่หรือแปลกตากว่าฟอนต์ทั่วไปหรือมีการเน้นด้วยพื้นหลังที่แตกต่าง ร่วมถึงสามารถใช้ Pictographs หรือ Icon Charts แสดงร้อยละของสิ่งที่สนใจ ตัวอย่าง ข้อมูลในเชิงเปรียบเทียบ                   เพื่อให้เห็นความแตกต่างที่เกิดขึ้นกับข้อมูลที่สนใจ โดยมากจะใช้ Bar Chart หรือ Column Chart ตัวอย่าง ที่มาของภาพ ข้อมูลแบบต่อเนื่องและมีความสัมพันธ์กัน   โดยมากจะแสดงข้อมูลนี้ด้วย Line Chart ข้อมูลแบบไม่ต่อเนื่อง ดูความเป็นไปของข้อมูลที่สนใจ เช่น ความถี่ของผลการประเมิน TOR โดยแยกตามช่วงอายุการทำงานของบุคลากร หรือความสูงของนักเรียนแยกตามช่วงอายุและแยกระหว่างผู้ชายกับผู้หญิงเป็นต้น ข้อมูลการเปลี่ยนแปลงตามตัวแปรหรือช่วงเวลา (Trends over Time) สามารถใช้ได้หลายรูปแบบ เช่น Column Chart และเน้นส่วนสนใจ เช่นแสดงร้อยละ หรือใช้รูปแทนข้อมูลช่วงเวลาต่างๆ ที่มาของภาพ ข้อมูลการกระจายของสิ่งที่สนใจ จะแสดงด้วย bubble chart เช่นความสัมพันธ์ระหว่างความจุปอดกับความสามารถในการกลั่นหายใจของคนแล้วเอาข้อมูลความสัมพันธ์ของแต่ละคนไป วาดกราฟเพื่อดูความสัมพันธ์ ที่มาของภาพ

Read More »

รายการสิ่งที่ต้องตรวจสอบเมื่อต้องเป็นผู้ดูแล Windows Server

เมื่อระบบที่พัฒนามีมากขึ้น Server ที่ต้องดูแลก็เริ่มจะมีมากขึ้น และแน่นอนว่าต้องดูแลสุขภาพของ Server ให้อยู่ดี มีสุขและต้องทำงานได้อย่างมีประสิทธิภาพ     เลยลองไปศึกษาดูว่าคนที่ทำหน้าที่ดูแล Server ที่เรียกว่า Administrator นั้นเค้าต้องตรวจสอบหรือทำอะไรบ้าง ความถี่ในการเข้าไปตรวจสอบเรื่องต่างๆ จึงวสรุปมาเผื่อจะเป็นประโยชน์กับคนหัวอกเดียวกัน (ทั้งพัฒนาโปรแกรมและดูแลสุขภาพของ Server) พอจะแยกเป็นข้อๆดังนี้ Updates -ตรวจสอบ New Package Update ที่ Windows Update โดยทำเดือนละครั้งเป็นอย่างน้อย แต่…ต้องแน่ใจว่ามี Backup หรือ Snapshot ล่าสุดที่พร้อมใช้งานสำหรับถ้า Update แล้วมีปัญหาต้อง Restored ระบบกลับมาให้ได้นะครับ (ส่วนนี้ถ้าเราดูแล Domain Server อยู่ด้วยก็น่าจะศึกษาเรื่อง Group Policy เพื่อสั่งตรวจสอบ server ทั้งหมดที่ดูแลอยู่ให้ Update ตาม Policy ที่ว่างไว้น่าจะดี ตอนนี้กำลังศึกษาเรื่อง Powershell scripts เพื่อให้ตรวจสอบข้อมูลและให้ส่ง mail ไปบอกอยู่ ถ้าทำสำเร็จจะมาเล่าให้ฟังในหัวข้อถัดๆไปนะครับ) -สำหรับ Server ได้ติดตั้ง Application อื่นๆนอกเหนือจากที่ Windows ให้มาก็ต้องตรวจสอบการ Update ด้วยนะครับถ้าให้ดีความทำ รายการ Application ที่ลงไว้ใน server ด้วยเพื่อสะดวกต้องการติดตาม Update และจะได้รู้ว่ามี Application แปลกปลอมอะไรเพิ่มเติมมาบ้างในเดือนที่กำลังตรวจสอบ Security -ตรวจสอบสิทธิการเข้าถึง Server พวก Administrator Group และ Remote access group น่าจะทำ 3-6 เดือนครั้ง -ตรวจสอบการเปิดปิด Firewall ports ต่างๆ น่าจะทำ 6-12 เดือนครั้ง -เรื่องการเปลี่ยน Passwords ของ User ที่มีสิทธิเข้าใช้งานระบบ น่าจะทำ 3 เดือนครั้งกำลังดี Backups -ฺBackups และ ต้องทดสอบ restores ระบบแบบสุ่ม 2-3 เดือนซักครั้ง Monitoring -ตรวจสอบการทำงานของ server โดยการตรวจสอบ logs ต่างๆที่ Server เก็บไว้ ตรงนี้ขอแนะนำ Log Parser Studio ลองไปโหลดมาเล่นดูครับ -ตรวจสอบการใช้งานทรัพยากรต่างๆของ Server Disk เหลือเท่าไร ใช้ RAM ไปเท่าไร ช่วงไหนทำงานหนักสุด -ตรวจสอบ Hardware Error ทำความเข้าใจกับ Windows logs > System, look for warnings and critical events. -Application ที่ลงไว้ตัวไหนไม่ใช้งานก็ความจะเอาออกจาก Server เพื่อลดความเสี่ยงที่ Application เหล่านั้นจะมีช่องโหวให้ถูกโจมตีได้ -ควรมีการ Run คำสั่ง chkdsk เดือนละครั้งเพื่อตรวจสอบ Disk -ควรมีการตรวจสอบพวก Virus และ Mal ware เดือนละครั้งตามที่อ่านๆมาก็พอสรุปได้ดังนี้ครับ และตามหัวข้อเหล่านี้ก็สามารถขยาย ต่อยอดศึกษาต่อไปได้อีก ที่ผมสนใจอยู่ตอนนี้คือการทำ automatic Task ด้วย Powers hell  ถ้าท่านใดมีความรู้หรือมีแหล่งความรู้แนะนำกันได้นะครับ ที่ลองทำและใช้งานอยู่ก็จะเป็นการสั่ง Backup SQL Server Database ไปเก็บไว้ใน Network Drive ซึ่งตัว Backup ของ SQL Server ที่มีมาให้ไม่สามารถมองเห็น Network Drive ได้ก็เลยลองเขียนด้วย power shell ก็ทำงานได้ดีและดูแล้วว่าถ้าใช้งาน Windows Server อยู่ความรู้เรื่อง Power Shell น่าจะช่วยให้ชีวิตการดูแล Server มีความสุขขึ้นมากแน่นอนครับ

Read More »

Powershell : นับหน้าเอกสาร PDF

Download โปรแกรม PDFtk [ https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ ] Install PDFtk ใช้ editor ซักตัวเขียน Code Powershell ที่ผมใช้คือใช้ Visual Studio 2013 และ Download PowerShell Tools for Visual Studio 2013 [ https://visualstudiogallery.msdn.microsoft.com/f65f845b-9430-4f72-a182-ae2a7b8999d7 ] ที่ใช้งานตัวนี้เพราะ Tools จะมี InteliSense ให้ไม่ต้องจำคำสั่ง PowerShell ทั้งหมด ก็ทำให้สะดวกดี  Code ก็ไม่มาก #กำหนดที่เก็บผลการ$File Path = ‘E:\tmp\result.txt’ -f $env:Path; #เป้าหมาย diretory ที่เก็บ file PDF วนคำนาณแต่ละ file dir e:\ *.pdf | foreach-object{ $pdf = pdftk.exe $_.FullName dump_data $NumberOfPages = 0 $NumberOfPages = [regex]::match($pdf,’NumberOfPages: (\d+)’).Groups[1].Value $infoObj = New-Object PSObject -Property @{ Name = $_.Name FullName = $_.FullName NumberOfPages = $NumberOfPages } #บันทึกข้อมูลลง file $infoObj.”FullName”,$infoObj.”NumberOfPages” -join ‘,’ | Out-File -FilePath $FilePath -Append -Width 200; } 5. Save แล้วก็ Execute เพื่อทดสอบได้เลยครับ

Read More »