LevelUp! Studio » graph https://blog.levelup.in.th Experience the new world. Fri, 26 May 2017 10:06:07 +0000 th hourly 1 http://wordpress.org/?v=3.8.1 วิธีสร้างกราฟ Histogram ด้วย excel 2010 https://blog.levelup.in.th/2012/07/28/how-to-build-histogram-in-excel-2010%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87%e0%b8%81%e0%b8%a3%e0%b8%b2%e0%b8%9f-histogram-%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2/ https://blog.levelup.in.th/2012/07/28/how-to-build-histogram-in-excel-2010%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87%e0%b8%81%e0%b8%a3%e0%b8%b2%e0%b8%9f-histogram-%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2/#comments Sat, 28 Jul 2012 05:22:35 +0000 http://blog.levelup.in.th/?p=1927 เนื่องด้วยลูกค้าของผมต้องการข้อมูลสถิติการใช้งานเป็น Histogram (ความถี่ของคะแนนที่ผู้เล่นเกมเล่นได้ จัดเป็นกลุ่มๆ) เป็นกราฟสวยงาม เลยต้องจัดให้ซะ

excel1

1. ขั้นแรกต้องติดตั้ง Add-In ซะก่อน เข้าไปที่ File->Options->Add-Ins เลือก Analysis ToolPak จากหัวข้อ Inactive Application Add-ins (ถ้ามันอยู่ใต้หัวข้อ Active Application Add-ins แสดงว่าเคยติดตั้งไปแล้ว) แล้วกด OK

2. เตรียมข้อมูลที่ต้องการสร้างกราฟ Raw Data คือข้อมูลที่ต้องการแปลง ส่วน Bin Range คือระยะความห่างของข้อมูล จากรูปด้านบนคือเป็นช่วง 1-5,6-10,11-15 ไล่ไปเรื่อยๆ

3. เลือก Tab Data

4. เลือก Data Analysis

5. เลือก Histogram

6. เลือก Input Range (ในที่นี้คือ Raw Data ของผม) โดยถ้าเลือกรวมแถบ Label ไปด้วย (Label ผมชื่อ Raw Data ที่เป็นข้อมูล row แรกนั่นแหละ) ให้ติ๊กถูกที่ช่อง Labels ด้วย ส่วน Bin Range คือช่วงของข้อมูลตามที่กล่าวไปข้อ 5 ส่วน Output Option เลือกเป็น New Worksheet Ply และกรอกชื่อ Worksheet ที่ต้องการให้แสดงผลลัพธ์(ควรเป็นชื่อที่ยังไม่เคยสร้างมาก่อน) และเนื่องจากเราต้องการผลลัพธ์เป็นกราฟเลยก็ให้ติ๊ก Chart Output ด้วย (หากต้องการแค่สรุปรวมข้อมูลความถี่แต่ละช่วงเฉยๆ ก็ไม่ต้องติ๊กครับ)

7. จากภาพก็จะเห็นได้ว่า ช่วงคะแนน 1-5 มีอยู่ 6 คน ช่วงคะแนน 6-10 มีอยู่ 2 คน ถูกต้องตามชุดข้อมูลที่เป็นข้อมูลต้นทางครับ อันนี้เป็นแค่ตัวอย่างเท่านั้น ข้อมูลเลยน้อย จริงๆ ข้อมูลผมมีเป็นพันๆ row เลยต้องใช้วิธีนี้ช่วยนี่แหละครับ เราจะได้ผลลัพธ์ออกมาเป็นกราฟทั้้งรูป และตารางข้อมูลดังภาพเลยครับ :)

]]>
https://blog.levelup.in.th/2012/07/28/how-to-build-histogram-in-excel-2010%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87%e0%b8%81%e0%b8%a3%e0%b8%b2%e0%b8%9f-histogram-%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2/feed/ 3
Facebook Query Language (FQL) https://blog.levelup.in.th/2012/05/31/facebook-query-language-fql/ https://blog.levelup.in.th/2012/05/31/facebook-query-language-fql/#comments Thu, 31 May 2012 07:05:55 +0000 http://blog.levelup.in.th/?p=1821 Facebook Query Language หรือ FQL เป็นภาษา query ที่ใช้ในการคัดกรองข้อมูลหรือดึงข้อมูลที่เราต้องการจาก Facebook โดยตรง ซึ่งการเขียนจะมีลักษณะคล้ายกับภาษา SQL นั่นคือมีรูปแบบเป็น

