الدورات › قرارات مبنية على البيانات: من السؤال إلى الجواب
التجميع في جدول جاهز للرسم البياني
الدرس 6 من 8 · 13 دقيقة
صف واحد لكل عمود بياني
الرسم البياني هو جدول متنكّر. يحتاج رسم بياني بالأعمدة للإيرادات حسب المصدر إلى صف واحد بالضبط لكل مصدر وعمود واحد لكل قيمة. الانتقال من آلاف صفوف الطلبات إلى حفنة من صفوف الملخص هو عمل GROUP BY.
SELECT source,
COUNT(*) AS orders,
ROUND(SUM(net_amount), 2) AS revenue
FROM orders
WHERE status = 'delivered'
AND order_date >= '2026-01-01'
AND order_date < '2026-04-01'
GROUP BY source
ORDER BY revenue DESC;تدمج GROUP BY source كل الصفوف ذات المصدر نفسه في صف واحد، وتعمل الدوال التجميعية مثل COUNT وSUM عندها داخل كل مجموعة. يجب أن يظهر كل عمود في SELECT إما في GROUP BY أو داخل دالة تجميعية. وإلا فلن يعرف SQL أي قيمة من القيم العديدة في المجموعة يجب عرضها.
بالنسبة للربع الأول من 2026، تضع النتيجة direct أولاً بقيمة CHF 14'711.70، ثم البحث المدفوع بقيمة CHF 5'798.60 والبحث العضوي بقيمة CHF 5'716.96. تأتي وسائل التواصل الاجتماعي أخيراً بقيمة CHF 2'662.37. اقرؤوا بعناية: source هو مصدر الزيارة التي أدت إلى الطلب. من أصل 273 طلباً قُدِّم من زيارات مباشرة في ذلك الربع، كان 22 فقط طلباً أول. يُظهر هذا الجدول أين تصل الطلبات، وليس أي قناة كسبت العميل.
التجميع حسب قيمة محسوبة
للتجميع حسب الشهر، احسبوا الشهر من التاريخ. تُنسّق strftime(order_date, '%Y-%m') التاريخ كنص مثل 2025-07. بما أن النص يبدأ بالسنة، فإن ترتيبه يُرتّب أيضاً الشهور زمنياً.
- سمّوا العمود المحسوب باستخدام
AS، على سبيل المثالAS month. في DuckDB يمكنكم بعدها كتابةGROUP BY month؛ وفي بعض قواعد البيانات الأخرى تُكرِّرون الحساب. - رشّحوا قبل أن تجمّعوا. تُزيل
WHEREالصفوف قبل تجميعها، لذا لا تصل الطلبات الملغاة أبداً إلى المجاميع. - رتّبوا الصفوف بالطريقة التي يُقرأ بها الرسم البياني: الشهور زمنياً، والفئات حسب الحجم.
- أبقوا عدد الصفوف صغيراً بما يكفي ليُقرأ. ثمانية مناطق أو اثنا عشر شهراً يصنعان رسماً بيانياً جيداً؛ عادة ما يحتاج 96 منتجاً إلى أفضل 10 وصف واحد للباقي.
كيف تبدو السنة
مجمَّعة حسب الشهر، تتراوح الإيرادات المُسلَّمة في 2025 من CHF 7'963.79 في يوليو إلى CHF 18'373.89 في ديسمبر. لم يكن لدى ديسمبر أكبر عدد من الطلبات؛ بل نوفمبر، بـ273 طلباً. كانت سلال ديسمبر هي الأكبر، بمتوسط CHF 70.67. جلب الربع الثاني من 2025 CHF 37'265.67.
لا تُرتّب الطلبات والإيرادات المجموعات دائماً بنفس الطريقة. في 2025 كان لدى جنيف 272 طلباً مُسلَّماً وبازل 264، لكن بازل جلبت إيرادات أكثر، CHF 16'079.85 مقابل CHF 15'744.15، لأن طلباتها كانت أكبر في المتوسط. عندما يمكن لقيمتين أن تحكيا قصتين مختلفتين، ينتمي كلا العمودين إلى الجدول.
هذا الشكل مهم لـLena بطريقتين. الربع الثاني ليس موسم ذروة، لذا إيرادات ثابتة من أبريل إلى يونيو لن تُثبت أن ميزانية جديدة قد فشلت. كما لا ينبغي مقارنة نتائج القنوات من ديسمبر بنتائج يوليو دون ذكر ذلك في المذكرة.
سجل الدخول للإجابة ومتابعة تقدمك.
تسجيل الدخول