Łączenie i wizualizowanie wszystkich danych w Looker Studio

1. Wprowadzenie

Looker Studio umożliwia bezpłatne tworzenie interaktywnych paneli na żywo z atrakcyjnymi wizualizacjami danych. Pobieraj dane z różnych źródeł i twórz nieograniczoną liczbę raportów w Looker Studio 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 korzystanie z Apps Script do tworzenia oprogramowania sprzęgającego z dowolnym źródłem danych dostępnym z internetu. Społecznościowe oprogramowanie sprzęgające jest tworzone przez społeczność Looker Studio. Oznacza to, że każdy może tworzyć społecznościowe oprogramowanie sprzęgające. Możesz też udostępniać społecznościowe oprogramowanie sprzęgające innym osobom, aby mogły one uzyskiwać dostęp do własnych danych z poziomu Looker Studio.

Społecznościowego oprogramowania sprzęgającego możesz używać w różnych przypadkach użycia:

  • Wizualizujesz dane z platformy komercyjnej (np.z mediów społecznościowych, marketingu, analityki itp.)
  • Wizualizacja danych lokalnych firm (np. danych sprzedaży z lokalnej bazy danych MySQL)
  • Zapewniasz klientom wizualizację danych z Twojej usługi
  • Tworzysz platformę raportowania 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 Looker Studio
  • Jak używać Google Apps Script do tworzenia społecznościowego oprogramowania sprzęgającego
  • Jak używać społecznościowego oprogramowania sprzęgającego w Looker Studio

Czego potrzebujesz

  • Dostęp do internetu i przeglądarki
  • konto Google,
  • znajomość podstawowych interfejsów API JavaScript i internetowych interfejsów API,

2. Krótka ankieta

Co skłoniło Cię do wybrania tego ćwiczenia z programowania?

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

W jaki sposób zamierzasz korzystać z tego ćwiczenia lub samouczka?

Tylko jazda na rolkach Przeczytaj go i wykonaj ćwiczenia

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

Nigdy o tym nie słyszałem Wiem, co to jest, ale nie korzystam. Używam go regularnie. Jestem doświadczonym użytkownikiem.

Co najlepiej opisuje Twoją sytuację?

Deweloper Biznes / finanse / analityk danych Badacz danych / inżynier danych Marketing / media społecznościowe / ekspert ds. analityki internetowej Projektant Inne

Możesz przejść na następną stronę, aby przesłać informacje o ankiecie.

3. Omówienie społecznościowego oprogramowania sprzęgającego

Społecznościowe oprogramowanie sprzęgające Looker Studio umożliwia bezpośrednie połączenia między Looker Studio a dowolnym źródłem danych dostępnym w internecie. Możesz łączyć się z platformami komercyjnymi, publicznymi zbiorami danych lub własnymi lokalnymi danymi prywatnymi. Community Connectors może pobierać dane przez internetowe interfejsy API, JDBC API, pliki płaskie (CSV, JSON, XML) i usługi Apps Script.

b25b8d6bea6da54b.png

Rozważmy scenariusz, w którym publikujesz pakiet w usłudze npm i chcesz śledzić liczbę pobrań pakietu w poszczególnych dniach. W ramach tego ćwiczenia w programie utworzysz społecznościowe oprogramowanie sprzęgające, które będzie pobierać dane za pomocą np. interfejsu API liczby pobrań pakietu npm. Możesz użyć tego oprogramowania w Looker Studio do utworzenia panelu do wizualizacji liczby pobrań.

4. Przepływ pracy w społecznościowym oprogramowaniu sprzęgającym

W podstawowym oprogramowaniu sprzęgającym społeczności zdefiniowane zostaną 4 funkcje:

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

W zależności od bieżącego kroku przepływu pracy Looker Studio wykonuje te funkcje oprogramowania sprzęgającego i używa odpowiedzi w kolejnych krokach. Poniższy film przedstawia:

  • Jak działa społecznościowe oprogramowanie sprzęgające
  • Różne kroki w przepływie pracy
  • Gdy wywołujesz różne funkcje
  • Kiedy Looker Studio pokazuje różne interfejsy użytkownika
  • Oczekiwane działania użytkownika na różnych etapach

Możesz wznowić ćwiczenia w Codelabs po obejrzeniu filmu.

Nie trzeba zapamiętywać tego przepływu pracy – wystarczy popatrzeć, co się dzieje w oprogramowaniu sprzęgającym. Zawsze możesz do niego wrócić.

cc6688bf38749e5.png

W następnym kroku zaczniesz tworzyć oprogramowanie sprzęgające w Skryptach aplikacji Google. Konieczne będzie przełączanie się między interfejsem Apps Script a tym ćwiczeniem z programowania.

