Saturday, 24 March 2018

بويربيفوت المتوسط المتحرك داكس


يتضمن داكس بعض وظائف التجميع الإحصائية، مثل المتوسط ​​والتباين والانحراف المعياري. الحسابات الإحصائية النموذجية الأخرى تتطلب منك كتابة تعبيرات داكس أطول. إكسل، من وجهة النظر هذه، لديها لغة أكثر ثراء بكثير. الأنماط الإحصائية هي عبارة عن مجموعة من الحسابات الإحصائية المشتركة: الوسيط، المتوسط، المتوسط ​​المتحرك، النسبة المئوية، والربع. نود أن نشكر كولن بانفيلد، جيرارد بروكل، وخافيير غيلن، التي بلهمت بعض بلوق الأنماط التالية. مثال النمط الأساسي الصيغ في هذا النمط هي الحلول لحسابات إحصائية محددة. يمكنك استخدام وظائف داكس القياسية لحساب متوسط ​​(متوسط ​​حسابي) لمجموعة من القيم. معدل . بإرجاع متوسط ​​كل الأرقام في عمود رقمي. أفيراجيا. بإرجاع متوسط ​​كل الأرقام في عمود، مع التعامل مع كل من القيم النصية وغير الرقمية (القيم النصية غير الرقمية والفاخرة عد 0). أفيراجيكس. حساب متوسط ​​على تعبير تقييمها على جدول. المتوسط ​​المتحرك المتوسط ​​المتحرك هو حساب لتحليل نقاط البيانات من خلال إنشاء سلسلة من المتوسطات لمجموعات فرعية مختلفة من مجموعة البيانات الكاملة. يمكنك استخدام العديد من تقنيات داكس لتنفيذ هذا الحساب. أبسط تقنية تستخدم أفيراجيكس، وتكرار جدول من التفاصيل المطلوبة وحساب لكل تكرار التعبير الذي يولد نقطة بيانات واحدة لاستخدامها في المتوسط. على سبيل المثال، تحسب الصيغة التالية المتوسط ​​المتحرك لآخر 7 أيام، على افتراض أنك تستخدم جدول تاريخ في نموذج البيانات. باستخدام أفيراجيكس، يمكنك تلقائيا حساب التدبير في كل مستوى تحبب. عند استخدام مقياس يمكن تجميعها (مثل سوم)، ثم نهج آخر يعتمد على كالكولاتيماي يكون أسرع. يمكنك العثور على هذا النهج البديل في نمط كامل من المتوسط ​​المتحرك. يمكنك استخدام الدالات داكس القياسية لحساب تباين مجموعة من القيم. VAR. S. ترجع تباين القيم في عمود يمثل عينة نموذجية. VAR. P. ترجع تباين القيم في عمود يمثل مجموع السكان. VARX. S. ترجع تباين تعبير يتم تقييمه عبر جدول يمثل عينة نموذجية. VARX. P. ترجع تباين تعبير يتم تقييمه عبر جدول يمثل مجموع السكان. الانحراف المعياري يمكنك استخدام وظائف داكس القياسية لحساب الانحراف المعياري لمجموعة من القيم. STDEV. S. ترجع الانحراف المعياري للقيم في عمود يمثل عينة نموذجية. STDEV. P. ترجع الانحراف المعياري للقيم في عمود يمثل مجموع السكان. STDEVX. S. ترجع الانحراف المعياري للتعبير الذي تم تقييمه عبر جدول يمثل عينة نموذجية. STDEVX. P. ترجع الانحراف المعياري للتعبير الذي تم تقييمه عبر جدول يمثل مجموع السكان. والمتوسط ​​هو القيمة العددية التي تفصل النصف الأعلى من السكان عن النصف السفلي. إذا كان هناك عدد فردي من الصفوف، الوسيط هو القيمة الوسطى (فرز الصفوف من أدنى قيمة إلى أعلى قيمة). إذا كان هناك عدد من الصفوف، فهو متوسط ​​القيمتين المتوسطتين. وتتجاهل الصيغة القيم الفارغة التي لا تعتبر جزءا من السكان. والنتيجة متطابقة مع وظيفة ميديان في إكسيل. ويبين الشكل 1 مقارنة بين النتيجة التي تم إرجاعها بواسطة إكسيل وصيغة داكس المقابلة لحساب الوسط. الشكل 1 مثال لحساب متوسط ​​في إكسيل و داكس. الوضع هو القيمة التي تظهر في معظم الأحيان في مجموعة من البيانات. وتتجاهل الصيغة القيم الفارغة التي لا تعتبر جزءا من السكان. وتكون النتيجة متطابقة مع الدالة مود و MODE. SNGL في إكسيل، التي تعيد فقط القيمة الدنيا عندما تكون هناك أوضاع متعددة في مجموعة القيم التي تم النظر فيها. ستقوم الدالة إكسيل MODE. MULT بإرجاع كافة الأوضاع، ولكن لا يمكنك تنفيذها كمقياس في داكس. يقارن الشكل 2 النتيجة التي تم إرجاعها بواسطة إكسيل مع صيغة داكس المقابلة لحساب الوضع. الشكل 2 مثال على حساب الوضع في إكسيل و داكس. النسبة المئوية النسبة المئوية هي القيمة التي تقل عنها نسبة معينة من القيم في المجموعة. وتتجاهل الصيغة القيم الفارغة التي لا تعتبر جزءا من السكان. يتطلب الحساب في داكس عدة خطوات، الموضحة في المقطع "نمط كامل"، الذي يوضح كيفية الحصول على نفس نتائج دالات إكسيل بيرسنتيل و PERCENTILE. INC و PERCENTILE. EXC. أما الرباعيات فهي ثلاث نقاط تقسم مجموعة من القيم إلى أربع مجموعات متساوية، تتألف كل مجموعة منها من ربع البيانات. يمكنك حساب القطاعات الرباعية باستخدام النمط المئوي، بعد هذه المراسلات: الربع الأول الربع السفلي الربع الخامس والعشرون المئوي الربع الثاني المتوسط ​​نصف الخمسون الربع الثالث الربع الثالث الربع الخامس 75 المئين نمط كامل بعض الحسابات الإحصائية لها وصف أطول للنمط الكامل، لأن قد يكون لديك تطبيقات مختلفة اعتمادا على نماذج البيانات وغيرها من المتطلبات. المتوسط ​​المتحرك عادة ما تقيم المتوسط ​​المتحرك عن طريق الرجوع إلى مستوى التفصيل اليومي. النموذج العام للصيغة التالية له هذه العلامات: لنتومبيروفايسغت هو عدد الأيام للمتوسط ​​المتحرك. لتاتيكولومنغت هو عمود التاريخ لجدول التاريخ إذا كان لديك عمود واحد أو عمود التاريخ الذي يحتوي على قيم إذا لم يكن هناك جدول تاريخ منفصل. لتماسوريجت هو مقياس لحساب كمتوسط ​​متحرك. أبسط نمط يستخدم الدالة أفيراجيكس في داكس، والتي تأخذ في الاعتبار فقط الأيام التي توجد قيمة لها. كبديل، يمكنك استخدام القالب التالي في نماذج البيانات بدون جدول تاريخ ومع مقياس يمكن تجميعه (مثل سوم) على مدار الفترة التي تم النظر فيها. تعتبر الصيغة السابقة يوم مع عدم وجود بيانات المقابلة كمقياس 0 قيمة. يمكن أن يحدث هذا فقط عندما يكون لديك جدول تاريخ منفصل، والذي قد يحتوي على أيام لا توجد معاملات مقابلة لها. يمكنك إصلاح القاسم للمتوسط ​​باستخدام عدد الأيام التي توجد فيها معاملات باستخدام النمط التالي حيث: لوفتاكتليغت هو الجدول المتعلق بجدول التاريخ ويحتوي على قيم محسوبة بواسطة المقياس. قد تستخدم الدالات داتسبيتوين أو داتيسينبيريود بدلا من فيلتر ولكن هذه تعمل فقط في جدول تاريخ عادي، بينما يمكنك تطبيق النمط الموضحة أعلاه أيضا إلى جداول التاريخ غير العادية والنماذج التي ليس لها جدول تاريخ. على سبيل المثال، النظر في النتائج المختلفة التي تنتجها التدابير التالية اثنين. في الشكل 3، يمكنك أن ترى أنه لا توجد مبيعات في 11 سبتمبر 2005. ومع ذلك، يتم تضمين هذا التاريخ في الجدول التاريخ وبالتالي، هناك 7 أيام (من 11 سبتمبر إلى 17 سبتمبر) التي لديها 6 أيام فقط مع البيانات. الشكل 3 مثال على حساب متوسط ​​متحرك مع مراعاة وتجاهل التواريخ بدون مبيعات. قياس المتوسط ​​المتحرك 7 أيام لديه عدد أقل بين 11 سبتمبر و 17 سبتمبر، لأنه يعتبر 11 سبتمبر يوما مع 0 المبيعات. إذا كنت ترغب في تجاهل أيام مع عدم وجود مبيعات، ثم استخدام مقياس المتوسط ​​المتحرك 7 أيام لا صفر. قد يكون هذا هو النهج الصحيح عندما يكون لديك جدول تاريخ كامل ولكنك تريد تجاهل الأيام بدون معاملات. باستخدام صيغة المتوسط ​​المتحرك 7 أيام، تكون النتيجة صحيحة لأن أفيراجيكس تأخذ في الاعتبار القيم غير الفارغة تلقائيا. ضع في اعتبارك أنك قد تحسن أداء المتوسط ​​المتحرك من خلال الاستمرار في القيمة في عمود محسوب من جدول يحتوي على التفاصيل المطلوبة، مثل التاريخ أو التاريخ والمنتج. ومع ذلك، فإن نهج الحساب الديناميكي مع مقياس يوفر القدرة على استخدام معلمة لعدد أيام المتوسط ​​المتحرك (على سبيل المثال استبدال لتنومبروفيدسغت مع مقياس تنفيذ نمط الجدول معلمات). الوسيط يتطابق مع النسبة المئوية 50، والتي يمكنك حسابها باستخدام نمط النسبة المئوية. ومع ذلك، فإن نمط المتوسط ​​يسمح لك لتحسين وتبسيط الحساب الوسيط باستخدام مقياس واحد، بدلا من عدة تدابير المطلوبة من قبل نمط النسبة المئوية. يمكنك استخدام هذا النهج عند حساب الوسيط للقيم المضمنة في لتفالويكولومنغت كما هو موضح أدناه: لتحسين الأداء، قد تحتاج إلى الاستمرار في قيمة مقياس في عمود محسوب، إذا كنت ترغب في الحصول على متوسط ​​لنتائج وهو مقياس في نموذج البيانات. ومع ذلك، قبل القيام بهذا التحسين، يجب تنفيذ حساب ميديانكس استنادا إلى القالب التالي، باستخدام هذه العلامات: لترانولاريتيتليغت هو الجدول الذي يحدد دقة الحساب. على سبيل المثال، يمكن أن يكون جدول التاريخ إذا كنت تريد حساب متوسط ​​مقياس محسوب على مستوى اليوم، أو يمكن أن تكون قيم (8216DateYearMonth) إذا كنت تريد حساب متوسط ​​مقياس محسوب على مستوى الشهر. لتماسوريجت هو مقياس لحساب لكل صف من لترانولاريتيتابلغت لحساب المتوسط. لتماسوريتابليغت هو الجدول الذي يحتوي على البيانات المستخدمة من قبل لتماسوريغت. على سبيل المثال، إذا كان لترانولاريتيبتليغت بعدا مثل 8216Date8217، ثم لتماسوريتابليغت سيكون 8216Internet Sales8217 التي تحتوي على العمود كمية المبيعات الإنترنت لخصها الإنترنت إجمالي قياس المبيعات. على سبيل المثال، يمكنك كتابة متوسط ​​إجمالي مبيعات الإنترنت لجميع العملاء في أدفنتور وركس على النحو التالي: تلميح النموذج التالي: يستخدم لإزالة الصفوف من لترانولاريتيتابليغت التي لا توجد بيانات المقابلة في الاختيار الحالي. وهي طريقة أسرع من استخدام التعبير التالي: ومع ذلك، يمكنك استبدال التعبير كالكولاتيتابل كامل مع لترانولاريتيتليغت فقط إذا كنت تريد أن تنظر القيم فارغة من لتماسوريغت كما 0. يعتمد أداء صيغة ميديانكس على عدد الصفوف في الجدول تكرارا وعلى تعقيد التدبير. إذا كان الأداء سيئا، قد تستمر نتيجة لتماسوريجت في عمود محسوبة من لتابليغت، ولكن هذا سوف يزيل قدرة تطبيق عوامل التصفية على حساب الوسيط في وقت الاستعلام. النسبة المئوية لبرنامج إكسيل له تطبيقان مختلفان لحساب المئين مع ثلاث وظائف: بيرسنتيل و PERCENTILE. INC و PERCENTILE. EXC. أنها جميعا ترجع النسبة المئوية K - ث من القيم، حيث K في نطاق 0-1. الفرق هو أن بيرسنتيل و PERCENTILE. INC النظر K كمجموعة شاملة، في حين يعتبر PERCENTILE. EXC مجموعة K 0-1 باعتبارها حصرية . وتتلقى كل هذه الوظائف وتطبيقات داكس قيمة مئوية كمعلمة، والتي نطلق عليها قيمة K. لكغت المئوية في المدى من 0 إلى 1. يتطلب تطبيقا داكس للمئين عددا قليلا من التدابير المتشابهة، ولكن مختلفة بما يكفي لتتطلب اثنين من مجموعة مختلفة من الصيغ. التدابير المحددة في كل نمط هي: كبيرك. القيمة المئویة التي تتطابق مع ال لكت. بيركبوس. موقف النسبة المئوية في مجموعة من القيم التي تم فرزها. فالو. القيمة أقل من النسبة المئوية. فالهيهي. القيمة فوق الموضع المئوي. النسبة المئوية. الحساب النهائي للمئوية. تحتاج إلى فالو و فالوهيغ التدابير في حالة بيركبوس يحتوي على جزء عشري، لأنه ثم عليك أن إنتيربولات بين فالو و فالوهيغ من أجل إعادة القيمة المئوية الصحيحة. ويبين الشكل 4 مثالا على الحسابات التي أجريت مع صيغ إكسيل و داكس، باستخدام كل من خوارزميات المئين (شاملة وحصرية). الشكل 4 الحسابات المئوية باستخدام صيغ إكسيل وحساب داكس المعادل. في المقاطع التالية، يتم تنفيذ الصيغ بيرسنتيل الحساب على القيم المخزنة في عمود جدول داتافالو، في حين أن الصيغ بيرسنتيلكس تنفذ الحساب على القيم التي يتم إرجاعها بواسطة مقياس محسوب في دقة معينة. النسبة المئوية الشاملة إن التنفيذ الشامل الشامل هو التالي. النسبة المئوية الحصرية التنفيذ الحصري المئوي هو التالي. بيرسنتيلكس شامل يستند التطبيق بيرسنتيلكس الشامل على القالب التالي، وذلك باستخدام هذه العلامات: لترانولاريتيتليغت هو الجدول الذي يحدد دقة الحساب. على سبيل المثال، يمكن أن يكون جدول التاريخ إذا كنت ترغب في حساب النسبة المئوية لمقياس على مستوى اليوم، أو يمكن أن تكون قيم (8216DateYearMonth) إذا كنت ترغب في حساب النسبة المئوية لمقياس على مستوى الشهر. لتماسوريجت هو مقياس لحساب لكل صف من لترانولاريتيتليغت لحساب المئوية. لتماسوريتابليغت هو الجدول الذي يحتوي على البيانات المستخدمة من قبل لتماسوريغت. على سبيل المثال، إذا كان لترانولاريتيتليغت بعدا مثل 8216Date، 8217 ثم لمياسوريتابليجت سيكون 8216Sales8217 التي تحتوي على عمود المبلغ التي تم جمعها من قبل قياس المبلغ الإجمالي. على سبيل المثال، يمكنك كتابة بيرسنتيليكسينك من إجمالي المبلغ المبيعات لجميع التواريخ في الجدول التاريخ كما يلي: بيرسنتيلكس إكسلوسيف يستند إكسلوسيف إكسلوسيف التنفيذ على القالب التالي باستخدام نفس العلامات المستخدمة في بيرسنتيلكس شاملة: على سبيل المثال، أنت يمكن كتابة بيرسنتيلكسكسك من إجمالي كمية المبيعات لجميع التواريخ في الجدول التاريخ على النحو التالي: إبقائي على علم أنماط القادمة (النشرة الإخبارية). قم بإلغاء التحديد لتنزيل الملف بحرية. نشرت في 17 مارس 2014 عن طريق الرولينغ متوسط ​​12 شهرا في داكس حساب المتوسط ​​المتداول لمدة 12 شهرا في داكس يبدو وكأنه مهمة بسيطة، ولكنه يخفي بعض التعقيد. توضح هذه المقالة كيفية كتابة أفضل صيغة تجنب المزالق الشائعة باستخدام وظائف استخبارات الوقت. نبدأ مع المعتاد أدفنتوروركس نموذج البيانات، مع المنتجات والمبيعات والتقويم الجدول. وقد تم وضع علامة على التقويم كجدول تقويم (من الضروري العمل مع أي وظيفة الاستخبارات الوقت)، ونحن بنينا التسلسل الهرمي بسيط من السنة شهرا التاريخ. مع هذا الإعداد، فمن السهل جدا لإنشاء بيفوتابل الأولى تظهر المبيعات على مر الزمن: عند القيام تحليل الاتجاه، إذا كانت المبيعات تخضع للموسمية أو، بشكل أعم، إذا كنت ترغب في إزالة تأثير القمم والقطرات في المبيعات، و الأسلوب المشترك هو حساب القيمة على مدى فترة معينة، وعادة 12 شهرا، ومتوسط ​​ذلك. يوفر المتوسط ​​المتداول على مدى 12 شهرا مؤشرا سلسا للاتجاه وهو مفيد جدا في الرسوم البيانية. نظرا للتاريخ، يمكننا حساب المتوسط ​​المتداول لمدة 12 شهرا مع هذه الصيغة، والتي لا تزال لديها بعض المشاكل التي سنحلها لاحقا: سلوك الصيغة بسيط: يحسب قيمة المبيعات بعد إنشاء عامل تصفية على التقويم الذي يظهر سنة كاملة كاملة من البيانات. جوهر الصيغة هو داتزبيتوين، الذي يعود مجموعة شاملة من التواريخ بين الحدود اثنين. أقل من ذلك هو: قراءتها من أعمق: إذا كنا تظهر البيانات لمدة شهر، ويقول يوليو 2007، ونحن نأخذ آخر مرئية تاريخ باستخدام لاستديت، الذي يعود اليوم الأخير في يوليو 2007. ثم نستخدم نيكستداي لاتخاذ 1ST من أغسطس 2007، ونحن أخيرا استخدام سامبيريودلاستيار لتحويل مرة أخرى سنة واحدة، مما أسفر عن 1 من أغسطس 2006. والحد الأعلى هو ببساطة لاستديت، أي نهاية يوليو 2007. إذا كنا نستخدم هذه الصيغة في بيفوتابل، والنتيجة تبدو على ما يرام، ولكن نحن مشكلة في آخر تاريخ: في الواقع، كما ترون في الشكل، يتم احتساب القيمة بشكل صحيح حتى عام 2008. ثم، لا توجد قيمة في عام 2009 (وهو الصحيح، ونحن لا تملك المبيعات في عام 2009) ولكن هناك وهي قيمة مفاجئة في ديسمبر 2010، حيث تظهر صيغتنا المجموع الكلي بدلا من قيمة فارغة، كما نتوقع. في الواقع، في ديسمبر، لاستدات يعود اليوم الأخير من السنة و نيكستداي يجب أن يعود 1 يناير 2011. ولكن نيكستداي هو وظيفة الاستخبارات الوقت ومن المتوقع أن يعود مجموعات من التواريخ الحالية. هذه الحقيقة ليست واضحة جدا ويستحق بضع كلمات أكثر. وظائف الذكاء الوقت لا تؤدي الرياضيات في التواريخ. إذا كنت تريد أن تأخذ يوم بعد تاريخ معين، يمكنك ببساطة إضافة 1 إلى أي عمود التاريخ، والنتيجة ستكون في اليوم التالي. بدلا من ذلك، وظائف الاستخبارات الوقت تحول مجموعات من التاريخ ذهابا وإيابا مع مرور الوقت. وهكذا، يأخذ نيكستداي مدخلاته (في حالتنا جدول صف واحد مع 31 ديسمبر 2010) وتحويله بعد يوم واحد. والمشكلة هي أنه يجب أن تكون النتيجة 1 يناير 2011 ولكن نظرا لأن جدول التقويم لا يحتوي على هذا التاريخ، تكون النتيجة فارغة. وبالتالي، فإن تعبيرنا يحسب المبيعات مع حد أدنى فارغة، وهو ما يعني بداية الوقت، مما أسفر عن نتيجة المجموع الكبير للمبيعات. لتصحيح الصيغة يكفي تغيير ترتيب التقييم للحد الأدنى: كما ترون، والآن يسمى نيكستداي بعد التحول من سنة واحدة إلى الوراء. وبهذه الطريقة، نأخذ 31 ديسمبر 2010، نقله إلى 31 ديسمبر 2009، ويأخذ في اليوم التالي، وهو الأول من يناير 2010: تاريخ موجود في جدول التقويم. والنتيجة هي الآن النتيجة المتوقعة: في هذه المرحلة، لا نحتاج إلا إلى تقسيم هذا الرقم بمقدار 12 للحصول على المتوسط ​​المتداول. ولكن، كما يمكنك أن تتخيل بسهولة، لا يمكننا دائما تقسيمها من قبل 12. في الواقع، في بداية الفترة لا يوجد 12 شهرا لتجميع، ولكن عدد أقل. نحن بحاجة إلى حساب عدد الأشهر التي هناك مبيعات. ويمكن تحقيق ذلك باستخدام الترشيح المتقاطع لجدول التقويم مع جدول المبيعات بعد تطبيقنا للسياق الجديد لمدة 12 شهرا. نحدد مقياسا جديدا يحسب عدد الأشهر الحالية في فترة 12 شهرا: يمكنك أن ترى في الشكل التالي أن قياس Month12M يحسب القيمة الصحيحة: تجدر الإشارة إلى أن الصيغة لا تعمل إذا اخترت فترة أطول من 12 شهرا، لأن كاليندميرونثنام يحتوي فقط 12 القيم. إذا كنت بحاجة إلى فترات أطول، ستحتاج إلى استخدام عمود ييم لتكون قادرة على الاعتماد أكثر من 12. الجزء المثير للاهتمام من هذه الصيغة التي تستخدم تصفية عبر هو حقيقة أنه يحسب عدد من الأشهر المتاحة حتى عند تصفية باستخدام غيرها الصفات. إذا، على سبيل المثال، قمت بتحديد اللون الأزرق باستخدام تقطيع اللحم، ثم تبدأ المبيعات في يوليو 2007 (وليس في عام 2005، كما يحدث لكثير من الألوان الأخرى). باستخدام الفلتر المتقاطع في المبيعات، الصيغة تحسب بشكل صحيح أنه في يوليو 2007 هناك شهر واحد من المبيعات المتاحة للأزرق: عند هذه النقطة، المتوسط ​​المتداول هو مجرد ديفيد بعيدا: عندما نستخدمها في جدول المحورية، ما زلنا لديها مشكلة صغيرة: في الواقع، يتم احتساب القيمة أيضا لأشهر التي لا توجد مبيعات (أي أشهر في المستقبل): ويمكن حل هذا باستخدام بيان إف لمنع الصيغة من إظهار القيم عندما لا يكون هناك مبيعات. ليس لدي أي شيء ضد إف ولكن بالنسبة للمدمنين بينكم، فمن الجدير بالذكر دائما أن إف قد يكون قاتل الأداء، لأنه قد يجبر محرك صيغة داكس على الانطلاق. وفي هذه الحالة بالتحديد، فإن الفرق لا يكاد يذكر، ولكن ، كقاعدة عامة، فإن أفضل طريقة لإزالة القيمة عند عدم وجود مبيعات هي الاعتماد على الصيغ محرك التخزين النقي مثل هذا واحد: مقارنة الرسم البياني باستخدام متوسط ​​AV12M مع واحد آخر يظهر المبيعات يمكنك بسهولة نقدر كيف المتوسط ​​المتداول يحدد الاتجاهات بطريقة أكثر نظافة: إبقائي على علم بالمقالات القادمة (النشرة الإخبارية). قم بإلغاء التحديد للتحميل بحرية للملقم file. SQL دينالي بويربيفوت ألبيرتو فيراري كتب بالفعل عن حساب المتوسطات المتحركة في داكس باستخدام عمود محسوب. إد ترغب في تقديم نهج مختلف هنا باستخدام مقياس محسوب. بالنسبة للمتوسط ​​المتحرك إم حساب المتوسط ​​المتحرك اليومي (خلال ال 30 يوما الماضية) هنا. على سبيل المثال، إم باستخدام المصنف بويربيفوت التي يمكن تحميلها كجزء من ساس الجدولية مشاريع نموذجية من عينات دينالي كتب 3. في هذا المنصب، إم تطوير الصيغة خطوة بخطوة. ومع ذلك، إذا كنت في عجلة من امرنا، قد ترغب مباشرة للانتقال إلى النتائج النهائية أدناه. مع السنة التقويمية 2003 على عامل التصفية وتاريخ الأعمدة ومبلغ المبيعات (من مبيعات الإنترنت الجدول) في التفاصيل، تبدو البيانات عينة مثل هذا: في كل سياق الصفوف التعبير 8216DateDate يعطي السياق الحالي، أي تاريخ هذا الصف . ولكن من قياس محسوب لا يمكننا الرجوع إلى هذا التعبير (حيث لا يوجد صف الحالي لجدول التاريخ)، بدلا من ذلك يجب استخدام تعبير مثل لاستديت (8216DateDate). لذلك، من أجل الحصول على آخر ثلاثين يوما يمكننا استخدام هذا التعبير يمكننا الآن تلخيص مبيعات الإنترنت لدينا لكل من تلك الأيام باستخدام وظيفة تلخيص: تلخيص (ديتينبيريود (8216DateDate، لاستديت (8216DateDate)، - 30، داي)، 8217 التاريخ 8220SalesAmountSum8221 سوم (8216Internet ساليس ساليس ساليس)) وأخيرا، تم استخدام داكسيكس داتايلكس لحساب متوسط ​​القيم الثلاثين: ساليس أمونت (30d أفغ): أفيراجكس (سوماريز (ديتينبيريود (8216DateDate، لاستديت (8216DateDate)، - 30، داي)، 8217DateDate 8220SalesAmountSum8221 سوم (8216Internet ساليسزاليس أمونت))، ساليسامونتوم) هذا هو الحساب الذي نستخدمه في جدول مبيعات الإنترنت كما هو موضح في لقطة الشاشة أدناه: عند إضافة هذا الحساب إلى الجدول المحوري من أعلاه، تبدو النتيجة كما يلي: عند النظر إلى النتيجة يبدو أننا لا نملك أي بيانات قبل 1 يناير 2003: القيمة الأولى للمتوسط ​​المتحرك مطابقة لقيمة اليوم (لا توجد صفوف قبل ذلك التاريخ). القيمة الثانية للمتوسط ​​المتحرك هي في الواقع متوسط ​​اليومين الأولين وهكذا. هذا ليس صحيحا تماما ولكن إم العودة إلى هذه المشكلة في الثانية. تظهر لقطة الشاشة حساب المتوسط ​​المتحرك في 31 كانون الثاني / يناير كمتوسط ​​للقيم اليومية من 2 إلى 31 يناير / كانون الثاني. كما يعمل القياس المحسوب لدينا بشكل جيد عند تطبيق الفلاتر. في لقطة التالية استخدمت اثنين من فئات المنتجات لسلسلة البيانات: كيف يعمل قياسنا المحسوب على مستويات التجميع العالي من أجل معرفة، إم باستخدام التسلسل الهرمي التقويم على الصفوف (بدلا من التاريخ). للحصول على البساطة أزلت مستويات الفصل الدراسي والربع باستخدام إكسيلز بيفوت تابل أوبتيونس (شويد فييلدز أوبتيون). كما ترون، فإن الحساب لا يزال يعمل بشكل جيد. هنا، الإجمالي الشهري هو المتوسط ​​المتحرك لليوم الأخير من الشهر المحدد. يمكنك أن ترى هذا بوضوح لشهر يناير (تظهر قيمة 14،215.01 أيضا في لقطة أعلاه كقيمة 31 يناير). إذا كان هذا هو شرط العمل (الذي يبدو معقولا لمتوسط ​​يومي)، ثم التجميع يعمل بشكل جيد على مستوى شهري (وإلا سيكون لدينا لضبط حسابنا وهذا سيكون موضوعا آم القادم). ولكن على الرغم من أن التجميع منطقي على مستوى شهري، إذا قمنا بتوسيع وجهة النظر هذه إلى مستوى اليوم سترى أن قياسنا المحسوب ببساطة يعود مبلغ المبيعات لذلك اليوم، وليس متوسط ​​آخر 30 يوما بعد الآن: كيف يمكن أن يكون هذا. وتنتج المشكلة من السياق الذي نقوم بحساب مجموعتنا، كما هو موضح في التعليمات البرمجية التالية: مبلغ المبيعات (30d متوسط): أفيراجكس (تلخيص (ديستنبيريود (8216DateDate، لاستديت (8216DateDate)، - 30، داي)، 8217 التاريخ 8220SalesAmountSum8221. سوم (8216Internet ساليسزاليس أمونت))، ساليسامونتوم) بما أننا نقيم هذا التعبير خلال فترة التواريخ المحددة، فإن السياق الوحيد الذي يتم الكتابة فوقه هنا هو 8216DateDate. في التسلسل الهرمي لدينا كانت تستخدم سمات مختلفة من بعدنا (السنة التقويم والشهر ويوم من الشهر). وبما أن هذا السياق لا يزال موجودا، يتم تصفية الحساب أيضا من قبل تلك السمات. وهذا ما يفسر لماذا نحن السياق الحالي الأيام لا تزال موجودة لكل سطر. للحصول على الأمور واضحة، طالما أننا نقيم هذا التعبير خارج سياق التاريخ، كل شيء على ما يرام كما يظهر الاستعلام داكس التالية عندما يتم تنفيذها من قبل إدارة ستوديو على منظور مبيعات الإنترنت من نموذجنا (باستخدام قاعدة بيانات جدولي مع نفس البيانات ): تقييم (تلخيص (تاريخ التمرين (8216 تاريخ، تاريخ (2003،1،1)، - 5، يوم)، 8217 تاريخ 8220SalesAmountSum8221 سوم (8216Internet ساليسزاليس أمونت))) هنا، خفضت الفترة الزمنية إلى 5 أيام، وأيضا تعيين سيؤدي تاريخ ثابت كالتاريخ (() إلى آخر تاريخ لجدول أبعاد التاريخ الذي لا توجد به بيانات في نموذج البيانات. هنا هو نتيجة الاستعلام: ومع ذلك، بعد تعيين عامل تصفية إلى 2003، سيتم تضمين أي صفوف البيانات خارج 2003 في المجموع. وهذا ما يفسر الملاحظة أعلاه: بدا الأمر وكأننا لا نملك سوى بيانات تبدأ من 1 يناير / كانون الثاني 2003. والآن نعرف السبب: كان عام 2003 على الفلتر (كما ترون في أول لقطة شاشة لهذا المنصب) و وبالتالي كان حاضرا عند حساب المبلغ. الآن، كل ما علينا فعله هو التخلص من هذه الفلاتر الإضافية لأننا سبق لنا تصفية نتائجنا حسب التاريخ. إن أسهل طريقة للقيام بذلك هي استخدام الدالة كالكت وتطبيق آل () لكل السمات التي نريد إزالة الفلتر لها. كما لدينا بعض من هذه الصفات (السنة والشهر واليوم، أيام الأسبوع،) ونحن نريد لإزالة عامل التصفية من كل منهم ولكن سمة التاريخ، الدالة الاختصار أليكسيبت مفيد جدا هنا. إذا كان لديك خلفية مدس سوف نتساءل لماذا نحن لا تحصل على مشكلة مماثلة عند استخدام ساس في وضع أولاب (بيسم متعددة الأبعاد). والسبب هو أن قاعدة البيانات أولاب لدينا علاقات السمة، وذلك بعد تعيين السمة (مفتاح) التاريخ، يتم تغيير سمات أخرى تلقائيا جدا ونحن لا نحتاج إلى الحرص على هذا (انظر مشاركتي هنا). ولكن في نموذج جدولي ليس لدينا علاقات السمة (ولا حتى سمة المفتاح الحقيقي)، وبالتالي نحن بحاجة للقضاء على المرشحات غير المرغوب فيها من حساباتنا. حتى هنا نحن مع مبلغ المبيعات (30d أفغ): أفيراجكس (تلخيص (ديستنبيريود (8216DateDate، لاستديت (8216DateDate)، - 30، داي)، 8217DateDate 8220SalesAmountSum8221. (سوم (8216Internet ساليسزاليس أمونت)، أليكسيبت (8216Date8217،8217DateDate ))، ساليسامونتوم) وهذا هو الجدول المحوري النهائي لدينا في إكسيل: لتوضيح المتوسط ​​المتحرك، هنا هو نفس مقتطف من البيانات في عرض مخطط (إكسيل): على الرغم من أننا تصفية بياناتنا على 2003 المتوسط ​​المتحرك لأول 29 يوما من عام 2003 يأخذ بشكل صحيح الأيام المقابلة من عام 2002 في الاعتبار. سوف تعترف القيم 30 و 31 يناير من نهجنا الأول كما كانت هذه الأيام الأولى التي لدينا حساب الأول كان لديه كمية كافية من البيانات (كامل 30 يوما).

No comments:

Post a Comment