Łączenie i wizualizowanie wszystkich danych w Looker Studio

1. Wprowadzenie

Looker Studio umożliwia bezpłatne tworzenie aktywnych, interaktywnych paneli z atrakcyjnymi wizualizacjami danych. Pobieraj dane z różnych źródeł i twórz w Looker Studio nieograniczoną liczbę raportów z pełnymi możliwościami edycji i udostępniania. Poniższy zrzut ekranu przedstawia przykładowy panel Looker Studio:

2f296fddf6af7393.png

( Kliknij tutaj, aby wyświetlić ten przykładowy raport w Looker Studio)

Społecznościowe oprogramowanie sprzęgające to funkcja Looker Studio, która umożliwia używanie Apps Script do tworzenia oprogramowania sprzęgającego z dowolnym źródłem danych dostępnym w internecie. Społecznościowe oprogramowanie sprzęgające jest tworzone przez społeczność Looker Studio. Oznacza to, że każdy może tworzyć złącza społeczności. Możesz też udostępniać społecznościowe oprogramowanie sprzęgające innym osobom, aby mogły uzyskiwać dostęp do własnych danych z poziomu Looker Studio.

Z połączeń społecznościowych możesz korzystać w różnych przypadkach:

  • wyświetlasz dane z platformy komercyjnej (np.mediów społecznościowych, marketingu, analityki itp.);
  • wizualizujesz dane przedsiębiorstwa przechowywane lokalnie (np. dane o sprzedaży z lokalnej bazy danych MySQL);
  • Udostępniasz klientom możliwość wizualizacji danych z Twojej usługi.
  • Tworzysz platformę raportowania za pomocą przycisku push
  • wizualizujesz własne dane ze źródła internetowego (np. tworzysz panel Google Fit);

Czego się nauczysz

  • Jak działa społecznościowe oprogramowanie sprzęgające narzędzia Looker Studio
  • Jak używać Google Apps Script do tworzenia oprogramowania sprzęgającego społeczności
  • Jak korzystać ze społecznościowych oprogramowań sprzęgających w Looker Studio

Czego potrzebujesz

  • dostęp do internetu i przeglądarki;
  • konto Google,
  • Znajomość podstaw języka JavaScript i interfejsów API sieci

2. Krótka ankieta

Dlaczego wybierasz ten codelab?

Interesuje mnie wizualizacja danych w ogóle. Chcę dowiedzieć się więcej o Looker Studio Chcę utworzyć własne oprogramowanie sprzęgające społeczności. Próbuję zintegrować Looker Studio z inną platformą. Interesują mnie rozwiązania Google Cloud.

Jak zamierzasz korzystać z tego laboratorium/samouczka?

Tylko przejrzyj Przeczytaj i wykonaj ćwiczenia

Jak oceniasz swoją znajomość narzędzia Looker Studio?

Nigdy o nim nie słyszałem(-am). Wiem, co to jest, ale nie używam go. Używam go regularnie. Jestem zaawansowanym użytkownikiem.

Które z poniższych stwierdzeń najlepiej opisuje Twoje doświadczenie?

Programista Analityk biznesowy / finansowy / danych Badacz danych / inżynier danych Ekspert ds. marketingu / mediów społecznościowych / analityki cyfrowej Projektant Inne

Możesz przejść do następnej strony, aby przesłać informacje z ankiety.

3. Omówienie złączy społeczności

Społecznościowe oprogramowanie sprzęgające Looker Studio umożliwia bezpośrednie połączenia z dowolnym źródłem danych dostępnym w internecie. Możesz łączyć się z platformami komercyjnymi, publicznymi zbiorami danych lub własnymi prywatnymi danymi lokalnymi. Złącza społeczności mogą pobierać dane za pomocą interfejsów API sieci, interfejsów API JDBC, plików płaskich (CSV, JSON, XML) i usług Apps Script.

b25b8d6bea6da54b.png

Rozważmy scenariusz, w którym opublikowano pakiet w npm i chcesz śledzić liczbę pobrań pakietu w czasie według dni. W tym module stworzysz oprogramowanie sprzęgające społeczności, które pobiera dane za pomocą interfejsu API liczby pobrań pakietów npm. Wtyczkę Community Connector można następnie wykorzystać w Looker Studio do utworzenia panelu wizualizującego liczbę pobrań.

4. Przepływ pracy społecznościowego oprogramowania sprzęgającego

