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

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

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)

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

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=''