Business Central – Dimension (ติด Tag ให้งบการเงิน)

.

เคยงงมั้ยครับว่า ‘Dimension’ ใน Business Central คืออะไร? 🧐

หลายคนพอเจอคำนี้แล้วรู้สึกว่าเป็นเรื่องเทคนิคจ๋า เข้าใจยาก แต่จริงๆ แล้วมันคือเครื่องมือที่ทรงพลังและใกล้ตัวเรามากครับ

.

.

.

Dimension คืออะไร ?

Dimension พูดง่ายๆ ก็คือ “ป้ายกำกับ” (Tag) ที่เราแปะไปกับทุกรายการทางบัญชี (Transactions) เพื่อใช้ในการวิเคราะห์ข้อมูลในมุมมองต่างๆ ที่เราต้องการ โดยไม่ต้องสร้างผังบัญชี (Chart of Accounts) ที่ซับซ้อนวุ่นวาย

ลองนึกภาพตามนะครับ 👕 สมมติว่าเราขายเสื้อยืด ถ้าเราอยากรู้ว่ายอดขายมาจากสาขาไหน? สีอะไรขายดี? เราคงไม่อยากสร้างบัญชีแยกประเภทเป็น “รายได้-เสื้อสีแดง-สาขาสยาม” ใช่มั้ยครับ? มันจะเยอะเกินไป!

.

Dimension เข้ามาแก้ปัญหานี้โดยตรง:

  • 🎯 Dimension หลัก: เราอาจจะตั้งชื่อว่า “สาขา” หรือ “สีเสื้อ”
  • 🎯 Dimension Value (ค่าของ Dimension): ใน Dimension “สาขา” ก็จะมีค่าเป็น “สยาม”, “สีลม”, “บางนา” ส่วน Dimension “สีเสื้อ” ก็จะมีค่าเป็น “แดง”, “ขาว”, “ดำ”
  • 🎯 ประโยชน์สูงสุด: เวลาบันทึกยอดขาย เราก็แค่แปะป้ายกำกับ (Dimension) เหล่านี้เข้าไป ทำให้ตอนสิ้นเดือนเราสามารถดึงรายงาน “กำไร-ขาดทุนแยกตามสาขา” หรือ “ยอดขายแยกตามสีเสื้อ” ได้ง่ายๆ แค่คลิกเดียว แถมยังเอาข้อมูลไปทำ Dashboard สวยๆ ใน Power BI ต่อได้สบายๆ เลยครับ

.

สรุปสั้นๆ Dimension คือหัวใจของการทำ Financial Analytics ใน Business Central ที่ช่วยให้การวิเคราะห์ข้อมูลทางธุรกิจของคุณ ง่ายขึ้น เร็วขึ้น และลึกขึ้น ครับ

.

.

“3 Case Studies” ยอดฮิตในการใช้ Dimension

🏢 Case Study 1: ธุรกิจค้าปลีก (Retail Business)

  • โจทย์/ปัญหา: เจ้าของร้านมีหลายสาขา (สยาม, บางนา, ออนไลน์) และขายสินค้าหลายประเภท (เสื้อผ้า, เครื่องสำอาง) เขาอยากรู้ว่า “สาขาไหนทำกำไรได้ดีที่สุด?” และ “สินค้าประเภทไหนที่ขายดีในแต่ละสาขา?”
  • วิธีใช้ Dimension:
    • 🎯 Dimension 1: สาขา (Branch)
      • ค่า (Values): สยาม, บางนา, ออนไลน์
    • 🎯 Dimension 2: กลุ่มสินค้า (Product Group)
      • ค่า (Values): เสื้อผ้า, เครื่องสำอาง, ของใช้ในบ้าน
  • ผลลัพธ์ที่ได้: เวลาบันทึกรายรับหรือรายจ่ายทุกครั้ง จะมีการ “แปะป้าย” Dimension สาขา และ กลุ่มสินค้า เสมอ ทำให้ตอนสิ้นเดือนสามารถออกรายงาน งบกำไร-ขาดทุน (P&L) เฉพาะของสาขาสยาม ได้ หรือดู ยอดขายกลุ่มเครื่องสำอางที่มาจากช่องทางออนไลน์ ได้ทันที ช่วยให้วางแผนโปรโมชั่นและบริหารสต็อกได้เฉียบคมขึ้นมาก

