محرر استعلام مصدر البيانات

إنشاء استعلامات مصدر البيانات لأدوات الجدول والمخطط لتحديد بيانات محددة من قاعدة بيانات. تُنشأ الاستعلامات على شكل حقل قاعدة بيانات متبوعًا بعلامة = وعامل أو رقم أو سلسلة:

database_string=my string
database_number=1234
database_numger=BETWEEN(3, 6)

يمكن إثراء الاستعلامات بواسطة كود JavaScript محدد:

  • حساب الوقت والتاريخ باستخدام momentjs

المشغلات

المشغّل

الوصف

BETWEEN()

النطاق من قيمة البداية إلى قيمة النهاية. قيم البداية والنهاية مفصولة بفاصلة

IN()

قائمة بالأرقام أو السلاسل المفصولة بفاصلة للمقارنة بها

GT()

أكبر من القيمة

LT()

أقل من القيمة

NOT()

نفي التعبير

AND()

قائمة بالتعبيرات المفصولة بفاصلة. يجب أن تتحقق جميعها

OR()

قائمة التعبيرات المفصولة بفاصلة. يجب استيفاء تعبير واحد على الأقل

NULL()

التحقق مما إذا كانت القيمة فارغة

أمثلة

حدد جميع السجلات التي يزيد راتبها عن 40000:

salary=GT(40000)

حدد جميع السجلات التي تحمل أسماء أخرى غير جيمس وجون وجو:

name=NOT(IN(James%2CJohn%2CJoe))

حدد جميع السجلات التي تحتوي على معرف عميل غير فارغ:

customerId=NOT(NULL())

يجب حذف الفواصل في الوسيطات:

. -> %2C

هذا مطلوب إذا تم استخدام عوامل متداخلة كما في المثال أعلاه.

أمثلة مع momentjs

في الأمثلة التالية، يتم تعيين الفاصل الزمني params.interval بواسطة أداة منتقي التاريخ

اختر فقط السجلات التي تحتوي على تاريخ بين معلمة تاريخ البدء والانتهاء/التاريخ/الوقت التي توفرها أداة منتقي التاريخ. يتم استخدام البداية والنهاية والتنسيق() من مكتبة 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=''