quantileBFloat16
أُضيفت في: v21.7.0
تحسب كوانتايل تقريبيًا لعيّنة تتكوّن من أعداد bfloat16.
bfloat16 هو نوع بيانات بفاصلة عائمة يحتوي على 1 بت للإشارة، و8 بتات للأس، و7 بتات للكسر.
تُحوِّل الدالة قيم الإدخال إلى أعداد بفاصلة عائمة من 32 بت، ثم تأخذ أعلى 16 بت أهمية. بعد ذلك تحسب قيمة الكوانتايل لـ bfloat16 وتحوِّل النتيجة إلى عدد بفاصلة عائمة من 64 بت بإلحاق بتات صفرية.
الدالة مُقدِّر سريع للكوانتايل، بحد أقصى للخطأ النسبي يبلغ 0.78125% (ومتوسط خطأ نسبي يبلغ تقريبًا 0.27%)، بما يتوافق مع دقة المانتيسا البالغة 7 بتات في bfloat16.
الصيغة
quantileBFloat16[(level)](expr)الأسماء البديلة: medianBFloat16
المعاملات
level— اختياري. مستوى الكوانتايل. القيم الممكنة تقع ضمن النطاق من 0 إلى 1. القيمة الافتراضية: 0.5.Float*
الوسيطات
expr— تعبير على قيم العمود يُرجِع أنواع بيانات رقمية أوDateأوDateTime.(U)Int*أوFloat*أوDateأوDateTime
القيمة المعادة
الكوانتايل التقريبي للمستوى المحدد. بالنسبة إلى مُدخلات Date وDateTime، يتطابق تنسيق الإخراج مع تنسيق الإدخال. Float64 أو Date أو DateTime
أمثلة
حساب الكوانتايل باستخدام bfloat16
CREATE TABLE example_table (a UInt32, b Float32) ENGINE = Memory;
INSERT INTO example_table VALUES (1, 1.001), (2, 1.002), (3, 1.003), (4, 1.004);
SELECT quantileBFloat16(0.75)(a), quantileBFloat16(0.75)(b) FROM example_table;┌─quantileBFloat16(0.75)(a)─┬─quantileBFloat16(0.75)(b)─┐
│ 3 │ 1 │
└───────────────────────────┴───────────────────────────┘راجع أيضًا