JSON API Pentaho User Manual
JSON API Brief Steps 05 04 03 02 01 XLS SEL INP GET API API GET INP U 05 04 03 XLS Get Excel File Output in Folder 02 SEL Select Values for Displaying Output 01 INP Use JSON Input for Lookup Variables in JSON Data GET Get JSON Data from URL by Using Pentaho API Use Data from TMD API data.tmd.go.th © Copyright PresentationGo.com – The free PowerPoint template library
เข้าสู่เว็บไซต์ data.tmd.go.th API GET INP SEL XLS JSON API (1) เข้าสู่เว็บไซต์ data.tmd.go.th
ไปที่ 4. WeatherToday กดที่รูปหลอดไฟ API GET INP SEL XLS JSON API (2) ไปที่ 4. WeatherToday กดที่รูปหลอดไฟ
กดลิ้งค์ รูปแบบ json ดังภาพ API GET INP SEL XLS JSON API (3) กดลิ้งค์ รูปแบบ json ดังภาพ
แสดงข้อมูล WeatherToday ในรูปแบบ json API GET INP SEL XLS JSON API (4) แสดงข้อมูล WeatherToday ในรูปแบบ json
API GET INP SEL XLS JSON API (5) เพื่อให้ Web Browser แสดง json ในรูปแบบที่สวยงาม ให้เพิ่มส่วนขยาย JSON Viewer ใน Chrome
แสดงข้อมูล WeatherToday ในรูปแบบ json ที่สวยงาม API GET INP SEL XLS JSON API (6) แสดงข้อมูล WeatherToday ในรูปแบบ json ที่สวยงาม
เข้าสู่โปรแกรม Pentaho และสร้าง Transformation ใหม่ API GET INP SEL XLS JSON API (7) เข้าสู่โปรแกรม Pentaho และสร้าง Transformation ใหม่
แสดงแท็ป Transformation 1 สำหรับ Design Process API GET INP SEL XLS JSON API (8) แสดงแท็ป Transformation 1 สำหรับ Design Process
ไปที่แท็ป Design ฝั่งซ้ายมือ ลาก Generate Rows ลงมา API GET INP SEL XLS JSON API (9) ไปที่แท็ป Design ฝั่งซ้ายมือ ลาก Generate Rows ลงมา Generate Rows ใช้สำหรับสร้างแถวหรือ Row ที่มีจำนวนจำกัด จากข้อมูลที่ import เข้ามา
JSON API (10) Limit : 1 คือ Generate Rows จำนวน 1 ชุด Fields : GET INP SEL XLS JSON API (10) Limit : 1 คือ Generate Rows จำนวน 1 ชุด Fields : Name : url ชื่อ Field ที่ใช้เก็บข้อมูล Type : ชนิดของข้อมูลเก็บเป็น String Value : ค่าของข้อมูลเป็นชื่อเว็บไซต์ http://data.tmd.go.th/api/WeatherToday/V1/?type=json
ไปที่แท็ป Design ฝั่งซ้ายมือ ลาก REST Client ลงมา API GET INP SEL XLS JSON API (11) ไปที่แท็ป Design ฝั่งซ้ายมือ ลาก REST Client ลงมา REST Client ใช้สำหรับ Get ข้อมูลจากเว็บไซต์ในรูปแบบ json
JSON API (12) API GET INP SEL XLS Accept URL from field เพื่อรับค่า URL จาก field URL field name : url เป็นชื่อ field ที่เก็บ URL HTTP method : GET รับข้อมูลเข้ามาผ่านทาง URL Application type : JSON ชนิดของข้อมูลที่รับเข้ามา Result field name : datafromAPI ตั้งชื่อ field สำหรับเก็บข้อมูลที่รับมาจากเว็บไซต์นี้
ไปที่แท็ป Design ฝั่งซ้ายมือ ลาก JSON Input ลงมา API GET INP SEL XLS JSON API (13) ไปที่แท็ป Design ฝั่งซ้ายมือ ลาก JSON Input ลงมา JSON Input เป็นตัวรับค่าข้อมูล json และอ่านข้อมูล json
API GET INP SEL XLS JSON API (14) Source is from a previous step เพื่อรับข้อมูลจาก step ก่อนหน้า Select field : datafromAPI ต้องการดึงข้อมูลจาก field นี้
JSON API (15) การดึงข้อมูล JSON ให้เลือกว่าจะดึงอะไร ไปที่แท็ป Fields GET INP SEL XLS JSON API (15) การดึงข้อมูล JSON ให้เลือกว่าจะดึงอะไร ไปที่แท็ป Fields Name : ตั้งชื่อ Field Path : ใส่ Path ให้กับ Field ที่จะดึงมาจาก json Type : ชนิดของข้อมูล ใน Field ที่จะดึง
JSON API (16) JSON Path Type $.Stations..StationNameTh String GET INP SEL XLS JSON API (16) Data Structure 1 Stations 2 StationNameTh : “แม่ฮ่องสอน” 3 Latitude Value : “19.2989722222222222” Longitude Value : “97.9757777777777778” Observe Rainfall Value : “0” JSON Input-Step 1 JSON Path Type $.Stations..StationNameTh String $.Stations..Latitude $.Stations..Longitude $.Stations..Observe 4
ตั้งชื่อ Step Name : JSON Input-Step 1 API GET INP SEL XLS JSON API (17) ตั้งชื่อ Step Name : JSON Input-Step 1
ใส่ JSON Path ของ Field ที่ต้องการทั้ง 4 Fields API GET INP SEL XLS JSON API (18) ใส่ JSON Path ของ Field ที่ต้องการทั้ง 4 Fields JSON Path Type $.Stations..StationNameTh String $.Stations..Latitude $.Stations..Longitude $.Stations..Observe
Name : ตั้งชื่อให้กับ Field ที่ดึงข้อมูลเข้ามา API GET INP SEL XLS JSON API (19) Name : ตั้งชื่อให้กับ Field ที่ดึงข้อมูลเข้ามา Type : ชนิดของข้อมูลที่ดึงเข้ามาเป็น String JSON Path Type $.Stations..StationNameTh String $.Stations..Latitude $.Stations..Longitude $.Stations..Observe
ทำการ Run เพื่อดูค่า Output ของ Transformation นี้ API GET INP SEL XLS JSON API (20) ทำการ Run เพื่อดูค่า Output ของ Transformation นี้
API GET INP SEL XLS JSON API (21) กด Run
API GET INP SEL XLS JSON API (22) กด Yes
API GET INP SEL XLS JSON API (23) เนื่องจากยังไม่ได้ Save Transformation จึงขึ้นให้ Save as.. ก่อนที่จะทำการ Run ให้ Save ไปที่โฟลเดอร์ที่ต้องการเป็นไฟล์ .ktr
API GET INP SEL XLS JSON API (24) เมื่อ Save เรียบร้อย จะ Run จนกระทั่งแต่ละฟังก์ชันมีเครื่องหมายถูกสีเขียวดังภาพ คือ Run ผ่านแล้ว
API GET INP SEL XLS JSON API (25) สามารถดู Output ของการ Run ที่แท็ป Preview data ด้านล่างตรงส่วน Execution Results ซึ่งข้อมูลจังหวัดออกมาแล้วตามต้องการ ส่วนข้อมูลอีก 3 Fields ออกมาเป็นข้อมูล String ซึ่งจะต้องทำการแตกข้อมูลย่อยออกไปอีกเพื่อให้ได้ข้อมูลที่ต้องการ
JSON API (26) JSON Path Type $..Value Number API GET INP SEL XLS 1 Data Structure 2 Stations 3 StationNameTh : “แม่ฮ่องสอน” Latitude Value : “19.2989722222222222” Longitude Value : “97.9757777777777778” Observe Rainfall Value : “0” JSON Input-Step 2-pull value from latitude JSON Path Type $..Value Number 4
ต้องการดึงค่า Value ออกมาจาก LatitudeFullData API GET INP SEL XLS JSON API (27) ต้องการดึงค่า Value ออกมาจาก LatitudeFullData
API GET INP SEL XLS JSON API (28) ตั้งชื่อ Field ที่ต้องการเก็บ Value ที่ดึงมาจาก LatitudeFullData ก่อนหน้านี้ โดย Type ของ Value เป็น Number JSON Path Type $..Value Number
JSON API (29) JSON Path Type $..Value Number API GET INP SEL XLS 1 Data Structure 2 Stations 3 StationNameTh : “แม่ฮ่องสอน” Latitude Value : “19.2989722222222222” Longitude Value : “97.9757777777777778” Observe Rainfall Value : “0” JSON Input-Step 3-pull value from longitude JSON Path Type $..Value Number 4
ต้องการดึงค่า Value ออกมาจาก LongitudeFullData API GET INP SEL XLS JSON API (30) ต้องการดึงค่า Value ออกมาจาก LongitudeFullData
API GET INP SEL XLS JSON API (31) ตั้งชื่อ Field ที่ต้องการเก็บ Value ที่ดึงมาจาก LongitudeFullData ก่อนหน้านี้ โดย Type ของ Value เป็น Number JSON Path Type $..Value Number
API GET INP SEL XLS JSON API (32) ทำการ Run
API GET INP SEL XLS JSON API (33) เมื่อ Run เสร็จ ได้ข้อมูล LatitudeValue กับ LongitudeValue เรียบร้อย ที่แท็ป Preview data
JSON API (34) JSON Path Type $..Rainfall String API GET INP SEL XLS 1 Data Structure 2 Stations 3 StationNameTh : “แม่ฮ่องสอน” Latitude Value : “19.2989722222222222” Longitude Value : “97.9757777777777778” Observe Rainfall Value : “0” JSON Input-Step 4-pull rainfall from observe JSON Path Type $..Rainfall String 4
API GET INP SEL XLS JSON API (35) ต้องการดึงค่า Value ของ Rainfall จึงต้องทำการดึงข้อมูลจาก Observe ออกมาเป็น String ก่อน
API GET INP SEL XLS JSON API (36) ดึงข้อมูล Rainfall ออกมาจาก Observe ซึ่งดึงออกมาเป็น String ก่อนเนื่องจาก ติดค่า Unit ออกมาด้วย จึงต้องทำการดึง Value แตกออกมาอีกในภายหลัง
JSON API (37) JSON Path Type $..Value Number API GET INP SEL XLS Data Structure 2 Stations 3 StationNameTh : “แม่ฮ่องสอน” Latitude Value : “19.2989722222222222” Longitude Value : “97.9757777777777778” Observe Rainfall Value : “0” JSON Input-Step 5-pull value from rainfall JSON Path Type $..Value Number 4
ต้องการดึงค่า Value ออกมาจาก RainfallFullData API GET INP SEL XLS JSON API (38) ต้องการดึงค่า Value ออกมาจาก RainfallFullData
API GET INP SEL XLS JSON API (39) ตั้งชื่อ Field ที่ต้องการเก็บ Value ที่ดึงมาจาก RainfallFullData ก่อนหน้านี้ โดย Type ของ Value เป็น Number JSON Path Type $..Value Number
จะได้ Value ออกมาครบตามต้องการได้แก่ API GET INP SEL XLS JSON API (40) จะได้ Value ออกมาครบตามต้องการได้แก่ ชื่อจังหวัด, Latitude, Longitude และข้อมูลฝน
JSON API (41) API GET INP SEL XLS 1 Data Structure 2 Stations 3 StationNameTh : “แม่ฮ่องสอน” Latitude Value : “19.2989722222222222” Longitude Value : “97.9757777777777778” Observe Rainfall Value : “0” 4
API GET INP SEL XLS JSON API (42) สำหรับข้อมูลอื่นๆ ที่ไม่ต้องการนำมาแสดง จึงต้องทำการ Select Values เพื่อเลือกเฉพาะ Field ที่ต้องการ คือ 4 อย่างนั้น
กด Get fields to select ด้านขวามือ เพื่อให้แสดงค่า Fields ทั้งหมดที่มี API GET INP SEL XLS JSON API (43) กด Get fields to select ด้านขวามือ เพื่อให้แสดงค่า Fields ทั้งหมดที่มี
API GET INP SEL XLS JSON API (44) จากนั้นให้คลิกขวา Row ใน Field ที่ไม่ต้องการ และเลือก Delete selected lines เพื่อลบออก
JSON API (45) จะเหลือเพียงข้อมูลที่ต้องการ 4 อย่าง คือ StationNameTh GET INP SEL XLS JSON API (45) จะเหลือเพียงข้อมูลที่ต้องการ 4 อย่าง คือ StationNameTh LatitudeValue กำหนดให้ Rename เป็น Latitude LongitudeValue กำหนดให้ Rename เป็น Longitude RainFallValue กำหนดให้ Rename เป็น RainFall * ชื่อที่ Rename ใหม่ เป็นในส่วนของ Header Column บนตาราง
API GET INP SEL XLS JSON API (46) ลองทำการ Run และ ดูที่ Preview data จากนั้นให้กดที่ Select values จะแสดง Output ตามที่กำหนดก่อนหน้านี้
API GET INP SEL XLS JSON API (47) เมื่อได้ค่าทั้งหมดในรูปแบบที่ต้องการแล้ว ต้องการเก็บเป็นไฟล์ Excel ให้ลาก Microsoft Excel Output ลงมาวางและเชื่อมต่อกับ Select values
ทำการ Browse โฟลเดอร์สำหรับเก็บข้อมูลนี้ โดยตั้งชื่อไฟล์ตามต้องการ API GET INP SEL XLS JSON API (48) ทำการ Browse โฟลเดอร์สำหรับเก็บข้อมูลนี้ โดยตั้งชื่อไฟล์ตามต้องการ
API GET INP SEL XLS JSON API (49) ทำการ Run ใหม่ทั้งหมด และเมื่อมีเครื่องหมายถูกสีเขียวในทุกๆฟังก์ชัน แสดงว่า ไม่เกิด Error ใดๆ ให้ไปดู Output ที่เป็น Excel ในโฟลเดอร์ที่เลือกเก็บไฟล์
เมื่อเปิดดูไฟล์ weathertoday.xls จะแสดงข้อมูลที่ดึงมาตามต้องการ API GET INP SEL XLS JSON API (50) เมื่อเปิดดูไฟล์ weathertoday.xls จะแสดงข้อมูลที่ดึงมาตามต้องการ
Thank You for Reading