XBRL ย่อมากจาก eXtensible Business Report Language เป็นภาษาที่พัฒนาจากภาษา XML เพื่อใช้ในการนำเสนอข้อมูลด้านธุรกิจ เพื่อให้องค์กรทั้งหลายสามารถมีภาษากลางร่วมกันที่ใช้ในการสื่อสาร และแลกเปลี่ยนข้อมูลด้านการเงินซึ่งกันและกัน
ก่อน ที่เข้าสู่ XBRL นั้น ผมอยากชี้ให้เห็นถึงเหตุผลการพัฒนาภาษานี้ขึ้นมาก่อน ทั้งนี้คงต้องย้อนกลับไปถึงเรื่อง information exchange
ความเข้าใจผิด
มี หลายคนเข้าใจว่า XML เป็นเทคโนโลยีที่ใช้ในการแลกเปลี่ยนข้อมูล ความจริงถูกเพียงบางส่วนเท่านั้น XML ทำหน้าที่เป็นตัวกลางในการสื่อสารเพื่อใช้ในการแลกเปลี่ยนข้อมูลเท่านั้น การแลกเปลี่ยนข้อมูลกันได้นั้น จะต้องทราบความหมายของข้อมูลของทั้งสองฝ่าย จะต้องทำการแปลงข้อมูลดังกล่าวให้เป็นข้อมูลที่รับทราบทั้งสองฝ่ายเสียก่อน ทั้งในรูปแบบและโครงสร้าง ซึ่งข้อมูลทีรับทราบกันทั้งสองฝ่ายนั้นขอเรียกว่าเป็น "ข้อมูลกลาง" แล้วกัน
รูปแบบและโครงสร้าง
คำว่า รูปแบบ และ โครงสร้าง หมายถึงอะไร แล้วทำไมจึงมีความสำคัญนัก
โดย ทั่วไป "ข้อมูลที่ใช้ในการแลกเปลี่ยน" จะประกอบ ข้อมูลย่อยหลายๆตัวที่มีความสัมพันธ์กันมาประกอบกันเป็นโครงสร้างหนึ่ง โดยที่ "รูปแบบ" หมายถึง วิธีการนำเสนอของข้อมูลเดี่ยว
การ แลก เปลี่ยนข้อมูลในแบบอัตโนมัติ จะเกิดไม่ได้หากข้อมูลที่ทั้งฝ่ายต้องการมีความขัดแย้งกัน (conflict)ใน รูปแบบ หรือ โครงสร้าง หรือ ทั้งคู่
ตัวอย่างข้างล่างจะเป็นตัวอย่างของข้อมูลของสององค์กรที่ต้องการแต่มีความขัดแย้งกัน
ตัวอย่างรูปแบบขัดแย้ง
- format display -> mm/dd/yyyy กับ dd/mm/yyyy
- presision -> % กับ เกรด
- หน่วยวัด -> บาท กับ เยน
- decomposition
- ชื่อ-นามสกุล (รวมเป็น field เดียวกัน)
- ชื่อ และ นามสกุล (แยกกัน)
- struture difference
- address1, address2, address3
- address (address1, address2, address3)
- flat และ hierarchy
- product_code, product_name, type
- type (type_code, product*) และ product (product_code, product_name)
เรื่องของความขัดแย้งด้านข้อมูลนั้น เป็นเรื่องที่ศึกษากันมาเนิ่นนาน เป็นปัญหาที่เกิดขึ้นในความพยายามที่จะแลกเปลี่ยนข้อมูลกันระหว่างฐานข้อมูลต่างองค์กรกัน บทความที่น่าสนใจเกี่ยวกับเรื่องนี้สามารถหาอ่านได้จาก On Resolving Schematic Heterogeneity in Multidatabase Systems ของ Won Kim, Injun Choi, Sunit Gala, และ Mark Scheevel
ความต้องการพื้นฐานในการทำ information exchange
การที่จะทำให้องค์กรหนึ่งเข้าใจข้อมูลของอีกองค์กรหนึ่ง มีงานสองอย่าง
- แปลงข้อมูลจากรูปแบบหนึ่งมาเป็นรูปแบบที่ตนเข้าใจ
- แปลงข้อมูลจากโครงสร้างหนึ่งมาเป็นโครงสร้างที่ตนต้องการ
กล่าวคือหากต้องการให้ทั้งสองฝ่ายสามารถแลกเปลี่ยนข้อมูลแบบอัตโนมัติ ทั้งสองต้องมีข้อกำหนดทั้งทางโครงสร้างและรูปแบบที่สอดคล้องกัน ซึ่ง XBRL ถูกพัฒนาเพื่องานนี้โดยเฉพาะ