W podstawowym łączniku społeczności definiujesz 4 funkcje:

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

W zależności od bieżącego kroku procesu Looker Studio wykonuje te funkcje oprogramowania sprzęgającego i wykorzystuje odpowiedź w kolejnych krokach. Poniższy film zawiera omówienie tych kwestii:

  • Jak działa złącze społeczności
  • Różne etapy przepływu pracy
  • Kiedy wywoływane są różne funkcje
  • Kiedy Looker Studio wyświetla różne interfejsy
  • Oczekiwane działania użytkowników na różnych etapach

Po obejrzeniu filmu możesz wrócić do ćwiczenia.

Nie musisz zapamiętywać tego przepływu pracy. Wystarczy, że się z nim zapoznasz, aby zrozumieć, co się dzieje w przypadku konektora. Zawsze możesz wrócić do tego diagramu.

cc6688bf38749e5.png

W następnym kroku zaczniesz tworzyć oprogramowanie sprzęgające w Google Apps Script. Będziesz musiał(-a) przełączać się między interfejsem Apps Script a tym samouczkiem.

5. Konfigurowanie projektu Apps Script

Krok 1. Otwórz stronę Google Apps Script.

Krok 2. Utwórz nowy projekt Apps Script, klikając „+ Nowy projekt” w lewym górnym rogu.

fb12d7318d0946cf.png

Zobaczysz projekt powłoki z pustą funkcją myFunction w pliku Code.gs.

b245ce5eb3dd2ee2.png

Krok 3. Usuń funkcję myFunction.

Krok 4. Nadaj projektowi nazwę:

  1. W lewym górnym rogu strony kliknij Untitled project.
  2. Wpisz tytuł projektu.

7172aebc181c91d4.png

Zacznij pisać kod łącznika w pliku Code.gs.

6. Zdefiniuj funkcję getAuthType()

Gdy Looker Studio będzie potrzebować informacji o metodzie uwierzytelniania używanej przez łącznik, wywoła funkcję getAuthType(). Ta funkcja powinna zwracać metodę uwierzytelniania wymaganą przez łącznik do autoryzacji usługi innej firmy.

W przypadku tworzonego przez Ciebie konektora pobierania npm nie musisz uwierzytelniać się w żadnej usłudze innej firmy, ponieważ używany przez Ciebie interfejs API nie wymaga uwierzytelniania. Skopiuj ten kod i dodaj go do pliku Code.gs:

Code.gs

var cc = DataStudioApp.createCommunityConnector();

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

W tym miejscu wskazujesz, że Twój łącznik nie wymaga uwierzytelniania przez podmiot zewnętrzny (AuthTypes.NONE). Aby zobaczyć wszystkie obsługiwane metody uwierzytelniania, zapoznaj się z AuthType().

7. Definiowanie funkcji getConfig()

Zanim użytkownicy będą mogli zacząć korzystać z Twojego łącznika, muszą go skonfigurować. Odpowiedź funkcji getConfig() określa opcje konfiguracji, które zobaczą użytkownicy. Looker Studio wywołuje funkcję getConfig(), aby uzyskać szczegóły konfiguracji łącznika. Na podstawie odpowiedzi udzielonej przez getConfig() usługa Looker Studio wyświetli ekran konfiguracji oprogramowania sprzęgającego i zmieni niektóre jego działania.

Na ekranie konfiguracji możesz podawać informacje lub uzyskiwać dane wejściowe użytkownika za pomocą tych elementów formularza:

TEXTINPUT

Element wejściowy

Pole tekstowe z jednym wierszem.

TEXTAREA

Element wejściowy

Wielowierszowe pole tekstowe.

SELECT_SINGLE

Element wejściowy

Menu z opcjami jednokrotnego wyboru.

SELECT_MULTIPLE

Element wejściowy

Menu z opcjami wielokrotnego wyboru.

CHECKBOX

Element wejściowy

Pojedyncze pole wyboru, które może służyć do przechwytywania wartości logicznych.

INFO

Element displayowy

Statyczne pole tekstowe, które może służyć do przekazywania użytkownikowi instrukcji lub informacji.

Użyj elementu INFO, aby podać instrukcje dla użytkownika, a elementu TEXTINPUT, aby uzyskać od użytkownika nazwę pakietu wejściowego. W getConfig() odpowiedzi zgrupujesz te elementy formularza pod kluczem configParams.

