ربط جميع بياناتك وعرضها في Looker Studio

1. مقدمة

تتيح لك Looker Studio إنشاء لوحات بيانات مباشرة وتفاعلية تحتوي على عروض مرئية رائعة للبيانات، وذلك مجانًا. يمكنك استرجاع بياناتك من مجموعة متنوعة من المصادر وإنشاء تقارير غير محدودة في Looker Studio، مع إمكانيات التعديل والمشاركة الكاملة. لقطة الشاشة التالية هي مثال على لوحة بيانات Looker Studio:

2f296fddf6af7393.png

( انقر هنا لعرض نموذج التقرير هذا في Looker Studio)

موصِّلات المنتدى هي ميزة في Looker Studio تتيح لك استخدام برمجة التطبيقات لإنشاء موصِّلات لأي مصدر بيانات يمكن الوصول إليه على الإنترنت. أنشأ منتدى Looker Studio "موصِّلات المنتدى". يعني ذلك أنّه يمكن لأي شخص إنشاء موصِّلات منتدى. يمكنك أيضًا مشاركة "وصلات المنتدى" مع مستخدمين آخرين ليتمكّنوا من الوصول إلى بياناتهم من داخل Looker Studio.

يمكنك استخدام "وصلات المنتدى" في حالات استخدام مختلفة:

  • أنت تصور البيانات من منصة تجارية (مثل وسائل التواصل الاجتماعي والتسويق والتحليلات وما إلى ذلك)
  • أنت تعرض بيانات المؤسسة داخل المؤسسة (مثل بيانات المبيعات من قاعدة بيانات MySQL داخل الشركة)
  • أنت توفّر طريقة تمكّن العملاء من عرض بياناتهم من خدمتك
  • أنت تنشئ منصة إعداد تقارير بالزر الفوري
  • أنت تعرض بياناتك الخاصة من مصدر ويب (مثل إنشاء لوحة بيانات Google Fit)

ما ستتعرَّف عليه

  • آلية عمل Looker Studio Community Connector
  • كيفية استخدام "برمجة تطبيقات Google" لإنشاء موصِّل منتدى
  • كيفية استخدام "وصلات المنتدى" في Looker Studio

المتطلبات

  • الوصول إلى الإنترنت ومتصفّح الويب
  • حساب Google
  • الإلمام ببرمجة تطبيقات الويب وJavaScript الأساسية

2. استطلاع سريع

لماذا اخترت هذا الدرس التطبيقي حول الترميز؟

يهمّني العرض المرئي للبيانات بشكل عام. مزيد من المعلومات عن Looker Studio أريد إنشاء موصِّل خاص بي على المنتدى. أحاول دمج Looker Studio مع منصة أخرى. أنا مهتم بحلول Google Cloud.

كيف تخطط لاستخدام هذا الدرس التطبيقي/البرنامج التعليمي حول الترميز؟

التنقل عبر اقرأها وأكمِل التمارين

كيف تقيّم مدى معرفتك بأداة Looker Studio؟

لم أسمع عنها من قبل أعرف ما هي، ولكن لا أستخدمها. أستخدمه بانتظام. أنا مستخدم خبير.

ما هو أفضل وصف لخلفيتك؟

مطوّر البرامج النشاط التجاري / الشؤون المالية / محلل بيانات عالم البيانات / مهندس البيانات خبير تسويق / وسائل التواصل الاجتماعي / التحليلات الرقمية مصمِّم غير ذلك

يمكنك الانتقال إلى الصفحة التالية لإرسال معلومات الاستطلاع.

3- نظرة عامة على موصِّلات المنتديات

تتيح موصِّلات المنتدى في Looker Studio عمليات اتصال مباشرة من Looker Studio إلى أي مصدر بيانات يمكن الوصول إليه على الإنترنت. يمكنك الربط بالمنصات التجارية أو مجموعات البيانات العامة أو بياناتك الخاصة داخل مؤسستك. يمكن لـ "موصِّلات المنتديات" جلب البيانات من خلال واجهات برمجة تطبيقات الويب وواجهات برمجة تطبيقات JDBC والملفات المسطحة (CSV وJSON وXML) و"خدمات برمجة التطبيقات".

