Mr.Green

สร้าง บันทึกและแบ่งปัน

พิมพ์ค้นหาบทความได้ในช่องค้นหา

 Identity And Label

1.ทำความเข้าใจ Identity & Label

        Identity & Label ในโปรแกรม I2   เป็นคุณสมบัติ( Properties) ของ Entities  ( แต่ Links ไม่มี Identities มีแต่ Label ) เป็นส่วนที่สำคัญ และต้องเรียนรู้ให้เข้าใจ เพื่อสามารถใช้งานโปรแกรมได้อย่างถูกต้อง  แม้แต่ในคู่มือเอง ก็แยกอธิบาย ออกมาเป็น แกน หรือ core หลักอีกตัวหนึ่ง  

2.ความหมายและข้อเปรียบเทียบ ระหว่าง Identity และ Label

          Identity คือค่าใดค่าหนึ่งที่เรากำหนดขึ้นมา เป็นค่าเฉพาะ  เมื่อเราสร้างมันขึ้นมาในชาร์ตเดียวกัน  ค่าจะซ้ำกันไม่ได้  เจตนาเพื่อแยกแยะ ITem หรือรายการในชาร์ต ในกรณีที่เรายังไม่ได้กำหนดค่าเอง  ตอนที่เราลาก Entity เข้ามาในชาร์ตครั้งแรก  โปรแกรมก็จะกำหนดค่ามาให้ทุกครั้ง ไม่ซ้ำกัน เรียงตามลำดับที่เราลากเข้ามา ตามแต่ละชนิดของ Entities ที่เราเลือกให้นึกถึงเลข 13 หลัก หรือหมายเลขมือถือนะครับ หลักการเดียวกัน มันเป็นค่าเฉพาะ ที่เรามักจะใช้เป็นค่า Identity 

          Label  คือคำบรรยายสั้นๆๆ หรือสลาก หรือคำอธิบายที่ไม่ยาวมากจนเกินไป ในการแสดงผลค่าของ Entities ในชาร์ต  ค่าดีฟอลต์ของโปรแกรม (คือค่าที่โปรแกรมกำหนดมา) จะใช้ค่าของ Label มาแสดงผลบนชาร์ต ค่า Label ที่แสดงผลบนชาร์ต มันก็คือค่าเดียวกันกับ Identities  นั้นแหละ ยกเว้นเราจะกำหนดให้ Identity แตกต่างจาก Label ถึงตอนนั้น การแสดงผลบนชาร์ต ถึงจะแสดงค่าของ Labal เอง

เปรียบเทียบระหว่าง  2 ตัวนี้

Label คือตัวแสดงผลบนชาร์ต สามารถให้แสดงซ้ำหรือเหมือนกันได้ หากเป็น  Identities ภายในชาร์ตเดียวกันจะซ้ำกันไม่ได้

3. Identity จะต้องไม่ซ้ำกัน

Identity ภายในชาร์ตเดียวกันและชนิดเดียวกัน เมื่อเพิ่มเข้ามาในชาร์ต  Identity ที่แสดงผลบนชาร์ต จะไม่ซ้ำกัน ยกตัวอย่าง   ในภาพด้านล่าง โปรแกรมจะเพิ่มค่าของ Identity มาให้ไม่ซ้ำกันตามจำนวนที่เราเพิ่มเข้ามา 

4.ค่าที่แสดงผลบนชาร์ตคือLabel

การแสดงผลบนชาร์ต ตัวที่แสดงผลคือ Label จะแยกเงื่อนไขออกได้ 3 เงื่อนไข

  1. กรณีที่  ไม่เปลี่ยนค่าของ Label ให้แตกต่างจาก Identity ตัวที่แสดงผลบนชาร์ตคือ Label เช่นกัน แต่จะนำค่าของ Identity มาแสดง เพราะค่าทั้งสองตัวจะเหมือนกัน
  2. กรณีที่  เปลี่ยนค่าของ Label ให้แตกต่างจาก Identity   ตัวที่แสดงผลบนชาร์ต คือ Label เช่นกัน แต่จะเอาตัวของ Label มาแสดงผล ไม่เอาค่าของ Identity มาแสดงผลอีกแล้ว แต่.. ค่าของ Identity ยังคงมีแค่ไม่แสดงผลในชาร์ต แต่เราสามารถกำหนดให้แสดงผลในชาร์ตได้ หาเราต้องการให้แสดงผลของ Identity