SELECT (field) FROM (table) WHERE (condition)

และเราสามารถใช้ operator AND, OR, NOT ได้อีกด้วย แต่สิ่งที่ FQL แตกต่างจาก SQL ก็คือ FQL จะไม่อนุญาตให้เราทำการ join table กันได้ ซึ่งถ้าเราต้องการจะใช้ข้อมูลที่มากกว่า 1 ตาราง เราจะใช้ IN เพื่อทำการเชื่อมข้อมูลระหว่างตาราง และ ระหว่าง 2 ตารางที่จะเชื่อมข้อมูลกัน จะต้องมี field ที่เก็บข้อมูลเหมือนกันอยู่ ซึ่งจะเรียก field นี้ว่าเป็น indexable

หลายคนที่อาจจะใช้ Graph API อาจจะสงสัยว่าในเมื่อเรามี Graph API อยู่แล้ว ซึ่งก็สามารถใช้ในการดึงข้อมูลมาใช้ได้เหมือนกัน แล้วทำไมต้องใช้ FQL อีก นั้นก็เป็นเพราะว่า Graph API ไม่สามารถที่จะดึงข้อมูลเป็นชุดๆได้ เช่นหากเราต้องข้อมูลเป็น username, user_id, gender และ birthday ของเพื่อน ถ้าเราใช้ Graph API เราจำเป็นต้องได้รายชื่อเพื่อนทั้งหมดของเรามาก่อน หลังจากนั้นก็จะได้ user_id กับ username มา แล้วจึงใช้ข้อมูลที่ได้มาไปหาข้อมูล gender และ birthday ของเพื่อนอีกที ซึ่งจะเห็นว่าต้องทำหลายขั้นตอนมาก แต่ถ้าเราใช้ FQL สามารถทำได้โดยเขียนภาษา query ตามนี้

SELECT username, uid, sex, birthday FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

มาถึงตรงจุดนี้ อาจมีหลายคนสงสัยว่า แล้วเราจะรู้ได้อย่างไรว่าฐานข้อมูลมีตารางอะไรบ้าง และแต่ละตารางมี field อะไรให้ใช้บ้าง เราสามารถเข้าไปดูได้อ่าน Document และ Reference ได้ที่ https://developers.facebook.com/docs/reference/fql/ ซึ่งลิ้งค์นี้จะบอกข้อมูลเกี่ยวกับตารางและ field เอาไว้ชัดเจน ว่าทาง facebook อนุญาตให้เราสามารถใช้ข้อมูลส่วนไหนได้บ้าง และทาง Facebook ยังมี tool ที่เอาไว้ให้เราใช้ทดสอบ query ที่เราเขียนขึ้นมาได้อีกด้วย ผ่านทาง Graph API Explorer https://developers.facebook.com/tools/explorer?method=GET&path=100001055377057 ซึ่งเมื่อกดลิ้งค์เข้ามาแล้วจะเจอเพจหน้าตาแบบนี้ครับ

fql_tutorial2

