ORDERBY ER وظيفة
تُرجع الوظيفة ORDERBY
القائمة المُحددة كقيمة قائمة السجلات بعد أن تم فرزها وفقًا للوسيطات المُحددة. يمكن تعريف الوسيطات التالية كعبارات.
بناء الجملة 1
ORDERBY (list, expression 1[, expression 2, …, expression N])
بناء الجملة 2
ORDERBY (location, list, expression 1[, expression 2, …, expression N])
إشعار
بناء الجملة هذا مدعوم في الإصدار 10.0.25 والإصدارات الأحدث من 365 Finance Microsoft Dynamics.
الوسائط
location
: سلسلة
الموقع الذي يجب تشغيل الفرز فيه. الخيارات التالية هي خيارات صالحة:
- "الاستعلام"
- "InMemory"
list
: قائمة السجلات
مسار صالح لمصدر بيانات من نوع البيانات قائمة السجلات.
expression 1
: حقل
المسار الصالح لحقل مصدر البيانات المُشار إليه بواسطة الوسطية list
للوظيفة التي تم استدعائها. يجب ملء الحقل المُشار إليه من نوع البيانات الأساسية. هذه الوسيطة مطلوبة.
expression N
: حقل
المسار الصالح لحقل مصدر البيانات المُشار إليه بواسطة الوسطية list
للوظيفة التي تم استدعائها. يجب ملء الحقل المُشار إليه من نوع البيانات الأساسية. هذه الوسائط الإضافية اختيارية.
إرجاع القيم
قائمة السجلات
قائمة السجلات الناتجة.
ملاحظات الاستخدام
بناء الجملة 1
يتم دائمًا إجراء فرز البيانات في ذاكرة خادم التطبيق. لمزيد من التفاصيل، راجع المثال 1.
بناء الجملة 2
الفرز في الذاكرة
عند تحديد الوسيطة location
باعتبارها InMemory، يتم إجراء فرز البيانات في ذاكرة خادم التطبيق. لمزيد من التفاصيل، راجع المثال 2.
الفرز في قاعدة البيانات
عند تحديد الوسيطة location
باعتبارها استعلام، يتم فرز البيانات على مستوى قاعدة البيانات. وفي هذه الحالة، يجب أن تشير الوسيطة list
إلى أحد مصادر البيانات التالية للتقارير الإلكترونية (ER) الذي يحدد مصدر التطبيق الذي يمكن إنشاء استعلام قاعدة بيانات له:
- مصدر بيانات من النوع سجلات الجدول.
- علاقة مصدر البيانات من النوع سجلات الجدول
- مصدر بيانات من النوع حقل الحساب.
وفي هذه الحالة، يجب أن تشير الوسيطة expression 1
والوسيطة expression N
إلى حقول مصدر بيانات التقارير الإلكترونية الذي يحدد الحقول ذات الصلة لمصدر التطبيق الذي يمكن أيضًا إنشاء استعلام قاعدة بيانات له.
في حاله تعذر إنشاء استعلام قاعدة بيانات، يحدث خطأ في التحقق من الصحة في مصمم تعيين نموذج التقارير الإلكترونية. توضح الرسالة التي تتلقاها ان تعبير التقارير الإلكترونية الذي يتضمن وظيفة ORDERBY
لا يمكن تشغيله في وقت التشغيل.
للحصول على أداء أفضل نوصي باستخدام الخيار استعلام عندما يتم تكوين الفرز لمصادر بيانات التطبيق التي قد تحتوي على عدد كبير من السجلات (على سبيل المثال، لجداول تطبيق الحركات).
إشعار
لا يمكن ترجمة الدالة ORDEBY
بحد ذاتها إلى استعلام قاعدة بيانات مباشر. وبالتالي فإن مصدر بيانات التقارير الإلكترونية الذي يحتوي علي هذه الدالة هو غير قابل للاستعلام. كما لا يمكن استخدامه في نطاق دالات التقارير الإلكتروني، مثل FILTER وALLITEMSQUERY، حيث يمكن استخدام مصادر البيانات القابلة للاستعلام فقط.
لمزيد من التفاصيل، راجع المثال 3 والمثال 4.
المقارنة
لأن محرك قاعدة بيانات SQL وخادم تطبيق Finance يمكنهما استخدام قيمة تصنيف مختلفة لحرف واحد، فقد نتيجة الفرز لقائمة السجلات نفسها عند استخدام حقل السلسلة للفرز. لمزيد من التفاصيل، راجع المثال 5.
المثال 1: التنفيذ الافتراضي في الذاكرة
إذا قمت بإدخال مصدر البيانات DS من النوع الحقل المحسوب ، ويحتوي على التعبير SPLIT ("C|B|A", "|")
، يُرجع التعبير FIRST( ORDERBY( DS, DS. Value)).Value
القيمة النصية "A".
المثال 2: التنفيذ الصريح في الذاكرة
إذا تم تكوين المورّد كمصدر بيانات تقارير إلكترونية من النوع سجلات الجدول الذي يشير إلى الجدول VendTable، فسيُرجع كل من التعبير ORDERBY (Vendor, Vendor.'name()')
والتعبير ORDERBY ("InMemory", Vendor, Vendor.'name()')
قائمة مورّدين تم فرزها حسب الاسم بترتيب تصاعدي.
عندما تقوم بتكوين التعبير ORDERBY ("Query", Vendor, Vendor.'name()')
في مصمم تعيين نموذج التقارير الإلكترونية، يحدث خطأ التحقق من الصحة في وقت التصميم لأن المسار Vendor.'name()'
يشير إلى أسلوب تطبيق لديه منطق لا يمكن ترجمته إلى استعلام قاعدة بيانات مباشر.
المثال 3: استعلام قاعدة بيانات
إذا تم تكوين TaxTransaction كمصدر بيانات تقارير إلكترونية من النوع سجلات الجدول الذي يشير إلى الجدول TaxTrans، فإن التعبير ORDERBY ("Query", TaxTransaction, TaxTransaction.TaxCode)
يفرز السجلات على مستوى قاعدة بيانات التطبيق ويُرجع قائمة بحركات ضريبية تم فرزها حسب كود الضريبة بترتيب تنازلي.
المثال 4: مصادر بيانات قابلة للاستعلام
إذا تم تكوين TaxTransaction كمصدر بيانات تقارير إلكترونية من النوع سجلات الجدول الذي يشير إلى الجدول TaxTrans، فيمكن تكوين مصدر بيانات التقارير الإلكترونية TaxTransactionFiltered بحيث يحتوي على التعبير FILTER(TaxTransaction, TaxCode="VAT19")
الذي سيقوم بإحضار الحركات لكود ضريبي معين. لأن مصدر بيانات التقارير الإلكتروني المكوّن TaxTransactionFiltered هو قابل للاستعلام، فيمكنك تكوين التعبير ORDERBY ("Query", TaxTransactionFiltered, TaxTransactionFiltered.TransDate)
بحيث يُرجع قائمة تتضمن حركات ضريبية تم تصفيتها وفرزها حسب تاريخ الحركات بترتيب تصاعدي.
إذا قمت بتكوين TaxTransactionOrdered كمصدر بيانات تقارير إلكترونية من النوعحقل محسوب الذي يحتوي على التعبير ORDERBY ("Query", TaxTransaction, TaxTransaction.TransDate)
ومصدر بيانات تقارير إلكترونية من النوع حقل محسوب الذي يحتوي على التعبير FILTER(TaxTransactionOrdered, TaxCode="VAT19")
، فسيحدثخطأ تحقق من الصحة في وقت التصميم في مصمم تعيين نموذج التقارير الإلكترونية. يحدث هذا الخطأ لان الوسيطة الأولى للدالة FILTER يجب أن تشير إلى مصدر بيانات تقارير إلكترونية قابل للاستعلام، ولكن مصدر البيانات TaxTransactionOrdered الذي يحتوي على الدالة ORDERBY
غير قابل للاستعلام.
المثال 5: المقارنة
المتطلبات الأساسية
- أدخل مصدر البيانات DS1 من النوع حقل محسوب الذي يحتوي على التعبير
SPLIT ("D1|_D2|D3", "|")
. - افتح صفحة قيم الأبعاد المالية، وحدد البُعد CostCenter.
- أدخل قيم البُعد التالية: D1 و_D2 وD3.
الفرز في الذاكرة
- قم بتكوين مصدر البيانات DS2 من النوع حقل محسوب الذي يحتوي على التعبير
ORDERBY("InMemory", DS1, DS1.Value)
. - لاحظ أن التعبير
FIRST(DS2).Value
يُرجع القيمة النصية "D1"، وأن التعبيرINDEX(DS2, COUNT(DS2)).Value
يُرجع القيمة النصية "D2"، وأن التعبيرSTRINGJOIN(DS2, DS2.Value, "|")
يُرجع القيمة النصية "D1|D3|_D2".
الفرز في قاعدة البيانات
- أدخل مصدر البيانات DS3 من النوع سجلات الجدول الذي يشير إلى الكيان FinancialDimensionValueEntity.
- قم بتكوين مصدر البيانات DS4 من النوع حقل محسوب الذي يحتوي على التعبير
FILTER(DS3, DS3.FinancialDimension="CostCenter")
. - قم بتكوين مصدر البيانات DS5 من النوع حقل محسوب الذي يحتوي على التعبير
ORDERBY(DS4, DS4.DimensionValue)
. - لاحظ أن التعبير
FIRST(DS5).Value
يُرجع القيمة النصية "D2"، وأن التعبيرINDEX(DS5, COUNT(DS5)).Value
يُرجع القيمة النصية "D3" وأن التعبيرSTRINGJOIN(DS5, DS5.Value, "|")
يُرجع القيمة النصية "_D2|D1|D3".