.

🏗️ Case Study 2: ธุรกิจรับเหมา / โปรเจกต์ (Project-Based Business)

  • โจทย์/ปัญหา: บริษัทรับเหมาก่อสร้างมีหลายโปรเจกต์ที่ทำพร้อมกัน เช่น สร้างคอนโด A, สร้างบ้านลูกค้า B โดยผู้บริหารอยากรู้ว่า “แต่ละโปรเจกต์มีกำไรหรือขาดทุนเท่าไหร่?” เพื่อควบคุมต้นทุนและประเมินราคาโปรเจกต์ใหม่ในอนาคต
  • วิธีใช้ Dimension:
    • 🎯 Dimension 1: โปรเจกต์ (Project)
      • ค่า (Values): PROJ-001-CONDO A, PROJ-002-HOME B
  • ผลลัพธ์ที่ได้: ทุกครั้งที่เบิกจ่ายค่าวัสดุ, ค่าแรง, หรือรับเงินจากลูกค้า จะต้องระบุเสมอว่าเป็นของโปรเจกต์ไหน ทำให้บริษัทสามารถเรียกดู รายงานต้นทุน, รายได้, และกำไรของ “โปรเจกต์ A” ได้แบบ Real-time โดยไม่ต้องรอให้โปรเจกต์ปิดก่อน เป็นหัวใจของการบริหารโครงการเลยครับ

.

🌍 Case Study 3: ธุรกิจที่มีฝ่าย/แผนก (Departmental Business)

  • โจทย์/ปัญหา: บริษัทมีหลายแผนก เช่น ฝ่ายขาย (Sales), ฝ่ายการตลาด (Marketing), ฝ่ายบุคคล (HR) ผู้บริหารต้องการควบคุมงบประมาณและวัดผลการดำเนินงานของแต่ละแผนก อยากรู้ว่า “ฝ่ายการตลาดใช้งบประมาณไปเท่าไหร่แล้ว?” หรือ “ฝ่ายขายทำรายได้ได้ตามเป้าหรือไม่?”
  • วิธีใช้ Dimension:
    • 🎯 Dimension 1: แผนก (Department)
      • ค่า (Values): SALE, MKT, HR, ADMIN
  • ผลลัพธ์ที่ได้: เวลาเกิดค่าใช้จ่าย เช่น ค่าโฆษณา ก็จะผูกกับ Dimension MKT พอสิ้นเดือนก็สามารถดึง รายงานค่าใช้จ่ายเทียบกับงบประมาณของแต่ละแผนก (Budget vs Actual) ออกมาดูได้ทันที ทำให้แต่ละแผนกบริหารงบของตัวเองได้มีประสิทธิภาพมากขึ้น

.

เห็นมั้ยครับว่า Dimension เป็นเครื่องมือที่ยืดหยุ่นมาก หัวใจของมันคือการตั้งคำถามทางธุรกิจที่เราอยากรู้ก่อน แล้วจึงออกแบบ Dimension เพื่อเก็บข้อมูลและหาคำตอบนั้นครับ

.

.

ต่อไป มาเจาะลึกการตั้งค่า Dimension แต่ละขั้นตอนกันครับ บอกเลยว่าถ้าเซ็ตอัพดี ชีวิตดีแน่นอน!

การใช้งานใน Dimension ใน Business Central

.

Introduction – Set up dimensions and dimension values (การเซพอัพ Dimension)

ขั้นตอนนี้คือการสร้าง “แม่แบบ” หรือ “หมวดหมู่” ของป้ายกำกับ (Tag) ที่เราต้องการใช้ครับ

  • 🎯 เข้าใจภาพใหญ่: ก่อนอื่นต้องไปที่หน้า Dimensions เพื่อสร้าง “หัวข้อ” หลักๆ ที่เราอยากวิเคราะห์ เช่น สาขา, แผนก, โปรเจกต์
  • 🎯 สร้างค่าใน Dimension: เมื่อได้หัวข้อหลักแล้ว ให้คลิกที่ Dimension นั้นๆ แล้วเลือก Dimension Values เพื่อใส่ “ตัวเลือก” หรือค่าที่เราจะใช้แปะในเอกสาร เช่น
    • ใน Dimension สาขา ก็จะมี Values เป็น BKK (กรุงเทพ), CNX (เชียงใหม่), ONLINE
    • ใน Dimension แผนก ก็จะมี Values เป็น SALE, MKT, ADMIN
  • 🔑 คีย์สำคัญ: นี่คือการสร้างโครงสร้างข้อมูล (Data Structure) ที่ดี ถ้าออกแบบตรงนี้ดีตั้งแต่แรก การวิเคราะห์ข้อมูลในอนาคตจะง่ายมากครับ