หลังจากนั้นตรงที่เป็นลิ้งค์ https://graph.facebook.com/ ให้พิมพ์เพิ่มหลังเครื่องหมาย “/” ไปว่า “fql?q=” แล้วตามด้วย query ที่เราเขียนขึ้นมา
แล้วกด submit เราก็จะได้ผลลัพธ์จากการ query แสดงผลที่ด้านล่างนั้นเอง ทั้งนี้ทั้งนั้น การที่เราจะดึงข้อมูลต่างๆจากตารางมาได้ เราจำเป็นต้องทำการขอ Permissions ต่างๆด้วย ซึ่งข้อมูลในแต่ละ Field จะมีการระบุเอาไว้อยู่แล้วว่าต้องมีการใช้ Permissions ใดบ้าง ดังนั้น ถ้าคิดว่าเขียน query ได้ถูกต้องแน่นอนแล้ว แต่ว่าผลลัพธ์ไม่ขึ้น ให้ลองตรวจสอบดูดีๆนะครับ ว่าได้ทำการขอ permissions ไปหรือเปล่า

หมดเพียงเท่านี้แล้วครับ เรื่องของ Facebook Query Language สำหรับคนที่เคยเขียน SQL มาแล้ว น่าจะฝึกฝนได้ไม่ยากนะครับ ส่วนคนที่ไม่เคยเขียน SQL มาก่อนก็ไม่ต้องน้อยใจไปครับ ของแบบนี้ต้องค่อยๆศึกษาไปเรื่อยๆ เดี๋ยวเราก็เขียนได้ครับ ^^

]]>
https://blog.levelup.in.th/2012/05/31/facebook-query-language-fql/feed/ 0
เมื่อ Facebook กำลังจะครองอินเตอร์เนตแทนที่ Google https://blog.levelup.in.th/2010/05/01/when-facebook-is-going-to-conquer-the-internet-instead-of-google%e0%b9%80%e0%b8%a1%e0%b8%b7%e0%b9%88%e0%b8%ad-facebook-%e0%b8%81%e0%b8%b3%e0%b8%a5%e0%b8%b1%e0%b8%87%e0%b8%88%e0%b8%b0%e0%b8%84%e0%b8%a3/ https://blog.levelup.in.th/2010/05/01/when-facebook-is-going-to-conquer-the-internet-instead-of-google%e0%b9%80%e0%b8%a1%e0%b8%b7%e0%b9%88%e0%b8%ad-facebook-%e0%b8%81%e0%b8%b3%e0%b8%a5%e0%b8%b1%e0%b8%87%e0%b8%88%e0%b8%b0%e0%b8%84%e0%b8%a3/#comments Fri, 30 Apr 2010 17:00:28 +0000 http://blog.levelup.in.th/?p=570 กระแสของโลก Social Network บูมขึ้นเรื่อยๆ และ Facebook เองก็เป็นหนึ่งในผู้นำด้านนี้ แต่เดิมนั้นโลกของ Social Network จะถูกจำกัดอยู่แต่ภายในเว็บไซต์ของตัวเองเท่านั้น จนกระทั่งเมื่อปีที่แล้ว Facebook ได้เปิดตัว Facebook Connect เข้ามา ทำให้ Facebook เริ่มแผ่ขยายอาณาจักรออกสู่เว็บไซต์อื่นมากขึ้น เว็บใดก็สามารถนำ login ของ Facebook ไปติดที่เว็บไซต์เพื่อใช้ widget เล็กๆ น้อยๆ เช่น กล่อง comment และรายชื่อเพื่อนของตนได้ รวมไปถีงปุ่ม Share ซึ่งนับจำนวนผู้แชร์ได้ (แข่งกับ Digg) ซึ่งส่วนที่ประสบความสำเร็จมากที่สุดคือระบบ Login ซึ่งสามารถ login ได้ในคลิกเดียว ง่ายกว่า OpenID ซึ่งเป็นระบบ Login ที่ถูกออกแบบมาเพื่อจะใช้เป็นมาตรฐานการ Login ทั่วอินเตอร์เน็ตมากมายหลายเท่าตัว และระบบ Login นี้เองก็ได้เข้าเป็นหนึ่งในมาตรฐานที่เว็บไซต์ข่าวและ Blog ต่างๆ ต้องมี

Facebook มีอะไรใหม่?

