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

مكتمل

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

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

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

  • AddColumns

  • DropColumns

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

  • ShowColumns

AddColumns

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

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

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

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

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

collectDigitalAssets

فِي عُنصر تَحكّم Gallery، سيكُون العَمُود 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 فِي عنصر تحكم القَائمة المنسدلة، ولكن باستِخدَام هذه المعَادلة، يمكنك الآن الوصول إلى قيمة عمود المعرف. يمكنك إضَافة عنصر تحكم التسمية إلى الشَاشة واضبط قيمة النص على مَا يلي. إذا لم يكن اسم القَائمة المنسدلة Dropdown1، يمكنك تحرير المعَادلة وفقًا لذلك.

Dropdown1.Selected.ID

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