المحتويات
- البداية
- الشروط (WHERE)
- القيم والأشخاص والفلاتر المحفوظة
- التواريخ والفترات
- السجل (WAS / CHANGED)
- التجميع (GROUP BY)
- الأعمدة والمقاييس (SHOW)
- الترتيب والحد (ORDER BY وLIMIT)
- دمج الاستعلامات (COMBINE وCALC)
- أرقام قابلة للنقر (DRILL)
- أداء الفريق (FROM team)
- الاستعانة بالذكاء الاصطناعي
- الحدود والأمان
- مرجع البيانات
- الدوال والعوامل
- مزيد من الأمثلة
البداية
كل تقرير استعلام واحد. يبدأ بـ FROM واسم ما تريد عدّه، تليه أجزاء اختيارية بأي ترتيب. الكلمات المفتاحية لا تتأثر بحالة الأحرف. ويعيد الاستعلام أحد ثلاثة أشكال: قائمة سجلات، أو صف ملخص واحد، أو صفًا لكل مجموعة.FROM <entity> WHERE … GROUP BY … SHOW … ORDER BY … LIMIT n— الشكل الكامل. وحده FROM إلزامي.
الشروط (WHERE)
تُبقي WHERE السجلات المطابقة فقط. اربط الشروط بـ AND وOR وNOT، واستخدم الأقواس لتجميعها. التصفية على حقل مفهرس (موضّح في مرجع البيانات) هي الأسرع.source = facebook— يساوي. وكذلك != و> و>= و< و<=.governorate IN (Cairo, Giza) · stage.name NOT IN ("Lost")— إحدى قيم قائمة، أو ليست أيًّا منها.customer ~ "ahmed" · name ~ "test*" · name !~ "demo"— يحتوي على (دون تمييز حالة الأحرف). الرمزان * و? رموز بدل، و!~ تعني لا يحتوي.owner IS EMPTY · ad IS NOT EMPTY— بلا قيمة / له قيمة.tags ANY ("vip", "wholesale") · tags ALL ("vip", "repeat")— حقول القوائم: تحتوي واحدة على الأقل / تحتويها جميعًا.text ~ "acme"— يبحث في الحقول النصية الرئيسية دفعة واحدة (الأسماء، الهاتف، الشركة …).(source = facebook OR source = instagram) AND NOT cod = true— الأقواس وNOT. ملاحظة: يتجاهل != وNOT IN القيم الفارغة — أضف “OR field IS EMPTY” لإبقائها.
القيم والأشخاص والفلاتر المحفوظة
اكتب النص بين “علامتَي تنصيص” إذا احتوى مسافات؛ ويمكن كتابة الكلمات المفردة وقيم القوائم (won وpending وwhatsapp) دونها. وتُكتب الأرقام وtrue / false كما هي.stage.name = "Follow up" · value > 5000 · cod = true— قيمة نصية ورقمية ونعم/لا.owner = currentUser()— أنت — أيًّا كان من يشغّل التقرير.owner = "sara@company.com" · owner IN membersOf("Sales")— زميل ببريده الإلكتروني، أو جميع أعضاء فريق.filter = "VIP leads"— يعيد استخدام شروط تقرير محفوظ على النوع نفسه (حتى 3 مستويات).
التواريخ والفترات
تُحسب التواريخ بالمنطقة الزمنية لشركتك. استخدم مدة نسبية أو تاريخًا أو دالة. وتنظر الجداول الكبيرة (الطلبات والرسائل والمحادثات …) إلى فترة حديثة إذا خلا الاستعلام من شرط تاريخ — وتذكر النتيجة الفترة المستخدمة.created >= -30d · -12h · -2w · -3M · -1y · "-4w 2d"— نسبي: m دقائق، وh ساعات، وd أيام، وw أسابيع، وM أشهر، وy سنوات.created >= "2026-03-01" AND created < "2026-04-01 00:00"— تواريخ: yyyy-MM-dd أو yyyy/MM/dd، ويمكن إضافة HH:mm.created >= today() · created = yesterday()— اليوم وأمس؛ وnow() هي هذه اللحظة.created >= startOfMonth()— هذا الشهر. وكذلك startOfDay وstartOfWeek وstartOfQuarter وstartOfYear ونظائرها endOf….created >= startOfMonth(-1) AND created < startOfMonth()— الشهر الماضي: يتحرك الرقم بفترات كاملة (-1 = السابقة).
السجل (WAS / CHANGED)
في الصفقات يمكنك السؤال عن الماضي لا القيمة الحالية فقط: أيّ الصفقات مرّت بمرحلة معيّنة، أو من نقلها. والحقول التي لها سجل مذكورة في مرجع البيانات.التجميع (GROUP BY)
تُنشئ GROUP BY صفًا لكل قيمة، حتى 3 مفاتيح. جمّع التاريخ حسب فترة للحصول على خط زمني، أو حسب ساعة اليوم / يوم الأسبوع لاكتشاف الأنماط. وتظهر السجلات التي بلا قيمة في صف “(none)” خاص بها.GROUP BY owner.name · GROUP BY channel.type, source— حسب حقل، أو حقلين.
GROUP BY channel.type AS channel— إعادة تسمية عمود المجموعة — لازمة لدمج استعلامين بـ COMBINE.
الأعمدة والمقاييس (SHOW)
تحدد SHOW ما يظهر: حقولًا للقائمة، أو مقاييس (حتى 10) للملخص أو المجموعات. لكل نوع مقاييس جاهزة (revenue() وwinRate() …) مذكورة في مرجع البيانات؛ أما المقاييس العامة أدناه فتعمل على أي حقل رقمي.count() · count(phone) · countDistinct(customer)— عدد الصفوف، والصفوف التي لها قيمة، والقيم المختلفة.sum(total) · avg(total) · min(total) · max(total)— مجموع حقل رقمي ومتوسطه وأدناه وأقصاه.median(total) · p90(daysToWin)— القيمة النموذجية، والقيمة التي يقع 90% تحتها.rate(cod = true)— نسبة الصفوف المطابقة لشرط، كنسبة مئوية.
الترتيب والحد (ORDER BY وLIMIT)
ترتّب ORDER BY حسب اسم عمود أو مقياس أو الاسم المعطى بـ AS. تعرض القائمة 100 صف ما لم تحدد غير ذلك، حتى 1000؛ ويصل التصدير إلى 5000.دمج الاستعلامات (COMBINE وCALC)
تضع COMBINE أرقامًا من أنواع مختلفة جنبًا إلى جنب — الطلبات بجانب المحادثات، والإنفاق بجانب الإيراد. اكتب حتى 4 استعلامات مجمّعة، وامنح المفتاح المشترك اسم AS نفسه في كل منها، ثم اربطها بـ COMBINE BY ذلك الاسم. لكل جزء شروط WHERE خاصة به، فكرّر الفترة الزمنية. ويحتاج كل مقياس إلى اسم AS خاص به. وتضيف CALC حتى 10 أعمدة محسوبة (+ − × ÷ والأقواس وROUND)؛ والقسمة على صفر تترك الخانة فارغة. ويأتي ORDER BY وLIMIT في النهاية.أرقام قابلة للنقر (DRILL)
اختم الاستعلام بـ DRILL ليفتح كل رقم في النتيجة السجلات التي خلفه، 50 في كل صفحة، الأحدث أولًا، مع رابطَي فتح المحادثة وفتح الصفقة. وتختار DRILL SHOW أعمدة تلك القائمة. وفي COMBINE تكفي DRILL واحدة في النهاية لكل الأجزاء. احذفها إذا أردت أن تبقى الأرقام عادية.أداء الفريق (FROM team)
تعطي FROM team صفًا لكل عضو في الفريق بأرقام مجمّعة من عدة جداول — الرسائل والمحادثات والصفقات والطلبات والمكالمات. حدد الفترة بـ WHERE period؛ ولا حاجة إلى GROUP BY (وGROUP BY team.name تجمع الأعضاء في فرقهم).الاستعانة بالذكاء الاصطناعي
في “اسأل الذكاء الاصطناعي” صِف التقرير بكلماتك (بالعربية أو الإنجليزية) فيكتب الذكاء الاصطناعي الاستعلام ويتحقق من أنه يعمل ويصلحه إن لزم. وحين يكون على الشاشة استعلام، اكتب التعديل فقط — “أضف الإيراد”، “الدفع عند الاستلام فقط”، “قسّمه حسب الشهر”، “قارن بالشهر الماضي” — فيتغيّر ذلك الجزء وحده. ويحتفظ التراجع بآخر النسخ. ويؤدي زر ✨ بجانب المحرر الأمر نفسه لاستعلام كتبته أنت.الحدود والأمان
لا يمكن للتقارير أن تبطئ النظام: يُفحص كل استعلام قبل تشغيله ويُرفض إذا كان سيقرأ بيانات كثيرة — ضيّق التواريخ أو صفِّ على حقل مفهرس. ويتوقف التشغيل بعد 15 ثانية. ويمكن لكل شخص تشغيل 30 تقريرًا في الدقيقة. وتُحفظ النتائج نحو دقيقة. ولا ترى إلا السجلات التي يسمح بها دورك، وتبقى أرقام الهواتف مخفية للأدوار التي لا يحق لها رؤيتها.GROUP BY ≤ 3 keys · ≤ 10 metrics · ≤ 30 conditions · LIMIT ≤ 1000 · ≤ 1000 groups · 4000 characters— حدود الحجم لكل استعلام.
مرجع البيانات
ما يعدّه كل نوع، وحقوله (لـ WHERE وGROUP BY وSHOW)، ومقاييسه الجاهزة. أسماء الحقول والمقاييس بالإنجليزية لأنها ما تكتبه في الاستعلام. تجميع = يمكن استخدامه في GROUP BY. سريع = مفهرس، وهو الأسرع في التصفية. وحقول الهاتف والبريد مخفية للأدوار التي لا ترى أرقام الهواتف، ولا يمكن التصفية عليها.Leads / deals — FROM leads
- حقل التاريخ:
created. - السجل (WAS / CHANGED) على:
stage,owner,value,priority,source,probability,currency,customerType. - يبحث
text ~ "…"في:name,email,company,phone.
Store orders — FROM orders
- حقل التاريخ:
created. - دون شرط تاريخ يعرض آخر 90 يومًا.
- يبحث
text ~ "…"في:number,customer,email,phone.
Products sold (order lines) — FROM products
- حقل التاريخ:
created. - دون شرط تاريخ يعرض آخر 90 يومًا.
- يبحث
text ~ "…"في:name,sku.
Conversations (chats) — FROM conversations
- حقل التاريخ:
created. - دون شرط تاريخ يعرض آخر 90 يومًا.
- يبحث
text ~ "…"في:name,phone.
Chat messages — FROM messages
- حقل التاريخ:
created. - دون شرط تاريخ يعرض آخر 30 يومًا.
Customers — FROM customers
- حقل التاريخ:
created. - يبحث
text ~ "…"في:name,company,email,phone.
Tasks — FROM tasks
- حقل التاريخ:
created. - يبحث
text ~ "…"في:title.
Phone calls — FROM calls
- حقل التاريخ:
created. - دون شرط تاريخ يعرض آخر 90 يومًا.
- يبحث
text ~ "…"في:phone,disposition.
Broadcasts — FROM broadcasts
- حقل التاريخ:
created. - يبحث
text ~ "…"في:name,template.
Ad spend (Meta ads, per ad per day) — FROM ads
- حقل التاريخ:
date. - دون شرط تاريخ يعرض آخر 90 يومًا.
- يحتاج أيضًا إلى الصلاحية
analytics:read. - يبحث
text ~ "…"في:ad.name,campaign.name.
Team (per teammate) — FROM team
- صف لكل عضو في الفريق. فترة التقرير هي
period(في WHERE فقط). - دون شرط تاريخ يعرض آخر 30 يومًا.
- يبحث
text ~ "…"في:name.
الدوال والعوامل
- دوال التجميع:
count(),countDistinct(),sum(),avg(),min(),max(),median(),p90(),rate() - فترات التاريخ (GROUP BY):
hour(field),day(field),week(field),month(field),quarter(field),year(field),hourOfDay(field),weekday(field) - القيم:
now(),today(),yesterday(),startOfDay(),startOfWeek(),startOfMonth(),startOfQuarter(),startOfYear(),endOfDay(),endOfWeek(),endOfMonth(),endOfQuarter(),endOfYear(),currentUser(),membersOf() - تواريخ نسبية:
-30m,-12h,-7d,-2w,-3M,-1y,"-4w 2d" - صيغ التاريخ:
yyyy/MM/dd,yyyy-MM-dd,yyyy-MM-dd HH:mm,ISO 8601 with zone - العوامل:
=,!=,>,>=,<,<=,~,!~,IN,NOT IN,ANY,ALL,IS EMPTY,IS NOT EMPTY - COMBINE: حتى 4 استعلامات، وحتى 10 أعمدة CALC
- DRILL: السجلات خلف الرقم، 50 في كل صفحة، مع رابطَي فتح المحادثة وفتح الصفقة