Interfejs API, z którym się łączysz, wymaga daty jako parametru, więc w odpowiedzi getConfig() ustaw dateRangeRequired na true. Dzięki temu Looker Studio będzie uwzględniać zakresy dat we wszystkich żądaniach danych. Jeśli źródło danych nie wymaga daty jako parametru, możesz pominąć ten krok.

Dodaj do pliku Code.gs ten kod getConfig() poniżej istniejącego kodu dla 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();
}

Na podstawie tych parametrów konfiguracji, gdy użyjesz łącznika w Looker Studio, zobaczysz ekran konfiguracji podobny do tego poniżej. Ale o tym opowiemy później.

7de872f17e59e92.png

Przejdźmy do następnej funkcji – getSchema().

8. Definiowanie funkcji getSchema()

Looker Studio wywołuje funkcję getSchema(), aby uzyskać schemat powiązany z konfiguracją wybraną przez użytkownika dla łącznika. Na podstawie odpowiedzi udzielonej przez getSchema() Looker Studio wyświetli użytkownikowi ekran pól z listą wszystkich pól w łączniku.

W przypadku każdej konkretnej konfiguracji oprogramowania sprzęgającego schemat to lista wszystkich pól, dla których oprogramowanie sprzęgające może dostarczać dane. W zależności od konfiguracji łącznik może zwracać różne schematy z różnymi polami. Schemat może zawierać pola pobierane ze źródła interfejsu API, pola obliczane w Apps Script oraz pola obliczane w Looker Studio za pomocą formuły pola obliczeniowego. Konektor udostępnia metadane każdego pola w schemacie, w tym:

  • Nazwa pola
  • Typ danych pola
  • Informacje semantyczne

Aby dowiedzieć się więcej, zapoznaj się z informacjami o getSchema()Field.

W zależności od sposobu pobierania danych przez łącznik schemat może być stały lub obliczany dynamicznie po wywołaniu funkcji getSchema(). Parametry konfiguracji z getConfig() zdefiniowane przez użytkownika będą podawane w argumencie request funkcji getSchema().

W tym ćwiczeniu nie musisz uzyskiwać dostępu do argumentu request. Więcej informacji o argumencie request znajdziesz w następnym segmencie, w którym będziesz pisać kod funkcji getData().

W przypadku łącznika schemat jest stały i zawiera te 3 pola:

packageName

Nazwa pakietu npm podana przez użytkownika

downloads

Liczba pobrań pakietu npm

day

Data liczby pobrań

Poniżej znajdziesz kod getSchema() dla swojego konektora. Funkcja pomocnicza getFields() abstrahuje od tworzenia pól, ponieważ ta funkcjonalność jest potrzebna zarówno w przypadku funkcji getSchema(), jak i getData(). Dodaj do pliku Code.gs ten kod:

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 };
}

Na podstawie tego schematu możesz oczekiwać, że na ekranie pól Looker Studio zobaczysz te pola, gdy używasz łącznika w Looker Studio. Więcej informacji na ten temat znajdziesz w dalszej części artykułu, gdy będziesz testować łącznik.

c7cd7057b202be59.png

Przejdźmy do naszej ostatniej funkcji – getData().

9. Definiowanie funkcji getData() : część 1

Looker Studio wywołuje funkcję getData() za każdym razem, gdy musi pobrać dane. Na podstawie odpowiedzi udzielonej przez getData() narzędzie Looker Studio wyrenderuje i zaktualizuje wykresy w panelu. Funkcja getData() może być wywoływana podczas tych zdarzeń:

  • Użytkownik dodaje wykres do panelu
  • Użytkownik edytuje wykres
  • Użytkownik wyświetla panel
  • Użytkownik edytuje filtr lub kontrolę danych
  • Looker Studio potrzebuje próbki danych

Nie musisz kopiować żadnego kodu z tej strony, ponieważ skopiujesz gotowy

getData()

w kolejnym kroku.

Informacje o obiekcie request

Looker Studio przekazuje obiekt request z każdym wywołaniem getData(). Sprawdź strukturę obiektu request poniżej. Pomoże Ci to napisać kod funkcji getData().

Struktura obiektu request

