Transforming incoming data
Transforming incoming data เป็นขั้นตอนการแปลงข้อมูลที่จะนำเข้า พูดง่ายคือการปรับแต่งข้อมูลในคอลัมภ์ให้เหมาะสม หรือมีรูปแบบที่ถูกต้องสำหรับการนำเข้าข้อมูล
โดยปกติข้อมูลที่เราจะนำเข้า จะต้องมีรูปแบบที่โปรแกรมได้ออกแบบมาแล้ว คือจะอยู่ในลักษณะฐานข้อมูล หากมองให้ชัดที่สุดคืออยู่ในรูปแบบของ Excel คือจะมีแถวและคอลัมภ์ บางทีรูปแบบของข้อมูลที่เรามีอยู่ อาจจะไม่เหมาะสมที่จะนำเข้า เช่นบางคอลัมภ์ ข้อมูลยังรวมกันอยู่ หรือบางคอลัมภ์ข้อมูลของแต่ละแถวอาจจะไม่ตรงกัน หรือบางข้อมูล เมื่อมองข้อมูลแล้ว มันไม่ครบตามที่โปรแกรมได้วางแนวไว้ เช่นมี Entity ตัวเดียว ดังนั้นเราสามารถจะดำเนินการเพื่อแปลงข้อมูลให้เหมาะสมเพื่อสำหรับนำเข้า
Table of Contents
1.หลักสำคัญในการแปลงข้อมูลที่นำเข้า (Transforming incoming data)คือ
ให้นึกถึง ลูกตุ้มยกน้ำหนัก จะต้องมีลูกน้ำหนักสองข้าง หากจะเปรียบมันก็คือ Entities จำนวน 2 ตัว ต่อมาด้ามมันก็จะเปรียบเหมือน Link เช่น การแสดงความเป็นเจ้าของ ก็จะต้องมี Entity ตัวหนึ่งแทน เจ้าของ และ Entity แทน สิ่งของ ในกรณีเช่นนี้ หากข้อมูลของเรามีแค่ คอลัมภ์เดียว ที่สามารถแทนค่าสิ่งของได้ แต่ไม่มีคอลัมภ์ที่แสดงความเป็นเจ้าของ เราสามารถปรับแต่งได้ 2 แบบ
- อย่างแรก เพิ่ม Entities เป็นคอลัมภ์ใหม่ ในข้อมูลดิบที่อยู่ในมือ ที่แสดงความเป็นเจ้าของ
- อย่างที่สอง ไม่ต้องทำอะไร แต่ไปกำหนด Entity แบบตายตัวขึ้นมาเองในขั้นตอน Assign Columns
ในกรณีที่เราแต่งข้อมูลดิบ เมื่อกำหนด Entities ได้ 2 ตัวแล้ว ว่าจะเอาคอลัมภ์ไหน เป็น Entity ต่อมาก็ต้องดูว่า จะใช้ คอลัมภ์ไหน เป็น Identity ของ Entity นั้น
การกำหนดว่า จะให้ คอลัมภ์ไหน เป็น Identity ให้นึกหรือคำนึงถึง นิยามของโปรแกรมด้วย ที่กำหนดว่า หาก Identity ในคอลัมภ์ไหน เหมือนกัน มันจะรวมตัวเป็น Identity เดียว ส่วนมากการปรับแต่ง ก็เพื่อเหตุผลนี้ ซะส่วนมาก เพราะบางที หาก Identity แตกต่างกันนิดเดียว มันก็จะไม่รวมตัวให้แล้ว หากมันไม่รวมตัวให้ เมื่อถึงขั้นตอนการนำเข้า และวิเคราะห์ มันอาจจะเกิดข้อผิดพลาดได้ เพราะบางที Identity ตัวเดียวกัน แต่ มันแยกแสดงค่าคนละตัวกัน
วิธีการปรับแต่งข้อมูล มันมีหลากหลายวิธี แล้วแต่เราต้องการ แต่ในส่วนตัวแล้ว ส่วนมากจะปรับแต่งข้อมูลผ่าน Columns Actions อาจจะมีบางคนที่ ปรับแต่งในต้นฉบับของไฟล์ที่เราจะทำเข้า ก็แล้วแต่ความถนัด แต่ในความคิดเห็นส่วนตัวคิดว่า มันทำให้เสียเวลา เพราะนำเข้าครั้งหนึ่ง ก็ต้องปรับแต่งไฟล์ต้นฉบับที่จะนำเข้าทุกครั้ง แต่หากเรามาปรับแต่งข้อมูล แปลงค่าหรือแก้ไขค่า ผ่านขั้นตอนของ Columns Action เราแต่งแค่ครั้งเดียว หากครั้งต่อไปข้อมุูลชนิดเดียวกัน ก็สามารถสร้างเป็น Imports specifications แล้วนำเข้าได้ทันที
ในความเห็นส่วนตัวคิดว่า ดีกว่า แต่งหรือแปลงข้อมูล ในข้อมูลดิบ เช่นกรณีข้อมูลเราเป็นไฟล์ Excel หรือไฟล์ Txet เพราะหากเราแต่งแบบนั้น เท่ากับว่า เมื่อเราได้ข้อมูลใหม่มา หรือมีข้อมูลหลายตัวที่ไม่เหมือนกัน แค่แตกต่างกันนิดเดียว หรือแตกต่างกันมาก นั้นหมายความว่า ก่อนนำเข้าเราต้องปรับแต่งข้อมูลของเราเพื่อให้สะดวกในการนำเข้าทุกครั้งทุกไฟล์ที่อยู่ในมือของเรา
แต่ ถ้าเราใช้การปรับแต่งผ่านทาง Columns Actions เมื่อปรับแต่งเสร็จแล้ว บันทึกรูปแบบการนำเข้าไว้ เมื่อมีไฟล์ใหม่ ที่เหมือนกับไฟล์เดิมที่เราปรับแต่งแล้ว ก็สามารถนำเข้าได้ทันทีไม่ต้องปรับแต่งไฟล์ต้นฉบับอีก หรือ อาจจะไม่เหมือน แต่แตกต่างกันไม่มาก ก็สามารถใช้วิธีการแก้ไขรูปแบบการนำเข้าแทน จะเห็นว่าสะดวกและเร็วกว่ามาปรับแต่งไฟล์ต้นฉบับ
2.Columns Action
หน้าต่างในขั้นตอนของ Columns Action คือหน้าสำหรับการปรับแต่งข้อมูลที่เรากำลังจะนำเข้าหรือการแปลงข้อมูลจะอยู่ในหน้านี้ทั้งหมด แบ่งการทำงานออกเป็น หัวข้อใหญ่ ๆๆ ได้ 3 หัวข้อ ได้แก่
- Combining columns คือการใช้คำสั่งเพื่อรวมตัวของคอลัมภ์
- Modifying values การปรับแต่งค่าต่างๆๆ ในคอลัมภ์
- Exporting transformed data การส่งออกไปเป็นข้อมูลใหม่ เพื่อตรวจสอบ
3.Combining columns
คือการที่เราต้องการจะสร้างข้อมูลใหม่จากข้อมูลที่เรากำลังจะนำเข้า โดยการรวมค่าจากค่าที่มีอยู่ในคอลัมภ์ อย่างเช่น ใน คอลัมภ์หนึ่ง มีรหัสพื้นที่ของมือถือ เช่น 123 อีกคอลัมภ์หนึ่ง เป็นหมายเลขมือถือ 5552222 เมื่อเรารวมคอลัมภ์และตั้งชื่อคอลัมภ์ใหม่ ว่า Full Telephone number จะได้ข้อมูลในคอลัมภ์เป็น 1235552222
วิธีการในการรวมคอลัมภ์
- คลิก New เพื่อสร้างใหม่ จะปรากฏหน้าต่างขึ้นมา
- ตั้งชื่อคอลัมภ์ที่เราจะรวมเป็นคอลัมภ์ใหม่
.ในกรอบหน้าต่างที่ให้เราสร้างคอลัมภ์ใหม่ จะเห็นว่ามีการแยกออกเป็น 2 ส่วน นั้นคือ
- ในกรอบ Source Columns จะมีชื่อของคอลัมภ์เรียงให้เราเลือก
- ในกรอบ Joined Columns มันจะแสดงให้เราเห็นว่ามีคอลัมภ์ไหนบ้างที่เราเลือก
- การเลือกใช้วิธีการดับเบิลคลิกในกรอบSource Columns หรือเลือกคอลัมภ์แล้วใช้เครื่องหมาย > เพิ่งส่งเข้าไปยังคอลัมภ์ Joined Columns หากเราต้องการให้ ส่วนไหนอยู่ก่อนหรือหลัง ก็สามารถคลิกเลือก แล้วไปคลิก UP Down ในช่องข้างล่างได้
ให้ย้อนกลับมาดูในกรอบ Source Columns อีกครั้ง ท้ายของชื่อคอลัมภ์ จะมีคำว่า (space) (comma) (period) (colon) (new line) หากเราเลือกพวกนี้ไปด้วย มันจะทำหน้าทีแยกระหว่างคอลัมภ์ที่เราสร้าง อย่างเช่นในภาพ เราเพิ่มคอลัมภ์ ที่ 1 กับ 3 หากเราต้องการให้คอลัมภ์นั้นอยู่แยกจากกัน เราสามารถเลือกใช้ คำสั่ง space ได้
4.Modifying values
ในส่วนนี้เป็นส่วนที่ใช้จัดการกับค่าของคอลัมภ์ เราสามารถปรับแต่งค่าที่เรากำลังจะนำเช้าได้ เช่น สามารถลบตัวอักษรที่เราไม่ต้องการออกได้ หรือเปลี่ยนเป็นการเพิ่มที่เราต้องการได้
ตัวช่วยในการจัดการคอลัภม์ จะแบ่งออกเป็น 2 กรอบใหญ่ (ในกรณีที่เรายังไม่เลือกวิธีการใดที่จะจัดการกับค่าของคอลัมภ์) มี
Actions Applied จะเรียงรายการที่เราสามารถเลือกเพื่อไปจัดการหรือกระทำกับคอลัมภ์ใด คอลัมภ์หนี่งได้
Actions Applied คือรายการที่เราเลือกเพื่อจะเอาไปใช้งานในการจัดการกับคอลัมภ์ มันจะแสดงผลในกรอบนี้ จากตัวอย่างในภาพ เป็นการเพิ่มคำหน้าคอลัมภ์ Add Prefix จะปรากฏอยู่
วิธีการดำเนินการกับคอลัมภ์และการนำไปใช้ยังคอลัมภ์
- ต้องคลิกเลือกคอลัมภ์ที่เราต้องการแก้ไขค่าทุกครั้ง หากเรามีการแก้ไขคอลัมภ์ไหน จะมีรูปสัญญาลักษณ์รูปโซ่ นั้นแสดงให้เห็นว่า คอลัมภ์นี้ เราแก้ไข
- ในกรอบหน้าต่าง Available Actions คือตัวเลือกว่าเราจะกระทำหรือการจัดการ ว่าเราต้องการแก้ไขข้อมูลในคอลัมภ์อย่างไร โดยคลิกเลือกในกรอบหน้าต่างนี้ การเลือกเพื่อใช้อาจจะดับเบิลคลิก หรือใช้ปุ่มลูกศรก็ได้ หลังจากนั้นโปรแกรมจะโชว์ตัวที่เราเลือกไว้ในหน้าต่าง Actions Applied อย่างเช่นในภาพได้เลือก Add Prefix (คือการเพิ่มส่วนหน้าข้อความของคอลัมภ์)
- ในกรอบหน้าต่าง Actions Applied ตามตัวอย่างเราเลือก Add Prefix ก็จะโชว์ให้เห็นในกรอบหน้าต่างนี้ หากเราเลือกตัวคำสั่งหลายตัว โปรแกรมก็จะก็จะโชว์หลายตัว การทำงาน จะทำตามตัวเลือกที่เราเลือกจากตัวข้างบนลงมาข้างล่าง หากเราต้องการให้ทำตามตัวเลือกไหนก่อน ก็สามารถเลือก ตรง UP หรือ Down ได้ เพื่อจัดเรียงลำดับให้ทำงานตามที่เราต้องการ
- ในส่วนนี้ เงื่อนไขหรือตัวเลือก การกำหนดค่าในกรอบด้านขวามือ ที่ให้เรากำหนดค่า จะแตกต่างไปตามที่เราเลือกในช่อง Available Actions โดยจะแยกเป็น 2 ส่วน ตามตัวอย่างส่วนแรก ปรากฏช่องให้เราพิมพ์ข้อความที่เราจะเพิ่มหน้าคอลัมภ์ส่วนที่สอง เราสามารถเพิ่มรายละเอียดเพิ่มเติม ตามเงื่อนไขต่างๆๆ ที่เราต้องการได้
- Modifying values คือการแก้ไขปรับแต่งคอลัมภ์ ของข้อมูลที่เรากำลังจะนำเข้า ซึ่งสามารถจัดการได้หลายรูปแบบ มีรายละเอียดต่างๆๆ มากมาย คงอธิบายไม่หมด แต่ขอแนะนำในภาพรวม
5.ความหมายในกรอบหน้าต่าง Available Actions
ตัวเลือกในกรอบหน้าต่าง Available Actions มีหลายตัวเลือกที่เราสามารถนำไปใช้ได้
ชื่อการดำเนินการ | คำอธิบาย |
Add Prefix | การเพิ่มค่าหน้าตัวอักษรหรือตัวเลข เช่น กรณีมือถือเราเพิ่ม เลข 0 |
Add Suffix | การเพิ่มค่าหลังตัวอักษร ในคอลัมภ์ |
Change Capitalization | เปลี่ยนตัวอักษร ให้เป็นตัวใหญ่หรือตัวเล็ก |
Compress Repeated Characters | ตัวอักษรซ้ำกัน ทำให้เหลือตัวเดียว หรือกำจัดที่ว่าง หรือแทป ออกไป |
Copy Value from Previous Row | แทนที่ค่าเดิมด้วย คอลัมภ์ที่อยู่ในแถวข้างบนที่เลือก |
Extract Portion of Text | การแยกส่วนประกอบของตัวอักษร |
Find and Replace Text | การค้นหา แล้วแทนที่ด้วยตัวอักษรที่เรากำหนด |
Prefix with Another Column | การแทนที่ด้านหน้าข้อความในคอลัมภ์ ด้วยคอลัมภ์อื่น |
Remove Characters | เลือกเอาตัวอักษรออก |
Remove Prefix | ลบข้างหน้าข้อความออก |
Remove Suffix | ลบหลังข้อความออก |
Replace from Substitution File | แทนที่ด้วยไฟล์ |
Replace Value | แทนที่ด้วยค่าที่เรากำหนดเอง |
Suffix with Another Column | เพิ่มท้ายคอลัมภ์จากคอลัมภ์อื่น |
Trim Characters | ติดตัวอักษรที่ไม่ต้องการออก |
6.Column action conditions.
คือการกำหนดเงื่อนไขเพิ่มเติม จากคำสั่งปกติ เราสามารถสร้างเงื่อนไขต่างๆๆ ได้มากมาย เพื่อให้เป็นไปตามที่เราต้องการ ได้แก่
Contains | เมื่อตัวอักษรที่เรากำหนดเงือนไขตรงกัน จะสร้างเงื่อนไขให้ทำอะไร |
Does not contain | ตรงกันข้ามกับข้อที่ผ่านมา คือหากไม่มีตัวอักษรที่เรากำหนด จะให้ทำอะไร |
Does not end with | ท้ายข้อความต้องไม่ตรงกับที่กำหนด |
Does not start with | ต้นข้อความ จะต้องไม่ตรงกับที่กำหนด. |
Ends with | ท้ายข้อความตรงกับที่กำหนด |
Is blank | เมื่อมีค่าว่างเปล่า |
Is not blank | เมื่อไม่มีค่าว่างเปล่าว |
Length equal to | ความยาวของตัวอักษร เท่ากับที่เรากำหนด |
Length greater than | ความยาวของตัวอักษรมากกว่าที่เรากำหนด |
Length less than | ความยาวของตัวอักษร น้อยกว่าที่เรากำหนด. |
Regular expression | เมื่อค่า ตรงกันกับ regular expression. |
Starts with | เริ่มต้นด้วยตัวอักษร หรือตัวเลขอะไร |
7.Exporting transformed data
ในบางครั้ง เมื่อเรานำเข้าข้อมูลด้วยการดำเนินการที่เราแปลงข้อมูลที่เรากำลังจะนำเข้า แต่เราต้องการเห็นความแตกต่างระหว่างข้อมูลที่เดิมกับข้อมูลที่เราที่เรากำลังจะนำเข้า ในขั้นตอนนี้จะมีตัวช่วยคือเราสามารถส่งออกเป็นไฟล์เท็กได้ ก่อนเราจะดำเนินการนำเข้า
ในการส่งออกข้อมูลที่เราดำเนินการปรับแต่งหรือแปลงข้อมูลเกี่ยวกับคอลัมภ์นั้น เราสามารถกำหนดได้ว่า ในการแบ่งระหว่างคอลัมภ์ จะใช้เครื่องหมายอะไรได้ เช่น comma, tab-delimited ได้
การส่งออกข้อของเรามีวิธีการไม่ยาก
- ในหน้า ดังกล่าวให้เราคลิก Export
- หน้าต่าง Save Data As จะโชว์ให้เราดำเนินการ หลังจากนั้นให้เรา ฟาวเดอร์ที่เราต้องการจะ ส่งออกข้อมูลไปเก็บไว้
- ตั้งชื่อของไฟล์ที่เราต้องการส่งออก
- ในช่องลิสรายการ Save as type ให้เลือกชนิดของไฟล์ว่า จะให้ไฟล์ชนิดไหน ระหว่าง *.txt หรือ *.csv
- บันทึก เป็นอันเสร็จ
8.สรุป
การแปลงข้อมูลหรือการปรับแต่งข้อมูลที่เรากำลังจะนำเข้า ในความคิดเห็นส่วนตัว คิดว่า ค่อนข้างจะสำคัญมาก ๆๆ โดยเฉพาะเมื่อเราได้ข้อมูลที่เป็นไฟล์ txt จากข้อมูลที่เราใช้เครื่องมือให้ช่วยเราในการทำงานบางชนิด ซึ่งเมื่อเราใช้เครื่องมือดังกล่าวแล้ว มักจะมีตัวช่วยในการส่งข้อมูลเหล่านั้นออกมาเป็นไฟล์เท็ก และข้อมูลนั้นมีรูปแบบที่ค่อนข้างจะแตกข้อมูลด้วยสายตาค่อนข้างจะยาก
แต่ หากเราเอาเข้าโปรแกรม I2 แล้ว เราให้โปรแกรมช่วยในการแปลงข้อมูลมันจะทำให้งานของเราเร็วขึ้น โดยเฉพาะการใช้เงื่อนไขในการกำหนดค่าให้กับเรา และที่สำคัญ เมื่อเรานำเข้าเสร็จแล้ว ในครั้งหลัง หรือเมื่อมีข้อมูลใหม่มา เราแทบไม่ต้องทำอะไรอีก แค่บันทึกรูปแบบการนำเข้าไว้ ในการนำเข้าในครั้งต่อไป เราแค่เลือกใช้ตามรูปแบบการนำเข้าที่เราเคยบันทึกไว้แล้ว
หรือไม่ หากเราไม่มั่นใจ หรือต้องการไปใช้งานด้วยโปรแกรมอื่นด้วย เราสามารถส่งออกเป็นไฟล์ได้ หลังจากที่เราดำเนินการเสร็จแล้ว (หมายถึงแปลงไฟล์เสร็จแล้ว)
ขอนำเงือนไขที่คู่มืออธิบายให้เพื่อหากใครต้องการศึกษาเพิ่มเติม แต่บางส่วนได้แปลไว้บ้างแล้ว แต่อาจจะแปลผิด หรือเพื่อให้ใครที่เข้ามาอ่านแล้ว สามารถทำความเข้าใจด้วยตนเองเพิ่มเติมได้
Condition | Description |
---|---|
Contains | Where the field contains the exact portion of text, which can be at the start, middle or end of the field. |
Does not contain | Where the field does not contain the specified sequence of characters. |
Does not end with | When the field does not end with the specified sequence of characters. |
Does not start with | When the field does not start with the specified sequence of characters. |
Ends with | Where the field ends with the specified sequence of characters. |
Is blank | Where the field is blank. |
Is not blank | Where the field is not blank. |
Length equal to | Where the field length (in characters) is equal to the specified number. |
Length greater than | Where the field length (in characters) is greater than the specified number. |
Length less than | When the field length (in characters) is less than the specified number. |
Regular expression | When the data meets a general pattern set by the specified expression. For example, the expression [0-9] will match on 1, 2, 3, 4 up to 9. |
Starts with | When the data starts with the specified sequence of characters. |