يُلقي أحدهم ملف export.csv في حِجرك ويطلب الرقم قبل اجتماع الـ standup. أنت لم تفتحه قط، ولا تعرف إن كان status يحمل خمس قيم أم خمسين، وافتراض خاطئ واحد — column يعني شيئًا غير اسمه، أو مدى زمني تنقصه آخر أسبوع — يسمّم بهدوء كل chart تبنيه فوقه. الحل استجواب من خمس دقائق: اجعل Claude يقرأ الملف بأكمله ويصفه لك حتى تعرف بالضبط ما الذي بين يديك قبل أن تحلّل أي شيء.
- الملف الخام كما وصلك —
export.csvأوevents.csvأو تبويب جدول حُفظ بصيغة CSV. لا تنظّفه أولًا؛ أنت تريد أن ترى الفوضى. - كل ما قيل لك إنه يحتويه («طلبات الربع الماضي») حتى تتمكن من مقارنة الملف بما يُدّعى.
- إن كان حسّاسًا — صفوف عملاء، أو أي شيء فيه أسماء أو emails — اعمل على نسخة وأبقِها محلية؛ هذا profiling، لا مشاركة.
-
اجعل Claude يقرأ الملف بأكمله ويعدّه
ابدأ بالشكل، لا بالتحليل. في Claude Code Desktop، افتح المجلد الذي وصل إليه الملف واسأل في المحادثة — دون الحاجة إلى Terminal. معرفة عدد الصفوف مقدّمًا تعطيك الرقم الذي يجب أن تتوافق معه كل نتيجة لاحقة — إنه المرساة للمشروع كله.
أنت تطلبافتح export.csv وأعطني الأساسيات: كم عدد الصفوف، وكم عدد الـ columns، وأسماء الـ columns كما تظهر تمامًا في الـ header. لا تحلّل أي شيء بعد — فقط صِف ما الموجود هنا.ما تحصل عليه قراءة بسيطة: «12,840 صفًا، 9 columns: order_id، customer_id، order_date، status، amount، currency، region، channel، refunded». الآن لديك عدد الصفوف — 12,840 — لتوفّق كل شيء آخر عليه.
دوّن عدد الصفوف ذاك. إنه الإجمالي المعروف الذي ستراجع عليه كل تفصيل لاحقًا.
-
اجعله يشرح كل column بلغة واضحة
أسماء الـ columns تكذب. قد يكون
amountبالـ cents، وقد يحملstatusقيمة لم يوثّقها أحد، وقد يكونregionفارغًا في نصف الصفوف. اطلب من Claude أن يعرّف كلًّا منها من القيم الفعلية التي يراها، لا من الاسم.أنت تطلبلكل column، أخبرني في سطر واحد ما الذي يحتويه فعلًا — بناءً على القيم، لا على الاسم. اسرد القيم المتمايزة لـ status وregion وchannel. ونبّهني على أي column لا يطابق اسمُه ما بداخله.ما تحصل عليه مسرد للـ columns: «amount = إجمالي الطلب بالـ cents (مثلًا 4999 = $49.99)؛ status = إحدى القيم paid أو pending أو refunded أو chargeback؛ region فارغ في 18% من الصفوف». اكتشاف الـ cents وحده يوفّر عليك خطأً بمقدار 100 ضعف.
-
اعمل profile للتواريخ والقيم الفارغة
الأمران اللذان يكسران تحليلًا بهدوء هما مدى زمني لا يغطّي ما تظنّه، وقيم مفقودة لم تحسب لها حسابًا. أبرِز الاثنين قبل أن تُرشّح على أيٍّ منهما.
أنت تطلبما هو المدى الزمني لـ order_date — الأقدم والأحدث؟ وهل توجد أي فجوات (أيام كاملة بلا صفوف)؟ وأعطني جدولًا للقيم الفارغة لكل column: كم عددها وكم نسبتها الفارغة في كلٍّ منها.ما تحصل عليه «يمتد order_date من 1 يناير إلى 28 مارس؛ لا صفوف على الإطلاق ليومَي 14–15 فبراير. القيم الفارغة: region بنسبة 18%، channel بنسبة 4%، وكل ما عداهما 0%». الآن تعرف أن البيانات تتوقف في الثامن والعشرين — لا في «آخر أسبوع» — قبل أن تعد برقمٍ عن آخر أسبوع.
-
اصطَد المكرّرات وأي شيء شاذّ
الصفوف المكرّرة تضاعف إجمالياتك؛ والقيم الشاذّة تشير إلى export معطوب أو طلب اختباري. اطلب الاثنين، إضافة إلى ملاحظة مكتوبة «إليك ما سأنتبه له» حتى تُسجَّل المطبّات.
أنت تطلبهل توجد قيم order_id مكرّرة؟ وكم عدد الصفوف المتطابقة تمامًا؟ أظهر لي أكبر 5 وأصغر 5 قيم amount حتى أرصد طلبات اختبارية أو أخطاء. ثم لخّص، في 4 نقاط، ما الذي ينبغي أن أنتبه له حين أحلّل هذا الملف.ما تحصل عليه «47 قيمة order_id مكرّرة (على الأرجح إعادات محاولة)؛ صف واحد قيمته amount = 9999999 (طلب اختباري)؛ قيم amount سالبة على صفوف الاسترداد الـ 31». إضافة إلى قائمة تحفّظات قصيرة يمكنك لصقها مباشرة في ملاحظاتك.
تلك التحفّظات هي أثمن مخرَجٍ هنا — إنها الافتراضات التي كان مراجِعٌ سيكتشفها لولاها بعد أن تكون قد سلّمت الرقم الخاطئ.
- أعِد استخدامه على كل ملف جديد (Power Track): الحركات الأربع لا تتغير أبدًا، لذا احفظها كـ
/profilecustom command (انظر تبويب Capabilities في الـ Playbook) — وفي المرة القادمة يصير الأمر command واحدًا، لا أربعة prompts. - يغذّي قاموس المقاييس: مسرد الـ columns الذي تحصل عليه هنا — ما الذي يحتويه
amountوstatusفعلًا — هو المادة الخام لـ ابنِ قاموس المقاييس الذي يرثه كل query وكل تقرير. اعمل profile للملف، ثم عرّف كل مقياس مرة واحدة مقابل هذه المعاني الحقيقية، حتى يشير كل query لاحق إلى التعريفات نفسها. - تغذيةً لمهمة أكبر: هذه هي الخطوة الأولى في كل Data playbook آخر. اعمل profile أولًا، ثم سلّم الملف نفسه مباشرةً إلى اكتب الـ query وتعلّم الـ SQL أو ملفان فوضويان إلى dataset واحد جدير بالثقة.
- مصدر متكرّر (Power Track): إن وصل الـ
export.csvنفسه كل أسبوع، فيمكن لـ scheduled agent (انظر تبويب Capabilities) أن يعمل له profile عند وصوله ويُنبّهك فقط حين يقفز عدد الصفوف أو معدّل القيم الفارغة.
- الـ profile يصف الملف؛ لا يشهد بأن البيانات صحيحة. يستطيع Claude أن يخبرك بأن
regionفارغ بنسبة 18% — لكنه لا يستطيع أن يخبرك إن كان ذلك متوقّعًا. أنت من يقرّر ما هو مشكلة. - إن كان الملف يحوي بيانات شخصية — أسماء، emails، أي شيء يحدّد الهوية — أبقِه على جهازك واجعل Claude يعمل محليًا، مع الموافقة على كل قراءة في نافذة
Ask permissions. الـ profiling لا يتطلّب إرسال صفوف عملاء خام إلى أي مكان. - تعامل مع مسرد الـ columns كمسوّدة، لا كنصٍّ مقدّس. تحقّق عشوائيًا من اثنين أو ثلاثة من تعريفات Claude للـ columns مقابل صفوف تفهمها أنت فعلًا قبل أن تبني عليها — يصوغ Claude القراءة، وأنت تؤكّدها.
- profile مرجعي واحد، لا خمسة خاصة. على مستوى الفريق، الخطر الحقيقي ليس profile سيّئًا — بل خمسة محلّلين 'يعرف' كلٌّ منهم بهدوء معنى
statusبشكل مختلف قليلًا. التقِط مسرد الـ columns في قاموس المقاييس المشترك حتى يكون معنى الملف مملوكًا في مكان واحد ويستطيع مراجِعٌ أن يتحقّق من قراءتك مقابله، بدل أن يعيد كل شخص تخمينه في كل تحليل.
ستحصل في النهاية على صورة من صفحة واحدة لملفٍ لم تفتحه قط — حجمه، والمعنى الحقيقي لكل column، والمدى الزمني الفعلي، والقيم الفارغة، والمكرّرات، وقائمة تحفّظات — لتبدأ التحليل من معرفة بدل التخمين.
أسئلة يطرحها الناس
- كم يستغرق الـ profile للـ dataset؟
- نحو 15 دقيقة في المرة الأولى، وأقل من 5 دقائق بعد حفظ الـ prompts الأربعة كـ `/profile` custom command. الجزء البطيء هو إيجاد الملف وجمع ما قيل لك إنه يحتويه — الـ profiling نفسه سريع.
- ما الذي أحتاج إعداده قبل البدء؟
- الملف الخام كما وصلك — `export.csv` أو أي اسم آخر — وملاحظة بما قيل لك إنه يحتويه. لا تنظّفه أولًا؛ أنت تريد أن يرى Claude الفوضى، لا نسخة معالَجة مسبقًا منه.
- هل من الآمن مشاركة الملف مع Claude إن كان يحتوي على بيانات عملاء؟
- أبقِ الملفات الحسّاسة — أي شيء فيه أسماء أو emails أو صفوف تحدّد الهوية — على جهازك واجعل Claude يعمل محليًا. الـ profiling لا يتطلّب رفع بيانات عملاء خام إلى أي مكان؛ الهدف هو فهم الملف قبل أن تلمسه.
- هل يُثبت الـ profile أن البيانات صحيحة؟
- لا — الـ profile يصف ما في الملف، لا ما إذا كان صحيحًا. يستطيع Claude أن يخبرك بأن `region` فارغ بنسبة 18%، لكن أنت وحدك من يقرّر إن كان ذلك متوقّعًا. تعامل مع مسرد الـ columns كمسوّدة وتحقّق عشوائيًا من بضعة تعريفات مقابل صفوف تفهمها قبل أن تبني عليها.