5. Konfigurowanie projektu Apps Script

Krok 1. Otwórz Google Apps Script.

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

fb12d7318d0946cf.png

W pliku Code.gs zobaczysz projekt powłoki z pustą funkcją myFunction.

b245ce5eb3dd2ee2.png

Krok 3. Usuń funkcję myFunction.

Krok 4. Nadaj projektowi nazwę:

  1. Kliknij Untitled project w lewym górnym rogu strony
  2. Wpisz tytuł projektu.

7172aebc181c91d4.png

Zacznij pisać kod oprogramowania sprzęgającego w pliku Code.gs.

6. Zdefiniuj getAuthType()

Looker Studio wywołuje funkcję getAuthType(), gdy musi znać metodę uwierzytelniania używaną przez oprogramowanie sprzęgające. Ta funkcja powinna zwracać metodę uwierzytelniania wymaganą przez oprogramowanie sprzęgające do autoryzacji usługi zewnętrznej.

W przypadku tworzonego łącznika pobierania npm nie musisz uwierzytelniać się w żadnej usłudze innej firmy, ponieważ używany przez Ciebie interfejs API nie wymaga żadnego 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();
}

Oznacza to, że oprogramowanie sprzęgające nie wymaga uwierzytelniania zewnętrznego (AuthTypes.NONE). Wszystkie obsługiwane metody uwierzytelniania znajdziesz w dokumentacji AuthType().

7. Zdefiniuj getConfig()

Użytkownicy oprogramowania sprzęgającego muszą je skonfigurować, zanim będą mogli zacząć z niego korzystać. Odpowiedź funkcji getConfig() określa opcje konfiguracji widoczne dla użytkowników. Looker Studio wywołuje funkcję getConfig(), aby pobrać szczegóły konfiguracji oprogramowania sprzęgającego. Na podstawie odpowiedzi otrzymanej od getConfig() Looker Studio wyrenderuje ekran konfiguracji oprogramowania sprzęgającego i zmieni określone działanie tego oprogramowania.

Na ekranie konfiguracji możesz podać informacje lub poprosić użytkowników o dane za pomocą tych elementów formularza:

TEXTINPUT

Element wejściowy

Jednowierszowe pole tekstowe.

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 wyświetlany

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

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

Interfejs API, z którym się łączysz, wymaga podania daty jako parametru, dlatego w odpowiedzi getConfig() ustaw dateRangeRequired na true. Dzięki temu Looker Studio będzie udostępniać zakresy dat dla wszystkich żądań danych. Jeśli Twoje źródło danych nie wymaga daty jako parametru, możesz to pominąć.

Dodaj ten kod getConfig() do pliku Code.gs pod dotychczasowym kodem 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 configParams podczas używania oprogramowania sprzęgającego w Looker Studio możesz spodziewać się ekranu konfiguracji podobnego do tego. Więcej o tym później.

7de872f17e59e92.png

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

8. Zdefiniuj getSchema()

Looker Studio wywołuje funkcję getSchema(), aby uzyskać schemat powiązany z wybraną przez użytkownika konfiguracją oprogramowania sprzęgającego. Na podstawie odpowiedzi otrzymanej od getSchema() Looker Studio wyświetli użytkownikowi ekran pól z listą wszystkich pól w oprogramowaniu sprzęgającym.

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 dostarczyć dane. Oprogramowanie sprzęgające może zwrócić inny schemat z różnymi polami w zależności od różnych konfiguracji. Schemat może zawierać pola pobrane ze źródła interfejsu API, pola obliczone w Apps Script i pola obliczane w Looker Studio za pomocą formuły pola obliczeniowego. Oprogramowanie sprzęgające udostępnia metadane każdego pola schematu, w tym:

  • Nazwa pola
  • Typ danych pola
  • Informacje semantyczne

Aby dowiedzieć się więcej, zapoznaj się później z materiałami dotyczącymi getSchema() i Field.

W zależności od sposobu pobierania oprogramowania sprzęgającego schemat może zostać ustalony lub obliczony dynamicznie po wywołaniu funkcji getSchema(). Zdefiniowane przez użytkownika parametry konfiguracji z getConfig() zostaną podane w argumencie request dla funkcji getSchema().

W przypadku tego ćwiczenia w Codelabs nie potrzebujesz dostępu do argumentu request. Więcej informacji o argumencie request znajdziesz w następnym segmencie, gdy będziesz napisać kod dla funkcji getData().

W przypadku oprogramowania sprzęgającego schemat jest stały i zawiera te 3 pola:

packageName

Nazwa pakietu npm dostarczonego przez użytkownika

downloads