4.วิธีการเปลี่ยนค่าของ Label ให้แตกต่างจาก Identity

เริ่ม โดยการเข้าไปแก้ไขคุณสมบ้ติของรายการ เมื่อเข้าสู่หน้าต่างแก้ไขคุณสมบัติของรายการให้แล้ว ให้คลิกตรง Label & Identity ให้คลิกเลือกหน้าคำว่า Label is Deferent from Identity

ในกรณีที่ไม่ได้เลือก ให้ Label แตกต่างจาก Identity ตรง Label จะไม่สามารถเปลี่ยนชื่อได้ ในช่องดังกล่าว จะมีสีทีบ ค่าที่แสดงผลในชาร์ตตอนนี้ จะแสดงค่าตาม Identity คือ Web Page 1   เพราะค่าของ Identity กับ Label คือค่าเดียวกัน เรายังไม่ได้กำหนดให้แตกต่างกัน

ในกรณีที่เลือก เพื่อเปลี่ยนให้ Label แตกต่างจาก Identity

ตรง Label  สามารถเปลี่ยนชื่อได้ ในช่องดังกล่าว สามารถพิมพ์อะไรก็ได้ตามที่เราต้องการ ในช่อง Identity ค่าเดิมคือ Web Page 1 ยังคงมีอยู่ ค่าที่แสดงผลในชาร์ตตอนนี้ จะแสดงค่าตาม Label  คือ แสดงตามที่เราพิมพ์ นั้นคือ หน้าเว็บไซต์

5. Identities จะรวมตัวกัน

การรวมตัวของ Identity  เป็นหลักการที่ใช้มากในการนำเข้า แต่ในการเขียนชาร์ตสามารถนำประโยชน์ของมันมาใช้ได้เช่นกัน

แต่อย่างง  และสับสน ในกรณีที่มีคำอธิบายว่า ในชาร์ตเดียวกัน Identities ต้องไม่เหมือนกัน หรือซ้ำกัน  ในกรณีนี้คือ เราเขียนชาร์ตขึ้นมา 2 ชาร์ต ในแต่ละชาร์ตนั้นมี Identity เหมือนกัน เราสามารถเขียนได้  และมันจะมามีประโยชน์ในจุดที่จะอธิบายต่อไปนี้

ในหลักการของโปรแกรมที่กำหนดไว้ว่า  หากเอาชาร์ต 2 ชาร์ต มารวมกัน  ในแต่ละชาร์ต มี Identities  ที่มีเหมือนกัน  เมื่อคัดลอกมาวางรวมกัน  Identity นั้นจะรวมตัวกันเหลือแค่ตัวเดียว เช่นเดียวกัน ในกรณีที่เรานำเข้าข้อมูล หากในคอลัมภ์ใดของแต่ละแถวซ้ำกัน มันก็จะรวมตัวกัน 

ยกตัวอย่าง เราสร้างชาร์ต ขึ้นมาชาร์ตหนึ่ง แล้วกำหนดค่า Identities ให้เป็นเบอร์มือถือ สมมุติว่าเบอร์ 1234567890  แต่เราไม่ทราบว่าเป็นเบอร์ของใคร เราก็เลยกำหนด Label ว่าไม่รู้ใครเป็นเจ้าของ

ต่อมา เวลาผ่านไป เราก็เขียนชาร์ตใหม่อีก และเราพบเบอร์มืออีกมันก็เบอร์ 1234567890 นั้นแหละแต่เราจำไม่ได้ว่าเคยเขียนชาร์ตแล้ว  แต่ครั้งนี้ เรารู้เจ้าของ เช่นของนายโกง  เราก็กำหนดเลย Identity=เบอร์มือถือ  และกำหนด Label=นายโกง