หน้าจอตั้งค่า Dimension ใน Business Central
หน้าจอตั้งค่า Dimension value ใน Business Central

.

Manually enter dimensions in a sales order (การใส่ Dimension ในเอกสารเอง)

นี่คือวิธีพื้นฐานที่สุด คือการเลือกแปะป้าย Dimension เองทีละรายการในเอกสาร เช่น หน้าเอกสารขาย (Sales Order)

  • 🎯 วิธีทำ: ในหน้า Sales Order (หรือเอกสารอื่นๆ) ไปที่เมนู Order > Dimensions
  • 🎯 การทำงาน: ระบบจะเปิดหน้าต่างเล็กๆ ขึ้นมา ให้เราเลือก Dimension ที่ต้องการ (เช่น สาขา) แล้วก็ระบุค่า (เช่น BKK)
  • 🔑 คีย์สำคัญ: วิธีนี้เหมาะกับงานที่นานๆ ทำที หรือมี Dimension ไม่เยอะ แต่ถ้าต้องทำบ่อยๆ จะเสียเวลาและเสี่ยงใส่ข้อมูลผิดพลาด เราจึงต้องไปเรียนรู้หัวข้อถัดไปครับ
ตัวอย่างการระบุ Dimension ในเอกสาร Sale Order - Business Central
ตัวอย่างการระบุ Dimension ในเอกสาร Sale Order - Business Central

.

Set up global and shortcut dimensions (ตั้งค่า Dimension หลักและทางลัด)

นี่คือการ “โปรโมท” Dimension ที่เราใช้บ่อยที่สุดให้กลายเป็น Dimension พิเศษ เพื่อให้เรียกใช้ง่ายและดูข้อมูลสะดวกขึ้น

  • 🎯 Global Dimensions (มีได้ 2 ตัว): นี่คือ Dimension ที่สำคัญที่สุดของบริษัท เช่น สาขา และ แผนก เมื่อตั้งค่าแล้ว 2 ตัวนี้จะถูกนำไปเก็บในตารางข้อมูลหลักๆ ทุกตาราง ทำให้การกรอง (Filter) และการทำรายงานเร็วมากๆ
  • 🎯 Shortcut Dimensions (มีได้ 8 ตัว): เป็น Dimension ที่ใช้บ่อยรองลงมา สามารถเรียกใช้ในหน้าเอกสารต่างๆ ได้ง่ายๆ ผ่าน Field ที่โผล่ขึ้นมาเลย ไม่ต้องคลิกเข้าไปในเมนู Dimensions ให้เสียเวลา
  • 🔑 วิธีตั้งค่า: ไปที่หน้า General Ledger Setup ในส่วนของ Dimensions แล้วเลือก Dimension ที่ต้องการใส่ในช่อง Global Dimension 1, 2 และ Shortcut Dimension 3-8 ครับ
หน้าจอตั้งค่า Global Dimensions และ Shortcut Dimensions

.

Set up default dimensions (ตั้งค่า Dimension เริ่มต้น)

สุดยอดฟีเจอร์ที่ช่วยลดงาน! คือการ “ผูก” Dimension ไว้กับข้อมูลหลัก (Master Data) เช่น ลูกค้า, สินค้า, ผู้ขาย เมื่อเราเลือกใช้ข้อมูลหลักนั้นๆ ในเอกสาร Dimension ก็จะติดมาให้อัตโนมัติ

  • 🎯 ตัวอย่าง:
    • ผูกลูกค้า บริษัท A กับ Dimension สาขา = BKK
    • ผูกสินค้า เสื้อยืด กับ Dimension กลุ่มสินค้า = APPAREL
  • 🎯 ผลลัพธ์: เมื่อเปิด Sales Order แล้วเลือกลูกค้า บริษัท A ระบบจะใส่ Dimension สาขา = BKK ให้ทันที! และพอเลือกสินค้า เสื้อยืด ระบบก็จะใส่ Dimension กลุ่มสินค้า = APPAREL ให้เลย ไม่ต้องคีย์เอง
  • 🔑 วิธีตั้งค่า: ไปที่หน้าข้อมูลหลักที่ต้องการ (เช่น Customer Card, Item Card) แล้วเลือกเมนู Dimensions เพื่อตั้งค่า Default ได้เลย
