Category: Data

  • Split_Sheet by Macro

    Split_Sheet by Macro

    เคยเป็นไหมเวลาได้รับไฟล์Excelแล้วเจอข้อมูลหลาย Sheet แต่ต้อง Save ออกมาทีละ Sheet วันนี้มี Trick เล็กๆมาแนะนำการแยกชีทโดย Macro มีขั้นตอนดังนี้

    1.ไปที่ File >> Option >>Customize Ribbon>>Develop

    2.เปิดไฟล์ที่ต้องการจะแบ่ง Sheet แล้วไปที่ Toolbar >> Develop>>Macro

    3.ตั้งชื่อ Macro และ กด Create

    4.นำสูตร Macro ไปวางแล้วกด Run

    Sub Splitbook()
                MyPath = ThisWorkbook.Path
                For Each sht In ThisWorkbook.Sheets
                sht.Copy
                ActiveSheet.Cells.Copy
                ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValues
                ActiveSheet.Cells.PasteSpecial Paste:=xlPasteFormats
                ActiveWorkbook.SaveAs _
                Filename:=MyPath & "\" & sht.Name & ".xlsx"
                ActiveWorkbook.Close savechanges:=False
                Next sht
            End Sub

    5.เราจะได้ File Excel ที่ถูกสร้างขึ้นจากการแบ่ง Sheet

  • นักสืบ กับ นักวิเคราะห์ข้อมูล

    นักสืบ กับ นักวิเคราะห์ข้อมูล

    จริง ๆ แล้ว Data Analyst ก็คือ นักสืบผู้ตามหา Insights ในข้อมูล มีหน้าที่ในการวิเคราะห์ข้อมูล และนำผลลัพธ์ที่ได้มาจัดทำรายงานสรุป โดยแสดงผลในรูปแบบต่างๆ ที่เข้าใจง่าย เช่น รูปแบบชาร์ต (Chart) หรือ แดชบอร์ด (Dashboard) เป็นต้น

    ทักษะที่สำคัญ คือ การใช้ซอฟต์แวร์ในการทำ Self-Service Analytic ได้เช่น Google Sheets, Excel, Power Query , Power BI, Tableau, ANB

    หน้าที่หลักของอาชีพ Data Analyst หรือ นักวิเคราะห์ข้อมูล คือ “เข้ามาทำความเข้าใจข้อมูลต่าง ๆ ในองค์กร แล้ววิเคราะห์ข้อมูลเพื่อหาสิ่งที่ซ่อนอยู่ในข้อมูล (Insights) จากนั้นมานำเสนอในรูปแบบที่สามารถสื่อสารให้ผู้ฟัง / ผู้อ่านได้เข้าใจ”

    Data Analyst ต้องมีความรู้พื้นฐานด้านไหน

    1) Analytical Thinking การคิดวิเคราะห์ ด้วยพื้นฐานสถิติ การคิดวิเคราะห์ที่ดี คือ การที่เราสามารถมองดูข้อมูล ทำความเข้าใจ และตั้งคำถามกับสิ่งต่าง ๆ ที่เราเห็นในข้อมูลได้

    2) Spreadsheet & SQL โปรแกรมคู่ใจ สำหรับดึง + วิเคราะห์ข้อมูลเบื้องต้น

    1. โปรแกรม Spreadsheet: Microsoft Excel & Google Sheets เครื่องมือยอดฮิตอันดับหนึ่ง คือ เครื่องมือสำหรับจัดการตารางข้อมูล (Spreadsheet) เช่น Microsoft Excel หรือ Google Sheets ที่เราเห็นกันบ่อย ๆ
    2. ภาษาสำหรับดึง & วิเคราะห์ข้อมูล: SQL หรือ Structured Query Language เป็นภาษาที่ได้รับความนิยมสูงสุดในการดึงข้อมูลจาก Database หรือ Data Warehouse มาใช้งานต่อ Data Analyst กับความรู้ SQL ถือเป็นของคู่กัน

      3) Data Storytelling การนำเสนอข้อมูล การนำเสนอที่ดี และการเล่าเรื่องได้น่าสนใจ จะทำให้ผู้ฟังเข้าถึง Insights ที่ Data Analyst หามา ได้ดียิ่งขึ้นเทคนิคในการเล่าเรื่องจากข้อมูล หรือ Data Storytelling จึงเป็นเทคนิคที่คนเป็น Data Analyst ต้องฝึกฝน

      Data is a new oil

      “เมื่อข้อมูลมีค่าดังน้ำมัน”

      ลักษณะของข้อมูล

      มาทำความรู้จักรูปแบบของข้อมูล รูปแบบข้อมูลแบ่งออกได้ เป็น 3 รูปแบบ

      • ข้อมูลแบบมีโครงสร้าง (Structured Data) เช่น ข้อมูลในตาราง

      • ข้อมูลแบบไม่มีโครงสร้าง (Unstructured Data) เช่น ข้อความ ภาพ
      • ข้อมูลแบบกึ่งโครงสร้าง (Semi-structured Data) เช่น ไฟล์ JSON , ไฟล์ XML

      ความแตกต่างระหว่าง Structured Data และ Unstructured Data

      • Structured data แสดงในรูปแบบของแถวกับคอลัมน์ หรือ Relational Database ได้ แต่ Unstructured data จะไม่สามารถแสดงในรูปแบบแถวกับคอลัมน์ได้
      • Structured data มีข้อมูลประเภทตัวเลข (Numbers) วันที่ (Dates) หรือข้อความสั้น (Strings) แต่ Unstructured data เป็นข้อมูลรูปภาพ วิดีโอ ไฟล์ข้อความต่างๆ
      • Structured data มีประมาณ 20% ของข้อมูลในองค์กร แต่ Unstructured data มีประมาณ 80% ของข้อมูลในองค์กร
      • Structured data ใช้พื้นที่จัดเก็บข้อมูลน้อยกว่า Unstructured data
      • Structured data สามารถจัดการได้ง่ายกว่า Unstructured data

      นอกจากนี้ แล้ว ในการวิเคราะห์ข้อมูล นักสืบ หรือนักวิเคราะห์ข้อมูลจะต้องทำความเข้าใจเรื่อง Data Types ว่ามีอะไรบ้าง

      Data Types

      • Numeric: 500, 25.5, 1002
      • String/Text: “Hello”, “Data Science”
      • Boolean: TRUE, FALSE
      • Date: 2024-01-15 (YYYY-MM-DD)
      • Geo (Location): Thailand, USA, Japan

      Level of Measurement

      • Nominal ข้อมูลที่แบ่งเป็นประเภทต่าง ๆ (category) เช่น ชื่อคน ชื่อสถานที่ เพศ
      • Ordinal ข้อมูลที่เรียงลำดับได้ เช่น ความชอบ วุฒิการศึกษา
      • Interval ข้อมูลที่เป็นตัวเลขที่สามารถบก ลบกันได้ เช่น อุณหภูมิ รายได้
      • Ratio ข้อมูลที่เป็นตัวเลขที่สามารถบวก ลบ คุณ หาร กันได้ เช่น ยอดขาย ระยะทาง

      Data analytics

      • Dimension : category
        • Nomianl
        • Ordinal
      • Measures : number
        • Interval
        • Ration

      กระบวนการวิเคราะห์ นำกระบวนการ CRIST-DM มาใช้ ในการวิเคราะห์

      • Business Understanding ทำความเข้าใจปัญหา ระบุ output หรือเป้าหมายที่ต้องการได้จากการวิเคราะห์ ทำการศึกษากำหนดว่าเราจะทำโปรเจคเกี่ยวกับเรื่องอะไร
      • Data Understanding ทำความเข้าใจข้อมูล มีข้อมูลอะไรบ้างในการแก้ปัญหา และ ตรวจสอบข้อมูล
      • Data Preparation เตรียมข้อมูล การแก้ไขข้อมูล สร้างตัวแปรใหม่จากตัวแปรเดิม
        • Data Selection ทำการคัดเลือกข้อมูล กำหนดเป้าหมายก่อนว่าเราจะทำการวิเคราะห์อะไร , เลือกใช้เฉพาะข้อมูลที่เกี่ยวข้อง
        • Data Cleaning ทำการกลั่นกรองข้อมูล ลบข้อมูลซ้ำซ้อน แก้ไขข้อมูลที่ผิดพลาด
        • Data Transformation แปลงรูปแบบของข้อมูล เตรียมข้อมูลให้อยู่ในรูปแบบที่พร้อมนำไปใช้ในการวิเคราะห์
      • Modeling วิเคราะห์ข้อมูล
        • Classification สร้างโมเดล เพื่อทำนายอนาคต
        • Clustering แบ่งข้อมูลหลาย ๆ กลุ่มตามความคล้ายคลึง
        • Association Analysis หาความสัมพันธ์ของข้อมูลที่เกิดร่วมกัน
      • Evaluation การวัดผล การประเมินผล
      • Deployment การวางแผนว่าจะเอาไปใช้งานอย่างไร

      Data storytelling

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

      การเล่าเรื่องด้วยข้อมูลแบบหวังผล สามารถแบ่งออกเป็น 5 ขั้นตอน

      1. การเข้าใจความสำคัญของบริบท (The Importance of Context) ในการทำ Data visualization เป็นสิ่งสำคัญเพื่อตอบคำถาม “ใคร (Who)” และ “อะไร (What)” ให้ชัดเจนก่อนที่จะเริ่มสร้างการแสดงผลข้อมูล และต่อมาคือ การตอบคำถาม “วิธีการ” (How)
      2. การเลือกภาพที่หวังผลได้ มีประสิทธิภาพ (Choosing an Effective Visual) เพื่อการสื่อสารข้อมูลเป็นเรื่องท้าทาย
      3. การลดความยุ่งเหยิง (Clutter Is Your Enemy!) เป็นการลดปัญหาความซับซ้อนและรายละเอียดสิ่งที่ไม่จำเป็นในภาพ
      4. โฟกัสไปที่เรื่องที่อยากบอกผู้ชม (Focus Your Audience’s Attention) การโฟกัสไปที่เรื่องที่อยากบอกผู้ชมเป็นสิ่งสำคัญในการออกแบบการสื่อสารด้วยภาพ
      5. การคิดอย่างนักออกแบบ (Think Like A Designer) เป็นการเทียบเคียงแนวคิดการออกแบบผลิตภัณฑ์มาใช้อธิบายสื่อสารข้อมูล โดยคุณลักษณะของงานออกแบบที่ดีมี 3 อย่างคือ การมีปฏิสัมพันธ์อันดีระหว่างผู้ใช้กับสินค้า, ทุกคนสามารถเข้าถึงการใช้งานได้และสวยงามดูดี และเมื่อออกแบบ Data visualization ต้องคิดก่อนว่าต้องการให้ผู้ชมใช้ข้อมูลเพื่อประโยชน์อะไร
        • เทคนิค
          • ง่ายต่อการใช้งาน
          • ทุกคนใช้งานได้
          • สวยงามน่าใช้

      สรุปในยุค Digital Transformation นักสืบ หรือนักวิเคราะห์ข้อมูล จะต้องมีความรู้

      Knowledge Investigation

      • Domain Knowledge
      • Data for Investigation
      • Software for Investigation
      • Design for Analysis
      • Storytelling with Data

      Skill for Investigation Data analyst

      • Spreadsheets (Google Sheets / Excel)
      • Database (SQL)
      • Programming ( R & Python Programming)
      • i2 (ANB) and iBase
      • Dashboard (Power BI , Looker Studio, Tableau)
      • Storytelling with Data

      Reference – ขอบคุณข้อมูล และความรู้ดี ๆ จาก..อ.เอกสิทธิ์ฯ และ อ.ทอย

    1. Web Scraping ด้วย Python

      Web Scraping ด้วย Python

      คือ วิธีการในการดึงหรือสกัดเอาข้อมูลจากเว็บไซต์ต่าง ๆ ด้วยการใช้ซอฟต์แวร์ในการ scrape ข้อมูล หรือไม่ว่าจะเป็นการเขียนโปรแกรมด้วยภาษา Scripting Language อย่างภาษา Python เพื่อดึงข้อมูลเหล่านั้นมา โดยหน้าเว็บที่เราจะทำ web scraping ต้องเป็น public data อนุญาตให้เราสามารถดึงข้อมูลได้

      ที่มา:https://spectrum.ieee.org/python-compiler


      เริ่มต้นทำ Web Scraping ด้วย Python

      โดยสเต็ปแรกต้องติดตั้งไลบรารีที่จำเป็นอยู่ 2 ตัว คือ

      • Requests คืออ ไลบรารี่สำหรับเรียกใช้งาน HTTP Methods ต่าง ๆ ไม่ว่าจะเป็น GET, POST, PUT, DELETE เป็นต้น ซึ่งเป็นหลักการพื้นฐานของเว็บที่เราควรรู้

      ติดตั้ง requests

      pip install requests

      • BeautifulSoup4 คือ ไลบรารี่ที่เราจะใช้จัดการกับ HTML Elements และ Attributes ต่าง ๆ ที่เราได้ไป scrape มาในแต่ละหน้าเว็บ ซึ่งจะจัดการส่วนต่าง ๆ ให้เราทั้งหมด

      ติดตั้ง BeautifulSoup

      pip install beautifulsoup4

      1.import library

      import requests
      from bs4 import BeautifulSoup

      2.กำหนด URL ของเว็บที่เราจะสกัด (Scrape) เอาข้อมูล ซึ่งในบทความนี้เราจะมาสกัดเอาชื่อบทความของเว็บ Free Code Camp สุดยอดเว็บในดวงใจของเหล่าโปรแกรมเมอร์อีกเว็บนั่นเองครับ

      3. ส่ง GET request เพื่อดึงข้อมูลจากตัวแปร url ที่กำหนดไว้ก่อนหน้า

      response = requests.get(url)

      4.เมื่อได้ elements ทั้งหมดของหน้าเว็บเพจมาแล้ว ทำการกำหนดตัวแปร soup เพื่อเรียกใช้งานความสามารถของพระเอกของเราในวันนี้ นั่นก็คือคลาส BeautifulSoup() เพื่อสกัดเอาข้อมูลทั้งหมดออกมา เพื่อที่เราจะสามารถเข้าถึงข้อมูลใน HTML Tags แบบง่าย ๆ ได้ในขั้นตอนต่อไป

      soup = BeautifulSoup(response.content, "html.parser")

      5.ทดสอบแสดงผลข้อมูลที่เราต้องการจะสกัดออกมาด้วยคำสั่ง print ( )

      print(soup)

      6.ทำการเลือก scrape ข้อมูลที่ต้องการ ในที่นี้ก็คือชื่อบทความ โดยชื่อบทความของ Free Code Camp หรือเว็บส่วนใหญ่ทั่วไปแล้วก็จะใช้แท็ก    <h2>

      titles = []
      for title in soup.find_all("h2"):
      titles.append(title.get_text().strip())

      7.โดย flow ของโค้ดด้านบน

      • สร้างตัวแปร empty list ชื่อ  titles
      • ลูปข้อมูล พร้อมค้นหาแท็ก  h2  find_all() ด้วยเมธอด
      • เพิ่มข้อมูลเข้าไปใน empty list

      8.หรือจะเขียนเป็นแบบ List Comprehension (ผลลัพธ์เดียวกันกับด้านบนแต่โค้ดสั้นกว่า ในบรรทัดเดียว)

      titles = [title.get_text().strip() for title in soup.find_all("h2")]

      9.Loop ข้อมูลออกมาแสดงผล

      for title in titles:
      print("-", title)