b25b8d6bea6da54b.png

ضَع في اعتبارك سيناريو نشرت فيه حزمة بتاريخ npm وتريد تتبُّع عدد عمليات تنزيل الحزمة بمرور الوقت حسب اليوم. في هذا الدرس التطبيقي، ستتمكّن من إنشاء موصِّل منتدى يجلب البيانات باستخدام واجهة برمجة التطبيقات npm package downloadCount API. يمكن بعد ذلك استخدام "وصلة المنتدى" في Looker Studio لإنشاء لوحة بيانات تعرض عدد عمليات التنزيل.

4. سير عمل موصِّلات المنتدى

في "موصِّل المنتديات" الأساسي، عليك تحديد أربع وظائف:

  • getAuthType()
  • getConfig()
  • getSchema()
  • getData()

استنادًا إلى الخطوة الحالية في سير العمل، تنفِّذ أداة Looker Studio وظائف الموصِّل هذه وتستخدم الردّ في الخطوات اللاحقة. يقدم الفيديو أدناه نظرة عامة على:

  • آلية عمل "موصِّل المنتدى"
  • الخطوات المختلفة في سير العمل
  • عندما يتم استدعاء دوال مختلفة
  • الحالات التي تعرض فيها أداة Looker Studio واجهات مستخدم مختلفة
  • الإجراءات المتوقّعة للمستخدم في خطوات مختلفة

يمكنك استئناف الدرس التطبيقي حول الترميز بعد مشاهدة الفيديو.

ما مِن حاجة لحفظ سير العمل هذا، ما عليك سوى إلقاء نظرة للتعرّف على ما يحدث في الموصِّل. يمكنك دائمًا الرجوع إلى هذا الرسم التخطيطي.

cc6688bf38749e5.png

في الخطوة التالية، ستبدأ في إنشاء الموصِّل في "برمجة تطبيقات Google". سيكون عليك التبديل بين واجهة مستخدم "برمجة تطبيقات Google" وهذا الدرس التطبيقي حول الترميز.

5- إعداد مشروع "برمجة تطبيقات Google"

الخطوة 1: انتقل إلى برمجة تطبيقات Google.

الخطوة 2: أنشئ مشروعًا جديدًا لبرمجة التطبيقات بالنقر على "+ مشروع جديد" في القسم العلوي الأيمن

fb12d7318d0946cf.png

سيظهر لك مشروع واجهة أوامر يحتوي على دالة myFunction فارغة في ملف Code.gs.

b245ce5eb3dd2ee2.png

الخطوة 3: احذف الدالة myFunction.

الخطوة 4: تسمية المشروع:

  1. انقر على Untitled project في أعلى يمين الصفحة.
  2. أدخِل عنوانًا للمشروع.

7172aebc181c91d4.png

ابدأ في كتابة رمز الموصِّل في ملف Code.gs.

6- تعريف getAuthType()

ستستدعي أداة Looker Studio الدالة getAuthType() عندما تحتاج إلى معرفة طريقة المصادقة التي يستخدمها الموصِّل. يجب أن تعرض هذه الدالة طريقة المصادقة التي يتطلبها الموصِّل لمصادقة الخدمة التابعة لجهة خارجية.

بالنسبة إلى موصل تنزيل npm الذي تنشئه، لا تحتاج إلى المصادقة مع أي خدمة تابعة لجهة خارجية لأن واجهة برمجة التطبيقات التي تستخدمها لا تتطلب أي مصادقة. انسخ الرمز التالي وأضِفه إلى ملف Code.gs:

Code.gs

var cc = DataStudioApp.createCommunityConnector();

function getAuthType() {
  var AuthTypes = cc.AuthType;
  return cc
    .newAuthTypeResponse()
    .setAuthType(AuthTypes.NONE)
    .build();
}

أنت هنا تشير إلى أن الموصل لا يتطلب أي مصادقة من جهة خارجية (AuthTypes.NONE). للاطّلاع على كل طرق المصادقة المتوافقة، يمكنك الاطّلاع على مرجع AuthType().

7. تحديد getConfig()