การเซตอัพ Default Dimension ใน Customer Card - Business Central
การเซตอัพ Default Dimension ใน Customer Card - Business Central

.

Set up default dimensions for account types (ตั้งค่า Dimension เริ่มต้นให้ทั้งกลุ่ม)

คล้ายกับข้อ 4 แต่เป็นการตั้งค่าแบบ “เหมายกโหล” ให้กับข้อมูลทั้งหมดที่เลือกทั้งกลุ่มเลยทีเดียว

  • 🎯 ตัวอย่าง: เราอยากให้ทุก G/L Account ที่อยู่ในหมวด “รายได้” (Income Statement) ทุกตัวต้องระบุ Dimension แผนก เสมอ
  • 🎯 วิธีตั้งค่า: ไปที่หน้า Chart of Accounts Highlight เลือก G/L Account หลายๆ ตัวพร้อมกัน จากนั้นกด Dimensions-Multiple แล้วแล้วระบุ Dimensions เพื่อตั้งค่าทีเดียวทั้งหมด
  • 🔑 คีย์สำคัญ: ช่วยคุมให้การลงบัญชีมีมาตรฐานเดียวกันทั้งบริษัท ช่วยประหยัดเวลา ไม่ต้องไปไล่ตั้งค่าทีละบัญชี
การเซตอัพ Dimensions-Multiple ใน GL Account
การเซตอัพ Dimensions-Multiple ใน GL Account

ตัวอย่างตามภาพ คือ เซตอัพว่า G/L ทั้งหมดนี้ต้องระบะ Department Dimension เท่านั้น ถึงสามารถ Post รายการได้

.

Set up default dimension priorities (การจัดลำดับความสำคัญของ Dimension เริ่มต้น)

ในระบบ Business central เซต default dimension ได้หลายที่มาก ที่ได้ใช้บ่อยๆ เช่น Salesperson/Purchaser, Location, G/L Account, Customer, Vendor, Item, Resource Group, Resource, Project, Bank Account

เมื่อมีการตั้งค่า Default Dimension ไว้หลายที่ด้วยข้อมูลที่ไม่สอดคล้องกัน (เช่น ตั้งไว้ที่ลูกค้า ว่า Branch = BKK และตั้งไว้ที่ Salesperson ว่า Branch = CNX)

คำถามคือ… ระบบควรจะเลือกอะไร?

Priority คือการบอกระบบว่าจะให้ความสำคัญกับ Default Dimension จากที่ไหนก่อน

  • 🎯 หลักการทำงาน: ระบบจะค้นหา Default Dimension ตามลำดับที่เราตั้งค่าไว้ในหน้า Default Dimension Priorities เช่น เราอาจจะตั้งว่า 1. Salesperson, 2. Customer, 3. Item
  • 🎯 ตัวอย่าง:
    • พนักงานขาย นาย A ถูกตั้งค่า Default Dimension แผนก = SALE-TEAM1
    • ลูกค้า บริษัท B ถูกตั้งค่า Default Dimension แผนก = CORPORATE
    • เมื่อ นาย A ขายของให้ บริษัท B ระบบจะยึด Dimension จาก นาย A คือ SALE-TEAM1 เพราะเราตั้ง Priority ของ Salesperson ไว้สูงกว่า Customer
  • 🔑 คีย์สำคัญ: เป็นฟีเจอร์ขั้นสูงที่ช่วยแก้ปัญหาความขัดแย้งของข้อมูล ทำให้ข้อมูลที่บันทึกถูกต้องตาม Logic ธุรกิจที่ซับซ้อนได้
การ Set up default dimension priorities

โดยการเซต default dimension priorities จะเซตแยกตาม Source Code ของเอกสาร เช่น ในเอกสารของ Sale เราอาจเซต priorities ส่วนเอกสาร Purchase เราสามารถเซต priorities อีกแบบได้

.

