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

quantileInterpolatedWeighted

أُضيف في: v23.1.0 يحسب الكمّ لتسلسل من البيانات الرقمية باستخدام الاستيفاء الخطي، مع مراعاة وزن كل عنصر. للحصول على القيمة المستوفاة، تُجمَع جميع القيم المُمرَّرة في مصفوفة، ثم تُرتَّب وفقًا لأوزانها المقابلة. بعد ذلك، يُجرى استيفاء الكمّ باستخدام طريقة المئين الموزون من خلال بناء توزيع تراكمي استنادًا إلى الأوزان، ثم يُطبَّق استيفاء خطي باستخدام الأوزان والقيم لحساب الكمّات. عند استخدام عدة دوال quantile* بمستويات مختلفة في استعلام، لا تُدمَج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يعمل به). في هذه الحالة، استخدم الدالة quantiles. البنية
quantileInterpolatedWeighted(level)(expr, weight)
الأسماء البديلة: medianInterpolatedWeighted المعلمات
  • level — اختياري. مستوى الكمّ. عدد ثابت بفاصلة عائمة من 0 إلى 1. نوصي باستخدام قيمة level ضمن النطاق [0.01, 0.99]. القيمة الافتراضية: 0.5. عند level=0.5 تحسب الدالة الوسيط. Float*
الوسيطات
  • expr — تعبير على قيم العمود ينتج أنواع بيانات رقمية، أو Date أو DateTime. (U)Int* أو Float* أو Decimal* أو Date أو DateTime
  • weight — عمود يحتوي على أوزان عناصر التسلسل. الوزن هو عدد مرات ظهور القيمة. UInt*
القيمة المعادة الكمّ عند المستوى المحدد. Float64 أو Date أو DateTime أمثلة حساب الكمّ الموزون بالاستيفاء
Query
CREATE TABLE t (
    n Int32,
    val Int32
) ENGINE = Memory;

INSERT INTO t VALUES (0, 3), (1, 2), (2, 1), (5, 4);

SELECT quantileInterpolatedWeighted(n, val) FROM t;
Response
┌─quantileInterpolatedWeighted(n, val)─┐
│                                    1 │
└──────────────────────────────────────┘
انظر أيضًا
آخر تعديل في ٢٩ يونيو ٢٠٢٦