Auto Report Toolkit : เทคนิคการอ้างอิงตำแหน่งเซลล์ และใช้สูตรวางในเซลล์ตามจำนวนข้อมูลที่คาดการณ์ไม่ได้

ดาวน์โหลดAuto Report Toolkit ได้จากลิงค์ใต้VDO DescriptionของVDOนี้ โดยในเวอร์ชั่น 5 จะมีฟีเจอร์เพิ่มเข้ามาคือ

  • มีการสร้างHeaderจากแต่ละQueryอัตโนมัติ ดังนั้นข้อมูลจะอยู่ในแถวถัดไปเป็นต้นไป
  • แสดงจำนวนผลลัพธ์ของแต่ละะQuery ในSheet2ของReport Toolkit

ทำให้อ้างอิงในสูตรต่างๆที่ต้องการนำจำนวนแถวข้อมูลไปใช้ประโยชน์ได้ ยกตัวอย่างเช่น เมื่อต้องการระบุตำแหน่งเริ่มวางข้อมูลของQuery2ในชีตเดียวกับQuery1โดยให้วางต่อจากแถวของQuery1 เราก็สามารถอ่างอิงตามรูป จากรูปล่างในAuto Report Toolkitมีการกำหนดให้ผลลัพธ์Query2เริ่มวางในเทมเพลต ณ เซลล์แถวที่104ซึ่งตัวเลข104มาจากสูตร =(Sheet2!B2)+2+I7 โดยSheet2!B2ก็คือจำนวนผลลัพธ์ของQuery1ที่Report Tool คำนวนให้อัตโนมัติและอยู่ในหน้าSheet2ของAuto Report Toolkit และในสูตรดังกล่าวก็ใช้ตำแหน่งเริ่มต้นของQuery1ก็คือค่าจากI7(จากรูปกำหนดQ1เริ่มที่แถว2)มาอ้างอิงและบวกอีก2เพื่อวางถัดไป2แถว(ก็คือเว้น1แถว) เพื่อให้ข้อมูลQ2ต่อถัดจากข้อมูลQ1 เว้นห่างกัน 1 บรรทัด

จะได้ผลลัพธ์ในReportที่สร้างออกมาดังรูปล่าง นั่นคือแทนที่จะกำหนดตำแหน่งเริ่มข้อมูลเป็นตัวเลขตายตัว ก็สามารถใช้สูตรในการอ้างอิงแทนได้ ช่วยให้เริ่มวางข้อมูลได้ยืดหยุ่นตามจำนวนแถวที่เราคาดการณ์จำนวนไม่ได้ โดยAuto Report Toolkitจะคำนวนจำนวนแถวให้อัตโนมัติจากแต่ละQueryในตอนที่Report Toolทำงานเท่านั้น ดังนั้นในขั้นตอนการคอนฟิกสร้างReportเราไม่ต้องสนใจว่ายังไม่มีค่าคำนวนออกมา ให้อ้างอิงจำนวนข้อมูลจากชีตนี้ของReport Toolตามต้องการได้เลย และสามารถใช้เทคนิคนี้ในChartหรืออ็อปเจ็คอื่นๆได้ในทำนองเดียวกัน

  • ระบบวางสูตรExpressionในตำแหน่งเซลล์ที่ต้องการอัตโนมัติ พร้อมใส่Formatตามเซลล์ต้นแบบ

ในชีต2ของReport Toolkitสามารถกำหนดสูตรเพื่อวางลงในเซลล์ของReportอัตโนมัติได้ ตัวอย่างรูปล่างมีการกำหนดสูตร SUM(B3:B102)เพื่อวางในSheet1ของเทมเพลตReportตรงเซลล์B103และใส่Formatตามเซลล์F1ของไฟล์Report(ซึ่งในเซลล์F1นั้นอาจไม่ได้มีFormatอะไรก็ได้ครับ แค่ใส่ไว้ไม่ให้ว่างไว้ในตารางนี้ก็พอ) สังเกตุว่าเซลล์D3ที่มีสูตรSUM(B3:B102)นี้เราใช้สูตรอ้างอิงจากจำนวนแถวของผลลัพธ์จากQuery1ก็คือจากB2แล้วบวกไปอีก2แถวเนื่องจากQuery1เริ่มต้นที่ตำแหน่งrow=2 เพื่อให้ได้Summaryของข้อมูลทั้งหมด

ช่วยวางสูตรกรณีที่ตำแหน่งไม่แน่นอนขึ้นอยู่กับเงื่อนไขได้สะดวก

สูตร =”SUM(B3″ & “:B” & B2+2 & “)” นี้มีที่มาจาก