على مستخدمي الموصِّل ضبط إعدادات الموصِّل قبل بدء استخدامه. تحدد استجابة الدالة getConfig() خيارات الضبط التي ستظهر للمستخدمين. تطلب أداة Looker Studio الوظيفة getConfig() للحصول على تفاصيل إعدادات الموصِّل. استنادًا إلى الردّ المقدَّم من getConfig()، ستعرض أداة Looker Studio شاشة إعدادات أداة الربط وتغيّر سلوكًا معيّنًا للموصِّل.

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

TEXTINPUT

عنصر الإدخال

مربع نص من سطر واحد.

TEXTAREA

عنصر الإدخال

مربّع نص متعدّد الأسطر

SELECT_SINGLE

عنصر الإدخال

قائمة منسدلة لخيارات محددة

SELECT_MULTIPLE

عنصر الإدخال

قائمة منسدلة لخيارات متعددة التحديدات

CHECKBOX

عنصر الإدخال

مربّع اختيار واحد يمكن استخدامه للحصول على القيم المنطقية

INFO

عنصر العرض

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

استخدِم العنصر INFO لتوفير تعليمات للمستخدم وعنصر TEXTINPUT للحصول على اسم حزمة الإدخال من المستخدم. في رد getConfig()، ستجمع عناصر النموذج هذه ضمن مفتاح configParams.

بما أنّ واجهة برمجة التطبيقات التي تتصل بها تتطلّب التاريخ كمَعلمة، يجب ضبط dateRangeRequired على true في استجابة getConfig(). يؤدي ذلك إلى إعلام Looker Studio بتقديم نطاقات زمنية مع كل طلبات البيانات. إذا كان مصدر بياناتك لا يتطلّب استخدام التاريخ كمَعلمة، يمكنك حذف هذا الحقل.

أضِف رمز getConfig() التالي إلى ملف Code.gs، أسفل الرمز الحالي لـ getAuthType():

Code.gs

function getConfig(request) {
  var config = cc.getConfig();
  
  config.newInfo()
    .setId('instructions')
    .setText('Enter npm package names to fetch their download count.');
  
  config.newTextInput()
    .setId('package')
    .setName('Enter a single package name')
    .setHelpText('e.g. googleapis or lighthouse')
    .setPlaceholder('googleapis');
  
  config.setDateRangeRequired(true);
  
  return config.build();
}

استنادًا إلى إعدادات الضبط هذه، عند استخدام الموصِّل في Looker Studio، من المتوقّع أن تظهر لك شاشة إعداد على النحو التالي. سنتحدث عن ذلك بشكل أكبر في وقت لاحق.

7de872f17e59e92.png

لننتقل إلى الدالة التالية - getSchema().

8. تعريف getSchema()

تطلب أداة Looker Studio الدالة getSchema() للحصول على المخطط المرتبط بالإعدادات التي يختارها المستخدم للموصِّل. استنادًا إلى الردّ المقدَّم من getSchema()، ستعرض أداة Looker Studio شاشة الحقول للمستخدم التي تسرد جميع الحقول في الموصِّل.

بالنسبة إلى أي تهيئة محددة للموصل، يكون المخطط عبارة عن قائمة بجميع الحقول التي يمكن للموصل تقديم بيانات لها. قد يعرض موصل مخططًا مختلفًا بحقول مختلفة بناءً على عمليات تهيئة مختلفة. يمكن أن يحتوي المخطط على الحقول التي تجلبها من مصدر واجهة برمجة التطبيقات، والحقول التي تحسبها في "برمجة التطبيقات"، والحقول التي يتم احتسابها في Looker Studio باستخدام صيغة حقل محسوب. يقدم الموصِّل بيانات وصفية حول كل حقل في المخطط، بما في ذلك:

  • اسم الحقل
  • نوع البيانات للحقل
  • المعلومات الدلالية

راجِع المرجعَين getSchema() وField لاحقًا لمزيد من المعلومات.

بناءً على كيفية جلب الموصِّل، قد يكون المخطط ثابتًا أو يتم حسابه ديناميكيًا عند استدعاء getSchema(). سيتم توفير مَعلمات الإعدادات من getConfig() التي حدّدها المستخدم في الوسيطة request لدالة getSchema().

