ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
สำหรับบทช่วยสอนของวันนี้ ฉันจะแสดงวิธีที่คุณสามารถทำให้กระบวนการเรียงลำดับคอลัมน์หนึ่งคอลัมน์เป็นไปโดยอัตโนมัติภายในบริการวิเคราะห์ของ LuckyTemplates และ SSAS หรือ SQL Server คุณสามารถดูวิดีโอทั้งหมดของบทช่วยสอนนี้ได้ที่ด้านล่างของบล็อกนี้
ในตัวอย่างนี้ เรามีตาราง Dates ที่มีหลายคอลัมน์ บางคอลัมน์เป็นส่วนจำนวนเต็มซึ่งเราจะซ่อนไว้ และบางคอลัมน์เป็นส่วนของสตริง ซึ่งเราจะแสดงให้ผู้ใช้ปลายทางเห็น
ดังนั้นเราจึงมีคอลัมน์ปีปฏิทิน เดือนปีปฏิทิน และเดือน สิ่งที่เราต้องการทำคือการจัดเรียงคอลัมน์ทั้งสามนี้โดยอัตโนมัติตามส่วนจำนวนเต็ม ฉันจะจัดเรียงปีปฏิทินตามหมายเลขปีปฏิทิน เดือนปีปฏิทินตามหมายเลขเดือนปีปฏิทิน และเดือนตามหมายเลขเดือน
แต่เราจะไม่ทำอย่างนั้นทีละคน เราจะเรียกใช้สคริปต์ที่จะจัดเรียงโดยอัตโนมัติสำหรับตารางนี้โดยเฉพาะ ในกรณีที่คุณมีหลายคอลัมน์สำหรับหลายตาราง คุณสามารถใช้สคริปต์นั้นกับชุดของตารางเหล่านั้นได้
เราจะใช้Tabular Editorในการเขียนโค้ด C# แต่ตอนนี้ Tabular Editor ไม่มี IntelliSense สำหรับภาษา C# เพื่อให้ง่ายขึ้น เราจะใช้Visual Studio (VS) ซึ่งเรามี IntelliSense สำหรับภาษา C# และคุณยังสามารถใช้โค้ด VS ได้อีกด้วย
สารบัญ
การเรียงลำดับคอลัมน์ใน LuckyTemplates และ SSAS โดยใช้ C#
ก่อนอื่น เราต้องสร้างโปรเจ็กต์ใหม่ภายใน Visual Studio ซึ่งจะเป็นConsole App (.Net Framework)สำหรับภาษา C# ให้เลือกคลิกถัดไป
จากนั้นเราสามารถระบุชื่อใด ๆ ให้กับโครงการ ฉันจะเรียกสิ่งนี้ว่า SortByแล้วคลิกสร้าง
ตอนนี้คุณจะเห็นว่าเรามีรหัส เมื่อโค้ดทำงาน เราก็แค่คัดลอกและวางลงใน Tabular Editor
แต่เพื่อให้โค้ดทำงานภายใน Visual Studio เราจำเป็นต้องตั้งค่าการอ้างอิงไปยังไลบรารี และเพื่อสิ่งนั้น เราสามารถคลิกที่การอ้างอิงและเลือกตัวเลือกของManage NuGet Packagesภายในตัวเลือกเบราว์เซอร์
ภายในตัวเลือกการเรียกดู เราจำเป็นต้องเขียนบริการวิเคราะห์ . จากนั้นในตัวเลือกที่มีให้ เราจำเป็นต้องเลือกอันที่สองแล้วคลิกติดตั้ง จะเริ่มการติดตั้งและจะใช้เวลาสองสามวินาทีในการติดตั้งให้เสร็จสมบูรณ์
ต่อไปเราต้องเขียนโค้ดโดยใช้ Microsoft.AnalysisServices.Tabularจากนั้นเขียนเครื่องหมายอัฒภาค เรากำลังจะสร้างวัตถุเซิร์ฟเวอร์ ดังนั้นเราสามารถเขียนServerและชื่อของวัตถุเซิร์ฟเวอร์จะเป็นServerเอง และเราจะเขียนNew Server
โดยพื้นฐานแล้วเรากำลังสร้างวัตถุใหม่ภายในหน่วยความจำ และเพื่อเชื่อมต่อเซิร์ฟเวอร์นั้นกับไฟล์ LuckyTemplates เราจะใช้วิธีก���รของวัตถุเซิร์ฟเวอร์ ดังนั้น มาเขียนserver.Connectและที่นี่ เราจะระบุหมายเลขพอร์ตที่ AnalysisServices ภายใน LuckyTemplates กำลังฟังอยู่
หากต้องการค้นหาหมายเลขพอร์ตนั้น เราไปที่เครื่องมือภายนอก คลิกที่DAX Studioและที่ส่วนล่างสุด เราจะพบโฮสต์ภายในเครื่อง นั่นคือหมายเลขรหัสที่บริการวิเคราะห์เซิร์ฟเวอร์ SQL ที่เรามีภายใน LuckyTemplates กำลังรับฟังการเปลี่ยนแปลงที่เราส่งผ่าน LuckyTemplates หรือเครื่องมือภายนอกอื่นๆ
เซิร์ฟเวอร์เป็นสิ่งหนึ่ง แต่เซิร์ฟเวอร์สามารถมีได้หลายรุ่นเช่นกัน ในกรณีของ SSAS แต่ตอนนี้ ใน LuckyTemplates เรามีโมเดลเดียวเท่านั้น ดังนั้นเราจะประกาศแบบจำลองนั้น เราเขียนที่นี่ว่าModelเท่ากับ (=) server.Databasesและเราจะเข้าถึงฐานข้อมูลแรกภายในเซิร์ฟเวอร์นั้น ดังนั้นเราจะเขียน. Model
ตอนนี้เรามาทดสอบว่าส่วนนั้นของรหัสทำงานหรือไม่ ในการทำเช่นนั้น เราจะพิมพ์รายการตารางทั้งหมดที่เรามีภายในโมเดลข้อมูลนั้น ดังนั้น เราจะพิมพ์ที่นี่ สำหรับแต่ละรายการ(Table t ใน model.Tables)วงเล็บเปิด และกด Enter
หลังจากนั้นเราก็พิมพ์Console.WriteLine (t.Name) . เพื่อให้แน่ใจว่าหน้าต่างจะไม่ปิดโดยอัตโนมัติเมื่อพิมพ์ชื่อตาราง เราจะเขียนว่าConsole.ReadLine , เปิดและปิดวงเล็บ และเครื่องหมายอัฒภาค ตอนนี้ สิ่งที่เราต้องทำคือคลิกที่ ตัวเลือก Startและรอให้ดำเนินการ
คุณจะเห็นว่าเราสามารถพิมพ์ชื่อตารางที่เรามีอยู่ในตัวแบบข้อมูลได้ เรามีวันที่ สินค้า ลูกค้า และร้านค้า เป็นการยืนยันว่าการตั้งค่าที่เราสร้างขึ้นนั้นใช้งานได้จริง
ตอนนี้เราสามารถเข้าไปในเนื้อของรหัสและเริ่มสร้างรหัสที่จะช่วยเราในการจัดเรียงคอลัมน์นั้นตามจำนวนเต็ม
มากำจัดทุกสิ่งที่เราสร้างขึ้นจากส่วนForEach กันเถอะ เราจะรักษาเซิร์ฟเวอร์และโมเดลไว้ตามเดิม มาประกาศตัวแปรที่จะเก็บชื่อของตารางที่เราต้องการวนซ้ำ ฉันจะตั้งชื่อเป็นDatesTableและชื่อตารางโดยทั่วไปจะเป็นDates
ต่อไป เราจะมีforeach var t ใน model.Tables จากนั้น เราจะใช้ a where clause ดังนั้นเราจึงสามารถบอกได้ว่า T ไปที่t.Nameควรเท่ากับDatesTable ที่ไหน หากเรากำลังวนซ้ำบน DatesTable เราจะเริ่มการวนซ้ำอีกครั้งในคอลัมน์ทั้งหมดของ DatesTable นั้น เพื่อที่เราจะได้เขียนforeach var c ใน t.Columns
เพื่อทดสอบว่าเรากำลังวนซ้ำเฉพาะ DatesTable และเรามีสิทธิ์เข้าถึงคอลัมน์ทั้งหมดของ DatesTable หรือไม่ เราสามารถพิมพ์Console.WriteLine และเราจะพูดว่าc.Name
ถ้าฉันกด F5 คุณจะเห็นว่าเราเข้าถึงคอลัมน์ได้
ตอนนี้เราสามารถดำเนินการต่อไปและเขียนโค้ดเพิ่มเติมได้
เรากำลังจะสร้างรายการสิ่งอันดับที่จะประกอบด้วยสามคอลัมน์เพิ่มเติม หนึ่งในคอลัมน์จะเป็นคอลัมน์เป้าหมาย คอลัมน์ที่สองจะเป็นคอลัมน์ที่เราต้องการจัดเรียงคอลัมน์เป้าหมาย และคอลัมน์ที่สามจะเป็นจริงหรือเท็จ ไม่ว่าเราจะต้องการซ่อนคอลัมน์ที่เรากำลังเรียงลำดับจริงหรือไม่
สมมติว่าเราต้องการจัดเรียงคอลัมน์ปีปฏิทินตามหมายเลขปีปฏิทิน คอลัมน์แรกจะมีปีปฏิทิน คอลัมน์ที่สองจะเป็นหมายเลขปีปฏิทิน และคอลัมน์ที่สามจะเป็นตัวกำหนดว่าเราต้องการซ่อนคอลัมน์หมายเลขปีปฏิทินหลังจากที่เราจัดเรียงเสร็จแล้วหรือไม่
กลับไปที่ Visual Studio ซึ่งเราจะสร้างตัวแปรใหม่ คุณสามารถตั้งชื่ออะไรก็ได้ที่คุณต้องการ ในตัวอย่างนี้ ฉันจะเรียกมันว่าcolOperations ต่อไป เราจะเขียนnewจากนั้นเราจะสร้างรายการ และเราจะเขียนประเภทของคอลัมน์ (สตริง สตริง และบูล) หลังจากนั้นเราจะสร้างสิ่งอันดับ
โดยพื้นฐานแล้ว เราเพียงแค่สร้างรายการของสามคอลัมน์ และสำหรับสามคอลัมน์ เราได้จัดเตรียมสองแถว ตอนนี้ภายใน ลูป foreach ของเรา เราจะเริ่มต้นfor ลูป โดยพื้นฐานแล้ว สิ่งที่เรากำลังจะพูดคือประกาศตัวแปรที่ขึ้นต้นด้วยiในการวนซ้ำแต่ละครั้ง ถ้า i น้อยกว่า colOperations.Count ก็เพิ่มค่านั้น
ต่อไปเราจะเขียนคำสั่งIF c.Name เป็นชื่อ ของคอลัมน์ที่เราอยู่ จากนั้น เรามีcolOperations i โดยพื้นฐานแล้ว i ช่วยให้เราเข้าถึงแถวใดแถวหนึ่งได้ และเมื่อเราเขียน.Item1เราจะสามารถเข้าถึงคอลัมน์แรก คอลัมน์ที่สอง หรือคอลัมน์ที่สาม
ก่อนอื่นเราจะใช้คอลัมน์Item1 หากเป็นเช่นนั้น เราก็แค่เขียนc.SortByColumnควรมีค่าเท่ากับt.Columns จำไว้ว่า t คือวัตถุตาราง จากนั้นเรากำลังเข้าถึงคอลัมน์จากตารางนั้น เราต้องการcolOperationsแถวที่เรากำลังดำเนินการในคอลัมน์และคอลัมน์นั้นเป็นวัตถุItem2
สุดท้าย หากต้องการซ่อนคอลัมน์ที่เราใช้การเรียงลำดับ เราเขียนโค้ดบรรทัดสุดท้ายหนึ่งบรรทัด
ตอนนี้เราได้เขียนโค้ดหลักที่เราจะนำไปใช้กับโมเดลตารางของเราแล้ว เราสามารถคัดลอกโค้ดจาก var colOperationsและนำไปที่ Tabular Editor จากนั้นเราจะรันโค้ดเดียวกัน
การเรียงลำดับคอลัมน์ใน LuckyTemplates และ SSAS โดยใช้ตัวแก้ไขแบบตาราง
เราจะไม่ใช้เซิร์ฟเวอร์หรือวัตถุโมเดล เพราะเบื้องหลังตัวแก้ไขตารางจะรู้โดยอัตโนมัติว่าโมเดล LuckyTemplates หรือโมเดลบริการวิเคราะห์ใดที่ต้องเชื่อมต่อ ดังนั้นเราจึงไม่จำเป็นต้องใช้ตัวแปรเหล่านั้นเพราะนั่นเป็นงานของTabular Editor อยู่แล้ว ในการระบุว่าต้องการเชื่อมต่อกับโมเดลเหล่านั้นอย่างไร
ย้อนกลับไปใน LuckyTemplates เราจะเปิดตัว Tabular Editor 3 หรือ Tabular Editor 2 คุณสามารถใช้อันใดก็ได้ที่คุณต้องการ ในกรณีนี้ ให้ใช้ Tabular Editor 3
เราไปที่แท็บ File คลิกที่ New C# code และปิดตัวเลือก Properties จากนั้นเราก็วางรหัสที่นี่ สิ่งเดียวที่เราต้องแน่ใจคือแทนที่จะใช้ตัวแปรโมเดลคือใช้โมเดลวัตถุ ลองใช้ตัวพิมพ์ใหญ่ Mและรันโค้ดนั้น
ตอนนี้สคริปต์ได้รับการดำเนินการเรียบร้อยแล้วและยังแจ้งว่าแสดงการเปลี่ยนแปลงโมเดล 3 รายการ เราจะส่งการเปลี่ยนแปลงกลับไปยังโมเดลข้อมูล เราจะบันทึกสิ่งที่เราใช้กับคอลัมน์เหล่านั้น
ย้อนกลับไปใน LuckyTemplates คุณจะเห็นว่าหมายเลขเดือนถูกซ่อนอยู่ ถ้าฉันคลิกที่คอลัมน์เดือนและไปที่เครื่องมือคอลัมน์และไปที่จัดเรียงตามคอลัมน์คุณจะเห็นว่าคอลัมน์นั้นถูกจัดเรียงตามหมายเลขเดือน เช่นเดียวกับหมายเลขปีปฏิทินเดือน
ปีปฏิทินถูกจัดเรียงด้วยตัวเองเพราะเราไม่มีคอลัมน์นั้นในรหัส C# นั้น ดังนั้น สิ่งที่เราทำได้คือเปิดใช้ Tabular Editor และสร้างทูเพิลขึ้นมาใหม่ จากนั้นเราก็เรียกใช้สคริปต์นั้นอีกครั้ง
ตัวแก้ไขตาราง LuckyTemplates: บทวิจารณ์และบทช่วยสอนเวอร์ชัน 3
ตัวแก้ไขตาราง LuckyTemplates 3: ทำงานอัตโนมัติด้วยสคริปต์
การเข้ารหัส DAX ภายในตัวแก้ไขตาราง 3
บทสรุป
นั่นเป็นวิธีที่ง่ายในการทำให้กระบวนการเรียงลำดับคอลัมน์หนึ่งคอลัมน์ในและ SSAS เป็นไปโดยอัตโนมัติ นี่เป็นตัวอย่างเบื้องต้นของวิธีการดำเนินการดังกล่าวภายในตารางวันที่ แต่คุณสามารถเพิ่มความสมบูรณ์ให้กับรายการนี้ได้โดยการเพิ่มคอลัมน์แล้วตรวจสอบตารางอื่น
ด้วยวิธีนี้ คุณจะสามารถลดระยะเวลาที่ต้องใช้ในการจัดเรียงคอลัมน์เหล่านี้สำหรับโมเดลเดิมที่คุณจะสร้างครั้งแล้วครั้งเล่า
ฉันหวังว่าคุณจะพบว่าสิ่งนี้มีประโยชน์ หากคุณมีคำถามใด ๆ โปรดแจ้งให้เราทราบในส่วนความคิดเห็น
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates
ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก
บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ
ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น
ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร
เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates
บทช่วยสอนนี้จะหารือเกี่ยวกับแนวคิดของการทำให้แคชข้อมูลเป็นรูปธรรมและวิธีที่สิ่งเหล่านี้ส่งผลต่อประสิทธิภาพของ DAX ในการให้ผลลัพธ์
หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ
เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้