{
  configParams: object,
  scriptParams: object,
  dateRange: {
    startDate: string,
    endDate: string
  },
  fields: [
    {
      name: Field.name
    }
  ]
}
  • Obiekt configParams będzie zawierać wartości konfiguracji parametrów zdefiniowanych w getConfig() i skonfigurowanych przez użytkownika.
  • Obiekt scriptParams będzie zawierać informacje związane z wykonaniem łącznika. W tym ćwiczeniu nie musisz z niego korzystać.
  • dateRange będzie zawierać żądany zakres dat, jeśli został on uwzględniony w odpowiedzi getConfig().
  • fields będzie zawierać listę nazw pól, dla których są żądane dane.

W przypadku łącznika przykład funkcji requestgetData() może wyglądać tak:

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

W przypadku getData()wywołania w powyższym request żądane są tylko 2 pola, mimo że schemat oprogramowania sprzęgającego zawiera dodatkowe pola. Na następnej stronie znajdziesz przykładową odpowiedź na to wywołanie getData() oraz ogólną strukturę odpowiedzi getData().

10. Definiowanie funkcji getData() – część 2

getData()odpowiedzi musisz podać zarówno schemat, jak i dane w przypadku wymaganych pól. Kod podzielisz na 3 segmenty:

  • Utwórz schemat dla żądanych pól.
  • Pobieranie i analizowanie danych z interfejsu API.
  • przekształcanie przeanalizowanych danych i filtrowanie ich pod kątem żądanych pól;

Nie musisz kopiować żadnego kodu z tej strony, ponieważ skopiujesz gotowy

getData()

kod na następnej stronie.

To struktura getData() dla Twojego oprogramowania sprzęgającego.

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>
  };
}

Tworzenie schematu dla żądanych pól

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

Pobieranie i parsowanie danych z interfejsu API

Adres URL interfejsu npm API będzie miał ten format:

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

Utwórz adres URL interfejsu API, używając parametrów request.dateRange.startDate, request.dateRange.endDaterequest.configParams.package podanych przez Looker Studio. Następnie pobierz dane z interfejsu API za pomocą UrlFetchApp(klasa Apps Script: reference). Następnie przeanalizuj pobraną odpowiedź.

  // 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;

Przekształcanie przeanalizowanych danych i filtrowanie ich pod kątem żądanych pól

Odpowiedź z interfejsu API npm będzie miała ten format:

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

Przekształć odpowiedź z interfejsu npm API i podaj getData() w tym formacie: Jeśli ten format jest niejasny, zapoznaj się z przykładową odpowiedzią w następnym akapicie.

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

W odpowiedzi zwróć schemat tylko żądanych pól, używając właściwości schema. Dane zwracasz za pomocą właściwości rows jako listę wierszy. W każdym wierszu sekwencja pól w values musi być zgodna z sekwencją pól w schema. Na podstawie wcześniejszego przykładu request odpowiedź na getData() będzie wyglądać tak:

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

Podzbiór schematu został już utworzony. Użyj tej funkcji, aby przekształcić przeanalizowane dane i odfiltrować je pod kątem żądanych pól.

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. Definiowanie funkcji getData() : część 3

Połączony kod getData() będzie wyglądać jak ten poniżej. Dodaj do pliku Code.gs ten kod:

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
  };
}

Plik Code.gs jest gotowy. Następnie zaktualizuj plik manifestu.

12. Aktualizowanie pliku manifestu

W edytorze Apps Script kliknij Ustawienia projektu > Wyświetlaj plik manifestu „appsscript.json” w edytorze.

90a68a58bbbb63c4.png

Spowoduje to utworzenie nowego pliku manifestu appsscript.json.

1081c738d5d577a6.png

Zastąp plik appscript.json tymi informacjami:

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"]
  }
}

Zapisz projekt Apps Script.

5701ece1c89415c.png

Gratulacje! Pierwsze społecznościowe oprogramowanie sprzęgające zostało utworzone i jest gotowe do testowania.

13. Testowanie oprogramowania sprzęgającego w Looker Studio

Korzystanie z wdrożenia

Krok 1. W środowisku programistycznym Apps Script kliknij Wdróż > Testowe wdrożenia, aby otworzyć okno Testowe wdrożenia.

3f57ea0feceb2596.png

Wyświetlone zostanie domyślne wdrożenie Wdrożenie główne.

Krok 2. Kliknij Kopiuj, aby skopiować identyfikator wdrożenia Head.

Krok 3. Aby wczytać łącznik w Looker Studio, zastąp w tym linku symbol zastępczy <HEAD_DEPLOYMENT_ID> identyfikatorem wdrożenia głównego łącznika i kliknij link w przeglądarce:

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