في هذا الدرس التطبيقي، لا تحتاج إلى الوصول إلى الوسيطة request. ستتعرَّف على المزيد من المعلومات حول الوسيطة request عند كتابة رمز للدالة getData() في المقطع التالي.

بالنسبة إلى الموصِّل، يكون المخطط ثابتًا ويحتوي على الحقول الثلاثة التالية:

packageName

اسم حزمة npm التي يوفرها المستخدم

downloads

عدد عمليات تنزيل حزمة npm

day

تاريخ عدد عمليات التنزيل

في ما يلي رمز getSchema() للموصل. تلغي دالة المساعدة getFields() إنشاء الحقول بما أن هذه الوظيفة مطلوبة لكل من getSchema() وgetData(). أضِف الرمز التالي إلى ملف Code.gs:

Code.gs

function getFields(request) {
  var cc = DataStudioApp.createCommunityConnector();
  var fields = cc.getFields();
  var types = cc.FieldType;
  var aggregations = cc.AggregationType;
  
  fields.newDimension()
    .setId('packageName')
    .setType(types.TEXT);
  
  fields.newMetric()
    .setId('downloads')
    .setType(types.NUMBER)
    .setAggregation(aggregations.SUM);
  
  fields.newDimension()
    .setId('day')
    .setType(types.YEAR_MONTH_DAY);
  
  return fields;
}

function getSchema(request) {
  var fields = getFields(request).build();
  return { schema: fields };
}

استنادًا إلى هذا المخطّط، يمكنك توقّع ظهور الحقول التالية في شاشة حقول Looker Studio عند استخدام الموصِّل في Looker Studio. سنتحدث عن ذلك بشكل أكبر لاحقًا عند اختبار الموصل.

c7cd7057b202be59.png

لننتقل إلى الدالة الأخيرة - getData().

9. تعريف getData() : الجزء 1

تستدعي أداة Looker Studio الدالة getData() في أي وقت تحتاج فيه إلى استرجاع البيانات. استنادًا إلى الردّ المقدَّم من getData()، ستعرض أداة Looker Studio الرسوم البيانية وتعدِّلها في لوحة البيانات. getData()قد يتم الاتصال خلال هذه الأحداث:

  • يضيف المستخدم رسمًا بيانيًا إلى لوحة البيانات
  • يعدّل المستخدم رسمًا بيانيًا.
  • يشاهد المستخدم لوحة البيانات
  • يعدّل المستخدم أحد الفلاتر أو عناصر التحكّم في البيانات المرتبطة.
  • تحتاج أداة Looker Studio إلى عيّنة من البيانات.

لست بحاجة إلى نسخ أيّ رمز من هذه الصفحة لأنّك ستنسخ الرمز الذي تم إكماله

getData()

في خطوة لاحقة

التعرّف على كائن request

تضبط Looker Studio الكائن request مع كل طلب getData(). راجِع بنية عنصر request أدناه. سيساعدك هذا في كتابة الرمز لدالة getData().

بنية عنصر request

{
  configParams: object,
  scriptParams: object,
  dateRange: {
    startDate: string,
    endDate: string
  },
  fields: [
    {
      name: Field.name
    }
  ]
}
  • سيحتوي الكائن configParams على قيم إعداد للمعلمات المحددة في getConfig() والتي يضبطها المستخدم.
  • سيحتوي الكائن scriptParams على معلومات ذات صلة بتنفيذ الموصل. لست بحاجة إلى استخدام هذه الميزة في هذا الدرس التطبيقي حول الترميز.
  • سيحتوي عمود "dateRange" على النطاق الزمني المطلوب إذا طُلب منك ذلك في ردّ getConfig().
  • ستحتوي fields على قائمة أسماء الحقول التي يتم طلب البيانات لها.

بالنسبة إلى الموصِّل، قد يظهر مثال request من الدالة getData() على النحو التالي:

{
  configParams: {
    package: 'jquery'
  },
  dateRange: {
    startDate: '2017-07-16',
    endDate: '2017-07-18'
  },
  fields: [
    {
      name: 'day',
    },
    {
      name: 'downloads',
    }
  ]
}