Liczba pobrań pakietu npm

day

Data liczby pobrań

Poniżej znajdziesz kod oprogramowania sprzęgającego getSchema(). Funkcja pomocnicza getFields() wyodrębnia tworzenie pól, ponieważ jest potrzebna zarówno w narzędziu getSchema(), jak i w 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 };
}

W zależności od tego schematu podczas korzystania z oprogramowania sprzęgającego w Looker Studio możesz spodziewać się, że na ekranie pól Looker Studio pojawią się podane niżej pola. O tym dowiesz się jednak później, gdy przetestujesz oprogramowanie sprzęgające.

c7cd7057b202be59.png

Przejdźmy do ostatniej funkcji, getData().

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

Looker Studio wywołuje funkcję getData() za każdym razem, gdy chce pobrać dane. Na podstawie odpowiedzi otrzymanej od getData() Looker Studio będzie renderować i aktualizować wykresy w panelu. Urządzenie getData() może być wywoływane podczas tych zdarzeń:

  • Użytkownik dodaje wykres do panelu
  • Użytkownik edytuje wykres
  • Użytkownik wyświetla panel
  • Użytkownik edytuje filtr lub powiązany element kontroli danych
  • Looker Studio potrzebuje próbki danych

Nie musisz kopiować żadnego kodu z tej strony, ponieważ skopiujesz ukończony

getData()

w kolejnym kroku.

Informacje o obiekcie request

Looker Studio przekazuje obiekt request przy każdym wywołaniu getData(). Przyjrzyj się poniżej strukturze obiektu request. Pomoże Ci to napisać kod funkcji getData().

request struktura obiektu

{
  configParams: object,
  scriptParams: object,
  dateRange: {
    startDate: string,
    endDate: string
  },
  fields: [
    {
      name: Field.name
    }
  ]
}
  • Obiekt configParams będzie zawierał wartości konfiguracyjne parametrów zdefiniowanych w zasadzie getConfig() i skonfigurowanych przez użytkownika.
  • Obiekt scriptParams będzie zawierać informacje związane z wykonaniem oprogramowania sprzęgającego. Nie musisz go używać w tym ćwiczeniu z programowania.
  • Pole dateRange będzie zawierać żądany zakres dat, jeśli jest wymagany w odpowiedzi getConfig().
  • fields będzie zawierać listę nazw pól, dla których zażądano danych.

W przypadku oprogramowania sprzęgającego przykładowy request z funkcji getData() 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ższymrequest żądaniach są tylko 2 pola, mimo że schemat oprogramowania sprzęgającego ma dodatkowe pola. Na następnej stronie znajdziesz przykładową odpowiedź na to getData()połączenie i ogólną getData()strukturę odpowiedzi.

10. Definiowanie metody getData() : część 2

W odpowiedzi getData() musisz podać zarówno schemat, jak i dane w wymaganych polach. Kod zostanie podzielony na trzy segmenty:

  • Utwórz schemat dla żądanych pól.
  • Pobrać i przeanalizować dane z interfejsu API.
  • Przekształcanie przeanalizowanych danych i filtrowanie żądanych pól.

Nie musisz kopiować żadnego kodu z tej strony, ponieważ skopiujesz ukończony

getData()

znajdziesz na następnej stronie.

To jest struktura getData() dla 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>
  };
}

Utwórz schemat 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 analiza danych z interfejsu API

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

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

Utwórz adres URL dla interfejsu API za pomocą narzędzi request.dateRange.startDate, request.dateRange.endDate i request.configParams.package udostępnionych przez Looker Studio. Następnie pobierz dane z interfejsu API, korzystając z klasy 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 żądanych pól

Odpowiedź z interfejsu npm API 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ź przy użyciu interfejsu npm API i podaj odpowiedź getData() w formacie podanym poniżej. Jeżeli nie masz pewności co do tego formatu, zapoznaj się z przykładową odpowiedzią w następnym akapicie.

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

W odpowiedzi zwróć schemat tylko w przypadku żądanych pól, używając właściwości schema. Dane zwrócisz za pomocą właściwości rows w formie listy wierszy. W przypadku każdego wiersza sekwencja pól w values musi być zgodna z sekwencją pól w schema. W oparciu o wcześniejszy przykład żądania request odpowiedź dla 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 funkcji poniżej, aby przekształcić przeanalizowane dane i przefiltrować 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 metody getData() : część 3

Połączony kod getData() będzie wyglądać tak 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
  };
}

To już koniec pliku Code.gs. Następnie zaktualizuj plik manifestu.

12. Zaktualizuj plik manifestu

W edytorze Apps Script wybierz Ustawienia projektu > Pokaż plik „appsscript.json” plik manifestu w edytorze.

