Tuesday 11 July 2017

Powerpivot เคลื่อนไหว เฉลี่ย dax


การกลิ้ง 12 เดือนเฉลี่ยใน DAXputing ค่าเฉลี่ยของ DMPP เฉลี่ย 12 เดือนใน DAX ดูเหมือนจะเป็นงานง่ายๆ แต่จะซ่อนความซับซ้อนบางอย่างบทความนี้อธิบายถึงวิธีการเขียนสูตรที่ดีที่สุดเพื่อหลีกเลี่ยงข้อผิดพลาดทั่วไปที่ใช้ฟังก์ชันอัจฉริยะเวลาเราเริ่มต้นด้วยแบบจำลองข้อมูล AdventureWorks ปกติ กับตารางสินค้าการขายและปฏิทินปฏิทินถูกทำเครื่องหมายเป็นตารางปฏิทินมีความจำเป็นที่จะต้องทำงานร่วมกับฟังก์ชันอัจฉริยะเวลาใด ๆ และเราสร้างลำดับชั้นที่เรียบง่ายขึ้นเมื่อปีที่แล้วด้วยการตั้งค่านี้การสร้างชุดนี้เป็นเรื่องง่ายมาก PivotTable แรกที่แสดงยอดขายเมื่อเวลาผ่านไปเมื่อทำการวิเคราะห์แนวโน้มถ้ายอดขายขึ้นอยู่กับฤดูกาลหรือโดยทั่วไปถ้าคุณต้องการลบผลกระทบของยอดขายและยอดขายลดลงเทคนิคทั่วไปคือการคำนวณมูลค่าในช่วงเวลาที่กำหนด โดยเฉลี่ยแล้ว 12 เดือนและเฉลี่ยค่าเฉลี่ยของการกลิ้งมากกว่า 12 เดือนเป็นตัวบ่งชี้ที่ราบรื่นของเทรนด์และเป็นประโยชน์อย่างยิ่งในแผนภูมิทำให้วันที่เราสามารถคำนวณค่าเฉลี่ยกลิ้ง 12 เดือนได้ s สูตรซึ่งยังคงมีปัญหาบางอย่างที่เราจะแก้ในภายหลังพฤติกรรมของสูตรง่ายคำนวณค่าขายหลังจากสร้างตัวกรองในปฏิทินที่แสดงให้เห็นว่าหนึ่งปีเต็มของข้อมูลหลักของสูตรคือ DATESBETWEEN ซึ่งจะส่งกลับค่าวันที่ระหว่างสองเขตแดนด้านล่างคือเปิดจากด้านบนสุดถ้าเราแสดงข้อมูลเป็นเดือนหนึ่งกล่าวว่ากรกฎาคม 2007 เราจะใช้วันที่มองเห็นล่าสุดโดยใช้ LASTDATE ซึ่งจะส่งกลับวันสุดท้ายใน กรกฎาคม 2007 จากนั้นเราจะใช้ NEXTDAY ในวันที่ 1 สิงหาคม 2007 และสุดท้ายเราก็ใช้ SAMEPERIODLASTYEAR เพื่อเปลี่ยนกลับไปเป็นเวลา 1 ปีโดยให้ผลผลิต 1 สิงหาคม 2006 ขอบเขตด้านบนเป็นเพียง LASTDATE คือสิ้นเดือนกรกฎาคม 2007 ถ้าเราใช้สูตรนี้ใน PivotTable ผลดูเหมือนดี แต่เรามีปัญหาสำหรับวันที่ล่าสุดในความเป็นจริงตามที่เห็นในรูปค่าถูกคำนวณอย่างถูกต้องจนถึงปี 2008 จากนั้นไม่มีค่าในปี 2009 ซึ่งถูกต้องเรา don t มียอดขายในปีพ. ศ. 2552 แต่ก็ยังมี surpri sing มูลค่าในเดือนธันวาคม 2010 ซึ่งสูตรของเราแสดงยอดรวมแทนที่จะเป็นค่าว่างตามที่คาดไว้ในความเป็นจริงในเดือนธันวาคม LASTDATE จะส่งคืนวันสุดท้ายของปีและ NEXTDAY จะกลับมาในวันที่ 1 มกราคม 2011 แต่ NEXTDAY ฟังก์ชั่นปัญญาระยะเวลาและคาดว่าจะส่งกลับชุดของวันที่มีอยู่ความจริงข้อนี้ไม่ได้เป็นที่ประจักษ์มากและมีมูลค่าไม่กี่คำ more. Time ฟังก์ชั่นปัญญาไม่ได้ดำเนินการคณิตศาสตร์ในวันที่ถ้าคุณต้องการที่จะใช้วันหลังจากวันที่ที่กำหนด, คุณสามารถเพิ่ม 1 ลงในคอลัมน์วันใดก็ได้และผลลัพธ์จะเป็นวันรุ่งขึ้นแทนฟังก์ชันอัจฉริยะเวลาจะเปลี่ยนชุดวันที่ไปมาตลอดเวลาดังนั้น NEXTDAY จึงนำเข้าในกรณีของเราเป็นแถวแถวเดียวที่มี 31 ธันวาคม 2010 และเลื่อนมันหนึ่งวันต่อมาปัญหาก็คือผลที่ควรจะ 1 มกราคม 2011 แต่เนื่องจากตารางปฏิทินไม่ได้มีวันที่ที่ผลคือ BLANK ดังนั้นการแสดงออกของเราคำนวณการขายที่มีขอบเขตต่ำกว่าที่ว่างเปล่า หมายถึงการเริ่มต้น ของเวลาการให้ผลที่ยอดรวมของยอดขายเพื่อแก้ไขสูตรก็จะเพียงพอที่จะเปลี่ยนลำดับการประเมินผลของขอบด้านล่างที่คุณสามารถดูตอนนี้ NEXTDAY เรียกว่าหลังจากการเปลี่ยนแปลงของหนึ่งปีกลับมาด้วยวิธีนี้, เราใช้เวลา 31 ธันวาคม 2010 ย้ายไปที่ 31 ธันวาคม 2009 และใช้วันถัดไปซึ่งเป็นวันที่ 1 มกราคม 2010 วันที่มีอยู่ในตารางปฏิทินผลขณะนี้คาดว่าหนึ่งที่จุดนี้เราต้องแบ่งเท่านั้น จำนวนที่ 12 เพื่อให้ได้ค่าเฉลี่ยกลิ้ง แต่ที่คุณสามารถจินตนาการได้อย่างง่ายดายเราไม่สามารถหารด้วย 12 ในความเป็นจริงที่จุดเริ่มต้นของช่วงเวลามีไม่ 12 เดือนในการรวม แต่ตัวเลขที่ต่ำกว่าเราจำเป็นต้องคำนวณ จำนวนเดือนที่มีการขายนี้สามารถทำได้โดยใช้การกรองข้ามของตารางปฏิทินด้วยตารางการขายหลังจากที่เราใช้บริบท 12 เดือนใหม่เรากำหนดมาตรการใหม่ที่คำนวณจำนวนเดือนที่มีอยู่ในระยะเวลา 12 เดือนคุณ สามารถดูในรูปถัดไปที่ Month12 M จะคำนวณค่าที่ถูกต้องโปรดทราบว่าสูตรนี้ใช้ไม่ได้ถ้าคุณเลือกช่วงเวลานานกว่า 12 เดือนเนื่องจาก MonthName ของปฏิทินมีค่าเพียง 12 ค่าเท่านั้นหากคุณต้องการระยะเวลานานขึ้นคุณจะต้องใช้คอลัมน์ YYYYMM เพื่อให้สามารถนับได้มากกว่า 12 ส่วนที่น่าสนใจของสูตรนี้ที่ใช้การกรองข้ามคือข้อเท็จจริงที่คำนวณจำนวนเดือนที่สามารถใช้ได้แม้ว่าคุณจะกรองข้อมูลโดยใช้แอตทริบิวต์อื่น ๆ ตัวอย่างเช่นหากคุณเลือกสีฟ้าโดยใช้เครื่องตัด แล้วยอดขายเริ่มต้นในเดือนกรกฎาคม 2007 ไม่ใช่ในปี 2005 เนื่องจากเกิดขึ้นกับสีอื่น ๆ โดยใช้ตัวกรองแบบไขว้ในการขายสูตรนี้คำนวณได้อย่างถูกต้องว่าในเดือนกรกฎาคม 2007 มียอดขาย Blue สำหรับเดือนนี้เพียงเดือนเดียวเท่านั้น เฉลี่ยอยู่ที่ห่างไกลเมื่อเราใช้ในตาราง Pivot เรายังคงมีปัญหาเล็ก ๆ ในความเป็นจริงค่าจะคำนวณเป็นเดือนที่ไม่มีการขายเช่นในอนาคตเดือนนี้สามารถแก้ไขได้โดยใช้คำสั่ง IF เพื่อป้องกันสูตรจาก แสดงค่าเมื่อไม่มียอดขายฉันไม่มีอะไรต่อต้าน IF แต่สำหรับการติดยาเสพติดในหมู่คุณเป็นมูลค่าจดจำว่าถ้าอาจจะเป็นนักฆ่าประสิทธิภาพเพราะมันอาจบังคับ DAX สูตรเครื่องยนต์เตะในในกรณีนี้เฉพาะ, ความแตกต่างเล็กน้อย แต่ตามกฎทั่วไปวิธีที่ดีที่สุดในการลบมูลค่าเมื่อไม่มีการขายคือการพึ่งพาสูตรเครื่องมือเก็บข้อมูลแบบสแตนด์อโลนเช่นนี้ในการแยกแยะแผนภูมิโดยใช้ Avg12M กับอีกอันหนึ่งที่แสดงให้เห็นว่ายอดขายที่คุณสามารถชื่นชมได้ง่าย วิธีคำนวณค่าเฉลี่ยโดยรวมของกลิ้งในวิธีทำความสะอาดมากโปรดแจ้งให้ฉันทราบเกี่ยวกับจดหมายข่าวบทความที่กำลังจะยกเลิกการเลือกดาวน์โหลดไฟล์ได้อย่างอิสระ DDA ประกอบด้วยฟังก์ชันรวบรวมข้อมูลไม่กี่อย่างเช่นค่าเฉลี่ยความแปรปรวนและค่าส่วนเบี่ยงเบนมาตรฐานการคำนวณทางสถิติทั่วไปอื่น ๆ กำหนดให้คุณต้อง เขียน DAX การแสดงออกของ Excel อีกต่อไปจากมุมมองนี้มีภาษาที่ร่ำรวยมากขึ้นรูปแบบข้อมูลทางสถิติเป็นชุดของการคำนวณทางสถิติโดยเฉลี่ย median, mod เราต้องการขอบคุณ Colin Banfield, Gerard Brueckl และ Javier Guilln บล็อกที่ได้รับแรงบันดาลใจบางรูปแบบดังต่อไปนี้ตัวอย่างสูตรพื้นฐานตัวอย่างสูตรในรูปแบบนี้เป็นโซลูชันสำหรับการคำนวณทางสถิติที่เฉพาะเจาะจง คุณสามารถใช้ฟังก์ชัน DAX มาตรฐานในการคำนวณค่าเฉลี่ยเลขคณิตเฉลี่ยของชุดค่าได้ค่าเฉลี่ยของค่าตัวเลขทั้งหมดในคอลัมน์ตัวเลขจะส่งกลับค่าเฉลี่ยของตัวเลขทั้งหมดในคอลัมน์การจัดการทั้งข้อความและตัวเลขที่ไม่ใช่ตัวเลข ค่าที่ไม่ใช่ตัวเลขและค่าว่างเปล่านับเป็น 0.AVERAGEX คำนวณค่าเฉลี่ยของนิพจน์ที่ประเมินบนตารางค่าเฉลี่ยค่าเฉลี่ยเคลื่อนที่คือการคำนวณในการวิเคราะห์จุดข้อมูลโดยการสร้างชุดข้อมูลค่าเฉลี่ยของชุดย่อยต่างๆของข้อมูลทั้งหมด set คุณสามารถใช้เทคนิค DAX จำนวนมากเพื่อใช้การคำนวณนี้เทคนิคที่ง่ายที่สุดคือการใช้ AVERAGEX, iterating ตารางของความละเอียดที่ต้องการและการคำนวณสำหรับแต่ละซ้ำ expres sion ที่สร้างจุดข้อมูลเดียวเพื่อใช้ในค่าเฉลี่ยตัวอย่างเช่นสูตรต่อไปนี้จะคำนวณค่าเฉลี่ยเคลื่อนที่ของ 7 วันที่ผ่านมาสมมติว่าคุณใช้ตาราง Date ในรูปแบบข้อมูลของคุณการใช้ AVERAGEX จะคำนวณขนาดโดยอัตโนมัติ ระดับความละเอียดแต่ละระดับเมื่อใช้มาตรการที่สามารถรวมกันเช่น SUM ได้วิธีอื่นตาม CALCULATE อาจทำงานได้เร็วขึ้นคุณสามารถหาแนวทางอื่นในรูปแบบ Moving Average คุณสามารถใช้ฟังก์ชัน DAX มาตรฐานเพื่อคำนวณความแปรปรวนของ ชุดของค่า VAR S จะแสดงค่าความแปรปรวนของค่าในคอลัมน์ที่เป็นตัวแทนของจำนวนประชากรตัวอย่าง VAR P จะแสดงค่าความแปรปรวนของค่าในคอลัมน์ที่แสดงถึงประชากรทั้งหมด VARX S จะส่งกลับค่าความแปรปรวนของนิพจน์ที่ได้รับการประเมินผ่านตารางแทนกลุ่มตัวอย่าง. VARX P ส่งกลับค่าความแปรปรวนของนิพจน์ที่ได้รับการประเมินจากตารางที่แสดงถึงประชากรทั้งหมดการเบี่ยงเบนมาตรฐานคุณสามารถใช้ฟังก์ชัน DAX มาตรฐานในการคำนวณได้ e ส่วนเบี่ยงเบนมาตรฐานของชุดของค่าต่างๆค่าของ S จะส่งกลับค่าส่วนเบี่ยงเบนมาตรฐานของค่าในคอลัมน์ที่เป็นตัวแทนของกลุ่มตัวอย่างตัวอย่างเช่นค่าของค่าที่ส่งกลับค่าส่วนเบี่ยงเบนมาตรฐานของค่าในคอลัมน์ที่เป็นตัวแทนของประชากรทั้งหมด SODVX S จะส่งกลับค่าส่วนเบี่ยงเบนมาตรฐานของ นิพจน์ได้รับการประเมินจากตารางที่เป็นตัวแทนของประชากรกลุ่มตัวอย่าง NUMVX P จะส่งกลับค่าส่วนเบี่ยงเบนมาตรฐานของนิพจน์ที่ได้รับการประเมินผ่านตารางแทนค่ามัธยฐานของประชากรทั้งหมดมัธยฐานคือค่าตัวเลขที่แยกครึ่งหนึ่งของประชากรที่สูงขึ้นจากครึ่งล่างถ้ามีเลขคี่ จำนวนแถวค่ามัธยฐานคือค่ากลางที่เรียงลำดับแถวจากค่าต่ำสุดไปเป็นค่าสูงสุดถ้ามีจำนวนแถวเท่ากันค่าเฉลี่ยของค่ากลางทั้งสองสูตรจะไม่สนใจค่าว่างซึ่งจะไม่ถือว่าเป็นส่วนหนึ่ง ของผลลัพธ์ที่ได้จะเหมือนกับฟังก์ชัน MEDIAN ใน Excel รูปที่ 1 แสดงการเปรียบเทียบระหว่างผลลัพธ์ที่ส่งกลับโดย Excel และสูตร DAX ที่สอดคล้องกัน สำหรับการคำนวณค่ามัธยฐานรูปที่ 1 ตัวอย่างการคำนวณค่ามัธยฐานใน Excel และ DAX โหมดคือค่าที่ปรากฏบ่อยที่สุดในชุดข้อมูลสูตรจะละเว้นค่าว่างซึ่งไม่ถือว่าเป็นส่วนหนึ่งของประชากรผลลัพธ์จะเหมือนกับ MODE และฟังก์ชันใน Excel ซึ่งส่งคืนค่าต่ำสุดเท่านั้นเมื่อมีหลายโหมดในชุดค่าที่พิจารณาฟังก์ชัน Excel จะคืนค่าทุกโหมด แต่คุณไม่สามารถใช้เป็นรูปแบบการวัดใน DAX ได้รูปที่ 2 เปรียบเทียบผลลัพธ์ที่ได้ โดย Excel ด้วยสูตร DAX ที่สอดคล้องกันสำหรับการคำนวณรูปแบบรูปที่ 2 ตัวอย่างการคำนวณรูปแบบใน Excel และ DAX เปอร์เซนต์คือค่าที่ด้านล่างซึ่งเป็นเปอร์เซ็นต์ของค่าในกลุ่มที่ตกหล่นสูตรจะละเว้นค่าว่างซึ่งไม่ถือเป็นส่วนหนึ่ง ของประชากรการคำนวณใน DAX ต้องใช้หลายขั้นตอนซึ่งอธิบายไว้ในส่วนรูปแบบสมบูรณ์ซึ่งจะแสดงวิธีการได้รับผลลัพธ์ที่เหมือนกันของฟังก์ชัน Excel PERCENTILE และ Quartiles เป็นสามจุดที่แบ่งชุดของค่าออกเป็นสี่กลุ่มที่เท่ากันโดยแต่ละกลุ่มจะประกอบด้วยข้อมูลที่เป็นสี่ส่วนคุณสามารถคำนวณ quartiles โดยใช้รูปแบบเปอร์เซ็นต์เป็นเปอร์เซ็นต์ตามควอไทล์เหล่านี้ควอร์ไทล์ที่ต่ำกว่า 25 เปอร์เซ็นต์ percentile ที่สองส่วนควอร์ไทล์ที่ 50 percentile ควอร์ไทล์ควอไทล์ที่สามส่วนที่ 75 percentileplete Pattern การคำนวณทางสถิติเพียงเล็กน้อยจะมีคำอธิบายรูปแบบสมบูรณ์อีกต่อไปเนื่องจากคุณอาจมีการใช้งานที่แตกต่างกันไปขึ้นอยู่กับแบบจำลองข้อมูลและข้อกำหนดอื่น ๆ โดยเฉลี่ยแล้วคุณประเมินค่าเฉลี่ยเคลื่อนไหวโดยอ้างอิงวัน ระดับรายละเอียดแม่แบบทั่วไปของสูตรต่อไปนี้มีเครื่องหมายเหล่านี้วันที่จำนวนวันเป็นจำนวนวันสำหรับค่าเฉลี่ยที่เคลื่อนที่ datadat คอลัมน์เป็นคอลัมน์วันที่ของตารางวันที่ถ้าคุณมีหรือคอลัมน์วันที่ของตารางที่มีค่าถ้ามี ไม่มี table. measure วันที่แยกเป็นตัวชี้วัดในการคำนวณเป็นค่าเฉลี่ยที่เคลื่อนที่ได้รูปแบบที่ง่ายที่สุดใช้ func AVERAGEX tion ใน DAX โดยอัตโนมัติจะพิจารณาเฉพาะวันที่มีค่าเป็นอีกทางเลือกหนึ่งคุณสามารถใช้เทมเพลตต่อไปนี้ในโมเดลข้อมูลโดยไม่มีตารางวันที่และมีมาตรการที่สามารถรวมกันได้เช่น SUM ในช่วงเวลาทั้งหมดที่พิจารณา สูตรก่อนหน้าพิจารณาวันที่ไม่มีข้อมูลที่เกี่ยวข้องเป็นตัววัดที่มีค่าเป็น 0 ซึ่งอาจเกิดขึ้นได้เฉพาะเมื่อคุณมีตารางวันที่แยกต่างหากซึ่งอาจมีวันที่ไม่มีการทำธุรกรรมที่สอดคล้องกันคุณสามารถแก้ไขตัวหารสำหรับค่าเฉลี่ยโดยใช้ เฉพาะจำนวนวันที่มีการทำธุรกรรมโดยใช้รูปแบบต่อไปนี้ where. facttable คือตารางที่เกี่ยวข้องกับตารางวันที่และมีค่าที่คำนวณโดยคุณอาจใช้ฟังก์ชัน DATESBETWEEN หรือ DATESINPERIOD แทน FILTER แต่ทำงานได้เฉพาะเหล่านี้เท่านั้น ในตารางวันที่ปกติในขณะที่คุณสามารถใช้รูปแบบที่อธิบายข้างต้นกับตารางวันที่ที่ไม่ปกติและโมเดลที่ไม่มีตารางวันตัวอย่างเช่นพิจารณา ผลลัพธ์ที่แตกต่างกันที่เกิดขึ้นโดยใช้สองมาตรการต่อไปนี้ในรูปที่ 3 คุณจะเห็นได้ว่าไม่มียอดขายในวันที่ 11 กันยายน พ. ศ. 2548 อย่างไรก็ตามวันที่นี้รวมอยู่ในตารางวันที่ดังนั้นจึงมี 7 วันนับจากวันที่ 11 กันยายนถึงวันที่ 17 กันยายน มีเพียง 6 วันเท่านั้นที่มีข้อมูลรูปที่ 3 ตัวอย่างการคำนวณค่าเฉลี่ยเคลื่อนที่โดยพิจารณาและละเลยวันที่ที่ไม่มียอดขายมาตรการดังกล่าวเฉลี่ย 7 วันมีจำนวนน้อยระหว่างวันที่ 11 กันยายนถึง 17 กันยายนเนื่องจากถือว่าวันที่ 11 กันยายนเป็นวันที่มียอดขาย 0 รายการ ถ้าคุณต้องการละเว้นวันที่ไม่มียอดขายให้ใช้มาตรการ Moving Average 7 Days No Zero นี่อาจเป็นวิธีที่ถูกต้องเมื่อคุณมีตารางวันที่ที่ครบถ้วน แต่คุณต้องการละเว้นวันที่ไม่มีการทำธุรกรรมโดยใช้สูตร Moving Average Average 7 Days, ผลที่ได้คือถูกต้องเนื่องจาก AVERAGEX พิจารณาค่าที่ไม่ใช่ค่าที่ว่างเปล่าโดยอัตโนมัติเท่านั้นโปรดระลึกไว้ว่าคุณอาจปรับปรุงสมรรถนะของค่าเฉลี่ยที่เคลื่อนที่ได้โดยการคงค่าในคอลัมน์ที่คำนวณได้ของตารางด้วยข้อมูลที่ต้องการ ity เช่นวันที่หรือวันที่และผลิตภัณฑ์อย่างไรก็ตามวิธีคำนวณแบบไดนามิกพร้อมด้วยการวัดมีความสามารถในการใช้พารามิเตอร์สำหรับจำนวนวันของค่าเฉลี่ยเคลื่อนที่เช่นการแทนที่ numberofdays ด้วยการวัดรูปแบบตารางพารามิเตอร์ค่ามัธยฐาน เป็นเปอร์เซ็นต์ที่ 50 ซึ่งคุณสามารถคำนวณได้โดยใช้รูปแบบเปอร์เซ็นต์ แต่รูปแบบ Median ช่วยให้คุณสามารถปรับและคำนวณค่ามัธยฐานได้โดยใช้มาตรการเดียวแทนการใช้มาตรการหลายรูปแบบตามรูปแบบเปอร์เซ็นต์คุณสามารถใช้วิธีนี้เมื่อคุณ คำนวณค่ามัธยฐานสำหรับค่าที่รวมอยู่ใน valuecolumn ดังที่แสดงด้านล่างเพื่อปรับปรุงประสิทธิภาพคุณอาจต้องการให้ค่าของการวัดในคอลัมน์ที่คำนวณได้ถ้าคุณต้องการได้ค่ามัธยฐานสำหรับผลลัพธ์ของการวัดในรูปแบบข้อมูลอย่างไรก็ตาม ก่อนที่จะทำการเพิ่มประสิทธิภาพนี้คุณควรใช้การคำนวณ MedianX โดยใช้เทมเพลตต่อไปนี้โดยใช้เครื่องหมายเหล่านี้ตารางความหนาแน่นคือตารางที่ d คำนวณความละเอียดของการคำนวณตัวอย่างเช่นอาจเป็นตารางวันที่หากคุณต้องการคำนวณค่ามัธยฐานของการวัดที่คำนวณในระดับวันหรืออาจเป็น VALUES Date YearMonth ถ้าคุณต้องการคำนวณค่ามัธยฐานของการวัดที่คำนวณได้ การวัดค่าระดับเดือนคือการคำนวณสำหรับแต่ละแถวของข้อมูลย่อยสำหรับการคำนวณค่ามัธยฐานคือตารางที่มีข้อมูลที่ใช้โดยการวัดตัวอย่างเช่นถ้า granularitytable เป็นมิติเช่น Date แล้วตารางจะเป็น Internet Sales ที่ประกอบด้วย คอลัมน์จำนวนยอดขายทางอินเทอร์เน็ตที่สรุปโดยมาตรการการขายแบบรวมของอินเทอร์เน็ตตัวอย่างเช่นคุณสามารถเขียนค่ามัธยฐานของยอดขายรวมของอินเทอร์เน็ตสำหรับลูกค้าทั้งหมดใน Adventure Works ดังต่อไปนี้เคล็ดลับรูปแบบต่อไปนี้ใช้เพื่อลบแถวออกจากรายการย่อยที่ไม่มี ข้อมูลที่สอดคล้องกันในการเลือกปัจจุบันเป็นวิธีที่เร็วกว่าการใช้นิพจน์ต่อไปนี้อย่างไรก็ตามคุณอาจแทนที่นิพจน์ทั้ง CALCULATETABLE ด้วยคำว่า gr เพียงอย่างเดียว anularitytable ถ้าคุณต้องการพิจารณาค่าว่างของการวัดเป็น 0. ประสิทธิภาพของสูตร MedianX ขึ้นอยู่กับจำนวนแถวในตาราง iterated และความซับซ้อนของการวัดหากประสิทธิภาพไม่ดีคุณอาจยังคงผลลัพธ์การวัดใน a คำนวณคอลัมน์ของตาราง แต่จะลบความสามารถในการใช้ตัวกรองกับการคำนวณค่ามัธยฐานที่เวลาสืบค้น Excel มีการใช้งานสองแบบที่แตกต่างกันของการคำนวณเปอร์เซ็นต์กับสามฟังก์ชัน PERCENTILE และพวกเขาทั้งหมดจะส่งกลับ K-th percentile ของค่าที่ K อยู่ในช่วง 0 ถึง 1 ความแตกต่างคือ PERCENTILE และพิจารณา K เป็นช่วงที่ครอบคลุมในขณะที่พิจารณา K ช่วง 0 ถึง 1 เป็น exclusive. All ของฟังก์ชันเหล่านี้และการใช้งาน DAX ของพวกเขาได้รับค่า percentile เป็นพารามิเตอร์ซึ่งเราเรียก KK ค่าเปอร์เซ็นต์อยู่ในช่วง 0 ถึง 1. การใช้งาน DAX สองรายการของเปอร์เซ็นไทล์ต้องใช้มาตรการบางอย่างที่คล้ายกัน แต่แตกต่างกันมากพอที่จะต้องใช้ชุดสูตรที่แตกต่างกันสองชุด s กำหนดไว้ในแต่ละรูปแบบคือ KPerc ค่าเปอร์เซ็นซึ่งสอดคล้องกับ K. PercPos ตำแหน่งของ percentile ในชุดค่าที่เรียงลำดับค่าต่ำสุดค่าด้านล่างตำแหน่ง percentile ค่าสูงค่าเหนือตำแหน่ง percentile. Pridecentile การคำนวณครั้งสุดท้ายของ เปอร์เซ็นต์คุณต้องใช้ ValueLow และ ValueHigh มาตรการในกรณีที่ PercPos มีส่วนทศนิยมเพราะคุณต้อง interpolate ระหว่าง ValueLow และ ValueHigh เพื่อที่จะส่งกลับค่าเปอร์เซ็นที่ถูกต้องรูปที่ 4 แสดงตัวอย่างของการคำนวณที่ทำกับ Excel และ DAX โดยใช้ทั้งสองขั้นตอนของการรวมเปอร์เซ็นต์และแบบเอกสิทธิ์เฉพาะบุคคลรูปที่ 4 การคำนวณเปอร์เซ็นต์โดยใช้สูตร Excel และการคำนวณ DAX ที่เทียบเท่าในส่วนต่อไปนี้สูตร Percently ใช้คำนวณค่าที่จัดเก็บในคอลัมน์ตารางค่าข้อมูลในขณะที่ PercentileX สูตรจะคำนวณค่าที่ส่งกลับโดยการวัดที่คำนวณได้ที่ระดับใดส่วนหนึ่ง การใช้งาน Percentile Inclusive มีดังต่อไปนี้ Procentile Exclusive การใช้งาน Percentile Exclusive มีดังต่อไปนี้ ProcentileX Inclusive การใช้ PercentileX Inclusive ขึ้นอยู่กับเทมเพลตต่อไปนี้โดยใช้เครื่องหมายเหล่านี้ตารางความหนาแน่นคือตารางที่กำหนดความละเอียดของการคำนวณ อาจเป็นตารางวันที่หากคุณต้องการคำนวณเปอร์เซ็นต์ของการวัด ณ ระดับวันหรืออาจเป็น VALUES Date YearMonth ถ้าคุณต้องการคำนวณเปอร์เซ็นต์ของการวัดที่ระดับ month. Mmeasure คือมาตรการที่จะคำนวณสำหรับ แถวของ granularitytable สำหรับการคำนวณ percentile. Mempletable เป็นตารางที่มีข้อมูลที่ใช้โดยการวัดตัวอย่างเช่นถ้า granularitytable เป็นมิติเช่นวันที่แล้วตารางจะเป็นยอดขายที่มีคอลัมน์ยอดรวมโดยรวมจำนวนเงินวัดตัวอย่างเช่น คุณสามารถเขียน PercentileXInc ของยอดรวมยอดขายได้สำหรับวันที่ทั้งหมดในตาราง Date ดังนี้.PercentileX Exc lusive การใช้ PercentileX Exclusive ขึ้นอยู่กับเทมเพลตต่อไปนี้โดยใช้เครื่องหมายเดียวกับที่ใช้ใน PercentileX Inclusive ตัวอย่างเช่นคุณสามารถเขียน PercentileXExc ของยอดขายรวมสำหรับวันที่ทั้งหมดในตาราง Date ดังต่อไปนี้โปรดแจ้งให้ฉันทราบ จดหมายข่าวที่กำลังจะเปิดตัวเมื่อวันที่ 17 มีนาคม 2014 โดย SQL Server Denali PowerPivot อัลเบอร์โต้เฟอร์รารีได้เขียนเกี่ยวกับการคำนวณค่าเฉลี่ยเคลื่อนที่ใน DAX โดยใช้คอลัมน์ที่คำนวณแล้วฉันต้องการนำเสนอวิธีการอื่นที่นี่โดยใช้ คำนวณค่าเฉลี่ยของค่าเฉลี่ยเคลื่อนที่ที่ฉันคำนวณค่าเฉลี่ยเคลื่อนที่ทุกวันในช่วง 30 วันที่ผ่านมาที่นี่ตัวอย่างเช่นฉันใช้เวิร์กบุค PowerPivot ซึ่งสามารถดาวน์โหลดเป็นส่วนหนึ่งของโครงการ SSAS Tabular Model จาก Denali CTP 3 ตัวอย่างใน โพสต์นี้ฉัน m พัฒนาสูตรขั้นตอนโดยขั้นตอน แต่ถ้าคุณกำลังรีบคุณอาจต้องการโดยตรงเพื่อข้ามไปยังผลลัพธ์สุดท้ายด้านล่างกับปีปฏิทิน 2003 ในตัวกรอง d กินในคอลัมน์และยอดขายจากตาราง Internet Sales ในรายละเอียดข้อมูลตัวอย่างมีลักษณะดังนี้ในบริบทของแต่ละแถวการแสดงออก Date Date ให้บริบทปัจจุบันคือวันที่สำหรับแถวนี้ แต่จากมาตรการที่คำนวณได้เราไม่สามารถอ้างถึงได้ เป็นนิพจน์นี้เนื่องจากไม่มีแถวปัจจุบันสำหรับตารางวันที่ แต่เราต้องใช้นิพจน์เช่น Last Date Date Date ดังนั้นเมื่อต้องการรับสามสิบวันที่ผ่านมาเราสามารถใช้นิพจน์นี้ได้ขณะนี้เราสามารถสรุปการขายทางอินเทอร์เน็ตของเราได้ วันที่วันที่วันที่วันที่วันที่ -30 วันวันที่วันที่ SalesAmountSum Sum Internet Sales ยอดขายจำนวนและสุดท้ายเราใช้ฟังก์ชัน DAX AverageX เพื่อคำนวณค่าเฉลี่ยของ 30 รายการเหล่านี้ในแต่ละวันโดยใช้ฟังก์ชันสรุป ค่าเฉลี่ยจำนวนวันขายวันที่วันที่วันที่วันที่วันที่วันที่ -30 วันวันที่ขายยอดขายรวมยอดขายทางอินเทอร์เน็ต SalesAmountSum นี่คือการคำนวณที่เรากำลังใช้อยู่ในตารางการขายทางอินเทอร์เน็ตของเราในฐานะ แสดงให้เห็นในภาพหน้าจอด้านล่างเมื่อเพิ่มการคำนวณนี้ลงในตาราง Pivot จากด้านบนผลลัพธ์จะมีลักษณะเช่นนี้มองไปที่ผลลัพธ์ดูเหมือนว่าเราไม่มีข้อมูลใด ๆ ก่อนวันที่ 1 มกราคม 2003 ค่าแรกสำหรับค่าเฉลี่ยเคลื่อนที่คือ ค่าที่สองสำหรับค่าเฉลี่ยเคลื่อนที่จะเป็นค่าเฉลี่ยของสองวันแรกและอื่น ๆ นี่ไม่ได้ถูกต้อง แต่ฉันกลับมาที่ปัญหานี้ในวินาทีภาพหน้าจอจะแสดงขึ้น การคำนวณค่าเฉลี่ยเคลื่อนที่ของวันที่ 31 มกราคมเป็นค่าเฉลี่ยของค่ารายวันนับจากวันที่ 2 มกราคมถึง 31 ปีนอกจากนี้การวัดที่คำนวณได้ของเรายังทำงานได้ดีเมื่อใช้ตัวกรองในภาพหน้าจอต่อไปนี้ฉันใช้ผลิตภัณฑ์สองประเภทสำหรับชุดข้อมูล งานวัดที่คำนวณได้ในระดับการรวบรวมข้อมูลที่สูงขึ้นเพื่อที่จะหาฉันใช้ลำดับชั้นของปฏิทินในแถวแทนวันที่เพื่อความเรียบง่ายฉันได้ลบภาคการศึกษาและระดับไตรมาสโดยใช้ตัวเลือกตาราง Excel ของตาราง ซ่อนเขตข้อมูลตัวเลือกที่คุณสามารถดูการคำนวณยังคงทำงานได้ดีที่นี่รวมรายเดือนเป็นค่าเฉลี่ยเคลื่อนที่สำหรับวันสุดท้ายของเดือนที่ระบุคุณสามารถเห็นได้อย่างชัดเจนสำหรับค่าเดือนมกราคมของ 14,215 01 นอกจากนี้ยังปรากฏในภาพหน้าจอด้านบนเป็น หากวันที่ 31 มกราคมนี้เป็นความต้องการทางธุรกิจที่เหมาะสมสำหรับค่าเฉลี่ยรายวันจากนั้นการรวมจะทำงานได้ดีในระดับรายเดือนมิฉะนั้นเราจะต้องปรับการคำนวณของเราและนี่เป็นหัวข้อของการโพสต์ที่กำลังจะมีขึ้น การรวมกันทำให้รู้สึกในระดับรายเดือนหากเราขยายมุมมองนี้ไปจนถึงระดับวันคุณจะเห็นว่ามาตรการที่คำนวณได้ของเราจะส่งคืนยอดขายสำหรับวันนั้นไม่ใช่เฉลี่ยของ 30 วันที่ผ่านมาซึ่งเป็นผลลัพธ์ของปัญหา จากบริบทที่เราคำนวณผลรวมของเราดังที่ได้กล่าวไว้ในรหัสต่อไปนี้ยอดขายเฉลี่ย 30d เฉลี่ย AverageX สรุปวันที่ที่ผ่านมาวันที่วันที่วันที่ล่าสุดวันที่ -30 วันวันที่วันที่ SalesAmountSum Sum Internet Sales Sales Amount, SalesAmountSum เนื่องจากเราประเมินนิพจน์นี้ในช่วงวันที่ที่ระบุบริบทเดียวที่ถูกเขียนทับที่นี่คือ Date Date ในลำดับชั้นของเราเราใช้แอตทริบิวต์ที่แตกต่างจากมิติข้อมูลปฏิทินปีเดือนและวันของเดือนตามบริบทนี้ ยังคงอยู่การคำนวณยังถูกกรองตามแอตทริบิวต์เหล่านี้ด้วยและอธิบายว่าเหตุใดเราจึงยังคงมีบริบทในปัจจุบันสำหรับแต่ละบรรทัดเพื่อให้ได้สิ่งที่ชัดเจนตราบเท่าที่เราประเมินการแสดงออกนี้นอกบริบทวันที่ทุกอย่างก็ดีเช่นเดียวกับ หลังจากแบบสอบถาม DAX แสดงเมื่อดำเนินการโดย Management Studio ในมุมมองการขายทางอินเทอร์เน็ตของโมเดลของเราโดยใช้ฐานข้อมูลแบบตารางที่มีข้อมูลเดียวกันการประเมินวันที่ที่ผ่านมาวันที่วันที่วันที่ 2003,1,1 -5 วัน DAY Date SalesAmountSum Sum Internet ขายยอดขายที่นี่ฉันลดระยะเวลาเป็น 5 วันและกำหนดวันที่คงที่เป็น LastDate จะทำให้วันสุดท้ายของตารางมิติข้อมูลวันที่ของฉันซึ่งไม่มีข้อมูลอยู่ใน samp le ข้อมูลนี่เป็นผลมาจากแบบสอบถามอย่างไรก็ตามหลังจากตั้งค่าตัวกรองเป็น 2003 จะไม่มีข้อมูลแถวที่อยู่นอก 2003 รวมอยู่ในผลรวมข้อมูลนี้อธิบายคำอธิบายข้างต้นดูเหมือนว่าเรามีข้อมูลเพียงอย่างเดียวเท่านั้นตั้งแต่วันที่ 1 มกราคม 2003 เป็นต้นไป ตอนนี้เรารู้แล้วว่าทำไมปี 2003 อยู่ในตัวกรองตามที่เห็นในภาพหน้าจอแรกของโพสต์นี้ดังนั้นจึงเป็นปัจจุบันเมื่อคำนวณผลรวมตอนนี้สิ่งที่เราต้องทำคือการกำจัดตัวกรองเพิ่มเติมเหล่านี้เนื่องจาก เราสามารถกรองผลการค้นหาของเราตามวันที่วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้ฟังก์ชัน Calculate และใช้ ALL สำหรับทุกคุณลักษณะที่เราต้องการนำออกเนื่องจากเรามีแอตทริบิวต์เหล่านี้เช่น Year, Month, Day, Weekday, และเราต้องการลบตัวกรองออกจากไฟล์เหล่านี้ทั้งหมด แต่แอตทริบิวต์วันที่ฟังก์ชัน ALLEXCEPT จะมีประโยชน์มากหากคุณมีพื้นหลัง MDX คุณจะสงสัยว่าทำไมเราถึงไม่ได้รับปัญหาที่คล้ายกันเมื่อใช้ SSAS ในโหมด OLAP BISM หลายมิติเหตุผลก็คือ OLAP ของเรา d atabase มีความสัมพันธ์กับแอตทริบิวต์ดังนั้นหลังจากตั้งค่าแอตทริบิวต์ key date แอตทริบิวต์อื่น ๆ จะถูกเปลี่ยนโดยอัตโนมัติด้วยเช่นกันและเราไม่จำเป็นต้องดูแลเกี่ยวกับโพสต์นี้ที่นี่ แต่ในรูปแบบตารางเรา don t มีความสัมพันธ์กับแอตทริบิวต์ไม่ได้เป็นคีย์ที่แท้จริง ดังนั้นเราจึงจำเป็นต้องลดตัวกรองที่ไม่พึงประสงค์จากการคำนวณของเราดังนั้นที่นี่เราอยู่กับยอดขายเฉลี่ย 30d เฉลี่ย AverageX สรุปวันที่ที่ผ่านมาวันที่วัน LastDate วันที่วันที่ -30 วันวันที่วันที่ SalesAmountSum คำนวณยอดขายอินเทอร์เน็ตรวมยอดขาย ALLEXCEPT วันที่วันที่วันที่ SalesAmountSum และนี่คือตารางเด็นเดอร์สุดท้ายของเราใน Excel เพื่อแสดงค่าเฉลี่ยเคลื่อนที่นี่เป็นข้อมูลเดิมของข้อมูลในมุมมองกราฟ Excel แม้ว่าเราจะกรองข้อมูลของเราในปี 2546 เป็นค่าเฉลี่ยเคลื่อนที่ในช่วง 29 วันของปี 2003 ได้อย่างถูกต้องใช้เวลาที่สอดคล้องกันวันของปี 2002 เข้าบัญชีคุณจะรับรู้ค่าสำหรับ 30 มกราคมและ 31 จากวิธีแรกของเราเป็นเหล่านี้เป็นวันแรกที่ calculati แรกของเรา มีข้อมูลเต็มจำนวน 30 วัน

No comments:

Post a Comment