كل الرموز في Power Query (M Language)
1️⃣ ?
— nullable type
دي معناها إن النوع ممكن يقبل قيمة فارغة (null
).
✅ مثال:
2️⃣ @
— recursive function reference
بتستخدم جوه دالة بتنده على نفسها (recursion). عشان تشير لنفس الدالة.
بدون الـ
@
، الكود هيموت في سطر نفسه 😵
3️⃣ #
— literal keywords / escaped names
بتستخدم لما تكون بتكتب:
-
اسم جدول أو قيمة فيها مسافات أو رموز
-
أو اسم نوع بيانات
✅ أمثلة:
4️⃣ each
— anonymous function
دي بتعمل دالة بدون ما تسميها، وغالبًا تستخدم جوه List.Transform
, Table.AddColumn
, إلخ.
each
معناها: "لكل عنصر في القائمة، اعمل كذا"
5️⃣ _
— the current item / parameter
ده اختصار لـ "العنصر الحالي" جوا each
.
أحيانًا تقدر تستبدله بـ اسم متغير لو عايز توضيح أكتر، بس
_
هو الأشهر.
6️⃣ =>
— تعريف دالة
سهم بيعرف دالة:
7️⃣ ..
— range operator
يولد قائمة من رقم إلى رقم.
8️⃣ in
— تحديد النتيجة النهائية في let
بعد ما تكتب كل خطواتك بـ let
, بتقول في الآخر إيه اللي يرجع.
9️⃣ let
— تحديد خطوات/قيم مساعدة
زي ما شفت فوق، بتستخدم let
لتعريف أكثر من خطوة أو متغير.
🔟 as
— تحديد نوع البيانات
بتقول للمتغير نوعه إيه.
1️⃣1️⃣ and
, or
, not
— عمليات منطقية
نفس اللي في أي لغة تانية:
1️⃣2️⃣ <>
— لا يساوي (not equal)
زي !=
في لغات تانية.
1️⃣3️⃣ null
, true
, false
— قيم منطقية/خاصة
-
null
: لا قيمة -
true
/false
: منطقية
1️⃣4️⃣ error
— تعريف خطأ مخصص
1️⃣5️⃣ try ... otherwise
— التعامل مع الأخطاء
1️⃣6️⃣ type
— تعريف أو مقارنة نوع
✅ جدول تلخيصي سريع:
الرمز | معناه |
---|---|
? | نوع يقبل null |
@ | استدعاء دالة نفسها (recursion) |
# | قيم حرفية/أسماء فيها رموز |
each | دالة مجهولة / لكل عنصر |
_ | العنصر الحالي |
=> | تعريف دالة |
.. | توليد قائمة من رقم إلى رقم |
in | يحدد النتيجة الأخيرة في let |
as | تحديد نوع البيانات |
<> | لا يساوي |
try | محاولة تنفيذ |
error | توليد خطأ |
. ?
(علامة الاستفهام)
Null-safe access → لما القيمة تكون
null
، بيرجعnull
بدل ما يعمل Error.
مثال:
2. []
(براكتس مربعة)
للوصول إلى الأعمدة (في جداول) أو الحقول (في Records).
مثال:
3. {}
(براكتس معقوفة)
للوصول إلى صف معين (Row) في Table أو عنصر في List.
مثال:
4. =>
(السهم القاتل)
لتعريف دالة (Function) — زي Lambda Function.
مثال:
5. ..
(نقطتين)
لإنشاء Range من الأرقام.
مثال:
6. @
(علامة الآت)
عشان تطلع القيمة من الـ context row داخل خطوة مخصصة في
Add Column
.
مثال:
نادرًا ما تستخدم، وممكن تسبب Errors لو مش فاهم السياق.
7. ~
(تيلدا)
مش مستخدمة رسميًا في M، بس ساعات تظهر في أسماء الأعمدة أو في ملفات CSV كـ escape character.
8. #
(هاش)
تستخدم لتعريف أشياء خاصة زي:
-
النصوص اللي فيها مسافات
-
أسماء الخطوات
-
الكلمات المفتاحية
مثال:
9. let ... in
بداية ونهاية أي سكريبت M — زي تعريف المتغيرات وتشغيلهم.
مثال:
10. as
(تحديد النوع)
بيحدد نوع القيمة المرجعة.
مثال:
11. is
و as
(منطق النوع):
زي
instanceof
وcasting
.
مثال:
12. ??
(مش موجود في Power Query)
مش زي C# أو JS — لكن ممكن نعمل بديل بـ:
✨ بونص: أدوات متقدمة
الرمز | المعنى |
---|---|
meta | لإضافة metadata للعمود أو القيمة |
in | نهاية الـ let block |
each | عامل اختصار لكتابة دوال سريعة |
otherwise | البديل في if statement |
ليست هناك تعليقات:
إرسال تعليق