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

ينطبق على
Excel لـ Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

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

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

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

  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. يتم عرض نتائج الدالة في معاينة البيانات وإضافتها إلى جزء الاستعلامات كاستعلام بالاسم الافتراضي، الدالة 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 في Excel

إنشاء معلمة استعلام

إدارة الاستعلامات

فهم Power Query دالات M (docs.com)

استخدام الدالات المخصصة (docs.com)