บทความ Excel, Access, SQL Server, ASP.NET, Windows, Database, IT
เก่งโค้ดงาน Business Intelligence ตอนที่ 6
บทความตอนที่ผ่านมาเราดูพารามิเตอร์สามตัวแรกของฟังก์ชัน Table.Group() ไปแล้ว ในหัวข้อนี้มาดูหน้าที่ของพารามิเตอร์ตัวที่สี่กันบ้าง พารามิเตอร์ตัวที่สี่ของฟังก์ชัน Table.Group() ใช้ทำหน้าที่กำหนดวิธีเรียกข้อมูล ถ้าเราไม่กำหนดอะไรจะมีค่าโดยปริยายเป็น GroupKind.Global ซึ่งมีความหมายว่า เมื่อเราจัดกลุ่มคอลัมน์ ลำดับการเรียงข้อมูลจะไม่มีผล ทุกแถวที่สัมพันธ์กับค่าในคอลัมน์จะถูกรวมเข้าด้วยกัน

Merge Query ด้วย Power Query
ข้อมูลที่เราจะต้องทำการสรุปผล บางครั้งอาจจะมีข้อมูลมากกว่า 1 ตารางโดยมีความสัมพันธ์กัน คำสั่งหนึ่งที่จะใช้หาค่าใน Excel เราจะใช้ฟังก์ชั่น VLookup ซึ่งหากทำงานกับข้อมูลจำนวนมาก ก็จะรู้สึกว่า Excel มีความอืด หนืดมาก ซึ่งแนวทางในตัวอย่างนี้จะใช้ Merge Query ใน Power Query เพื่อทำการแก้ไขปัญหา โดยทำการ ETL ให้ข้อมูล Lookup เสร็จเรียบร้อย ทำให้ข้อมูลที่ได้ไม่มีสูตร การทำงานจะรวดเร็วและ ไฟล์จะเล็กลงอีกด้วย

ประโยชน์ของ Power Query เพื่อช่วยในทางธุรกิจ
Power Query เป็นเครื่องมือสำหรับงานด้าน Business Intelligence ช่วยทำเรื่อง Data Cleansing, Data Shaping, Data Corrector คือจะช่วยในการทำความสะอาดข้อมูล ปรับปรุงข้อมูลที่มาจากหลากหลายแหล่ง หลากหลายรูปแบบให้มีความพร้อมในการวิเคราะห์ข้อมูลด้วยเครื่องมือต่าง ๆ ในอนาคต โดย Microsoft Power Query สามารถเรียกใช้ได้ทั้งใน Power BI และใน Microsoft Excel ซึ่ง Microsoft Excel 2016, Excel 2019, Office 365 เป็นต้นมาจะมี Power Query ติดตั้งมาด้วย

การแปลงวันที่ ที่เป็นปี พ.ศ. ให้ เป็นปี ค.ศ. อัตโนมัติด้วย Power Query ใช้ได้ทั้ง Excel และ Power BI Desktop
ปัญหาหนึ่งของการทำงานกับข้อมูลประเภท วันที่ ก็คือ รูปแบบของวันที่ มีหลายรูปแบบ เช่น วันเดือนปี เดือนวันปี หรือ เป็นปี พุทธศักราช หรือเป็นชื่อเต็มของเดือน ชื่อย่อของเดือน การจะนำเอาข้อมูลดังกล่าวมาทำงาน หรือ ใช้ในการวิเคราะห์ข้อมูลได้ มีความจำเป็นที่จะต้องทำการแปลงให้เป็นวันที่ ให้ได้