ต้องการคำนวนSummaryเริ่มจากเซลล์ B3 (เนื่องจากQuery1เริ่มวางข้อมูลที่Row=2 แต่แถวแรกเป็นHeaderจึงต้องเริ่มคำนวนที่แถวที่3ก็คือB3 (ส่วนทำไมเป็น B ก็เพราะคอลัมน์ A เป็นข้อมูลวันเดือนปี ผู้เขียนจึงใช้คอลัมน์ถัดไปคือBซึ่งเป็นตัวเลขครับ อันนี้แล้วแต่ความต้องการและรูปแบบQueryของแต่ละคนเลยครับ)

ส่วนแถวสุดท้ายของการคำนวนSummaryก็ให้อ้างอิงจากจำนวนผลลัพธ์ของQueryว่ามีกี่แถวและตำแหน่งที่เริ่มวาง จากรูปบน Query1(Q1)มีจำนวนผลลัพธ์โดยไม่รวมHeaderคือ100แถว และจากรูปที่2เริ่มวางที่Row=2(เริ่มวางHeaderที่แถว2คอลัมน์1) เมื่อวางข้อมูลครบ ข้อมูลสุดท้ายจึงอยู่ที่Rowที่102ตามรูปที่3 ผู้เขียนจึงใช้ “:B” & B2+2 มาเป็นส่วนหนึ่งคือเอาค่าจาก B2 (รูปบน) คือค่าของจำนวนแถวผลลัพธ์Q1มาบวก2(ตำแหน่งเริ่มต้น)เพื่อให้Summaryครอบคลุมข้อมูลทั้งหมดของคอลัมน์B จาก B3ถึงB102 ก็จะได้ค่าSummaryตอนที่Reportทำงานได้เป็น 877433

ฟีเจอร์นี้ทำให้เราไม่ต้องใส่สูตรในเซลล์ไว้ก่อน เพราะเราอาจไม่รู้ว่าผลลัพธ์จะมีกี่แถว สูตรที่จะใช้ต้องทำให้อยู่ในรูปแบบString คือเดิมทีเวลาเราใช้สูตร SUMก็จะพิมพ์ว่า =SUM(B3:B102) แต่ถ้าจะใช้ในฟีเจอร์นี้ของReport Toolkit เราต้องทำให้อยู่ในรูปแบบStringตามตัวอย่างข้างต้นซึ่งมีหลักการดังนี้

  • Expressionจะชึ้นต้นด้วย = และตามด้วยString
  • Stringจะถูกครอบด้วยเครื่องหมาย ” และ “
  • Stringที่ต้องการต่อกับค่าจากเซลล์ในReport Toolkit ให้ต่อด้วยเครื่องหมาย &
  • String ที่มีเครื่องหมาย ” จะใช้ “” (เครื่องหมายคำพูดต่อกัน 2 ครั้ง)
    เช่นถ้าต้องการแสดงคำว่า Total = ไว้ในเซลล์ของReport เราจะใช้Expressionว่า =”””Total =”””

ตัวอย่างExpression

=”SUM(B3:B102)” คือการคำนวนSummaryโดยระบุตำแหน่งเริ่มตำแหน่งสิ้นสุดของการคำนวนตายตัวตั้งแต่B3ถึงB102

=”SUM(B3″&”:B”&B2+2&”)” คือการคำนวนSummaryในตอนที่Reportทำงานตามคำอธิบายข้างต้น

=”SUM(D”&Sheet1!I14+1&”:D”&Sheet1!I14+B3&”)” คือการคำนวนSummaryโดยอ้างอิงตำแหน่งวางข้อมูลQ2(Sheet1ของReport Toolkitเซลล์I14) เริ่มSUMที่แถวถัดไปของคอลัมน์D(เนื่องจากแถวแรกเป็นHeader)ไปจนถึงDแถวทีมีข้อมูลสุดท้ายของQ2(อ้างอิงตามจำนวนแถวของQ2จากเซลล์B3 – จากรูปที่1ของReport Toolkit)

=”””SUMMARY””” คือการวางคำว่า SUMMARY

=”SUM(C1:C”&B4+1&”)” คือการคำนวน SUMMARYคอลัมน์C1จนถึงCแถวสุดท้ายของQuery Q3 ในทำนองเดียวกัน

ส่วนตำแหน่งการวางสูตรก็สามารถใช้วิธีการอ้างอิงโดยใช้Expressionแทนการระบุแบบตายตัวได้เช่นเดียวกันดังรูปล่าง จากรูปล่างB103ที่จะวางสูตรในSheet1ของเทมเพลตReport ก็ได้มาจากการคำนวนตามExpressionว่า =”B” & B2 + 3 ซึ่งมาจากจำนวนแถวของQ1บวกไปอีก 3 นั่นเอง (เพราะQ1เริ่มที่ Row=2 และเราต้องวางต่อจากแถวสุดท้าย ก็คือวางที่ B103 (ดูรูปที่3เทียบกัน) และใส่รูปแบบฟอร์แมตจากF1(เช่นถ้าในF1ของเทมเพลตมีการใช้ตัวหน้า ตัวเอียง ฟอนต์Angsana สีพื้นหลัง ฯลฯ B103ก็จะได้รูปแบบนั้นด้วย)

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

Auto Report Toolkit นี้ช่วยเพิ่มศักยภาพของระบบSCADAในด้านระบบรายงานที่ต้องมีการนำเอกสารไปใช้ในด้านอื่นๆ ช่วยลดต้นทุนและเวลาในการพัฒนา ลูกค้าที่ซื้อGENESIS64 SCADAหรือKepware Manufacturing Suite จากEDA International ตามยอดที่กำหนดสามารถขอAuto Report Toolkitได้จา่กEDA International Ltd.ได้เลยครับ ซึ่งAuto Report Toolkitนี้ไม่ใช่ReportWorX Expressที่ไม่สามารถสร้างReportอัตโนมัติได้ ในขณะที่Auto Report Toolkitทำงานได้อัตโนมัติผ่านTask SchedulerของWindowsได้

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s