ในงาน f8 ปี 2010 นี้เองที่เป็นงานแถลงข่าวใหญ่ของทาง Facebook ซึ่งปีนี้ ทาง Facebook ได้เปิดตัว Feature ใหม่ๆ 3 ตัวหลักดังนี้

  1. Social Plugin จะคล้ายๆ กับ Facebook Connect ที่ทาง Facebook มีอยู่แล้ว แต่ได้ถูกพัฒนาให้ดีขึ้นกว่าเดิมมาก เช่น ปุ่ม login with face ซึ่งจะแสดงรายชื่อเพื่อนที่เข้าใช้งานเว็บไซต์ที่ติดตั้ง code ตัวนี้ไว้ ทำให้เรารู้ได้ทันทีว่ามีเพื่อนคนใดของเราบ้างที่เข้าใช้งานเว็บไซต์แห่งนี้เช่นเดียวกับเรา แต่พระเอกของ Social Plugin จริงๆ คือปุ่ม Like ครับ ซึ่งจะตัวเว็บไซต์เองจะได้ประโยชน์จากปุ่ม Like มาก เนื่องจากเมื่อผู้ใช้กด Like แล้ว ใน wall ของผู้ใช้จะปรากฎข้อความว่าผู้ใช้กด Like หน้าอะไร พร้อมใส่ link มายังเว็บไซต์ที่ติดปุ่มเอาไว้ให้อัตโนมัติ เป็นการเพิ่ม traffic กลับมายังตัวเว็บไซต์เองได้เป็นอย่างดี
  2. Open Graph API ส่วนนี้คือการกรอกข้อมูลใน tag meta ใน html เอาไว้ว่าหน้าๆ นี้มีรายละเอียดเกี่ยวกับเรื่องอะไร มีเจ้าของ content เป็นใคร มีที่ตั้งอยู่ที่ไหน (ระบุกันเป็น latitude, longtitude ได้เลยทีเดียว) มี contact ให้ติดต่อได้ทางใดบ้าง ซึ่งพูดง่ายๆ คือ tab info ใน Page นั่นแหละครับ เมื่อมีผู้ใช้มากด Like ที่หน้านี้ content ที่กรอกไว้จะถูกส่งกลับไปให้ facebook เก็บเป็นสถิติเอาไว้ ตัวอย่างเช่น เว็บ review หนัง แล้วผู้ใช้มากด Like ให้กับหนังเรื่อง Iron Man facebook จะรู้ทันทีว่าคนๆ นี้ชอบ content ประเภท Movies เรื่อง Iron Man และข้อมูลจะถูกส่งไปยังหน้า Profile ของผู้ใช้คนนั้นให้เลย ตรงนี้ถูกกล่าวขานว่าจะทำให้กลายเป็น “Semantic Web”
  3. Graph API คือส่วนสำหรับการร้องขอข้อมูลใดๆ จาก Facebook มาใช้งาน สามารถใช้งานได้แม้แต่การดึง profile ของผู้ใช้หากผู้ใช้ให้อนุญาต โดยการเรียกใช้งานจะสามารถเรียกผ่าน URL ได้ทั้งหมด หากขอข้อมูลโดยไม่มีการใช้งาน OAuth จะได้ข้อมูลเพียง ข้อมูล public ที่ผู้ใช้เปิดสิทธิไว้ให้ แต่หากใช้ OAuth ขอ token มาแล้วข้อมูลที่ร้องขอได้จะมากขึ้นตามสิทธิที่ผู้ใช้ให้อนุญาต ตรงนี้ทำให้การใช้งานผ่าน curl ใน command line สามารถกระทำได้ง่ายมาก หรือแม้แต่เรียกรูป profile ของผู้ใช้โดยการใส่ URL ลงใน tag <img> ก็ตาม นอกจากนี้ยังใช้การส่ง POST เพื่อ update ข้อมูลกลับ facebook ได้อีกด้วย

