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

quantileTDigestWeighted

أُضيفت في: v20.1.0 تحسب تقريبًا quantile لتسلسل من البيانات الرقمية باستخدام خوارزمية t-digest. وتأخذ الدالة في الاعتبار وزن كل عنصر في التسلسل. الحد الأقصى للخطأ هو 1%. ويبلغ استهلاك الذاكرة log(n)، حيث إن n هو عدد القيم. أداء هذه الدالة أقل من أداء quantile أو quantileTiming. لكن من حيث نسبة حجم الحالة إلى الدقة، فهذه الدالة أفضل بكثير من quantile. تعتمد النتيجة على ترتيب تنفيذ الاستعلام، وهي غير حتمية. عند استخدام عدة دوال quantile* بمستويات مختلفة في استعلام واحد، لا تُدمج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يعمل به). في هذه الحالة، استخدم الدالة quantiles.
لا يُنصح باستخدام quantileTDigestWeighted مع مجموعات البيانات الصغيرة جدًا، إذ قد يؤدي ذلك إلى خطأ كبير. في هذه الحالة، فكّر في استخدام quantileTDigest بدلًا منه.
الصيغة
quantileTDigestWeighted(level)(expr, weight)
الأسماء البديلة: medianTDigestWeighted المعلمات
  • 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 أمثلة حساب الكَمّي المُرجّح باستخدام t-digest
Query
SELECT quantileTDigestWeighted(number, 1) FROM numbers(10);
Response
┌─quantileTDigestWeighted(number, 1)─┐
│                                4.5 │
└────────────────────────────────────┘
انظر أيضًا
آخر تعديل في ٢٥ يونيو ٢٠٢٦