Month: November 2021

  • DAX (Data Analysis Expression) ฉบับเริ่มใช้งาน

    DAX (Data Analysis Expression) ใช้เพื่อการคำนวณใน Data Model 

    โดย DAX ประกอบด้วย Functions Operation และConstants เพื่อคำนวณและ/หรือแปลงข้อมูลเพื่อสร้าง Measure, Column, Table  

    ใช้งานได้ในผลิตภัณฑ์ของ Microsoft ดังนี้ Power BI, Excel (Power Pivot), SQL Server

     โดยมีสูตรต่าง ๆ มากมาย มีประโยชน์มากในการทำงานเกี่ยวกับ Time Intelligence การสร้าง Date Dimension การคำนวณโดยใช้ Relationships เพื่อเตรียมการคำนวณให้ไปใช้ในการสร้าง Visualization ต่อไป

    Column หรือ Measure สร้างอะไรดี

    • New Column จะมีการสร้างขึ้นมาจริงใน Data Model โดยการคำนวณขึ้นตอน Refresh Data ซึ่งต้องใช้พื้นที่จัดเก็บจริง  ใน Chart ต่างๆใน Report สามารถใช้ในฐานะ Category ได้
    • New Measure จะถูกคำนวณใน Report และค่าจะเปลี่ยนไปจามการ Filter ที่เปลี่ยนไป เมื่อ Filter เปลี่ยนจะมีการคำนวณใหม่ตลอด

    Functions ที่น่าสนใจสำหรับใช้งาน

    1. Format Number ถ้าต้องการใส่ Format ให้กับตัวเลข เช่น $ ใส่ “,” จุดทศนิยมต้องทำอย่างไร 

    ต้องทำเป็น Measure ดังนี้
    1.1 Click ขวาที่ Table Model และ New measure

    1.2 ส่วนหมายเลข 1 แก้ไขชือ Measure
    ส่วนหมายเลข 2 Function ที่ต้องการใช้ในที่นี้ใช้ Function Count
    ส่วนหมายเลข 3 เลือกรูปแบบการจัด Formate ของตัวเลขตามที่ต้องการ

    1. RELATED วิธีการดึงข้อมูลจากตารางอื่นๆมาเป็น Column ในตารางที่กำลังทำงานอยู่ โดยการสร้างNew Column แล้วใช้ Function  RELATED ดึงข้อมูลจากอีกตารางที่ต้องสร้าง Relationship ไว้แล้วและต้องเป็น Relation ที่ active แบบ One:one หรือ One:Many แต่ความสัมพันธ์แบบ Many:Many จะไม่สามารถทำได้

    2.1 สร้าง Column ใหม่

    2.2 ใส่ชื่อ Column Name และ Function RELATE(TABLE_NAME[COLUMN NAME]) แล้ว Enter หรือ Click เครื่องหมายถูกด้านหน้า ชื่อ column  ในตารางที่เราต้องการก็จะมี Column เพิ่มขึ้นมาอีก 1 Column ตามที่ต้องการ

    3. การใช้ IF ใน DAX
    IF(<logical_test>, <value_if_true>[, <value_if_false>])

    ตัวอย่าง
    สัญชาติ = IF(student[Nationality]==”T”,”ไทย”,”ต่างชาติ”)

    1. การใช้ Switch ใน DAX
      SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])  
    สถานะไม่ปกติ = SWITCH(student[STATUS_DESC],
    “ลาออก”,”ลาออก”,
    “ลาออก (พ้นสภาพฯ)”,
    “ลาออก”,”ลาออก(พ้นสภาพฯ)”,
    “ลาออก”,”ไม่มาลงทะเบียน”,
    “ไม่มาลงทะเบียน”,”ไม่มาลงทะเบียน (พ้นสภาพฯ)”,
    “ไม่มาลงทะเบียน”,”ไม่มาลงทะเบียน(พ้นสภาพฯ)”,
    “ไม่มาลงทะเบียน”,””)

    สังเกตุง่ายๆ เป็นการจับคู่ตัวเลขคี่เป็นค่าที่ต้องการแปลงค่า และตัวเลขคู่ที่คู่กันเป็นค่าที่ต้องการจะแปลงให้เป็น  และตัวสุดท้ายจะเป็นค่าที่ไม่ตรงกับค่าใดๆที่ได้ตรวจสอบไว้ข้างต้น

    Operations 

    ประกอบด้วย arithmetic, comparison, text concatenation, and logical

    Operator typeSymbol and use
    Parenthesis operator+ (addition)
    – (subtraction/
    sign)
    * (multiplication)
    / (division)
    ^ (exponentiation)
    Comparison operators= (equal to)
    > (greater than)
    < (less than)
    >= (greater than or equal to)
    <= (less than or equal to)
    <> (not equal to)
    Text concatenation operator& (concatenation)
    Logic operators&& (and)
    || (or)

    DAX Programming

    การเขียน Code แบบพื้นฐานดังนี้

    • ตัวแปร  VAR <name> = <expression>  

    เป็นการกำหนดตัวแปรที่จะใช้งาน

    VAR Number of students = DISTINCTCOUNT(students[student_id])  
    • Return

    ส่งค่าออกมาเมื่อมีการคำนวณในการค่า Measure

    total Student and Faculty =
    VAR Number of students = DISTINCTCOUNT(students[student_id])  
    VAR Number of faculty = DISTINCTCOUNT(students[fac_id])  
    VAR total = “มีนักศึกษาทั้งหมด” & Number of students & “คน ใน ” & Number of faculty & “ คณะ”

    RETURN    
    total 

    อ้างอิง

    https://docs.microsoft.com/en-us/dax/

  • Webmail transformation!! #1

    คุยก่อน

    webmail.psu.ac.th อยู่กับเรามา… นานมากแล้วจนปัจจุบันนี้แทบจะคุยไม่รู้เรื่องแล้วค้นหาด้วยภาษาไทย แท้ ๆ ก็ไม่ได้ ก็คงถึงเวลาต้องไป ที่ชอบๆ สักที

    พุทโธธรรมโมสังโข!!!

    เร็ว ๆ นี้สำนักนวตกรรมดิจิทัลและระบบอัจฉะริยะจะประกาศใช้งาน webmail ตัวใหม่ ที่ได้เปิดให้ทดสอบใช้งานมาระยะหนึ่งแล้วอย่างเป็นทางการ โดยสามารถเข้าใช้งานผ่าน https://webmail2.psu.ac.th ซึ่งต่อไปจะกลายเป็น https://webmail.psu.ac.th ผลกระทบถึงท่าน ๆ ทั้งหลาย… ดังนี้

    1. ถ้าก่อนหน้านี้ใช้ https://webmail.psu.ac.th มาตลอดไม่เคยใช้ gmail เลย ก็ไม่กระทบอะไรนอกจากรูปร่างหน้าตาที่เปลี่ยนไป มาก… ถึงมากที่สุด
    2. ถ้าอ่านเมล์ที่ gmail.com เป็นหลักก็ไม่กระทบอะไรมากนัก
    3. ถ้ามีความต้องการตั้งค่า filter เพิ่มเติมก็จะกระทบมากเนื่องจากวิธีการเปลี่ยนแปลงจากเดิมค่อนข้างมาก

    เริ่มต้นการใช้งาน

    1. เปิดเว็บ https://webmail2.psu.ac.th จะได้หน้าตาประมาณนี้ (อาจมีการเปลี่ยนแปลงเมื่อประกาศใช้จริง)
    webmail2 start page
    1. ล็อคอินเข้าระบบให้เรียบร้อยจะได้หน้าตานี้
    Webmail2 Inbox
    1. ทดสอบค้นหาภาษาไทย คลิกในช่อง Search… ที่อยู่บล็อกกลาง
    Search…

    ลองค้นหาคำว่า “สถานะ” แล้วกด enter สิ่งที่ได้ก็ตามภาพนะครับ

    Keywords
    1. การค้นหาสามารถกำหนดเงื่อนไขได้ว่าจะให้ไปค้นหา คำ ๆ นั้น ในส่วนไหนของอีเมล์ ไม่ว่าจะเป็น Subject อย่างเดียว From อย่างเดียว หรือ เนื้อความในอีเมล์ ทำได้โดยคลิกที่ ที่อยู่หลังรูปซองจดหมายที่ช่อง Search… เมื่อคลิกจะได้ดังภาพ
    Search criteria

    จะเห็นว่ามีตัวเลือกมากมายว่าอยู่ที่เราเลือกไม่ว่าจะเป็น subject from to cc bcc body entire message ทั้งยังสามารถระบุช่วงเวลาที่ต้องการค้นหาหรือ กำหนด โฟลเดอร์ของเมล์ที่ต้องการค้นหาได้ด้วย แต่ทั้งนี้ทั้งนั้นหากกำหนดเงื่อนไขในการค้นหาเยอะ และมีจดหมายจำนวนมากการค้นหาก็อาจกินเวลานานได้

    1. การย้ายบ้านจาก webmail.psu.ac.th มายัง webmail2.psu.ac.th สิ่งที่ผู้ใช้ต้องทำเองคือการย้ายข้อมูลรายชื่อผู้ติดต่อ หรือที่เรียกว่า Address book นั่นเอง
    2. Log in เข้าระบบที่ https://webmail.psu.ac.th
    webmail.psu.ac.th
    1. เมื่อ log in เข้ามาแล้วคลิกที่ Addresses
    Addresses
    1. จะได้ดังภาพ ซึ่งเป็นการแสดงรายชื่อผู้ติดต่อที่มีทั้งหมด ทั้งยังสามารถ export ออกมาได้ด้วย
    Address
    1. เมื่อต้องการจะ export เลื่อนจอลงมาด้านล่างในส่วนของ Address book export
    Address book export
    1. คลิก Export to CSV File จะเป็นการ download รายชื่อทั้งหมดออกมาเก็บไว้ในไฟล์ .csv ก็ให้เซฟไว้ในที่ที่หาเจอนะครับ
    2. กลับมาที่ https://webmail2.psu.ac.th หาก session expire ไปแล้วให้ล็อคอินใหม่
    Your session is invalid or expired.
    1. เมื่อล็อคอินเข้ามาได้ให้คลิก Contacts ที่อยู่ด้านซ้ายมือ
    Contacts
    1. จะได้ดังภาพ
    Contacts
    1. คลิกปุ่ม Import ด้านขวามือ
    Import
    1. จะได้หน้าต่าง Import contacts
    Import contacts
    1. ก็ให้กด Browse ไปยังไฟล์ที่เซฟก็ไว้จากข้อ 10.
    Import contacts
    1. คลิก Import จะได้หน้าสรุปว่า นำเข้าสำเร็จกี่รายชื่อใครบ้าง หลังจากนั้นคลิก x ได้เลย
    Successfully imported
    1. จะได้รายชื่อผู้ติดต่อไว้ใน webmail2 เรียบร้อย *หมายเหตุเพิ่มเติม อีเมลแอดเดรสของรายชื่อผู้ติดต่อนั้นต้องมีอยู่จริงเท่านั้นจึงสามารถนำเข้าได้นะครับ
    Contacts
    1. สำหรับพาร์ท 1 ก็ขอจบไว้เพียงเท่านี้รอพาร์ทต่อไปครับ ขอให้สนุก