Wizualizacja danych Statystyk Miejsc w Studiu danych

Przegląd

Diagram przepływu pracy ilustrujący wysyłanie przez Data Studio dynamicznych parametrów dotyczących miasta, dnia i godziny do Statystyk miejsc w BigQuery w celu wygenerowania geoprzestrzennej mapy gęstości.

Z tego dokumentu dowiesz się, jak tworzyć dynamiczne raporty geoprzestrzenne za pomocą Statystyk miejsc i Studia danych. Wykorzystaj potencjał danych o lokalizacji, umożliwiając osobom niezajmującym się kwestiami technicznymi samodzielne uzyskiwanie odpowiedzi na pytania. Z tego przewodnika dowiesz się, jak przekształcić statyczne raporty w interaktywne narzędzia do analizy rynku w stylu mapy cieplnej bez konieczności pisania kodu SQL dla każdego zapytania. Umożliwiaj dostęp do złożonych danych o lokalizacji, aby zlikwidować lukę między inżynierią danych a analizą biznesową.

Przyjęcie tego wzorca architektury zapewnia kilka kluczowych korzyści:

  • Wizualna reprezentacja danych: przekształca dane Statystyk miejsc w interaktywne mapy i wykresy, które natychmiast informują o gęstości przestrzennej i trendach.
  • Uproszczona eksploracja bez SQL: umożliwia członkom zespołu, takim jak analitycy rynku czy planiści nieruchomości, dynamiczne filtrowanie danych za pomocą predefiniowanych parametrów (np. zmiana „Miasta” lub „Pory dnia” za pomocą menu). Mogą oni eksplorować dane bez konieczności pisania choćby jednej linijki kodu SQL.
  • Bezproblemowa współpraca: standardowe funkcje udostępniania Studia danych umożliwiają bezpieczne rozpowszechnianie tych interaktywnych statystyk.

Przebieg rozwiązania

Ten przebieg tworzy wydajną architekturę raportowania. Przechodzi od statycznej wartości bazowej do w pełni dynamicznej aplikacji, zapewniając poprawność danych przed wprowadzeniem złożoności.

Wymagania wstępne

Zanim zaczniesz, wykonaj te instrukcje, aby skonfigurować Statystyki miejsc. Będziesz potrzebować dostępu do Studia danych, które jest bezpłatnym narzędziem.

Krok 1. Ustal statyczną wartość bazową geoprzestrzenną

Zanim wprowadzisz interaktywność, utwórz zapytanie podstawowe i upewnij się, że jest ono prawidłowo renderowane w Studiu danych. Użyj Statystyk miejsc i funkcji geoprzestrzennych BigQuery, aby agregować dane w siatki sześciokątne za pomocą systemu indeksowania H3. Spowoduje to wygenerowanie danych wyjściowych zapytania, których można użyć do wizualizacji za pomocą typu mapy kartogramu w Studiu danych.

1.1 Łączenie danych

Aby nawiązać połączenie początkowe, użyj tego zapytania statycznego. Kieruje ono na stałą lokalizację (Londyn) i kategorię (Restauracje), aby zweryfikować potok danych.

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    -- Note: Change 'gb' to your target country code (e.g., 'us')
    `places_insights___gb.places`
  WHERE
    'London' IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

Uwaga dotycząca agregacji przestrzennej

To zapytanie używa funkcji z CARTO Analytics Toolbox (carto-os) dostępnej publicznie w Google Cloud BigQuery. Funkcja H3_FROMGEOGPOINT przekształca określone punkty lokalizacji w komórki H3, czyli system, który dzieli świat na sześciokątne komórki siatki.

Używamy tej transformacji, ponieważ kartogram w Studiu danych wymaga do renderowania kolorów wielokątów (kształtów). Dzięki przekształceniu punktów w kształty sześciokątne możemy wizualizować gęstość firm w określonym obszarze, a nie rysować tysięcy nakładających się kropek.

Uwaga dotycząca progu agregacji

Wszystkie zapytania Statystyk miejsc wymagają klauzuli WITH AGGREGATION_THRESHOLD. Ta ochrona prywatności zapewnia, że dane są zwracane tylko wtedy, gdy zagregowana liczba jest równa 5 lub większa.

W kontekście tej wizualizacji, jeśli komórka siatki H3 zawiera mniej niż 5 restauracji, jest ona całkowicie pomijana w zbiorze wyników i będzie pusta na mapie.

Aby zaimplementować to w Studiu danych:

  1. Utwórz nowy pusty raport.
  2. Jako łącznik danych wybierz BigQuery.
  3. W menu po lewej stronie kliknij ZAPYTANIE NIERUTYNOWE i wybierz identyfikator projektu rozliczeniowego.
  4. Wklej do edytora zapytanie podstawowe statyczne podane powyżej.
  5. Wyczyść parametry Użyj starszej wersji SQL, Włącz zakres dat i Włącz adres e-mail osoby przeglądającej.
  6. Kliknij Dodaj.