بالنسبة إلى طلب getData()في request أعلاه، يتم طلب حقلَين فقط على الرغم من احتواء مخطط الموصِّل على حقول إضافية. ستتضمّن الصفحة التالية مثالاً على الرد الخاص بهذه getData()المكالمة وبنية getData()العامة للردود.

10. تعريف getData() : الجزء 2

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

  • أنشئ مخططًا للحقول المطلوبة.
  • يمكنك استرجاع البيانات وتحليلها من واجهة برمجة التطبيقات.
  • يمكنك تحويل البيانات المحللة والفلترة حسب الحقول المطلوبة.

لست بحاجة إلى نسخ أيّ رمز من هذه الصفحة لأنّك ستنسخ الرمز الذي تم إكماله

getData()

في الصفحة التالية

هذه هي بنية getData() للموصل.

function getData(request) {

  // TODO: Create schema for requested fields.
  
  // TODO: Fetch and parse data from API.
  
  // TODO: Transform parsed data and filter for requested fields.

  return {
    schema: <filtered schema>,
    rows: <transformed and filtered data>
  };
}

إنشاء مخطط للحقول المطلوبة

// Create schema for requested fields
  var requestedFieldIds = request.fields.map(function(field) {
    return field.name;
  });
  var requestedFields = getFields().forIds(requestedFieldIds);

استرجاع البيانات وتحليلها من واجهة برمجة التطبيقات

سيكون عنوان URL لواجهة برمجة التطبيقات npm بالتنسيق التالي:

https://api.npmjs.org/downloads/point/{start_date}:{end_date}/{package}

أنشِئ عنوان URL لواجهة برمجة التطبيقات باستخدام request.dateRange.startDate وrequest.dateRange.endDate وrequest.configParams.package التي توفِّرها أداة Looker Studio. بعد ذلك، يمكنك جلب البيانات من واجهة برمجة التطبيقات باستخدام UrlFetchApp(فئة برمجة التطبيقات: مرجع). بعد ذلك، تحليل الردّ الذي تم استرجاعه.

  // Fetch and parse data from API
  var url = [
    'https://api.npmjs.org/downloads/range/',
    request.dateRange.startDate,
    ':',
    request.dateRange.endDate,
    '/',
    request.configParams.package
  ];
  var response = UrlFetchApp.fetch(url.join(''));
  var parsedResponse = JSON.parse(response).downloads;

تحويل البيانات التحليلية وفلترة الحقول المطلوبة

سيكون الردّ من واجهة برمجة تطبيقات npm بالتنسيق التالي:

{
  downloads: [
    {
    day: '2014-02-27',
    downloads: 1904088
    },
    ..
    {
    day: '2014-03-04',
    downloads: 7904294
    }
  ],
  start: '2014-02-25',
  end: '2014-03-04',
  package: 'somepackage'
}

يمكنك تحويل الردّ من واجهة برمجة تطبيقات npm وتقديم استجابة getData() بالتنسيق التالي. إذا كان هذا التنسيق غير واضح، اطّلِع على مثال الرد في الفقرة التالية.

{
  schema: [
    {
      object(Field)
    }
  ],
  rows: [
    {
      values: [string]
    }
  ]
}

في الردّ، اعرض المخطط للحقول المطلوبة فقط باستخدام السمة schema. ستعرض البيانات باستخدام السمة rows كقائمة من الصفوف. بالنسبة إلى كل صف، يجب أن يتطابق تسلسل الحقول في values مع تسلسل الحقول في schema. استنادًا إلى المثال السابق حول request، سيبدو ردّ getData() على النحو التالي:

{
  schema: requestedFields.build(),
  rows: [
    {
      values: [ 38949, '20170716']
    },
    {
      values: [ 165314, '20170717']
    },
    {
      values: [ 180124, '20170718']
    },
  ]
}

لقد أنشأت بالفعل المجموعة الفرعية من المخطط. استخدم الدالة التالية لتحويل البيانات التحليلية وتصفيتها حسب الحقول المطلوبة.

