الدالات AddColumns وDropColumns وRenameColumns وShowColumns

ينطبق على: تطبيقات قماش تدفقات سطح المكتب التطبيقات التي يحركها النموذج Power Platform CLI

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

يمكن **أيضا استخدام وظيفة ForAll لتهيئة جدول من خلال إرجاع جدول سجلات جديدة تم إنشاؤها من أعمدة موجودة.

نظرة عامة‬

وتقوم هذه الوظائف بتشكيل جدول بواسطة ضبط الاعمده الخاصة به:

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

جدول عبارة عن قيمة في Power Apps، تمامًا مثل سلسلة أو رقم. يمكنك تحديد جدول كوسيطة لصيغة، ويمكن أن ترجع الوظائف جدول نتيجة لذلك.

‏‫ملاحظة‬

لا تعدل الوظائف التي يقوم موضوع تصف الجدول الأصلي. وبدلا من ذلك ، فانهم ياخذون هذا الجدول كوسيط ويرجع جدول جديد مع تطبيق التحويل. لمزيد من المعلومات، راجع التعامل مع الجداول

لا يمكنك تعديل أعمدة مصدر البيانات وذلك باستخدام هاتين الوظيفتين. يجب تعديل البيانات الموجودة في مصدرها. يمكنك أضافه أعمدة إلى مجموعة باستخدام وظيفة Collect. لمزيد من المعلومات، راجع التعامل مع مصادر البيانات

الوصف

تضيف وظيفة AddColumns عمودًا إلى جدول ، وتحدد الصيغة القيم الموجودة في هذا العمود. تظل للأعمدة الموجودة غير معدله.

يتم تقييم الصيغة لكل سجل في الجدول.

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

تستبعد وظيفة DropColumns أعمدة من جدول. تظل جميع الاعمده الأخرى غير معدله. تستبعد DropColumns الأعمدة، وتتضمن ShowColumns الأعمدة.

استخدم وظيفة RenameColumns لأعاده تسميه عمود واحد أو أكثر من الجدول عن طريق توفير زوج وسيطه واحد علي الأقل يحدد اسم العمود الذي يحتوي عليه الجدول (الاسم القديم ، الذي تريد استبداله) واسم العمود الذي لا يحتوي عليه الجدول (الاسم الجديد الذي تريد استخدامه). يجب ان يكون الاسم القديم موجودا بالفعل في الجدول ، ويجب الا يكون الاسم الجديد موجودا. قد يظهر اسم كل عمود مرة واحدة فقط في قائمة الوسيطات كاسم عمود قديم أو اسم عمود جديد. لأعاده تسميه عمود إلى اسم عمود موجود ، قم أولا بإفلات العمود الموجود باستخدام DropColumns، أو قم باعاده تسميه العمود الموجود خارج الطريقة بواسطة تداخل وظيفة RenameColumns في أخرى.

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

النسبة لكافة هذه الوظائف ، يكون الناتج جدول جديد مع تطبيق التحويل. لا يتم تعديل الجدول الأصلي. لا يمكنك تعديل جدول موجود بصيغه. يوفر SharePoint، وMicrosoft Dataverse، وSQL Server، وغيرها من مصادر البيانات أدوات لتعديل أعمدة القوائم والجداول والجداول، والتي غالبا ما يشار إليها باسم المخطط. تعمل الدالات الموجودة في هذا الموضوع على تحويل جدول إدخال فقط، دون تعديل الأصل، إلى جدول إخراج لاستخدامه بشكل إضافي.

وتدعم وسائط هذه الدالات التفويض. على سبيل المثال يتم استخدام وظيفة Filter كوسيطة لسحبها في السجلات المرتبطة من خلال كافة إدخالات القوائم، حتى إذا كان مصدر بيانات [dbo].[AllListings] يحتوي على مليون صف:

AddColumns( RealEstateAgents,
   Listings,
   Filter(  '[dbo].[AllListings]', ListingAgentName = AgentName )
)

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