1.2 Konfigurowanie wizualizacji geoprzestrzennej

Po połączeniu danych skonfiguruj Studio danych tak, aby prawidłowo rozpoznawało dane graniczne H3:

  1. W menu Dodaj wykres dodaj do obszaru roboczego raportu wizualizację Kartogram.
  2. Upewnij się, że pole h3_geo, które zawiera geometrię wielokąta, ma ustawiony typ danych Geoprzestrzenne.
    1. Obok nazwy połączenia kliknij ikonę Edytuj źródło danych (ołówka).
    2. Jeśli pole h3_geo ma ustawiony typ Tekst (ABC), w menu wybierz kolejno Dane geograficzne > Geoprzestrzenne.
    3. Kliknij Gotowe.
  3. Przypisz pole h3_index do Lokalizacji (pełniącej rolę unikalnego identyfikatora).
  4. Przypisz pole h3_geo do Pola geoprzestrzennego (pełniącego rolę geometrii wielokąta).
  5. Przypisz pole restaurant_count do Dane koloru.

Spowoduje to wyrenderowanie mapy gęstości restauracji według komórki H3. Ciemniejszy niebieski (domyślny kolor) oznacza komórkę z większą liczbą restauracji.

Wypełniona mapa Londynu z nałożoną na nią siatką sześciokątną, na której ciemniejsze niebieskie komórki wskazują większe zagęszczenie restauracji. Legenda wskazuje liczbę gęstości w zakresie od 5 do 1215.

Krok 2. Wdrażanie parametrów dynamicznych

Aby raport był interaktywny, dodamy do niego elementy sterujące, które umożliwią użytkownikowi wybór spośród tych opcji:

  • Lokalizacja: określa miasto, na którym skupia się raport.
  • Dzień tygodnia: filtruje miejsca na podstawie dnia, w którym są otwarte, korzystając z rekordu regular_opening_hours w schemacie.
  • Godzina: filtruje miejsca na podstawie godzin otwarcia, porównując je z polami start_time i end_time.

Aby to osiągnąć, przekażesz parametry wybrane przez użytkownika bezpośrednio do zmodyfikowanego zapytania Statystyk miejsc w czasie wykonywania. W edytorze źródła danych Studia danych musisz jawnie zdefiniować te parametry jako zmienne z typami.

W Studiu danych kliknij menu Zasób , a następnie Zarządzaj dodanymi źródłami danych. W wyświetlonym panelu kliknij EDIT obok źródła danych BigQuery – niestandardowy SQL, które zostało dodane wcześniej.

W oknie Edytuj połączenie kliknij DODAJ PARAMETR. Dodamy 3 parametry z wartościami podanymi poniżej.

Nazwa parametru Typ danych Dozwolone wartości Lista wartości (musi dokładnie odpowiadać bazie danych)
p_locality Tekst Lista wartości
Wartość Etykieta
London Londyn
Manchester Manchester
Birmingham Birmingham
Glasgow Glasgow
p_day_of_week Tekst Lista wartości
Wartość Etykieta
monday Poniedziałek
tuesday Tuesday (wtorek)
wednesday Wednesday (środa)
thursday Thursday (czwartek)
friday Friday (piątek)
saturday Saturday (sobota)
sunday Niedziela
p_hour_of_day Tekst Lista wartości
Wartość Etykieta
03:00:00 3:00–4:00
08:00:00 8:00–9:00
19:00:00 19:00–20:00

Przykładowa konfiguracja parametru p_hour_of_day.

Interfejs konfiguracji parametru p_hour_of_day z sekcją listy wartości, w której ciągi czasu są mapowane na czytelne etykiety.

W przypadku parametru p_hour_of_day zwróć szczególną uwagę na kolumnę Value. Ponieważ zapytanie SQL używa CAST(@p_hour_of_day AS TIME), wartości przekazywane ze Studia danych muszą być w formacie HH:MM:SS (zegar 24-godzinny).

Po skonfigurowaniu i zapisaniu wszystkich 3 parametrów zmodyfikuj połączenie BigQuery – niestandardowy SQL, aby odwoływać się do tych zmiennych za pomocą składni @.

