إنشاء دالة مخصصة واستدعائها

ينطبق على
Excel لـ Microsoft 365 Excel 2024 Excel 2021

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

  • استخدم " المحرر المتقدم" لإضافة عبارة let الخاصة بك وابدأ من البداية.
  • استخدم الأمر "استدعاء دالة مخصصة ".
  • ثمة طرق إضافية لإنشاء دالات لم تتم مناقشتها في موضوع التعليمات هذا، بما في ذلك أوامر "إنشاء دالة " و "إضافة كاستعلام ". لمناقشة مفصلة، راجع فهم دالات M في Power Queryواستخدام الدالات المخصصة.

إنشاء دالة مخصصة بسيطة واستدعائها باستخدام المحرر المتقدم

يوضح المثال التالي دالة مخصصة بسيطة تتبع تقليد برمجة قديم.

  1. إنشاء استعلام فارغ:

    Excel حدد البيانات>الحصول على البيانات>من مصادر> أخرىاستعلام فارغ.

    Power Query انقر بزر الماوس الأيمن فوق مكان فارغ في جزء الاستعلامات على اليمين، ثم حدد استعلام> جديدمصادر>أخرى استعلام فارغ.

  2. في جزء الاستعلامات على الجانب الأيمن، انقر نقرا مزدوجا فوق الاسم، ثم أعد تسمية الاستعلام الفارغ الجديد إلى HelloWorld.

  3. حدد الاستعلام الجديد ثم حدد>Home Advanced Editor.

  4. استبدل التعليمات البرمجية لبدء تشغيل القالب بالتعليمة البرمجية التالية:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. حدد تم.

  6. قمت بتغيير الاستعلام ، HelloWorld، إلى دالة مخصصة. لاحظ أيقونة الدالة أيقونة الدالة على يمينها.

  7. لاستدعاء الدالة، حددها، ثم حدد "استدعاء " في معاينة البيانات.

    استدعاء دالة HelloWorld المخصصة

  8. تظهر نتائج الدالة في "معاينة البيانات" وتتم إضافتها إلى جزء "الاستعلامات " كاستعلام بالاسم الافتراضي، الدالة Invoked. قد ترغب في إعادة تسميته بأسماء لها معان ، على سبيل المثال HelloWorldResult.

  9. حدد ذلك الاستعلام، ثم حدد الصفحة الرئيسية>إغلاق & تحميل لرؤية النتائج في ورقة عمل.

النتائج

نتائج HelloWorld في ورقة عمل

إنشاء دالة مخصصة لها معلمة واستدعائها باستخدام المحرر المتقدم

يوضح المثال التالي كيفية تمرير معلمة إلى دالة مخصصة لتحويل رقم عشري إلى رقم سداسي عشري.

  1. إنشاء استعلام فارغ:

    Excel حدد البيانات>الحصول على البيانات>من مصادر> أخرىاستعلام فارغ.

    Power Query انقر بزر الماوس الأيمن فوق مكان فارغ في جزء الاستعلامات على اليمين، ثم حدد استعلام> جديدمصادر>أخرى استعلام فارغ.

  2. في جزء "الاستعلامات " على الجانب الأيمن، أعد تسمية الاستعلام الفارغ الجديد إلى MyHex.

  3. حدد الاستعلام الجديد ثم حدد>Home Advanced Editor.

  4. استبدل التعليمات البرمجية لبدء تشغيل القالب بالتعليمة البرمجية التالية:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. حدد تم.

  6. قمت بتغيير الاستعلام ، MyHex، إلى دالة مخصصة. لاحظ أيقونة الدالة أيقونة الدالة على يمينها.

  7. لاستدعاء الدالة، حددها. في معاينة البيانات، أدخل رقما في المربع المعلمة 1 ، وحدد استدعاء.
    استدعاء دالة MyHex المخصصة

  8. تظهر نتائج الدالة في "معاينة البيانات". يضيف Power Query النتائج إلى جزء الاستعلامات كاستعلام بالاسم الافتراضي، الدالة Invoked. قد ترغب في إعادة تسميته بأسماء لها معان ، على سبيل المثال MyHexResult.

  9. حدد ذلك الاستعلام، ثم حدد الصفحة الرئيسية>إغلاق & تحميل لرؤية النتائج في ورقة عمل.

النتائج

نتيجة الدالة MyHex في ورقة عمل

إضافة عمود من خلال استدعاء دالة مخصصة

إذا قمت بإنشاء دالة تحتوي على معلمة واحدة على الأقل، يمكنك استدعائها كدالة مخصصة لإنشاء عمود جديد وقيمة جديدة لكل صف في جدول.

  1. لفتح استعلام، حدد موقع استعلام تم تحميله مسبقا من محرر Power Query، وحدد خلية في البيانات، ثم حددتحريرالاستعلام>. لمزيد من المعلومات، راجع إنشاء استعلام وتحريره وتحميله في Excel (Power Query).

    ملاحظة

    في هذا المثال، يحتاج الاستعلام إلى عمود واحد على الأقل من نوع البيانات "عدد صحيح ".

  2. إنشاء الدالة MyHex المخصصة كما هو موضح في المقطع، وإنشاء دالة مخصصة لها معلمة واستدعائها باستخدام المحرر المتقدم.

  3. في الاستعلام، حدد "إضافة عمود>استدعاء دالة مخصصة". يظهر مربع الحوار "استدعاء دالة مخصصة ".

  4. أدخل اسم العمود الجديد، مثل HexConvert، في المربع اسم العمود الجديد .

  5. حدد اسم دالة مخصصة معرفة مسبقا من القائمة المنسدلة "استعلام الدالة". في هذا المثال، حدد MyHex.

  6. لأن الدالة المخصصة تشير إلى معلمة، يتم الآن عرض المعلمة.

  7. حدد عمودا من نوع بيانات "عدد صحيح " كمعلمة للدالة.

    مربع الحوار

  8. حدّد موافق.

النتيجة

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

عمود قيم MyHex الجديد في ورقة عمل

اطلع أيضاً على

تعليماتPower Query لـ Excel

إنشاء معلمة استعلام (Power Query)

إدارة الاستعلامات (Power Query)

فهم دالات M في Power Query

استخدام الدالات المخصصة