ما المقصود بصيغة الإشارة إلى المتغيرات؟

يمكنك الإشارة مرجعيًا إلى المتغيرات في التحليلات ولوحات المعلومات ومؤشرات الأداء الرئيسية والوكلاء. بينما تعتمد طريقة الإشارة مرجعيًا إلى متغير على المهمة التي تقوم بتنفيذها.

بالنسبة إلى المهام التي تظهر فيها حقول في مربع حوار، يجب عليك تحديد نوع المتغير واسمه فقط (وليست الصيغة بالكامل)، على سبيل المثال، الإشارة إلى متغير في تعريف المرشح.

أما بالنسبة إلى المهام الأخرى، مثل الإشارة إلى متغير في طريقة عرض عنوان، فإنه عليك تحديد صيغة المتغير. تعتمد الصيغة التي تستخدمها على نوع المتغير كما هو مبين في الجدول.

ملاحظة:

في الصيغة، إذا لم تكن العلامة "at" (@) متبوعة بالقوس المتعرج ({)، فسيتم التعامل معها باعتبارها علامة "at".
نوع المتغير الصياغة مثال

جلسة عمل

@{biServer.variables['NQ_SESSION.variablename']}

حيث variablename هو اسم متغير جلسة العمل، على سبيل المثال DISPLAYNAME.

للحصول على قائمة بمتغيرات جلسة عمل النظام التي يمكنك استخدامها، يرجى الاطلاع على حول متغيرات جلسة عمل النظام في Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.

@{biServer.variables['NQ_SESSION.USER']}

مخزن

@{biServer.variables.variablename}

أو

@{biServer.variables['variablename']}

حيث يكون variablename هو اسم متغير المخزن، على سبيل المثال prime_begin.

@{biServer.variables.prime_begin}

أو

@{biServer.variables['prime_begin']}

عرض تقديمي أو طلب

@{variables.variablename}[format]{defaultvalue}

أو

@{scope.variables['variablename']}

حيث:

  • variablename هو اسم متغير العرض أو الطلب، على سبيل المثال MyFavoriteRegion.

  • (اختياري) الصيغة هي قناع صيغة يعتمد على نوع بيانات المتغير، على سبيل المثال، #,##0، MM/DD/YY hh:mm:ss. (لاحظ أنه لا يتم تطبيق الصيغة على القيمة الافتراضية.)

  • (اختياري) defaultvalue عبارة عن مرجع متغير أو ثابت يشير إلى قيمة سيتم استخدامها إذا لم يتم ملء المتغير الذي تمت الإشارة إليه مرجعيًا بواسطة اسم المتغير variablename.

  • المجال يقوم بتعريف مؤهلات المتغير. يجب عليك تحديد النطاق عند استخدام متغير في مستويات متعددة (التحليلات وصفحات لوحات المعلومات ولوحات المعلومات) وإذا أردت الوصول إلى قيمة معينة. (إذا لم تقم بتعيين المجال، فعندئذٍ يكون ترتيب المستويات التي لها الأسبقية هو التحليلات ثم صفحات لوحة المعلومات ثم لوحات المعلومات.)

ملاحظة: عند استخدام موجه لوحة معلومات مع مغير عرض يمكن أن يشتمل على قيم متعددة، تختلف الصياغة تبعًا لنوع العمود. تتم صياغة قيم متعددة على هيئة قيم مفصولة بفاصلات، ومن ثم يتم تطبيق كل عبارة صياغة على كل قيمة قبل ضمها معًا بالفاصلات.

@{variables.MyFavoriteRegion}{EASTERN REGION}

أو

@{MyFavoriteRegion}

أو

@{dashboard.variables['MyFavoriteRegion']}

أو

(@{myNumVar}[#,##0]{1000})

أو

(@{variables.MyOwnTimestamp}[YY-MM-DD hh:mm:ss]{)

أو

(@{myTextVar}{A, B, C})

عمومي

@{global.variables.variablename}

حيث يكون variablename هو اسم المتغير العام، على سبيل المثال gv_region. عند الإشارة إلى متغير عام، يجب استخدام الاسم الكامل كما هو مبين في المثال.

ملاحظة: نمط تسمية المتغيرات العامة يجب أن يكون مطابقًا لمواصفات لغة كتابة الاسكربت EMCA لـ JavaScript. يجب ألا يتجاوز طول الاسم 200 حرف وألا يشتمل على مسافات مضمنة أو كلمات محجوزة أو أحرف خاصة. إذا لم تكن متطلبات لغة JavaScripting مألوفة بالنسبة لك، فاطلع على مرجع خارجي.

@{global.variables.gv_date_n_time}

كما يمكنك الإشارة إلى المتغيرات في تعبيرات. الإرشادات الخاصة بالإشارة إلى المتغيرات في التعبيرات مبينة في الجدول التالي.

نوع المتغير الإرشادات مثال

جلسة عمل

  • يتم تضمين متغير جلسة العمل باعتباره وسيطة للدالة VALUEOF.

  • يتم تضمين اسم المتغير بين علامتي اقتباس مزدوجتين.

  • يسبق متغير جلسة العمل الجزء NQ_SESSION ونقطة.

  • يتم تضمين كل من الجزء NQ_SESSION واسم متغير جلسة العمل داخل أقواس هلالية.

"Market"."Region"=VALUEOF(NQ_SESSION."SalesRegion")

مخزن

  • يتم تضمين متغير المخزن باعتباره وسيطة للدالة VALUEOF.

  • يتم تضمين اسم المتغير بين علامتي اقتباس مزدوجتين.

  • تتم الإشارة إلى متغير مخزن ثابت حسب الاسم.

  • تتم الإشارة إلى متغير مخزن ديناميكي حسب الاسم المؤهل الكامل له.

    في حالة استخدام متغير مخزن ديناميكي، فعندئذٍ يجب تضمين أسماء وحدة التهيئة ومتغير المخزن بين علامتي اقتباس مزدوجتين (")، تفصل بينها نقطة وتكون مضمنة بين أقواس هلالية. على سبيل المثال، لاستخدام قيمة متغير مخزن ديناميكي باسم REGION مضمن في وحدة تهيئة باسم Region Security، استخدم هذه الصيغة:

    VALUEOF("Region Security"."REGION")

    للحصول على مزيد من المعلومات، يرجى الاطلاع على "حول متغيرات المخزن" في Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.

CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END

عرض تقديمي

  • استخدم هذه الصيغة:

    @{variablename}{defaultvalue}
    

    حيث يكون variablename هو اسم متغير العرض وdefaultvalue (اختياري) هو مرجع ثابت أو متغير يشير إلى قيمة يتم استخدامها إذا لم يتم ملء المتغير الذي تمت الإشارة إليه بواسطة variablename.

  • لتحويل نوع متغير إلى سلسلة، قم بتضمين الصيغة بالكامل داخل علامتي اقتباس مفردتين، على سبيل المثال:

    '@{user.displayName}'
    

ملاحظة: إذا لم تكن العلامة @ متبوعة بالقوس {، فسيتم التعامل معها باعتبارها علامة @.

عند استخدام مغير عرض يمكن أن يشتمل على قيم متعددة، تختلف الصياغة تبعًا لنوع العمود.

استخدم الصياغة التالية في SQL بالنسبة لنوع العمود المحدد لإنشاء جمل SQL صالحة:

  • Text — (@{variablename}['@']{'defaultvalue'})

  • Numeric — (@{variablename}{defaultvalue})

  • تاريخ-وقت — (@{variablename}{timestamp 'defaultvalue'})

  • تاريخ (التاريخ فقط) — (@{variablename}{date 'defaultvalue'})

  • وقت (الوقت فقط) — (@{variablename}{time 'defaultvalue'})

"Market"."Region"=@{MyFavoriteRegion}{EASTERN REGION}

أو

"Products"."P4 Brand"=(@{myTextVar}['@']{BizTech})

أو

"Products"."PO Product Number"=(@{myNumVar}{1000})

أو

"Sales Person"."E7 Hire Date"=(@{myDateTimeVar}{timestamp '2013-05-16 00:00:01'})

أو

"Time"."Total Fiscal Time"=(@{myDateVar}{date '2013-05-16'})

أو

"Time"."Time Right Now"=(@{myTimeVar}{time '00:00:01'})

بالنسبة للقيم المتعددة (في نوع بيانات محدد) عند استخدام SQL:

  • إذا كان نوع العمود هو نص وكان variablename يقوم بتمرير val1 وval2 وval3، فإن الناتج يكون ('val1', 'val2', 'val3').

أو

  • إذا كان نوع العمود هو تاريخ وكان variablename يقوم بتمرير 2013-08-09 و2013-08-10، فإن الناتج يكون (date '2013-08-09', date '2013-08-10').

أو

  • إذا كان نوع العمود هو تاريخ-وقت وكان variablename يقوم بتمرير 2013-08-09 00:00:00 و2013-08-10 00:00:00، فإن الناتج يكون (timestamp '2013-08-09 00:00:00', timestamp '2013-08-10 00:00:00').

بالنسبة إلى المناطق الخاصة حيث يمكن الإشارة إلى المتغيرات، يرجى الاطلاع على أين يمكنني الإشارة إلى المتغيرات؟