Aby to zrobić, kliknij Edytuj połączenie i wklej zmodyfikowane zapytanie poniżej:

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    `places_insights___gb.places`
  WHERE
    -- Dynamic locality filter based on parameter
    @p_locality IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
    AND business_status = 'OPERATIONAL'
    AND EXISTS (
      SELECT 1
      FROM UNNEST(
        CASE @p_day_of_week
          WHEN 'monday' THEN regular_opening_hours.monday
          WHEN 'tuesday' THEN regular_opening_hours.tuesday
          WHEN 'wednesday' THEN regular_opening_hours.wednesday
          WHEN 'thursday' THEN regular_opening_hours.thursday
          WHEN 'friday' THEN regular_opening_hours.friday
          WHEN 'saturday' THEN regular_opening_hours.saturday
          WHEN 'sunday' THEN regular_opening_hours.sunday
        END
      ) AS hours
      WHERE hours.start_time <= CAST(@p_hour_of_day AS TIME)
        AND hours.end_time >= TIME_ADD(CAST(@p_hour_of_day AS TIME), INTERVAL 1 HOUR)
    )
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

Aby zapisać zmiany, kliknij Połącz ponownie. W zmodyfikowanym zapytaniu zwróć uwagę na nowe zmienne, takie jak @p_hour_of_day, które odpowiadają nazwom parametrów ustawionym przed chwilą.

Aby udostępnić te parametry użytkownikowi końcowemu, wróć do obszaru roboczego raportu:

  1. Dodaj do raportu 3 elementy sterujące Lista rozwijana.
  2. W przypadku każdego elementu sterującego ustaw Pole sterujące tak, aby odpowiadało nowo utworzonym parametrom:
    • Element sterujący 1: p_locality
    • Element sterujący 2: p_day_of_week
    • Element sterujący 3: p_hour_of_day

Gotowy raport powinien wyglądać tak: Zmiana wartości w jednym z elementów sterujących listy rozwijanej spowoduje, że Studio danych pobierze żądane dane ze Statystyk miejsc przed wizualizacją na mapie.

Końcowy interaktywny raport przedstawiający mapę gęstości restauracji w Glasgow z 3 filtrami w postaci menu u góry. Menu godziny dnia jest rozwinięte i wyświetla zakresy czasu, które można wybrać.

Krok 3. Udostępnianie wyników

Aby udostępnić raport, użyj narzędzia do udostępniania wbudowanego w Studio danych. Umożliwi to osobom przeglądającym dynamiczne aktualizowanie wizualizacji na podstawie parametrów wybranych z list rozwijanych.

Podsumowanie

Ten wzorzec tworzy skalowalne, interaktywne narzędzie do raportowania, które wykorzystuje moc obliczeniową BigQuery do udostępniania zagregowanych danych Statystyk miejsc w Studiu danych. Ta architektura pozwala uniknąć pułapek związanych z wizualizacją ogromnych zbiorów danych pierwotnych i zapewnia użytkownikom końcowym elastyczność w zakresie eksplorowania danych w różnych wymiarach, takich jak czas, lokalizacja i typ firmy, w czasie zbliżonym do rzeczywistego. Jest to zaawansowane narzędzie, które zapewnia osobom niezajmującym się kwestiami technicznymi elastyczność w zakresie eksplorowania danych.

Następne kroki

Poznaj inne warianty raportów dynamicznych, parametryzując różne części schematu Statystyk miejsc:

  • Dynamiczna analiza konkurencji: utwórz parametr nazw brand, aby umożliwić użytkownikom natychmiastowe przełączanie mapy cieplnej między różnymi konkurentami i sprawdzanie ich względnego nasycenia na rynku. Informacje o dostępności danych o marce znajdziesz w artykule Informacje o danych Statystyk miejsc data.
  • Interaktywny wybór lokalizacji: dodaj parametry price_level (np. „Średnia” lub „Droga”) i minimalną rating, aby umożliwić zespołom ds. nieruchomości dynamiczne filtrowanie obszarów pasujących do określonych profili demograficznych.
  • Niestandardowe obszary zasięgu: zamiast filtrować według nazwy miasta, umożliw użytkownikom definiowanie niestandardowych obszarów badań.
    • Na podstawie promienia: utwórz 3 parametry liczbowe: p_latitude, p_longitude i p_radius_meters. Współrzędne można uzyskać za pomocą interfejsów API Google Maps Platform, w tym interfejsu Geocoding API. W zapytaniu wstaw je do funkcji ST_DWITHIN:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • Na podstawie wielokąta: w przypadku złożonych kształtów niestandardowych (np. obszarów sprzedaży) użytkownicy nie mogą łatwo wprowadzać tekstu geometrii. Zamiast tego utwórz w BigQuery tabelę przeglądową zawierającą geometrie kształtów i przyjazną nazwę (np. „Strefa A”). Utwórz w Studiu danych parametr tekstowy p_zone_name, aby umożliwić użytkownikom wybór strefy, i użyj podzapytania, aby pobrać geometrię dla funkcji ST_CONTAINS.

Współtwórcy