توجد ثلاثة مقاطع في مصمم التقرير: البرنامج النصي والفئة - المقطع الذي يُكتب فيه استعلام SQL نفسه.
موصوف في قسم العمل مع الاستعلامات ؛ الجداول - المقطع الذي تُضاف فيه أعمدة التقرير وتُضبط.
موصوف في قسم العمل مع الأعمدة ؛ المعاملات - المقطع الذي تُضبط فيه المعاملات المتغيرة لتشغيل التقرير.
موصوف في قسم العمل مع المعاملات ؛ في هذا المقطع، يكتب المستخدم استعلام SQL الذي سيقوم بتحميل البيانات من الجداول في قاعدة البيانات.
تُكتب الاستعلامات بلغة SQL. يجب أن يمتلك المستخدم مهارات أساسية في برمجة SQL لكتابة الاستعلامات.
يمكن تعلم SQL على مستوى أساسي في أقصر وقت ممكن (حتى يوم واحد).
الاستعلامات الأساسية المطلوبة لإنشاء تقارير أساسية موصوفة في قسم استعلامات SQL الأساسية.
يصف هذا القسم من الوثيقة الإجراءات الممكنة مع مقطع كود SQL مكتوب مسبقاً، أما العمل مع الاستعلامات الأساسية اللازمة لإنشاء تقارير أساسية فموصوف في قسم استعلامات SQL الأساسية.
يُدخل كود استعلام SQL في مقطع "البرنامج النصي والفئة:": بعد كتابة كود البرنامج النصي، تتوفر العمليات التالية عليه: التشغيل للتحقق - لتشغيل التقرير، انقر على الزر .
بعد الضغط على الزر، سيبدأ تنفيذ البرنامج النصي، ويمكن أن يستغرق ذلك من عدة ثوانٍ إلى دقائق، تبعاً لتعقيد البيانات المُنزَّلة وكميتها.
إذا رصد مترجم الكود خطأ في الكود، فسيعرضه أسفله في المقطع الأحمر: إذا لم تكن هناك أخطاء، ستظهر رسالة أسفل النافذة تفيد بأن التقرير يتحمل، وعند اكتمال التحميل ستفتح نافذة بنتيجة الاستعلام.
إذا كان بإمكان الاستعلام نظرياً عرض أكثر من 10,000 صف، فيُستحسن استخدام حدود TOP 1000 أو TOP 10000 بعد أمر SELECT للتحقق منه؛ إيقاف التقرير - إذا استغرق التقرير وقتاً طويلاً جداً للتحميل، أو قررت إيقاف التنفيذ - يمكن القيام بذلك بالنقر على .
يتحول هذا الزر إلى اللون الأحمر ويصبح نشطاً عند تشغيل التقرير. نقل الحقول المحددة في SELECT إلى أعمدة التقرير.
تُضاف الأعمدة دائماً إلى التقرير بناءً على طلب. لإضافة الأعمدة، انقر على الزر .
بعد النقر، سيحدد النظام الأعمدة وأسماءها بنفسه ويضيفها إلى التقرير: سيعرض النظام أيضاً هذه الأعمدة في مقطع "الجداول"، حيث يمكن للمستخدم تخصيصها.
إعدادات الأعمدة موصوفة في قسم "العمل مع الأعمدة". يضيف النظام جميع الأعمدة تلقائياً. يتم حذف الأعمدة غير الضرورية بالنقر على .
يمكن إضافتها لاحقاً من مقطع "الجدول". نقل معاملات التقرير إلى حقل "المعاملات" للتخصيص. لنقل المعاملات، انقر على .
بعد النقر، سيحدد النظام المعاملات بنفسه وسينقل أسماءها إلى حقل "المعاملات".
تظهر المعاملات التي لم تُنقل باللون الأحمر في محرر استعلام SQL، وتلك التي نُقلت باللون الأخضر.
يجب تهيئة كل معامل؛ وكيفية تهيئتها وبأي صيغ يمكن أن تكون المعاملات في كود استعلام SQL موصوف في قسم "العمل مع المعاملات".
تُعرض جميع الحقول المحددة من خلال SELECT في استعلام SQL في مكانين - فوق المنشئ وفي مقطع "الجداول": سيعرض النظام أيضاً هذه الأعمدة في مقطع "الجداول"، حيث يمكن للمستخدم تخصيصها.
إعدادات الأعمدة موصوفة في قسم "العمل مع الأعمدة". يضيف النظام جميع الأعمدة تلقائياً. يتم حذف الأعمدة غير الضرورية بالنقر على .
يمكن إضافتها لاحقاً من مقطع "الجدول". نقل معاملات التقرير إلى حقل "المعاملات" للتخصيص. لنقل المعاملات، انقر على .
بعد النقر، سيحدد النظام المعاملات بنفسه وسينقل أسماءها إلى حقل "المعاملات".
تظهر المعاملات التي لم تُنقل باللون الأحمر في محرر استعلام SQL، وتلك التي نُقلت باللون الأخضر.
يجب تهيئة كل معامل؛ وكيفية تهيئتها وبأي صيغ يمكن أن تكون المعاملات في كود استعلام SQL موصوف في قسم "العمل مع المعاملات".
تُعرض جميع الحقول المحددة من خلال SELECT في استعلام SQL في مكانين - فوق المنشئ وفي مقطع "الجداول": في البداية، تُضاف جميع الحقول تلقائياً إلى التقرير بعد النقر على الزر في نافذة استعلام SQL، وتُعرض فوق المنشئ وفي مقطع "الجداول".
بعد حذف أي حقل، يمكن إضافته مجدداً بالنقر على علامة + بجانب اسمه في مقطع "الجداول".
يمكن للمستخدم تغيير ترتيب عرض الحقول - ببساطة عن طريق سحب وإسقاط أسمائها في المقطع العلوي.
يمكن للمستخدم أيضاً تغيير حجم الأعمدة عن طريق تمديدها. يتوافق مظهر الأعمدة في المقطع العلوي تماماً مع كيفية عرضها في التقرير.
لتغيير معاملات حقل ما، انقر على اسمه - بعد ذلك ستفتح نافذة بالمعاملات التالية: النمط العام - تحرير النمط العام للتقرير.
العملية مشابهة للتحرير في أي محرر نصوص آخر؛ التوسيع حسب - هذا الحقل موصوف بالتفصيل في قسم التوسيع حسب والتجميع حسب ؛ التجميع حسب - هذا الحقل موصوف بالتفصيل في قسم التوسيع حسب والتجميع حسب ؛ الاسم - يحدد المستخدم اسم هذا العمود في التقرير؛ المفتاح - يشير إلى البيانات التي يجب سحبها إلى العمود.
على سبيل المثال، إذا كان هناك استعلام: SELECT SKU_ID SKU, STORE_ID STORE FROM SALES_SKU إذا أدخل المستخدم كود حقل STORE في إعدادات عمود SKU، فستُعرض البيانات من عمود STORE في عمود SKU في التقرير.
لكن هذا ممكن فقط إذا كان عمود SKU واحد معروضاً؛ أما إذا كان كلا العمودين SKU وSTORE معروضين - فلن يعمل إضافة كود الحقل.
لا يمكن إضافة كود الحقل إلى نفس الحقل. نوع البيانات - اختيار نوع البيانات الذي يجب عرضه في الحقل.
أنواع البيانات المدعومة هي التالية: نص - للحقول النصية - على سبيل المثال "اسم المقالة"؛ رقم - للحقول الرقمية - على سبيل المثال "حجم المبيعات"؛ تاريخ - للحقول بأي تنسيق تاريخ - على سبيل المثال "أسبوع المبيعات" أو "تاريخ المبيعات"؛ التنسيق - يظهر هذا الحقل إذا اخترت نوع البيانات "رقم" أو "تاريخ".
الرابط - يسمح للمستخدم بإضافة رابط إلى صفحة أخرى أو بيانات أو أي شيء آخر.
على سبيل المثال، إذا كان هناك استعلام: SELECT SKU_ID SKU, SITE_LINK LINK FROM MONITORING يعرض عمود SKU رموز المنتجات، ويعرض عمود LINK روابط إلى الموقع.
في هذه الحالة، إذا اختار المستخدم رابطاً إلى LINK في حقل "الرابط" في إعدادات عمود SKU، ففي التقرير عند النقر على الرقم في عمود SKU سيفتح رابط من عمود LINK.
لا يمكن إضافة الرابط إلا إلى أعمدة أخرى؛ العرض - يمكن للمستخدم تحديد عرض الحقل الممكن في التقرير. يجب إدخال القيمة بالبكسل.
إذا كان العرض تلقائياً، فسيتمدد الحقل ليلائم النص. نمط الخلية - تحرير نمط منفصل لعرض المعلومات في التقرير.
العملية مشابهة للتحرير في أي محرر نصوص آخر؛ يُضبط هذان الحقلان من إعدادات الأعمدة دائماً معاً.
تتيح هذه المعاملات تنفيذ الأعمدة المتقاطعة - عندما تُعرض بيانات متعددة من أعمدة أخرى في عمود واحد.
على سبيل المثال، يتيح ذلك للمستخدم عرض بيانات مبيعات المنتجات لعدة أسابيع في سطر واحد، دون إضافة عمود منفصل يدوياً لكل أسبوع.
سيتم شرح هذه الوظيفة بمزيد من التفصيل في المثال أدناه.
أنشأ المستخدم استعلاماً لعرض مبيعات الأسبوع الأول للسنوات الخمس الأخيرة للمنتج المحدد 56 عبر جميع المتاجر (المتجر 1 والمتجر 2): ونتيجة لذلك، حصل على التقرير التالي: يمكن ملاحظة أن التقرير عرض 10 أسطر، لكن بتنسيق غير مريح للغاية.
سيكون من الأكثر ملاءمة إذا عُرضت جميع الأسابيع والمبيعات في سطر واحد مع المنتج، ثم سيكون هناك سطران فقط لكل متجر.
بهذا الشكل: لمثل هذه التحويلات، يُستخدم التوسيع حسب.
أولاً، يحتاج المستخدم إلى إزالة العمود من العرض، والذي ستحتاج بياناته إلى التوسيع وإدراجها في عمود آخر.
في هذا المثال، هذا هو العمود الذي يحتوي على الأسابيع - WEEK WK.
لذلك، من الضروري النقر في الأعلى في صف الأعمدة على بجانب عمود WEEK؛ الخطوة التالية هي النقر على بجانب العمود الذي تريد عرض عمود آخر فيه.
في حالتنا، هذان هما عمودا المبيعات والمخزون - لذلك، انقر على الزر بجانب كلا العمودين - بعد النقر، يُحدد العمود الذي يجب عرضه بداخله - في حالتنا إنه WK (الأسبوع)؛ بعد ذلك، يظهر WK أيضاً في حقل التوسيع حسب في إعدادات الأعمدة المقابلة.
للتوسيع حسب، يمكن للمستخدم استخدام أي أعمدة غير معروضة في التقرير لكنها موجودة في الاستعلام.
بعد ذلك، يحتاج المستخدم إلى تهيئة العمود الذي ستُجمَّع فيه البيانات.
في هذا المثال، من الضروري أن تُجمَّع البيانات حسب المتاجر - أي في حقل التجميع حسب، اختر STR (اسم العمود الذي يسحب البيانات حسب المتاجر في استعلام SQL).
يمكن للمستخدم تحديد التجميع حسب لعمود واحد فقط، وفي الأعمدة الأخرى ذات التوسيع حسب سيُسحب هذا الاختيار تلقائياً.
بعد إتمام جميع الإعدادات، يمكن للمستخدم النقر على ورؤية كيفية عرض البيانات: المعاملات هي القيم التي يحددها المستخدم عند تشغيل تقرير.
يتيح ذلك للمستخدم اختيار فقط البيانات التي تستوفي معاييره.
تُنقل المعاملات تلقائياً من الكود في محرر SQL إلى مقطع "المعاملات" بعد النقر على الزر .
بعد ظهور المعاملات في مقطع "المعاملات"، يمكن تهيئتها.
يوجد نوعان من المعاملات: :parameter - تمرر هذه المعاملات قيمة محددة واحدة ويجب تحديدها في الكود كـ: where variable = :parameter; [parameter_list] - تمرر هذه المعاملات مجموعة من القيم ويجب تحديدها في الكود كـ: where variable [parameter_list]; على سبيل المثال، إذا احتاج المستخدم إلى تمرير الرقم "5" كمعامل، يستخدم المستخدم الصيغة :parameter بعد علامة المساواة.
ونتيجةً لذلك، بعد بدء تشغيل التقرير، ستعمل المعامل في الكود كـ: where value = 5.
إذا احتاج المستخدم إلى نقل مجموعة - على سبيل المثال (1,3,8)، يستخدم المستخدم الصيغة [parameter_list] بدون علامة مساواة.
ونتيجةً لذلك، بعد بدء تشغيل التقرير، ستعمل المعامل في الكود كـ: where value in (1,3,8).
يمكن للمستخدم استخدام أي أسماء معاملات مناسبة، والأهم استخدام الصيغة الصحيحة.
لتهيئة معامل، انقر على اسم المعامل في مقطع "المعاملات".
بعد النقر، تفتح نافذة بإعدادات المعامل التالية: المعرّف - معرّف المعامل - يُسحب تلقائياً وفقاً للحقل المطبق عليه، ولا يمكن تغييره؛ الاسم - اسم المعامل - يجب أن يساوي اسم المعامل في الكود؛ العرض - اسم المعامل الذي سيُعرض عند تشغيل التقرير؛ النوع - اختيار نوع المعامل - من المهم جداً تحديد النوع الصحيح لضمان العمل الصحيح للمعامل وتجنب الأخطاء.
أنواع المعاملات المدعومة هي التالية: نص - ستمرر المعامل قيمة نصية، ويمكن استخدامها فقط مع صيغة المعامل: parameter؛ رقم - ستمرر المعامل قيمة رقمية، ويمكن استخدامها فقط مع صيغة المعامل: parameter؛ تاريخ - ستنقل المعامل التاريخ بتنسيق YYYY-MM-DD، ويمكن استخدامها فقط مع صيغة المعامل: parameter؛ أسبوع - ستنقل المعامل التاريخ بتنسيق أسبوع ISO - YYYYWW، ويمكن استخدامها فقط مع صيغة المعامل: parameter؛ شهر - ستنقل المعامل التاريخ بتنسيق شهر ISO - YYYYMM، ويمكن استخدامها فقط مع صيغة المعامل: parameter؛ قائمة - ستمرر المعامل مجموعة من القيم بأي تنسيق.
تُستخدم عندما يكون من الضروري تمرير أكثر من قيمة واحدة. على سبيل المثال (1, 3, 8) أو (store, warehouse) أو (202015, 202025).
يمكن استخدامها فقط مع صيغة المعامل [parameter_list]؛ تحديد - ستمرر المعامل مجموعة من القيم المحددة بواسطة طلب خاص، يُشار إليه في حقل "الاستعلام".
يمكن استخدامها فقط مع صيغة المعامل: parameter؛ الحد الأدنى - الحد الأدنى لقيمة المعامل.
يمكن استخدامه للأرقام والتواريخ والأسابيع والأشهر؛ الحد الأقصى - الحد الأقصى لقيمة المعامل.
يمكن استخدامه للأرقام والتواريخ والأسابيع والأشهر؛ الاستعلام - يُملأ فقط لصيغة "التحديد".
لعرض الاستعلامات المحتملة، يجب على المستخدم إدخال نص "select" في الحقل، وستظهر الاستعلامات المتاحة تلقائياً في قائمة.
عند تشغيل التقرير، ستُعرض المعلومات المستخرجة من الاستعلام في قائمة منسدلة عند تحديد قيمة المعامل.
الاستعلامات التالية مدعومة تلقائياً الآن (لكن يمكن أيضاً إنشاء استعلامات إضافية): report_select_stores - يُستخدم لاختيار متجر من القائمة كقيمة للمعامل؛ report_select_groups - يُستخدم لاختيار مجموعة من القائمة كقيمة للمعامل؛ report_select_managers - يُستخدم لاختيار مدير من القائمة كقيمة للمعامل؛ report_select_contracts - يُستخدم لاختيار عقد من القائمة كقيمة للمعامل؛ report_select_suppliers - يُستخدم لاختيار مورّد من القائمة كقيمة للمعامل؛ report_select_whs - يُستخدم لاختيار مستودع من القائمة كقيمة للمعامل؛ report_select_fcst - يُستخدم لاختيار رقم تنبؤ من القائمة كقيمة للمعامل؛ المؤشر - يمكن إدخاله فقط لمعاملات من نوع التاريخ والأسبوع والشهر.
يتيح المؤشر للمستخدم طرح أو إضافة قيمة تلقائياً إلى المعامل.
لذا، إذا عيّن المستخدم معامل التاريخ والمؤشر على ‑10، فعند تشغيل التقرير افتراضياً ستُعرض قيمة التاريخ بمقدار 10 أيام أقل من التاريخ الافتراضي المحدد في حقل "القيمة".
إذا تُرك حقل القيمة فارغاً، سيُطرح التاريخ من التاريخ الحالي؛ القيمة - تُدخَل قيمة افتراضية ستُعرض عند اختيار الخيارات قبل تشغيل التقرير.
فيما يلي خيارات تعيين المعاملات في استعلام SQL لأنواع مختلفة من البيانات: where sku_id = :sku_id - يُستخدم لاختيار SKU محدد برمز MySales.
عند تشغيل التقرير، يُمرَّر رقم SKU واحد إلى المعامل.
يجب أن يكون نوع المعامل "رقماً"؛ where sku_id [sku_id_list] - يُستخدم لاختيار عدة SKUs برمز MySales.
عند تشغيل التقرير، تُمرَّر مجموعة من أرقام SKU مفصولة بفواصل إلى المعامل.
يجب أن يكون نوع المعامل "قائمة"؛ where item_code = :item_code - يُستخدم لاختيار SKU محدد باستخدام الرمز الداخلي.
عند تشغيل التقرير، يُمرَّر رمز نصي واحد إلى المعامل.
يجب أن يكون نوع المعامل "نصاً"؛ where item_code [item_code_list] - يُستخدم لاختيار عدة SKUs بالرمز الداخلي.
عند تشغيل التقرير، تُمرَّر مجموعة من رموز SKU النصية مفصولة بفواصل إلى المعامل.
يجب أن يكون نوع المعامل "قائمة"؛ where ((sku_id = :sku_id) or (:sku_id = 0)) - معامل مركّب - يُستخدم للقدرة على عرض جميع الـ SKUs أو SKU محدد واحد.
في هذه الحالة، لعرض جميع الـ SKUs، تُدخَل القيمة 0 للمعامل عند بدء تشغيل التقرير، أو رقم SKU محدد لعرض SKU واحد؛ الأمثلة المذكورة أعلاه لتعيين المعاملات في الكود سارية لجميع أنواع المعاملات والحقول.
للعمل مع منشئ التقارير، من المهم جداً فهم بنية قاعدة البيانات من أجل معرفة البيانات التي يجب استرداد منها أي الجداول، وما هي أسماء الحقول، وكيفية ربط البيانات من جداول مختلفة.
يمكن للمستخدم استدعاء بنية قاعدة البيانات بالنقر على واختيار "عرض قاعدة البيانات".
بعد الاختيار، ستفتح نافذة تعرض جميع الجداول وجميع الحقول فيها.
يعمل البحث في نافذة قاعدة البيانات، مما يسمح للمستخدم بالعثور على الجداول والأعمدة.