محرر استعلامات مصدر البيانات (استعلام البحث)
قم بإنشاء استعلامات لمصادر البيانات الخاصة بعناصر واجهة المستخدم الخاصة بالجداول والرسوم البيانية لاختيار بيانات محددة من قاعدة البيانات. تُبنى الاستعلامات على شكل حقل من قاعدة البيانات متبوعًا بعلامة = وعامل حسابي أو رقم أو سلسلة نصية:
database_string=my string database_number=1234 database_number=BETWEEN(3, 6)
يمكن إثراء الاستعلامات برمز JavaScript محدد:
حساب الوقت والتاريخ باستخدام momentjs
المعاملات
المعامل | الوصف |
|---|---|
| النطاق من قيمة البداية إلى قيمة النهاية. يتم فصل قيمتي البداية والنهاية بفاصلة |
| قائمة أرقام أو سلاسل نصية مفصولة بفواصل للمقارنة معها |
| أكبر من القيمة |
| أكبر من أو يساوي القيمة |
| أقل من القيمة |
| أصغر من أو يساوي القيمة |
| نفي تعبير |
| قائمة بالتعبيرات المفصولة بفواصل. يجب استيفاء جميع الشروط |
| قائمة بالتعبيرات المفصولة بفواصل. يجب استيفاء شرط واحد على الأقل |
| يتحقق مما إذا كانت القيمة NULL |
أمثلة
اختر جميع السجلات التي يزيد راتبها عن 40000:
salary=GT(40000)
اختر جميع السجلات التي تحتوي على أسماء غير جيمس وجون وجو:
name=NOT(IN(James%2CJohn%2CJoe))
اختر جميع السجلات التي تحتوي على معرّف عميل غير NULL:
customerId=NOT(NULL())
يجب استخدام علامة الهروب للفواصل في الوسيطات:
, -> %2C
وهذا ضروري في حالة استخدام عوامل متداخلة كما في المثال أعلاه.
أمثلة باستخدام momentjs
في الأمثلة التالية، يتم تعيين params.interval بواسطة أداة اختيار التاريخ
اختر السجلات التي تحتوي على تاريخ يقع بين معلمتي تاريخ/وقت البداية والنهاية المحددتين بواسطة أداة اختيار التاريخ. يتم استخدام معلمات البداية والنهاية وformat() من مكتبة momentjs:
date=BETWEEN(${interval(params.interval).begin.format()}, ${interval(params.interval).end.format()})
اختر السجلات من سنة سابقة:
year=${interval(params.interval).begin.subtract(1, 'years').format('YYYY')}
الاستعلام عن نفس الشهر قبل عام واحد مع تنسيق الشهر بدون أصفار مسبقة:
month=${interval(params.interval).begin.subtract(params.sub, 'years').format('M')}
الاستعلام عن يوم الأسبوع (0-6):
weekday=${interval(params.interval).begin.day()}
الاستعلام المعتمد على المعلمات
إذا كان يجب تطبيق الاستعلام فقط في حالة تعيين معلمة محددة (مثل استعلام مصفوفة التصفية)، فيمكن تضمين العمود وكذلك سلسلة الاستعلام في عبارات if:
${filterMatrix.device_name ? 'device_name' : 'none'}=${filterMatrix.device_name ? filterMatrix.device_name : ''}
إذا تم تعريف المعلمة filterMatrix.device_name، فسيتم تعيين العمود إلى "device_name" وسلسلة الاستعلام إلى "filterMatrix.device_name"):
device_name=filterMatrix.device_name
إذا لم يتم تعريف نفس المعلمة، فسيتم تكوين الاستعلام الناتج للعمود «none» الذي من المحتمل ألا يكون موجودًا:
none=''
استخدام استعلام البحث مع أداة
اختيار التاريخ
تتيح أداة اختيار التاريخ للمستخدمين تحديد تاريخ أو نطاق زمني يتم تمريره كمعلمة URL.
يمكن استخدام هذه المعلمات في استعلامات البحث، كما هو موضح في المثال التالي:
لنفترض أن سجلات الموظفين تحتوي على حقول «
hire_date» و«exit_date». إذا كانت قيمة «exit_date» هي «NULL»، فهذا يعني أن التوظيف لا يزال ساريًا دون تاريخ إنهاء مخطط له.يؤدي تحديد نطاق زمني في أداة الاختيار (على سبيل المثال، من فبراير 2022 إلى ديسمبر 2026) إلى تعيين معلمات URL التالية:
interval=BETWEEN(2022-02,2026-12)intervalBucket=monthintervalType=month
لتصفية جدول الموظفين بحثًا عن السجلات التي تتداخل مع النطاق المحدد، استخدم استعلام البحث التالي:
hire_date=LE(${interval(params.interval).end.format()})
exit_date=OR(NULL(), GE(${interval(params.interval).begin.format()}))
يمثل كل سطر قاعدة مستقلة؛ ويتم تقييم القواعد المتعددة بشرط «AND» ضمني.
شرح الاستعلام:
تاريخ التعيين (
hire_date) أقل من أو يساوي نهاية الفترة (في ديسمبر 2026 أو قبله)و
exit_dateإماNULLأو أكبر من أو يساوي بداية الفترة (في أو بعد فبراير 2022)
