Thursday 27 July 2017

7 วัน เฉลี่ยเคลื่อนที่ ใน Sql


ฉันมีตารางของการใช้ผลิตภัณฑ์รายชั่วโมงกี่ครั้งที่ใช้ผลิตภัณฑ์ data. Izhivise ฉันมีข้อมูลการใช้งานสำหรับ 4 ผลิตภัณฑ์ที่แตกต่างกัน ProductId ตั้งแต่ 1 ถึง 4 เก็บไว้สำหรับทุกชั่วโมงในตาราง productusage ที่คุณสามารถจินตนาการมันเติบโตอย่างต่อเนื่อง เนื่องจากกระบวนการ ETL แบบรายคืนจะทิ้งข้อมูลทั้งวันที่ผ่านมาหากไม่ได้ใช้ผลิตภัณฑ์ใด ๆ ในทุกๆวันในหนึ่งชั่วโมงบันทึกสำหรับชั่วโมงที่ได้รับรางวัล t จะปรากฏในตารางนี้เช่นเดียวกันหากผลิตภัณฑ์ไม่ได้ใช้งานตลอดทั้งวัน มีชนะ t เป็นบันทึกใด ๆ สำหรับวันนั้นในตารางที่ฉันต้องการสร้างรายงานที่ให้การใช้ชีวิตประจำวันและล่าสุด 7 วันกลิ้ง average. and อื่น ๆ ฉันวางแผนที่จะสร้างมุมมองการจัดทำดัชนีใน SQL Server 2014 คุณสามารถคิดที่มีประสิทธิภาพ แบบสอบถาม SQL เพื่อทำ this. asked Sep 18 14 at 21 08 ก่อนหน้านี้เราได้กล่าวถึงวิธีการเขียนกลิ้งเฉลี่ยใน Postgres ตามความต้องการที่นิยมเรากำลังแสดงวิธีการทำเช่นเดียวกันใน MySQL และ SQL Server เราจะครอบคลุมวิธีการอธิบายประกอบแผนภูมิที่มีเสียงดัง เช่นนี้ด้วยเส้นค่าเฉลี่ยก่อนหน้า 7 วันเช่น th เป็นไอเดียแรกกราฟแรกของเราด้านบนมีเสียงดังและยากที่จะรับข้อมูลที่เป็นประโยชน์จากเราสามารถทำให้เรียบโดยการคำนวณค่าเฉลี่ย 7 วันที่ด้านบนของข้อมูลพื้นฐานซึ่งสามารถทำได้ด้วยฟังก์ชันหน้าต่างการรวมตัวเอง, หรือแบบสอบถามย่อยที่เกี่ยวข้อง - เราจะครอบคลุมสองข้อแรกเราจะเริ่มต้นด้วยค่าเฉลี่ยก่อนหน้านี้ซึ่งหมายความว่าค่าเฉลี่ยจุดในวันที่ 7 ของเดือนมีค่าเฉลี่ย 7 วันแรกซึ่งจะเปลี่ยนค่าที่เพิ่มขึ้นของกราฟไปเป็น ขวาเป็นขัดขวางใหญ่จะเฉลี่ยในเจ็ดวันต่อไปนี้ขั้นแรกสร้างตารางการนับขั้นกลางเราต้องการคำนวณค่าเฉลี่ยสำหรับการลงชื่อสมัครใช้ทั้งหมดในแต่ละวันสมมติว่าเรามีตารางผู้ใช้ทั่วไปที่มีแถวต่อผู้ใช้รายใหม่และ a timestamp createdat เราสามารถสร้างตารางการลงทะเบียนของเราได้เช่นดังนั้นใน Postgres และ SQL Server คุณสามารถใช้เป็น CTE ใน MySQL คุณสามารถบันทึกเป็นตารางชั่วคราวโพสต์โกร Rolling Average. Fortunately Postgres มีฟังก์ชันหน้าต่างที่ง่ายที่สุด วิธีการคำนวณ aver ทำงาน อายุแบบสอบถามนี้อนุมานว่าวันที่ไม่มีช่องว่างแบบสอบถามมีค่าเฉลี่ยในช่วงเจ็ดแถวที่ผ่านมาไม่ใช่วันที่เจ็ดที่ผ่านมาหากข้อมูลของคุณมีช่องว่างให้กรอกข้อมูลเหล่านี้ด้วยการสร้างหรือเข้าร่วมกับตารางที่มีแถววันที่มีความหนาแน่นสูงมิลสคีลลิง Average. MySQL ขาดฟังก์ชันหน้าต่าง แต่เราสามารถคำนวณแบบเดียวกันโดยใช้ self-joins สำหรับแต่ละแถวในตารางนับของเราเราเข้าแถวที่อยู่ในช่วงเจ็ดวันที่ผ่านมาทั้งหมดและใช้ค่าเฉลี่ยโดยแบบสอบถามนี้จะจัดการกับช่องว่างวันที่โดยอัตโนมัติ เรากำลังมองหาแถวที่อยู่ในช่วงวันที่มากกว่าแถว N ก่อนหน้า SQL Server Rolling Average เซิร์ฟเวอร์ SQL มีฟังก์ชันของหน้าต่างดังนั้นการคำนวณค่าเฉลี่ยโดยรวมสามารถทำได้ทั้งในสไตล์ Postgres หรือแบบ MySQL สำหรับความเรียบง่ายเราใช้ รุ่น MySQL ด้วยตัวเองเข้าร่วมนี้เป็น conceptually เช่นเดียวกับใน MySQL การแปลเพียงอย่างเดียวคือฟังก์ชั่น dateadd และชื่อกลุ่มอย่างชัดเจนโดย columns. Other Averages. We เน้น 7 วันเฉลี่ยต่อท้ายในการโพสต์นี้ถ้าเราต้องการที่จะมองไปที่ ค่าเฉลี่ยชั้นนำ 7 วันมันง่ายเหมือนการเรียงลำดับวันที่ในทิศทางอื่น ๆ ถ้าเราต้องการดูค่าเฉลี่ยศูนย์กลางเราจะใช้แถวเรียงระหว่าง 3 ก่อนหน้าและ 3 ต่อไปนี้ระหว่าง MySQL - 3 และ 3 ใน MySQL เซิร์ฟเวอร์ SQL ระหว่างวัน dateadd, -3 และวันที่ date, 3.Moving Average - MA. BREAKING DOWN Moving Average - MA เป็นตัวอย่าง SMA พิจารณาการรักษาความปลอดภัยที่มีราคาปิดดังต่อไปนี้เกินกว่า 15 วัน 1 สัปดาห์ 5 วัน 20 , 22, 24, 25, 23.Week 2 5 วัน 26, 28, 26, 29, 27.Week 3 5 วัน 28, 30, 27, 29, 28. MA 10 วันจะออกโดยเฉลี่ยที่ราคาปิดของ 10 วันแรกเป็นจุดข้อมูลครั้งแรกจุดข้อมูลถัดไปจะลดราคาเร็วที่สุดเพิ่มราคาในวันที่ 11 และใช้ค่าเฉลี่ยและอื่น ๆ ตามที่แสดงไว้ด้านล่างตามที่ระบุไว้ก่อนหน้านี้ MAs ล่าช้าในการดำเนินการในปัจจุบันเพราะราคาขึ้นอยู่กับ ราคาที่ผ่านมาเป็นระยะเวลานานสำหรับ MA ที่มากขึ้น lag ดังนั้น MA 200 วันจะมีระดับมากขึ้นของความล่าช้ากว่า MA 20 วันเพราะมีราคาที่ผ่านมา 200 วัน ความยาวของ MA จะขึ้นอยู่กับวัตถุประสงค์การซื้อขายโดย MAs สั้นที่ใช้ในการซื้อขายระยะสั้นและระยะยาว MAs เหมาะสำหรับนักลงทุนระยะยาวนักลงทุนและผู้ประกอบการค้าขาย และต่ำกว่าค่าเฉลี่ยเคลื่อนที่นี้ถือเป็นสัญญาณการซื้อขายที่สำคัญนอกจากนี้ MMA ยังให้สัญญาณการซื้อขายที่สำคัญด้วยตัวเองหรือเมื่อสองค่าเฉลี่ยข้าม MA ที่เพิ่มขึ้นแสดงว่าการรักษาความปลอดภัยอยู่ในขาขึ้นขณะที่ MA ลดลงแสดงให้เห็นว่าอยู่ในขาลง ในทำนองเดียวกันโมเมนตัมสูงขึ้นจะได้รับการยืนยันจากการพังทลายของสัญญาณซึ่งเกิดขึ้นเมื่อ MA ระยะสั้นทะลุเหนือโมเมนตัมด้าน MA ระยะยาวได้รับการยืนยันโดยการขึ้นเครื่องหมาย Crossover ซึ่งเกิดขึ้นเมื่อ MA ระยะสั้นทะลุต่ำกว่า MA ระยะยาว

No comments:

Post a Comment