function responseToRows(requestedFields, response, packageName) {
  // Transform parsed data and filter for requested fields
  return response.map(function(dailyDownload) {
    var row = [];
    requestedFields.asArray().forEach(function (field) {
      switch (field.getId()) {
        case 'day':
          return row.push(dailyDownload.day.replace(/-/g, ''));
        case 'downloads':
          return row.push(dailyDownload.downloads);
        case 'packageName':
          return row.push(packageName);
        default:
          return row.push('');
      }
    });
    return { values: row };
  });
}

11. تعريف getData() : الجزء 3

سيظهر رمز getData() المجمّع على النحو الموضّح أدناه. أضِف الرمز التالي إلى ملف Code.gs:

Code.gs

function responseToRows(requestedFields, response, packageName) {
  // Transform parsed data and filter for requested fields
  return response.map(function(dailyDownload) {
    var row = [];
    requestedFields.asArray().forEach(function (field) {
      switch (field.getId()) {
        case 'day':
          return row.push(dailyDownload.day.replace(/-/g, ''));
        case 'downloads':
          return row.push(dailyDownload.downloads);
        case 'packageName':
          return row.push(packageName);
        default:
          return row.push('');
      }
    });
    return { values: row };
  });
}

function getData(request) {
  var requestedFieldIds = request.fields.map(function(field) {
    return field.name;
  });
  var requestedFields = getFields().forIds(requestedFieldIds);

  // Fetch and parse data from API
  var url = [
    'https://api.npmjs.org/downloads/range/',
    request.dateRange.startDate,
    ':',
    request.dateRange.endDate,
    '/',
    request.configParams.package
  ];
  var response = UrlFetchApp.fetch(url.join(''));
  var parsedResponse = JSON.parse(response).downloads;
  var rows = responseToRows(requestedFields, parsedResponse, request.configParams.package);

  return {
    schema: requestedFields.build(),
    rows: rows
  };
}

لقد انتهيتَ من ملف Code.gs. بعد ذلك، قم بتحديث البيان.

12. تعديل البيان

في محرِّر "برمجة تطبيقات Google"، اختَر إعدادات المشروع > عرض "appsscript.json" ملف البيان في المحرِّر.

90a68a58bbbb63c4.png

سيؤدي هذا إلى إنشاء ملف بيان appsscript.json جديد.

1081c738d5d577a6.png

استبدِل ملف appscript.json بما يلي:

appsscript.json

{
  "timeZone": "America/Los_Angeles",
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",

  "dataStudio": {
    "name": "npm Downloads - From Codelab",
    "logoUrl": "https://raw.githubusercontent.com/npm/logos/master/npm%20logo/npm-logo-red.png",
    "company": "Codelab user",
    "companyUrl": "https://developers.google.com/looker-studio/",
    "addonUrl": "https://github.com/googledatastudio/example-connectors/tree/master/npm-downloads",
    "supportUrl": "https://github.com/googledatastudio/community-connectors/issues",
    "description": "Get npm package download counts.",
    "sources": ["npm"]
  }
}

احفظ مشروع "برمجة تطبيقات Google".

5701ece1c89415c.png

تهانينا! لقد أنشأت أول موصل مجتمع وهو جاهز لتجربة القيادة!

13. اختبار الموصِّل في Looker Studio

استخدام عملية النشر

الخطوة 1: في بيئة تطوير "برمجة تطبيقات Google"، انقر على نشر > اختبار عمليات النشر لفتح مربّع الحوار "اختبار عمليات النشر"

3f57ea0feceb2596.png

سيتم إدراج عملية النشر التلقائية، النشر الرئيسي.

الخطوة 2: انقر على نسخ لنسخ رقم تعريف نشر العنوان.

الخطوة 3: لتحميل الموصِّل في Looker Studio، استبدِل <HEAD_DEPLOYMENT_ID>. في الرابط التالي باستخدام رقم تعريف نشر العنوان للموصل واتبع الرابط في المتصفح:

https://lookerstudio.google.com/datasources/create?connectorId=<HEAD_DEPLOYMENT_ID>

تفويض أداة الربط