90a68a58bbbb63c4.png

Spowoduje to utworzenie nowego pliku manifestu appsscript.json.

1081c738d5d577a6.png

Zastąp plik appscript.json tym:

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! Udało Ci się utworzyć pierwsze społecznościowe oprogramowanie sprzęgające i jest ono gotowe do jazdy próbnej.

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

Korzystanie z wdrożenia

Krok 1. W środowisku programistycznym Apps Script kliknij Deploy (Wdróż) > Testuj wdrożenia, aby otworzyć okno „Testuj wdrożenia”.

3f57ea0feceb2596.png

Na liście widoczne będzie wdrożenie domyślne, nadrzędne wdrożenie.

Krok 2. Kliknij Kopiuj, aby skopiować identyfikator wdrożenia nagłówka.

Krok 3. Aby wczytać oprogramowanie sprzęgające w Looker Studio, zastąp <HEAD_DEPLOYMENT_ID> za pomocą podanego niżej linku, podając identyfikator wdrożenia nagłówka oprogramowania sprzęgającego i kliknij odpowiedni link w przeglądarce:

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

Autoryzuj oprogramowanie sprzęgające

Użytkownicy Looker Studio po raz pierwszy: jeśli po raz pierwszy korzystasz z Looker Studio, pojawi się prośba o autoryzację Looker Studio i zaakceptowanie warunków korzystania z usługi. Ukończ proces autoryzacji. Gdy po raz pierwszy używasz Looker Studio, może się też pojawić okno z prośbą o aktualizację preferencji marketingowych. Zarejestruj się, by otrzymywać e-maile z informacjami o usługach, aby otrzymywać e-maile z najnowszymi funkcjami, aktualizacjami i nowościami.

Po załadowaniu zobaczysz prośbę o autoryzację oprogramowania sprzęgającego.

d7e66726a1e64c05.png

Kliknij Autoryzuj i podaj wymaganą autoryzację do oprogramowania sprzęgającego.

Konfigurowanie oprogramowania sprzęgającego

Po zakończeniu autoryzacji wyświetli się ekran konfiguracji. Wpisz „latarnia morska” w obszarze wprowadzania tekstu i w prawym górnym rogu kliknij Połącz.

ec7416d6dbeabc8f.png

Potwierdź schemat

Pojawi się ekran z polami. W prawym górnym rogu kliknij Utwórz raport.

4a9084bd51d2fbb8.png

Tworzenie panelu informacyjnego

Będziesz w środowisku panelu Looker Studio. Kliknij Dodaj do raportu.

1ca21e327308237c.png

Za każdym razem, gdy użytkownik uzyskuje dostęp do oprogramowania sprzęgającego i dodaje nową konfigurację w Looker Studio, na jego koncie Looker Studio tworzone jest nowe źródło danych. Źródło danych można traktować jako wystąpienie oprogramowania sprzęgającego oparte na określonej konfiguracji. Na podstawie oprogramowania sprzęgającego i konfiguracji wybranej przez użytkownika źródło danych zwraca tabelę danych z określonym zestawem pól. Za pomocą tego samego oprogramowania sprzęgającego użytkownicy mogą utworzyć wiele źródeł danych. Źródła danych można używać 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 > Seria czasowa. Następnie umieść ciąg czasowy w obszarze roboczym. Powinien wyświetlić się wykres z serią czasową pokazujący liczbę pobrań npm dla wybranego pakietu. Dodaj opcję filtra daty i wyświetl panel w sposób pokazany poniżej.

4c076e07665f57aa.gif

Znakomicie. Udało Ci się utworzyć pierwsze społecznościowe oprogramowanie sprzęgające. To już koniec tego ćwiczenia z programowania. Teraz zobaczmy, co jeszcze możesz zrobić.

14. Dalsze kroki

Popraw utworzone oprogramowanie sprzęgające

Wprowadź ulepszenia we właśnie utworzonym oprogramowaniu sprzęgającym:

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

Więcej możliwości dzięki społecznościowego oprogramowania sprzęgającego

Dodatkowe materiały

Poniżej znajdziesz różne materiały, z których możesz skorzystać, aby lepiej zapoznać się z materiałami omówionymi w tym ćwiczeniu.

Typ zasobu

Funkcje użytkownika

Funkcje dla programistów

Dokumentacja

Centrum pomocy

Dokumentacja dla programistów

Wiadomości i Aktualizacje

Zarejestruj się w Looker Studio > Ustawienia użytkownika

Lista adresowa dewelopera

Zadawaj pytania

Forum użytkowników

Stack Overflow [looker-studio]

Filmy

DataVis DevTalk

Przykłady

Repozytorium open source