แล้วววว ถ้าไม่ได้เซต default dimension priorities หล่ะจะเกิดอะไรขึ้น ??

ลองนึกถึงเหตการณ์ว่า ถ้าวางของ 2 อย่างทับกัน ของที่วางทีหลังสุดจะอยู่ข้างบนสุดใช่มั้ยครับ? BC ก็ใช้หลักการเดียวกัน

  • 🎯 กฎคือ “คนสุดท้ายชนะ” (The Last Entered Account Wins): ระบบจะยึดค่า Dimension ของ Master Data ที่เราใส่ในเอกสารเป็น “ตัวล่าสุด”
  • ตัวอย่างง่ายๆ ใน Sales Order:
    1. คุณเลือก ลูกค้า (ใส่เป็นคนแรก) -> ระบบดึง Dimension ของลูกค้ามาใส่ให้ก่อน
    2. คุณเลือก สินค้า (ใส่เป็นคนที่สอง) -> ระบบจะเอา Dimension ของสินค้ามา “เขียนทับ” ของลูกค้าทันที !!

.

Set up dimension combinations (การควบคุมการใช้ Dimension ร่วมกัน)

ฟีเจอร์สุดท้ายที่ทรงพลังมาก คือการสร้าง “กฎ” เพื่อควบคุมการใช้ Dimension คู่กัน ป้องกันการบันทึกข้อมูลที่ผิดหลักความเป็นจริง

  • 🎯 ตัวอย่าง: เราตั้งกฎว่า Dimension โปรเจกต์ = สร้างคอนโด ห้ามใช้คู่กับ Dimension แผนก = HR เด็ดขาด! เพราะค่าใช้จ่ายของโปรเจกต์ก่อสร้างไม่ควรจะมาจากแผนกบุคคล
  • 🎯 วิธีตั้งค่า: ไปที่หน้า Dimension Combinations แล้วเราสามารถเลือกว่า Dimension คู่ไหนที่ Blocked (ห้ามใช้ด้วยกัน) หรืออนุญาตให้ใช้คู่กันได้
  • 🔑 ผลลัพธ์: หาก User พยายามจะบันทึกเอกสารโดยใช้ Dimension คู่ที่ถูกบล็อกไว้ ระบบจะขึ้น Error และไม่ยอมให้บันทึกทันที เป็นการรักษาความถูกต้องของข้อมูล (Data Integrity) ที่ดีเยี่ยม
การเซตอัพ dimension combinations
การเซตอัพ dimension combinations
Errror ที่เกิดจากการเซตอัพ dimension combinations เป็น Block

.

การตั้งค่าทั้งหมดนี้อาจจะดูเยอะ แต่ถ้าเราวางแผนและตั้งค่าตั้งแต่แรก มันจะทำให้การทำงานกับ Business Central ราบรื่นและข้อมูลที่ได้ก็น่าเชื่อถือสุดๆ ครับ!

.

แล้วธุรกิจของคุณล่ะครับ? มีโจทย์อะไรที่คิดว่า Dimension จะเข้ามาช่วยได้บ้าง?

ใครใช้ Dimension วิเคราะห์ข้อมูลอะไรเจ๋งๆ บ้าง ลองแชร์กันได้นะครับ! 👇

.

.

FAQ (คำถามที่พบบ่อย)

.

Global Dimension กับ Shortcut Dimension ต่างกันอย่างไร?

  • ให้คิดง่ายๆ แบบนี้ครับ:
    • 🚀 Global Dimensions (มีได้ 2 ตัว): เป็นเหมือน “VIP” ของ Dimension ที่บริษัทใช้บ่อย ๆ เป็น Dimension ที่สำคัญที่สุดของบริษัท (เช่น สาขา, แผนก) ข้อมูลของ 2 ตัวนี้จะถูกเก็บไว้ในตารางข้อมูลหลักโดยตรง ทำให้เวลาเรา Filter หรือทำรายงานจะ เร็วฟ้าผ่า !!
    • 👉 Shortcut Dimensions (มีเพิ่มอีก 6 ตัว): คือ “ทางลัด” หรือ “Favorites” ที่เราใช้บ่อยๆ ครับ ประโยชน์ของมันคือความสะดวกสบาย ทำให้เราเห็นและกรอกค่า Dimension เหล่านี้ได้จากหน้าเอกสารเลย ไม่ต้องคลิกหลายชั้นเพื่อเข้าไปเลือก