เมื่อเขียนเสร็จ ไม่รู้จะทำอะไรต่อ ก็ลอง เอาชาร์ตอันที่เราเขียนอันก่อน กับชาร์ตที่เราเพิ่งเขียนเสร็จ  มาโยนรวมกัน  เราจะรู้ทันทีว่า  เบอร์มือถือ 1234567890 เป็นของนายโกง  เพราะ Identities มันรวมตัวกันและตัว Label จะโชว์ให้ว่าชื่อนายโกง

ส่วนในกรณี นำเข้าข้อมูล เมื่อเรารู้ว่าตามที่อธิบายมาทั้งหมด มันจะเกิดประโยชน์ตรงที่ว่า เมื่อเราได้ข้อมูลมา เราดูข้อมูลแล้ว เราสามารถกำหนดได้ทันทีว่า จะเอาข้อมูลคอลัมภ์ไหนเป็น Identity  คอลัมภ์ไหน เป็น Label หรือไม่เอาคอลัมภ์ไหนเลย แต่มากำหนดเอง หรือไม่ ข้อมูลที่ได้มาไม่สมบูรณ์ เช่นในคอลัมภ์บางแถวไม่มีหรือไม่ครบ เราก็สามารถตกแต่งข้อมูล โดยยึดหลักว่า หากเหมือนกันมันจะรวมกัน ข้อมูลที่เรานำเข้า และแสดงผลออกมาเป็นชาร์ตมันก็จะสมบูรณ์ตามที่เราต้องการ

อ่านรายละเอียดเกี่ยวกับการรวมตัวของข้อมูล ในโปรแกรม i2

อ้างอิงภาพ  จะเห็นว่า Link ไม่มี Identities มีแต่ Label อย่างเดียว แค่แสดงผลว่า มีการกระทำระหว่าง 2 Entity อย่างไรและจะเปลี่ยนค่า Label ของ Links อย่างไรก็ได้ โดยจะเขียนขึ้นมาเองหรือเลือกจากชนิดของ Label ก็ได้

….แต่ Links ค่อนข้างจะสำคัญมาก ในขั้นตอนการนำเข้า การวิเคราะห์ข้อมูล มีฟั่งชั่นหรือรูปแบบที่หลากหลายมาก เพราะมันเหมือนคำกริยา คือมันสามารถบรรยายการกระทำของ Entities ได้อย่างดี ในการนำเข้า หากเราไม่เข้าใจ Links ดีพอ มันจะไม่สามารถนำเสนอหรือวิเคราะห์ ออกมาได้ดีเท่าที่ควร

6.Identities กรณีที่ปล่อยให้ว่างได้

ปกติ Identity จะปล่อยให้ว่างไม่ได้ จะต้องใส่ค่าไว้ แต่รุ่นใหม่ๆๆ สามารถปล่อยให้ว่างได้ โดยการคลิกเลือก Label is Defferrent from Identity แล้วพิมพ์ค่าของ Label ลงไป

ส่วนกรณีที่เรานำเข้าข้อมูล จะไม่สามารถปล่อย Entities  ว่างได้ เช่นกัน จะปล่อยให้ว่างในกรณีเดียวคือในคอลัมภ์ที่เรากำหนดไว้ว่าให้เป็น Identities นั้น มีแถวใด แถวหนึ่งไม่มีข้อมูล เราก็สามารถกำหนดได้ว่าปล่อยให้ว่างได้ 

วิธีการ คลิกตรงค่าของ Identities แล้วคลิกเลือก ตามภาพข้างล่าง

อ้างอิงตามภาพ ความหมายคือ หากไม่มีค่า Identity ของข้อมูลที่เรากำลังนำเข้าข้อมูล  ก็ให้ใช้เงื่อนไขนี้ เพื่อให้โปรแกรมสร้าง Entity  ให้ มันจะช่วยเราได้มากในกรณีที่เราต้องการวิเคราะห์ในเรื่องอื่นๆๆ 