Feature ใหม่นี้มีประโยชน์อย่างไร?

การเปิด Feature ใหม่นี้มีประโยชน์มากมายหลายประการดังนี้

  1. เป็นการยกสังคมออนไลน์ออกมานอก Facebook ทุกๆ เว็บไซต์สามารถมีองค์ประกอบได้ทุกอย่างที่ Page มี (Fan คือจำนวน Likes, ตัว content ในเว็บแทน wall แจ้งข่าวสาร) และยังสามารถตกแต่งหน้าเว็บได้อิสระตามความชอบใจ ไม่ต้องเป็นไปตามหน้าตา facebook
  2. ผู้ใช้กด like ที่หน้าเว็บแล้วข้อมูลความสนใจของผู้ใช้เช่น เพลง หนัง หนังสือ นิยาย จะถูกส่งเข้า profile ของผู้ใช้คนนั้นๆ ทันที โดยที่ผู้ใช้ไม่จำเป็นต้องกรอกข้อมูลใดๆ ในหน้า profile เพิ่มเติมเองเลย ทำให้ facebook มีข้อมูลความสนใจของผู้ใช้ที่เกิดจากการใช้งานจริงเพิ่มขึ้นอีกมาก
  3. การใช้งาน content หรือตรวจสอบว่าเป็น content ที่มีคุณภาพหรือไม่ ผู้ใช้จะดูจากจำนวน Friend ว่ามีใครมา Like บ้าง ทำให้ content ที่มีคุณภาพในมุมมองของผู้ใช้แต่ละคนแตกต่างกันโดยสิ้นเชิง เช่น นาย A เข้ามาแล้วมี Friend กด Like จำนวน 200 คนนาย A จะคิดว่า content ในหน้านี้ดีมาก ในขณะที่นาย C เข้ามาแล้วพบว่ามี Friend กด Like เพียง 5 คน นาย C อาจจะออกจากหน้านี้ไปโดยไม่ทันได้อ่านเนื้อหาเลยก็ได้เนื่องจากตัดสินตามจำนวนเพื่อนที่เห็น จะเห็นว่าข้อมูลในหน้าหนึ่งๆ สามารถโด่งดังได้หลากหลายกลุ่มมาก แต่ก็ไม่ใช่ทุกกลุ่มที่จะดัง การกรองข้อมูลด้วยคนใช้จริงที่เป็น Friend กด Like จึงเป็นรูปแบบใหม่ในการวัดคุณภาพ content เลยทีเดียว
  4. จาก Open Graph API ได้ข้อมูล keyword จากเว็บ content จำนวนมากที่นำปุ่ม Like ไปติด ส่งต่อข้อมูลให้ Graph API เรียกไปใช้ต่อได้ และสุดท้ายคือแสดงข้อมูลด้วย Social Plugin ค่อนข้างครบวงจรเลยทีเดียวครับ

แล้ว Facebook จะมาครองอินเตอร์เนตแทนที่ Google ได้อย่างไร?

