quantilesInterpolatedWeighted
أُضيفت في: v23.1.0
تحسب هذه الدالة عدة كوانتيلات لتسلسل بيانات رقمية باستخدام الاستيفاء الخطي عند مستويات مختلفة في الوقت نفسه، مع مراعاة وزن كل عنصر.
تعادل هذه الدالة quantileInterpolatedWeighted، لكنها تتيح حساب عدة مستويات للكوانتيل في تمريرة واحدة، مما يجعلها أكثر كفاءة من استدعاء كل دالة كوانتيل على حدة.
الصياغة
quantilesInterpolatedWeighted(level1, level2, ...)(expr, weight)المعاملات
level— مستويات الكوانتيل. عدد ثابت واحد أو أكثر من الأعداد ذات الفاصلة العائمة من 0 إلى 1. نوصي باستخدام قيمlevelضمن النطاق[0.01, 0.99].Float*
الوسائط
expr— تعبير على قيم العمود ينتج أنواع بيانات رقمية، أوDateأوDateTimeأوDateTime64.(U)Int*أوInt128أوUInt128أوInt256أوUInt256أوFloat*أوDecimal*أوDateأوDateTimeأوDateTime64weight— عمود يحتوي على أوزان عناصر التسلسل. الوزن هو عدد مرات تكرار القيمة.UInt*
القيمة المعادة
مصفوفة من الكوانتيلات للمستويات المحددة، وبالترتيب نفسه الذي حُدِّدت به هذه المستويات. بالنسبة إلى أنواع البيانات الرقمية، يطابق تنسيق الإخراج تنسيق الإدخال. Array((U)Int*) أو Array(Int128) أو Array(UInt128) أو Array(Int256) أو Array(UInt256) أو Array(Float*) أو Array(Decimal*) أو Array(Date) أو Array(DateTime) أو Array(DateTime64)
أمثلة
حساب عدة كوانتيلات موزونة بالاستيفاء
SELECT quantilesInterpolatedWeighted(0.25, 0.5, 0.75)(number, 1) FROM numbers(10)┌─quantilesInterpolatedWeighted(0.25, 0.5, 0.75)(number, 1)─┐
│ [2,4,7] │
└───────────────────────────────────────────────────────────┘