إذا كنت تستخدم AddColumns بهذه الطريقة، فلا بد وأن تقوم دالة Filter باستدعاءات منفصلة لمصدر البيانات لكل من هذه السجلات الأولى في RealEstateAgents، ما يتسبب في العديد من مشاكل الشبكة. في حالة [dbo](.[AllListings] صغير بما يكفي ولا يتغير كثيرا. يمكنك استدعاء وظيفة " تجميع" في OnStart مصدر البيانات التطبيق عند بدء تشغيل التطبيق. وكبديل لذلك، يمكنك أعاده هيكله تطبيقك بحيث تقوم بالسحب في السجلات المرتبطة فقط عند قيام المستخدم بالسؤال عنها.

‏‫ملاحظة

قبل Power Apps الإصدار 3.24042، كانت أسماء الأعمدة محددة بسلسلة نصية باستخدام علامات اقتباس مزدوجة، وإذا كانت مرتبطة مصدر البيانات فهي تحتاج أيضا إلى أسماء منطقية. على سبيل المثال، استخدم الاسم المنطقي "cr43e_name"مع علامات اقتباس مزدوجة بدلا من اسم العرض Name بدون عروض أسعار. بالنسبة SharePoint لمصادر بيانات Excel التي تحتوي على أسماء أعمدة ذات المسافات، يتم تحديد كل مسافة باستخدام "_x0020_"، على سبيل المثال، "اسم العمود" Column_x0020_Name". Afer هذا الإصدار، يتم تحديث كافة التطبيقات تلقائيا إلى الجملة الجديدة الموضحة في هذه المقالة.

بناء الجملة

AddColumns( Table, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )

  • الجدول - مطلوب. الجدول المُراد العمل عليه.
  • ColumnName(s) - مطلوب. أسماء الأعمدة المراد إضافتها.
  • الصيغة (الصيغ) – مطلوبة. الصيغ التي سيتم تقييمها لكل سجل. تتم أضافه النتيجة كقيمه العمود الجديد المقابل. يمكنك الإشارة إلى أعمده الجدول الأخرى في هذه الصيغة.

DropColumns( Table, ColumnName1 [, ColumnName2, ... ] )

  • الجدول - مطلوب. الجدول المُراد العمل عليه.
  • ColumnName(s) - مطلوب. أسماء الأعمدة المراد إسقاطها.

RenameColumns( Table, OldColumnName1, NewColumnName1 [, OldColumnName2, NewColumnName2, ... ] )

  • الجدول - مطلوب. الجدول المُراد العمل عليه.
  • OldColumnName(s) - مطلوب. أسماء الأعمدة المطلوب إعادة تسميتها من الجدول الأصلي. يظهر هذا العنصر أولا في زوج الوسيطات (أو أول في كل زوج وسائط إذا كانت الصيغة تتضمن أكثر من زوج واحد).
  • NewColumnName(s) - مطلوب. أسماء بديلة. يظهر هذا العنصر أخيرًا في زوج الوسيطات (أو أخيرًا في كل زوج وسائط إذا كانت الصيغة تتضمن أكثر من زوج واحد).

ShowColumns( Table, ColumnName1 [, ColumnName2, ... ] )

  • الجدول - مطلوب. الجدول المُراد العمل عليه.
  • ColumnName(s) - مطلوب. أسماء الأعمدة المراد تضمينها.

الأمثلة

تستخدم الأمثلة الواردة في القسم مصدر بيانات IceCreamSales، الذي يحتوي على البيانات في هذا الجدول:

مثال الآيس كريم.

لا يمكن لأي من هذه الامثله تعديل مصدر بيانات IceCreamSales. تعمل كل وظيفة علي تحويل قيمه المصدر البيانات كجدول وترجع هذه القيمة كنتيجة.

الصيغة الوصف نتيجة
إضافة الأعمدة (مبيعات الآيس كريم، الإيرادات، سعر الوحدة * الكمية المباعة) إضافة عمود الإيراد إلى النتيجة. بالنسبة لكل سجل، يتم تقييم UnitPrice * QuantitySold، ويتم وضع النتيجة في العمود الجديد. ينتج مع الفراولة والشوكولاتة والفانيليا.
DropColumns (IceCreamSales، UnitPrice) استبعاد عمود UnitPrice من النتيجة. استخدم هذه الوظيفة لاستثناء الاعمدة، واستخدم ShowColumns لتضمينها. النتيجة مع الفراولة والشوكولاتة والفانيليا التي تحتوي فقط على عمود الكمية المباعة.
ShowColumns( IceCreamSales, Flavor ) تضمين فقط عمود Flavor في النتيجة. استخدم هذه الوظيفة لتضمين الاعمدة، واستخدم DropColumns لاستبعادها. فقط عمود النكهة.
RenameColumns( IceCreamSales, UnitPrice, Price) إعادة تسمية عمود UnitPrice في النتيجة. ينتج عن النكهة والسعر والإيرادات.
إعادة تسمية الأعمدة (IceCreamSales، سعر الوحدة، السعر، الكمية المباعة، الرقم) إعادة تسمية عمودي UnitPrice وQuantitySold في النتيجة. النتيجة مع 3 آيس كريم وأعمدة مثل النكهة والسعر والإيرادات.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales، الإيرادات،
UnitPrice * QuantitySold ),
سعر الوحدة، السعر)،
"الكمية" )
تنفيذ عمليات التحويل الخاصة بالجدول التالية بالترتيب، بدءًا من داخل الصيغة:
  1. إضافة عمود Revenue استناداً إلى حساب كل سجل لـ UnitPrice * Quantity.
  2. إعادة تسمية سعر الوحدة إلى السعر.
  3. استبعاد عمود الكمية.
الترتيب مهم، على سبيل المثال لا يمكننا الحساب به UnitPrice بعد إعادة تسميته.
مثال آيس كريم لسعر الوحدة.

خطوة بخطوة

لنجرب بعض الامثله السابقة في هذا الموضوع.

  1. أنشئ مجموعة عن طريق إضافة عنصر تحكم Button وقم بتعيين خصاصية OnSelect الخاص به إلى هذه الصيغة:

    ClearCollect( IceCreamSales,
       Table(
           { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 },
           { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 },
           { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 }
       )
    )
    
  2. قم بتشغيل الصيغة عن طريق تحديد الزر أثناء الضغط على مفتاح Alt.

  3. أضف عنصر تحكم Button آخر، وقم بتعيين خاصية OnSelect الخاصة به إلى هذه الصيغة، ثم قم بتشغيله:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. في قائمة الملف، حدد المجموعات، ثم حدد IceCreamSales لإظهار هذه المجموعة.

    ونظرا لان هذا الرسم يظهر ، فان الصيغة الثانية لم تعدل هذه المجموعة. قامت وظيفة AddColumns باستخدام IceCreamSales كوسيطه للقراءة فقط؛ ولم تعدل الوظيفة الجدول الذي تشير إليه الوسيطة.

    عارض المجموعة يظهر ثلاثه سجلات لمجموعه إيس كريم المبيعات التي لا تحتوي علي عمود

  5. حدد FirstExample.

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

    عارض المجموعة يظهر ثلاثه سجلات لمجموعه المثال الأول التي تتضمن عمود إيراد جديد.

تعيين الأعمدة في مكون

راجع تعيين الأعمدة.