.

เราสามารถมี Dimension ได้สูงสุดกี่ตัว?

  • ในทางเทคนิค Business Central ไม่จำกัดจำนวน Dimension ที่เราจะสร้างครับ จะสร้าง 20-30 ตัวก็ยังได้!
  • ⚠️ แต่ในทางปฏิบัติ (Best Practice): เราไม่ควรสร้างเยอะเกินความจำเป็นครับ เพราะจะทำให้ผู้ใช้งานสับสน, กรอกข้อมูลช้าลง, และดูแลรักษายาก แนะนำว่าธุรกิจส่วนใหญ่จะใช้ Dimension ที่จำเป็นจริงๆ ประมาณ 4-8 ตัว ก็ครอบคลุมการวิเคราะห์ที่สำคัญเกือบทั้งหมดแล้วครับ

.

ถ้าตั้งค่า Dimension ในรายการที่ Post ไปแล้วผิด จะแก้ไขย้อนหลังได้หรือไม่?

  • แก้ไขได้ครับ…แต่ต้องใช้ความระมัดระวังสูงมาก! 🚨
  • ใน Business Central จะมีเครื่องมือที่ชื่อว่า Correct Dimensions อยู่ในหน้า General Ledger Entries ซึ่งอนุญาตให้เราแก้ไขค่า Dimension ของรายการที่บันทึกบัญชีไปแล้วได้
  • คำเตือน: การแก้ไขนี้มีผลกระทบโดยตรงต่องบการเงินและรายงานวิเคราะห์ทั้งหมด ดังนั้นจึงควรทำโดยผู้ใช้งานที่มีประสบการณ์หรือที่ปรึกษาเท่านั้นครับ ทางที่ดีที่สุดคือการวางแผนและตรวจสอบ Dimension ให้ถูกต้องก่อน Post เสมอครับ

.

ตั้งค่า Dimension เสร็จแล้ว จะดึงข้อมูลมาดูได้อย่างไร?

  • เครื่องมือที่ทรงพลังที่สุดและใช้งานง่ายที่สุดใน Business Central คือหน้า Analysis by Dimensions ครับ
  • 📊 มันคือ PivotTable ที่อยู่ใน BC เลย! เราสามารถลาก Dimension ที่ต้องการมาวางเป็นแถว (Rows) หรือคอลัมน์ (Columns) แล้วให้ระบบแสดงยอดเงินต่างๆ เช่น ยอดเคลื่อนไหว (Net Change) หรือยอดคงเหลือ (Balance) ได้ทันที
  • จากหน้านี้เรายังสามารถ “Drill-down” หรือคลิกเข้าไปดูรายละเอียดของ G/L Entry ที่เป็นที่มาของตัวเลขนั้นๆ ได้ด้วย และแน่นอนว่าสามารถดึงข้อมูลทั้งหมดนี้ไปทำ Dashboard สวยๆ ต่อใน Power BI ได้สบายๆ ครับ

.

การใช้ Dimension เยอะๆ ทำให้ระบบช้าลงหรือไม่?

  • มีผลแน่นอนครับ โดยเฉพาะกับ Dimension ทั่วไป (ที่ไม่ใช่ Global)
  • เหตุผลก็คือ เวลาเรารันรายงานโดยกรองข้อมูลจาก Dimension ที่ไม่ใช่ Global Dimension ระบบจะต้องวิ่งไปค้นหาข้อมูลจากตารางที่เก็บ Dimension แยกต่างหาก ซึ่งเป็นการทำงานเพิ่มขึ้น
  • 💡 นี่คือเหตุผลที่ Global Dimensions สำคัญมาก! เพราะข้อมูลของ Global Dimensions ถูกเก็บไว้ในตารางเดียวกับรายการทางบัญชีเลย ทำให้การดึงข้อมูล เร็วและมีประสิทธิภาพกว่าอย่างเห็นได้ชัด ดังนั้น 2 Dimension ที่คุณใช้กรองข้อมูลในรายงานบ่อยที่สุด ควรตั้งให้เป็น Global Dimensions เสมอครับ

.

Reference :

https://learn.microsoft.com/en-us/training/modules/dimensions-dynamics-365-business-central/