อย่างเช่น ในกรณีที่เราต้องการวิเคราะห์เส้นทางการเงิน หากมีการโอน จะมีฝ่ายที่โอนและฝ่ายที่รับโอน แสดงว่า Entities จะมีครบ  2 Entity คือฝ่ายโอนและรับโอน  โปรแกรมจะเสร้าง Link ให้พร้อมกับแสดงยอดเงินที่มีการทำธุรกรรมระหว่าง 2 บัญชี (2 Entity)

แต่ มันจะเกิดปัญหา กรณีมีการฝาก หรือการถอน ในคอลัมภ์ที่กำหนดให้เป็น Entity จะมีแค่ตัวเดียว เฉพาะบัญชีของของฝ่ายที่ฝากหรือถอน   แต่อีกตัวจึงไม่มีเพราะมันเป็นการฝากหรือถอน ดังนั้นจะมีแถวในคอลัมภ์นั้นที่ปล่อยให้ว่างไว้

เมื่อเรานำเข้าข้อมูล  โปรแกรมจะไม่สร้าง Link ให้  เพราะมีแค่ Entity ตัวเดียว ไม่ครบองค์ประกอบตามความหมายของโปรแกรมที่ว่างให้เหมือนลูกตุ้มยกน้ำหนัก คือจะต้องมีลูกตุ้ม สองด้าน 

เมื่อเรากำหนด  Link แสดงยอดเงินที่ถอนหรือฝาก  แต่ Link ไม่ได้แสดงให้เรา เพราะมี Enitity ตัวเดียว เท่ากับว่าข้อมูลของเราที่ต้องการวิเคราะห์จะไม่สมบูรณ์ทันที 

ทางแก้ คือกำหนดตามภาพนั้นแหละครับ โดยกำหนดว่า หากไม่มีค่า Identity (ค่าในคอลมภ์ที่เรากำหนดแต่ไม่มีในแถวบางแถว) ก็ให้สร้าง Entity ด้วย โดยให้เป็นตัวว่างเปล่า

เมื่อโปรแกรมสร้าง Entity ให้ ก็เท่ากับมี Entity ครบ 2 ตัว โปแกรมก็จะสร้าง Link ให้ แล้วก็จะโชว์ยอดเงินที่ถอนหรือฝากครบ เมื่อนำข้อมูลออกเป็นชาร์ตข้อมูล มันก็จะสมบูรณ์ ตามที่เราต้องการ

สรุป

สุดท้ายบทความคิดว่า หากใครหลงเข้ามาอ่านและสนใจด้านนี้ น่าจะพอเข้าใจโครงสร้างของโปรแกรมในส่วน Core Identities&Label ซึ่งเป็นส่วนที่คิดว่าน่าจะสำคัญมากที่สุด  สรุปให้อีกครั้ง เกี่ยวกับ Identity & Label ในโปรแกรม I2

Entity เปรียบเสมือนคำนาม แทนค่าสิ่งของบนโลกใบนี้ ภายในหรือคุณสมบัติของ Entity  มีส่วนประกอบหลายส่วนที่แสดงผลในรูปแบบของคุณสมบัติ (Perproties) เช่น

  • Identity
  • Label
  • Attribute
  • ฯลฯ

Link เปรียบเสมือนคำกริยา ใช้สร้างการเชื่อมต่อระหว่าง Entity 2 ตัว เพื่อบอกหรืออธิบายว่ามีความสำพันธ์กันอย่างไร ในการนำเข้าข้อมูลมาก ในงานด้านวิเคราะห์ ในความเห็นส่วนตัวแล้ว Link ค่อนข้างจะสำคัญกว่า Entity คุณสมบัติของ Link แม้ว่าจะขาด Identity ไป แต่ มีคุณสมบัติทางด้านอื่นๆๆ เพิ่มมามาก ค่อนข้างจะมากกว่า Entity อย่างเช่นการแสดงของเส้น การกำหนดวันเวลาในเส้น การเลือกการแสดงผลของเส้น ความน่าเชื่อถือของความสำพันธ์ รระหว่าง 2 Entities

ข้อมูลอ้างอิงจาก

https://docs.i2group.com/anb/9.4.1/adding_information_to_items.html

Tags:  , ,

Leave a Reply

Your email address will not be published. Required fields are marked *