في هذه المقالة ، سأتحدث عن كيفية جلب الإحصائيات عبر السياق بأكمله في مكان واحد باستخدام BigQuery و Data Studio
كنت بحاجة لتصور البيانات على جميع مصادر المرور.
لهذه المهمة ، أستخدم Data Studio. يتم سحب إعلانات Google هناك بطريقة ممتازة ، ولكن مع Yandex Direct ، أصبح كل شيء أكثر تعقيدًا.
لقد اخترت طريقة نصف الإحصائيات لإحصائيات الإحصاء بنفسي: تلقي الإحصاءات وإرسالها من جهاز الكمبيوتر الخاص بي.
أحصل على احصائيات يوميًا في أقسام مختلفة في DataFrame.

وهذا شيء عظيم لأن الباندا لديها مكتبة pandas_gbq يمكنها إرسال DataFrames إلى BigQuery.
ما الإحصاءات لتخزينها في BigQuery
بادئ ذي بدء ، دعنا نقرر أي قسم من الإحصائيات سوف نرسله.
نظرًا لأنه يمكننا تخزين الكثير من المعلومات في BigQuery ، فقد أخرجت إحصاءات بنفسي من حيث الأيام.
نحتاج أيضًا إلى مراعاة حقيقة أننا نحتاج إلى الحصول على إحصائيات لمدة شهر على الأقل لإعادة كتابتها ، لأن أنظمة الإعلانات تقوم بتحديث الإحصاءات القديمة بسبب النقرة.
لذلك ، في الوقت الحالي ، لا أستخدم الإحصائيات من حيث المفاتيح بنفسي ، لأنها غالبًا ما تكون زائدة عن الحاجة.
سأقول كل شيء على سبيل المثال للإحصاءات اليومية في سياق جمهورية كازاخستان. (الأعمدة: التاريخ و PK)
بعد ذلك ، سنتحدث عن كيفية تعديل DataFrame بحيث يتم ذلك.
تعديل DataFrame
المشكلة 1
بالنسبة لبعض المنسقين المقيمين ، سنحصل على حقول فارغة في العوامل والتحويلات السلوكية

للتغلب على هذه المشكلة ، تحتاج إلى استبدال السلبيات "0".
f['Conversions'].replace(['--'],[0],inplace=True) f['CostPerConversion'].replace(['--'],[0],inplace=True) f['ConversionRate'].replace(['--'],[0],inplace=True) f['AvgPageviews'].replace(['--'],[0],inplace=True) f['BounceRate'].replace(['--'],[0],inplace=True)
وتعيين نوع البيانات الرقمية.
f[["Conversions","CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]]=f[["Conversions","CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]].apply(pd.to_numeric)
المشكلة 2
إضافة عمود مفهرسة بشكل منفصل. إذا أرسلنا مثل DataFrame أو نظرنا إلى نوع البيانات باستخدام dtipe ، فإننا نرى أنه لا يوجد عمود يحتوي على تواريخ.
لإصلاح ذلك ، قم بإنشاء عمود يساوي العمود المفهرسة.
f['Date']=f.index
الحصول على DataFrame المقبل
إرسال DataFrame إلى BigQuery
pandas_gbq.to_gbq(f,' .',project_id=' ',if_exists='replace')
نشير إلى اسم DataFrame ، واسم مجموعة البيانات ، واسم الملف (قد لا يكون موجودًا بعد) ، واسم المشروع ، وكيف سيتم تسجيل الملف (في حالتنا ، سيتم الكتابة فوق الملف بالكامل).
نحصل على ما يلي في BigQuery:

يبقى فقط لتصور البيانات في DataStudio. كود النهاية:
f['Date']=f.index f['Conversions'].replace(['--'],[0],inplace=True) f['CostPerConversion'].replace(['--'],[0],inplace=True) f['ConversionRate'].replace(['--'],[0],inplace=True) f['AvgPageviews'].replace(['--'],[0],inplace=True) f['BounceRate'].replace(['--'],[0],inplace=True) f[["Conversions", "CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]] = f[["Conversions", "CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]].apply(pd.to_numeric) pandas_gbq.to_gbq(f, 'YD_Days.my_client_rk', project_id='my_project',if_exists='replace')
شكرا لاهتمامكم!