الأخطاء الشائعة في المعادلات

في مستند المساعدة هذا

تعرّف على الأخطاء الشائعة التي قد تواجهها مع المعادلات في Notion، وكيف يمكنك استكشافها وإصلاحها 🔨


If you’re unsure how to fix the errors in your formula, Notion AI can help. Learn more here →

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

كيفية حل المشكلة

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

على عكس خصائص المعادلات في قواعد البيانات، تتوقع المعادلات في الأتمتة نوع إرجاع محدد من المعادلات (مثال: تاريخ، نص، رقم، شخص). وإلا، فلن تتمكن الأتمتة من الحفظ والتنفيذ بشكل صحيح.

كيفية حل المشكلة

تأكد من أن المعادلة تُرجع النوع الصحيح من القيمة. على سبيل المثال، إذا كنت تكتب معادلة لتعيين قيمة خاصية "شخص" لصفحة ما، فيجب أن تُرجع المعادلة مستخدماً أو قائمة مستخدمين، وليس تاريخاً. بدلاً من ذلك، إذا كنت تقيّم شرطاً محدداً على خاصية من نوع مصفوفة (مثال: اختيار متعدد)، فتأكد من استخدام .includes بدلاً من == في عبارة if() الخاصة بك.

أحد الأسباب الشائعة لهذا الخطأ هو استخدام نوع مختلف لتمثيل قيمة فارغة. على سبيل المثال، في معادلة مثل if(Date, Date.dateAdd(1, “day”), “”), يكون نوع الإرجاع غير معروف لأنه قد يكون تاريخاً أو نصاً (بسبب ""). يمكن إصلاح ذلك باستخدام empty() لتمثيل القيم الفارغة بدلاً من ذلك، بحيث تبدو المعادلة المصححة كـ if(Date, Date.dateAdd(1, “day”), empty()).

يمكن أن يصل عمق معادلات Notion إلى 15 طبقة فقط. في كل مرة تشير فيها معادلة إلى معادلة أخرى أو خاصية تجميع (rollup)، فإنها تضيف طبقة. ينطبق هذا حتى إذا كانت المعادلة في قاعدة بيانات مختلفة.

عند الوصول إلى هذا الحد، ستعرض Notion رسالة خطأ.

كيفية حل المشكلة

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

إذا تم تعريف متغيرات مخصصة داخل إجراء الأتمتة نفسه، فلا يمكنها الإشارة إلى بعضها البعض.

على سبيل المثال، إذا قمت بتعريف var1 و var2 في الإجراء نفسه، فلن يتمكن var2 من استخدام var1 في تعريفه.

كيفية حل المشكلة

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

في الوقت الحالي، قد لا تُستخدم المتغيرات المعرفة في الأتمتة لتصفية الصفحات في قاعدة بيانات تريد أن تعمل الأتمتة عليها (مثال: "تعديل الصفحات التي تطابق الفلتر الذي يحتوي على متغير").

كيفية حل المشكلة

  1. قم بتعريف متغير مخصص كـ هذه الصفحة عن طريق كتابة صفحة المشغل في مربع المعادلة.

  2. أضف إجراء تعديل الصفحات في واختر المتغير المخصص من الخطوة 1 كهدف لك.

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

كيفية حل المشكلة

استخدم دوال مثل .first() أو .at(0) للحصول على العنصر الأول، أو قم بالمرور عبر قائمة الصفحات باستخدام دوال مثل .map()، .filter()، .every()، .some()، .find().

إذا واجهت الصيغة قيمة فارغة بشكل غير متوقع (غالباً ما تكون قيمة تاريخ أو شخص)، فستتلقى الأتمتة خطأً وستتوقف تلقائياً.

كيفية حل المشكلة

استخدم if أو ifs للتحقق من أن الخاصية التي يتم العمل عليها لها قيمة. على سبيل المثال، بدلاً من Date.dateAdd(1, \"day\")، يفضل استخدام if(Date, Date.dateAdd(1, \"day\"), empty()). يضمن هذا تنفيذ dateAdd فقط عندما تكون قيمة Date موجودة، ويخبر الأتمتة صراحةً بمسح الخاصية التي يتم تحديثها عندما لا تكون Date ممتلئة. بدلاً من ذلك، قم بإعداد عرض بفلتر يضمن وجود قيمة الخاصية التي تعمل عليها، وقم بتهيئة الأتمتة للتشغيل فقط على الصفحات الموجودة في ذلك العرض.

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


تقديم تعليق

هل كان هذا المورد مفيداً؟


Powered by Fruition