quantileDeterministic
طُرحت في: v1.1.0
تحسب quantile تقريبية لتسلسل من البيانات الرقمية.
تستخدم هذه الدالة أخذ العينات بالخزان مع خزان يصل حجمه إلى 8192 وخوارزمية أخذ عينات حتمية.
النتيجة حتمية.
للحصول على quantile دقيقة، استخدم الدالة quantileExact.
عند استخدام عدة دوال quantile* بمستويات مختلفة في استعلام، لا تُدمج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يكون عليه).
في هذه الحالة، استخدم الدالة quantiles.
البنية
quantileDeterministic(level)(expr, determinator)الأسماء البديلة: medianDeterministic
المعلمات
level— اختياري. مستوى الـ quantile. عدد ثابت بفاصلة عائمة من 0 إلى 1. نوصي باستخدام قيمةlevelضمن النطاق[0.01, 0.99]. القيمة الافتراضية: 0.5. عندlevel=0.5تحسب الدالة الوسيط.Float*
الوسائط
expr— تعبير على قيم العمود يُنتج أنواع بيانات رقمية أوDateأوDateTime.(U)Int*أوInt128أوUInt128أوInt256أوUInt256أوFloat*أوDateأوDateTimedeterminator— رقم يُستخدَم الـ hash الخاص به بدلًا من مولّد الأرقام العشوائية في خوارزمية reservoir sampling لجعل نتيجة الـ sampling حتمية. يمكنك استخدام أي رقم موجب حتمي كمحدِّد، مثل معرّف مستخدم أو معرّف حدث. إذا تكررت قيمة المحدِّد نفسها كثيرًا جدًا، فلن تعمل الدالة بشكل صحيح.UInt*
القيمة المعادة
تعيد قيمة quantile تقريبية بالمستوى المحدد. Float64 أو Date أو DateTime
أمثلة
حساب quantile حتمية
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);
SELECT quantileDeterministic(val, 1) FROM t;┌─quantileDeterministic(val, 1)─┐
│ 1.5 │
└───────────────────────────────┘راجع أيضًا