قم بتعديل الأعمدة من مصدر بياناتك

مكتمل

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

تخيل إنشاء تطبيق Shopping Cart حيث تريد تتبع العناصر المحددة. في مثل هذه الحالات، يصبح وجود عمود مؤقت فقط داخل Power Apps، دون التأثير على مصدر البيانات الأصلي، أمرًا بالغ الأهمية.

ولحسن الحظ، Power Apps يوفر مجموعة من الوظائف المصممة خصيصًا لهذا الغرض. تسمح لك هذه الوظائف بتعديل الأعمدة داخل بيئة تطبيقك، مما يؤثر على كيفية معالجة البيانات أو تقديمها دون إجراء أي تغييرات على مصدر البيانات الأساسي. ويضمن هذا أن تكون تعديلاتك، مثل تتبع العناصر المحددة في سيناريو Shopping Cart، محصورة داخل التطبيق ولا تؤثر على مصدر البيانات الفعلي. هذه الوظائف هي:

  • AddColumns

  • DropColumns

  • إعادة تسمية الأعمدة

  • ShowColumns

AddColumns

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

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

ClearCollect(collectDigitalAssets, AddColumns(YourDataSource,"UserSelected", false))

عند تحديد هذا الزر، تُنشئ المعادلة مجموعة تسمى collectDigitalAssets تحتوي على جميع الصفوف من YourDataSource وتضيف العمود، "UserSelected". قيمة العمود خطأ لجميع الصفوف.

الآن في عنصر تحكم المعرض اضبط الخاصية Items على ما يلي.

collectDigitalAssets

في عنصر تحكم المعرض، سيكون لديك حق الوصول إلى عمود يسمى UserSelected وتكون القيمة خاطئة. يمكنك بعد ذلك إضافة زر إلى معرض الصور الخاص بك يقوم OnSelect بتصحيح العمود إلى صحيح.

Patch(collectDigitalAssets, ThisItem, {UserSelected: true})

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

DropColumns

وظيفة إسقاط الأعمدة عكس إضافة الأعمدة. تُستخدم الوظيفة لإزالة الأعمدة من الجدول داخل Power Apps. تُستخدم هذه الدالة عندما تريد إنشاء مجموعة داخل Power Apps تحتوي على عدة أعمدة لوظائف التطبيق. نظرًا لأنه تتم إضافة هذه الأعمدة فقط في المجموعة لوظائف التطبيق ولا يتم إرسالها إلى مصدر البيانات، فإن دالة DropColumns مطلوبة لإزالة العمود عند إرساله إلى مصدر البيانات.

على سبيل المثال، يمكنك إنشاء اسم مجموعة جمع تتبع الوقت لاستخدامه في تطبيق تتبع الوقت. تحتوي المجموعة على خمسة أعمدة: Name وHoursWorked وDateWorked وLastScreen وStatus. الأعمدة Name، HoursWorked، وDateWorked تتعقب البيانات لحفظها في YourDataSource استناداً إلى الساعات موظف يعمل. يقوم عمودا LastScreen وStatus بتخزين البيانات لتوفير وظائف التطبيق أثناء استخدام المستخدم للتطبيق.

عندما ينتهي المستخدم، تتمثل إحدى طرق حفظ المعلومات مرة أخرى في مصدر البيانات في استخدام دالة Collect. إذا كانت الأعمدة متطابقة بين مصدر البيانات، فستقوم دالة Collect بكتابة كافة الصفوف في مجموعتك. في هذا المثال، Name، HoursWorked، وDateWorked هي الأعمدة الوحيدة في مصدر البيانات. LastScreen وStatus غير موجودين في مصدر البيانات ولا يلزم حفظهما. يمكنك استخدام DropColumns لإرسال الأعمدة المناسبة فقط إلى مصدر البيانات.

Collect(YourDataSource, DropColumns(collectTimeTracking, "LastScreen","Status"))

ستكتب هذه الدالة محتويات المجموعة، collectTimeTracking، إلى مصدر البيانات، YourDataSource، بعد إفلات العمودين LastScreen وStatus. ملاحظة،DropColumns لم يغير مجموعتك CollectTimeTracking. لا يزال العمودان LastScreen وStatus متاحين داخل المجموعة.

إعادة تسمية الأعمدة

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

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

Collect(collectProjectData, ProjectDataSource)

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

Collect(collectProjectData, RenameColumns(ProjectDataSource, "Date","ProjectDate"))

لديك نفس الصفوف. الآن، بدلاً من تسمية العمود Date، أصبح اسمه الآن ProjectDate ضمن مجموعتك. يمنحك هذا المرونة في تسمية الأعمدة بشيء أقل إرباكًا عند التعامل معه في التطبيق.

ShowColumns

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

باستخدام عنصر التحكم المنسدل، من الشائع استخدام مصدر بيانات، مثل جدول Microsoft Dataverse، لتوفير الخيارات. عند تعيين خاصية Items إلى مصدر بيانات، يختار Power Apps العمود الذي سيتم عرضه، إذا كان لديك عدة. يمكنك استخدام دالة ShowColumns لتحديد العمود الذي تريد عرضه.

إذا كنت تريد استخدام مصدر بيانات يسمى العملاءلعرض أسماء العملاء من العمودCustomerName. يمكنك استخدام المعادلة التالية في الخاصية Items لعنصر التحكم القائمة المنسدلة.

ShowColumns(Customers, "CustomerName")

باستخدام هذه المعادلة، يعرض العمود القائمة المنسدلة القيم من العمود اسم العميل.

ShowColumns يمكن أن تُرجع أيضاً أكثر من عمود واحد. يعرض عنصر التحكم القائمة المنسدلة العمود الأول فقط، ولكن يمكنك الوصول إلى كافة الأعمدة المستردة. يوضح المثال التالي كيفية إضافة العمود ID إلى عنصر التحكم القائمة المنسدلة.

ShowColumns(Customers, "CustomerName", "ID")

تعرض القائمة المنسدلة فقط القيمة من عمود CustomerName في عنصر تحكم القائمة المنسدلة، ولكن باستخدام هذه المعادلة، يمكنك الآن الوصول إلى قيمة عمود ID. أضف عنصر تحكم ملصق إلى الشاشة واضبط قيمة النص على ما يلي. إذا لم يكن اسم القائمة المنسدلة Dropdown1، فقم بتحرير المعادلة وفقًا لذلك.

Dropdown1.Selected.ID

ترجع المعادلة القيمة من عمود ID الخاص بالصف المحدد في عنصر تحكمالقائمة المنسدلة.