ขอแยกประเด็นเป็นข้อๆ ดังนี้ครับ

  1. Product หลักของ Google คือ Search Engine ถูกไหมครับ แต่จะเกิดอะไรขึ้นถ้าการ search นั้นถูกอ้างอิงโดยสิ่งที่ผู้ใช้คนนั้นสนใจอยู่? และยิ่ง facebook รุกออกนอกกำแพงภายในเว็บตัวเองออกไปเว็บไซต์ใดๆ แล้ว การ search จะยิ่งมีคุณภาพมากขึ้น ผลลัพธ์การค้นหาที่เกี่ยวข้องกับความสนใจของผู้ใช้ที่ผ่านมาจะปรากฏขึ้นเป็นอันดับแรกๆ ทำให้ได้ข้อมูลที่แม่นยำกว่าเดิมมาก อีกทั้งเมื่อพบข้อมูลสินค้าใดๆ แล้วยังสามารถระบุข้อมูลตำแหน่ง และสถานที่ติดต่อได้ทันที ตามที่ผมกล่าวไว้ใน Open Graph API
  2. มาพูดในแง่การหารายได้กันบ้าง รายได้หลัก Google มาจาก AdWord และ Adsense แต่ทว่าทุกวันนี้ Facebook Ads เป็นอะไรที่มีคุณภาพกว่า AdWord มากหลายเท่า เนื่องจากระบุกลุ่มเป้าหมายได้ละเอียดตั้งแต่เพศ อายุ ประเทศ ไปจนถึงความสนใจ และเมื่อ Facebook ปูทางไว้แล้วด้วย Social Plugin ต่างๆ ที่ติดตามเว็บไซต์กระจายตัวมากขึ้นไปทั่ว อีกหน่อยการจะทำโฆษณาแบบ Adsense ไปติดตามเว็บที่มี Social Plugin ก็ไม่ใช่เรื่องยาก แถมยัง target ได้ตรงกว่า AdWord หลายเท่าอีกด้วย แล้วยังมีการกด Like ของเพื่อนๆ เข้ามาตรงส่วนโฆษณาอีกต่างหาก พูดง่ายๆ ว่า AdWord ดูกระจอกไปเลยในทันที
  3. Google คงจะพอรู้ตัวว่าสู้ Facebook ลำบาก เลยพยายามดัน Google Buzz ที่เป็น Social Network ออกมา เพื่อจะอาศัยประโยชน์ข้อเดียวกับ Facebook แต่ปรากฏว่ากลุ่มผู้ใช้ยังคงอยู่ในวงแคบ (ใน Gmail) เท่านั้น
  4. ความ Real Time ของข่าวสารก็เป็นอีกปัจจัยหนึ่งที่ Google สู้ Social Network ไม่ได้ทั้ง Twitter และ Facebook เนื่องจาก content ที่โพสต์โดยผู้ใช้ย่อมไวกว่ารอ bot ไปวิ่งเก็บตามที่ต่างๆ มารวมกันแน่นอน แม้ว่า Google จะเพิ่ม Social Search แต่แน่นอนนั่นไม่ใช่ข้อมูลของ Google เอง แล้ว Google จะอยู่ได้อย่างไร!

สรุปได้ง่ายๆ ว่าหมัดเด็ดของ Google ที่อยู่ยืนยงมานานนับสิบปี ตอนนี้กำลังจะโดนตีตลาดแล้วอย่างแน่นอน Search Engine ที่โดน Bing เข้าตีแต่ยังไม่ประสบความสำเร็จ อาจจะโดน Facebook ตีชนะไปเสียก่อนในเร็ววันนี้ แหล่งรายได้หลักจากโฆษณาที่แทรกอยู่ในบริการของ Google เมื่อ Facebook กระจาย Facebook Ads ไปตามเว็บต่างๆ เมื่อไรก็เสร็จ แม้แต่ Google Docs ยังโดน docs.com ที่เป็นความร่วมมือของ facebook กับทาง microsoft เข้าแข่งด้วยหัวใจหลักของ Google โดนตีพังเสียหายหมด หนทางรอดของ Google ตอนนี้ สงสัยว่าคงจะอยุ่ที่ Android ที่ Google กระจายตัวสู่ตลาดได้ดีมากเพียงอย่างเดียวแล้วกระมัง

เหตุการณ์จะเป็นเช่นไร คงต้องรอดูสถานการณ์ต่อไปละครับ

]]>
https://blog.levelup.in.th/2010/05/01/when-facebook-is-going-to-conquer-the-internet-instead-of-google%e0%b9%80%e0%b8%a1%e0%b8%b7%e0%b9%88%e0%b8%ad-facebook-%e0%b8%81%e0%b8%b3%e0%b8%a5%e0%b8%b1%e0%b8%87%e0%b8%88%e0%b8%b0%e0%b8%84%e0%b8%a3/feed/ 5