الانتقال إلى المحتوى الرئيسي

quantileExactInclusive

أُضيفت في: v20.1.0 على غرار quantileExact، تحسب هذه الدالة الكمّ الدقيق لتسلسل بيانات رقمية. تعادل هذه الدالة quantileExact، لكنها تستخدم الطريقة التضمينية لحساب الكمّات، كما هو موضح في طريقة R-7. عند استخدام هذه الدالة، يُحسب الكمّ بحيث تأخذ صيغة الاستيفاء لكمّ معيّن p الشكل التالي: x[floor((n-1)*p)] + ((n-1)*p - floor((n-1)*p)) * (x[floor((n-1)*p)+1] - x[floor((n-1)*p)])، حيث إن x هي المصفوفة المرتَّبة. للحصول على القيمة الدقيقة، تُجمَع جميع القيم المُمرَّرة في مصفوفة، ثم تُرتَّب بالكامل. ويبلغ تعقيد خوارزمية الفرز O(N·log(N))، حيث N = std::distance(first, last) من المقارنات. عند استخدام عدة دوال quantile* بمستويات مختلفة في استعلام، لا تُدمَج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يكون عليه). في هذه الحالة، استخدم الدالة quantiles. البنية
quantileExactInclusive(level)(expr)
المعلمات
  • level — مستوى كمّ. عدد ثابت بفاصلة عائمة من 0 إلى 1 (شاملًا). نوصي باستخدام قيمة level ضمن النطاق [0.01, 0.99]. Float*
الوسائط
  • expr — تعبير على قيم العمود ينتج أنواع بيانات رقمية، أو Date أو DateTime. (U)Int* أو Float* أو Decimal* أو Date أو DateTime
القيمة المعادة يعيد قيمة كمّ للمستوى المحدد. Float64 أمثلة حساب كمّ الشامل الدقيق
Query
SELECT quantileExactInclusive(0.25)(number) FROM numbers(5);
Response
┌─quantileExactInclusive(0.25)(number)─┐
│                                    1 │
└──────────────────────────────────────┘
حساب مستويات كمّ متعددة
Query
SELECT quantileExactInclusive(0.1)(number), quantileExactInclusive(0.9)(number) FROM numbers(10);
Response
┌─quantileExactInclusive(0.1)(number)─┬─quantileExactInclusive(0.9)(number)─┐
│                                 0.9 │                                 8.1 │
└─────────────────────────────────────┴─────────────────────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