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

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

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

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

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

المشغلات

المشغل

الوصف

BETWEEN()

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

IN()

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

GT()

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

LT()

أقل من القيمة

NOT()

نفي تعبير

AND()

قائمة تعبيرات مفصولة بفواصل. يجب استيفاء جميعها

OR()

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

NULL()

يتحقق مما إذا كانت القيمة NULL

أمثلة

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

salary=GT(40000)

حدد جميع السجلات التي تحتوي على أسماء غير James و John و Joe:

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

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

customerId=NOT(NULL())

يجب تجاهل الفواصل في الحجج:

. -> %2C

هذا ضروري في حالة استخدام عوامل متداخلة كما في المثال أعلاه.

أمثلة باستخدام momentjs

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

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