มีอะไรใหม่ใน .NET Core 2 และ C# 7 : Expression-Bodied Members (EBM)
สมาชิกแบบนิพจน์ฝังตัว (Expression-Bodied Members ย่อ EBM) ที่เริ่มใน C# 6.0 มาตอนนี้ใน C# 7.0 ได้ถูกเพิ่มเติมให้สนับสนุนสมาชิกแบบต่าง ๆ ได้มากขึ้นกว่าเดิม EBM เป็นคุณสมบัติที่ช่วยให้เราสามารถเขียนนิยามสมาชิกของclass ได้อย่างกระชับและอ่านเข้าใจได้ง่าย ใน C# 6.0 เราสามารถใช้ EBM ร่วมกับสมาชิกของ class 2 แบบ คือ method และ Property แบบอ่านได้อย่างเดียว ใน C# 7.0 เราสามารถใช้ EBM ได้กับสมาชิกของ class เพิ่มอีก 4 แบบได้แก่ Property constructor Finalizer และ Indexer

ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 12
ในตอนที่ผ่านมาได้พูดถึงข้อดีของภาษาซีชาร์ปที่มีคุณสมบัติ Expression Trees หรือ “ต้นไม้นิพจน์” ซึ่งเป็นข้อดีในภาษาซีชาร์ปที่ไม่พบในภาษาอื่น ๆ หลายภาษาอย่างเช่นภาษาซี หรือในภาษาจาวาสคริปต์ที่มีต้นไม้นิพจน์แบบย่นย่อ ไม่ใช่ต้นไม้นิพจน์เต็มรูปแบบอย่างที่เรากำลังพูดถึงอยู่ในขณะนี้

การเลือกประเภทกราฟให้เหมาะกับงาน
หลายคนที่จะต้องนำเสนอข้อมูล เพื่อใช้ในการทำรายงาน ประชุม การนำเสนอด้วยกราฟเป็นทางเลือกหนึ่งที่น่าสนใจ แต่เราจะเลือกกราฟอะไรดี จะลองสรุปให้ดูกันนะครับ ซึ่งสามารถนำไปใช้เลือกการนำเสนอให้เหมาะสมกับข้อมูล โดยนำไปใช้ในโปรแกรมอย่าง Excel หรือ Power BI หรือ Data Analytics ต่าง ๆ ได้

เก่งโค้ดงาน Business Intelligence ตอนที่ 5
ฟังก์ชันใด ๆ สามารถส่งค่ากลับเป็นฟังก์ชันได้ และฟังก์ชันนั้นอาจขึ้นกับค่าของพารามิเตอร์หนึ่งตัวหรือมากกว่าของฟังก์ชันเดิม แสดงคุณสมบัติการปิด ในโค้ดนี้ฟังก์ชันที่คู่กับฟิลด์ MyFunction ส่งค่ากลับเป็นฟังก์ชันที่ส่งค่าของพารามิเตอร์ที่กำหนดให้แก่ตัวมัน ค่าใหม่ของฟังก์ชันจะถูกส่งกลับมาทำ แต่ละครั้งที่ฟังก์ชันถูกเรียก ค่าของพารามิเตอร์จึงถูกส่งกลับไป

ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 11
ข้อดีของภาษาซีชาร์ปคือมีคุณสมบัติดี ๆ ที่มีอยู่ในภาษาที่ได้รับความนิยมมากอย่างจาวาและไพธอน หนึ่งในคุณสมบัติเหล่านั้นคือ “ฟังก์ชันแบบอะนอนีมัส” (Anonymous Functions) ซึ่งเป็นบรรทัดคำสั่งหรือนิพจน์สั้น ๆ ที่ฝังตัวอยู่ในบรรทัดคำสั่งซึ่งสามารถใช้เมื่อใดก็ตามที่จำเป็นต้องใช้เดลลีเกต เราอาจใช้ฟังก์ชันแบบอะนอนีมัสเพื่อพร้างออพเจ็กต์เดลลีเกตแบบมีชื่อ หรือจะใช้เพื่อส่งออพเจ็กต์เดลลีเกตแบบมีชื่อไปเป็นพารามิเตอร์ของเมธอดก็ได้

เก่งโค้ดงาน Business Intelligence ตอนที่ 4
ถ้าเปรียบเรคคอร์ดเป็นตารางในฐานข้อมูล ฟิลด์ก็คือคอลัมน์ต่าง ๆ การดึงข้อมูลจากตารางในภาษา SQL เราใช้คำสั่ง select ภาษาเอ็มก็มีตาราง (table) ที่จะพูดถึงในหัวข้อต่อไป ส่วนในหัวข้อนี้เป็นการดึงข้อมูลจากเรคคอร์เฉพาะบางฟิลด์ที่กำหนด เราใช้วิธีเขียนคำสั่งซึ่งมีซินแท็กซ์ดังนี้