مستخدمو Looker Studio لأول مرة: إذا لم يسبق لك استخدام Looker Studio، سيُطلب منك منح إذن الوصول إلى Looker Studio والموافقة على الأحكام والشروط. أكمل عملية الحصول على الإذن. عند استخدام Looker Studio لأول مرة، قد يظهر لك أيضًا مربّع حوار لتعديل الإعدادات المفضّلة للتسويق. يمكنك الاشتراك في إشعارات المنتجات إذا أردت الاطّلاع على أحدث الميزات والأخبار والمنتجات عبر البريد الإلكتروني.

بعد التحميل، ستظهر لك رسالة تطلب منك تفويض الموصل.

d7e66726a1e64c05.png

انقر على "تفويض" وقدِّم التفويض المطلوب إلى الموصل.

ضبط الموصل

بعد اكتمال التفويض، ستظهر شاشة الضبط. اكتب "منارة" في منطقة إدخال النص، ثم انقر على "ربط" في أعلى اليمين.

ec7416d6dbeabc8f.png

تأكيد المخطط

ستظهر لك شاشة الحقول. انقر على إنشاء تقرير في أعلى يسار الصفحة.

4a9084bd51d2fbb8.png

إنشاء لوحة التحكم

ستكون في بيئة لوحة بيانات Looker Studio. انقر على إضافة إلى التقرير.

1ca21e327308237c.png

في Looker Studio، في كل مرة يصل فيها أحد المستخدمين إلى موصِّل ويضيف إعدادات جديدة، يتم إنشاء مصدر بيانات جديد في حساب المستخدم على Looker Studio. يمكنك اعتبار مصدر البيانات مثيلاً للموصل استنادًا إلى إعداد معيّن. استنادًا إلى الموصِّل والإعدادات التي اختارها المستخدم، سيعرض مصدر البيانات جدول بيانات يحتوي على مجموعة محدّدة من الحقول. يمكن للمستخدمين إنشاء مصادر بيانات متعددة من الموصِّل نفسه. ويمكن استخدام مصدر بيانات في تقارير متعددة، كما يمكن أن يستخدم التقرير نفسه مصادر بيانات متعددة.

الآن أضف مخططًا لسلسلة زمنية! في القائمة، انقر على إدراج > السلسلة الزمنية: ثم ضع السلسلة الزمنية في اللوحة. من المفترض أن يظهر لك رسم بياني لسلسلة زمنية لعدد مرات تنزيل npm للحزمة المحددة. أضِف عنصر تحكّم في فلتر التاريخ واعرض لوحة البيانات كما هو موضّح أدناه.

4c076e07665f57aa.gif

هذا كل شيء! لقد أنشأت للتو أول موصِّل لك في المنتدى. بهذا نصلك إلى نهاية هذا الدرس التطبيقي حول الترميز. والآن، لنرى الخطوات التالية التي يمكنك اتخاذها.

14. الخطوات التالية

تحسين موصّل الجهاز

أدخل تحسينات على الموصل الذي أنشأته للتو:

  • في Looker Studio، إذا لم تقدِّم اسم حزمة في شاشة ضبط الموصِّل، ستظهر لك رسالة خطأ عند رسم الرسم البياني للسلسلة الزمنية. جرّب إضافة التحقق من صحة الإدخال أو خيار تلقائي إلى تهيئة الموصل.
  • جرب إضافة دعم للاستعلام عن أسماء حزم متعددة في نفس الوقت في تهيئة الموصل. تلميح: واجهة برمجة تطبيقات تنزيل حزمة npm تتيح إدخال أسماء حزم متعددة مفصولة بفاصلة.
  • يمكنك العثور على حلول لكليهما في رمز موصل npm.

تنفيذ المزيد من المهام باستخدام موصِّلات المنتديات

مراجع إضافية

في ما يلي مصادر مختلفة يمكنك الوصول إليها لمساعدتك في فهم المواد التي يتناولها هذا الدرس التطبيقي حول الترميز.

نوع المورد

ميزات المستخدم

ميزات المطوّرين

الوثائق

مركز المساعدة

مستندات المطوِّرين

أخبار و التعديلات

الاشتراك في Looker Studio > إعدادات المستخدم

القائمة البريدية للمطوّرين

طرح الأسئلة

منتدى المستخدمين

Stack Overflow [looker-studio]

الفيديوهات

DataVis DevTalk

أمثلة

مستودع البرامج المفتوحة المصدر