Autoryzowanie oprogramowania sprzęgającego

Użytkownicy, którzy korzystają z Looker Studio po raz pierwszy: jeśli nie korzystasz jeszcze z Looker Studio, poprosimy Cię o autoryzację tej usługi i zaakceptowanie warunków. Dokończ proces autoryzacji. Gdy po raz pierwszy użyjesz Looker Studio, może się też pojawić okno z prośbą o zaktualizowanie preferencji marketingowych. Jeśli chcesz otrzymywać e-maile z informacjami o najnowszych funkcjach, aktualizacjach i zmianach w usłudze, zarejestruj się, aby otrzymywać powiadomienia o usługach.

Po wczytaniu pojawi się prośba o autoryzację łącznika.

d7e66726a1e64c05.png

Kliknij Autoryzuj i przyznaj oprogramowaniu sprzęgającemu wymagane uprawnienia.

Konfigurowanie oprogramowania sprzęgającego

Po zakończeniu autoryzacji pojawi się ekran konfiguracji. Wpisz „lighthouse” w obszarze wprowadzania tekstu i w prawym górnym rogu kliknij Połącz.

ec7416d6dbeabc8f.png

Potwierdź schemat

Zobaczysz ekran pól. W prawym górnym rogu kliknij Utwórz raport.

4a9084bd51d2fbb8.png

Tworzenie panelu informacyjnego

Znajdziesz się w środowisku panelu narzędzia Looker Studio. Kliknij Dodaj do raportu.

1ca21e327308237c.png

W Looker Studio za każdym razem, gdy użytkownik uzyskuje dostęp do łącznika i dodaje nową konfigurację, na jego koncie Looker Studio tworzone jest nowe źródło danych. Źródło danych to instancja łącznika utworzona na podstawie określonej konfiguracji. Na podstawie wybranego przez użytkownika oprogramowania sprzęgającego i konfiguracji źródło danych zwróci tabelę danych z określonym zestawem pól. Użytkownicy mogą tworzyć wiele źródeł danych z tego samego łącznika. Źródło danych może być używane w wielu raportach, a ten sam raport może korzystać z wielu źródeł danych.

Teraz dodaj wykres ciągu czasowego! W menu kliknij Wstaw > Szereg czasowy. Następnie umieść szereg czasowy na obszarze roboczym. Powinien pojawić się wykres ciągu czasowego liczby pobrań pakietu npm dla wybranego pakietu. Dodaj ustawienia filtra dat i wyświetl panel, jak pokazano poniżej.

4c076e07665f57aa.gif

To wszystko. Właśnie udało Ci się utworzyć pierwsze społecznościowe oprogramowanie sprzęgające. To już koniec tego ćwiczenia. Zobaczmy teraz, jakie możesz podjąć kolejne kroki.

14. Dalsze kroki

Ulepszanie utworzonego łącznika

Wprowadź ulepszenia do utworzonego właśnie łącznika:

  • Jeśli w Looker Studio nie podasz nazwy pakietu na ekranie konfiguracji złącza, podczas rysowania wykresu ciągu czasowego zobaczysz komunikat o błędzie. Spróbuj dodać do konfiguracji oprogramowania sprzęgającego weryfikację danych wejściowych lub opcję domyślną.
  • Spróbuj dodać do konfiguracji oprogramowania sprzęgającego obsługę zapytań dotyczących wielu nazw pakietów jednocześnie. Wskazówka: interfejs API liczby pobrań pakietu npm obsługuje wpisywanie wielu nazw pakietów rozdzielonych przecinkami.
  • Rozwiązania obu tych problemów znajdziesz w kodzie złącza npm.

Więcej możliwości dzięki złączom społeczności

Dodatkowe materiały

Poniżej znajdziesz różne materiały, które pomogą Ci lepiej poznać tematy poruszane w tym module.

Typ zasobu

Funkcje dla użytkowników

Funkcje dla programistów

Dokumentacja

Centrum pomocy

Dokumentacja dla deweloperów

Wiadomości i aktualności

Zarejestruj się w Looker Studio > Ustawienia użytkownika.

Lista adresowa deweloperów

Zadawanie pytań

Forum użytkowników

Stack Overflow [looker-studio]

Filmy

DataVis DevTalk

Przykłady

Repozytorium open source