Typy danych i semantyki

Podczas tworzenia społecznościowego oprogramowania sprzęgającego każde pole zdefiniowane w schemacie wymaga typu danych. Typ danych określa typ podstawowy pola, np. BOOLEAN, STRING, NUMBER itp.

Oprócz typów danych Studio danych korzysta też z typów semantycznych. Typy semantyczne pomagają opisywać rodzaj informacji, które reprezentują dane. Na przykład pole z NUMBER może semantycznie reprezentować kwotę w walucie lub wartość procentową, a pole z STRING może semantycznie reprezentować miasto. Aby sprawdzić, które typy semantyczne są dostępne, zapoznaj się z dokumentacją typów semantycznych.

Schemat społecznościowego oprogramowania sprzęgającego i pola Studia danych

Podczas definiowania schematu społecznościowego oprogramowania sprzęgającego dla każdego pola możesz określić różne właściwości, które będą decydować o tym, jak pole jest reprezentowane i używane w Studio danych. Na przykład:

  • Element conceptType jest zdefiniowany w schemacie oprogramowania sprzęgającego za pomocą właściwości conceptType. Ta właściwość określa, czy pole jest traktowane jako wymiar czy rodzaj danych. Wyjaśnienie różnicy między danymi a wymiarami znajdziesz w artykule Wymiary i dane.
  • Typ semantyczny można zdefiniować w schemacie łącznika lub może on zostać automatycznie wykryty przez Studio danych na podstawie właściwości typ danych zdefiniowanej w łączniku oraz wartości danych zwracanych przez łącznik. Więcej informacji o tym, jak to działa, znajdziesz w artykule Automatyczne wykrywanie typu semantycznego.
  • Rodzaj grupowania określa, czy wartości danych (wymiary są ignorowane) można ponownie zgrupować. Ustawienie właściwości semantics.isReaggregatable na true spowoduje domyślne ustawienie agregacji SUM, w przeciwnym razie zostanie ona ustawiona na Auto. Możesz też ręcznie ustawić domyślny rodzaj grupowania dla pól, które można ponownie grupować, za pomocą właściwości defaultAggregationType.

Gdy skonfigurujesz połączenie za pomocą łącznika w Studio danych, w edytorze pól zobaczysz pełny schemat łącznika na podstawie zdefiniowanych powyżej właściwości. Jeśli uwzględnisz typy semantyczne, będą one wyświetlane zgodnie z Twoimi ustawieniami. Jeśli używasz automatycznego wykrywania typu semantycznego, pola będą wyświetlane tak, jak zostały wykryte. Ekran pól

Ustawianie informacji semantycznych

Informacje semantyczne można ustawić na 2 sposoby. Semantykę pól możesz ustawić ręcznie lub zdać się na automatyczne wykrywanie przez Studio danych.

Jeśli na przykład masz liczbę, która semantycznie reprezentuje dolary amerykańskie, Studio danych nie będzie w stanie automatycznie wykryć tego typu semantycznego. Automatyczne wykrywanie semantyczne wymaga też, aby Studio danych wykonywało wywołania pobierania danych dla każdego pola schematu. Jeśli zamiast tego ręcznie określisz schemat, nie zostaną wykonane żadne wywołania pobierania danych. Jeśli znasz typ semantyczny danych (np. waluta, procent, data itp.), zalecamy jego wyraźne ustawienie w schemacie ze względu na dokładność i wydajność.

Ręczne ustawianie typów semantycznych (zalecane)

Jeśli znasz typy semantyczne, możesz ręcznie zdefiniować semantics dla każdego pola schematu. Szczegółowe informacje o dostępnych właściwościach znajdziesz na stronie z informacjami o polach. Jeśli zdecydujesz się zdefiniować ręczne typy semantyczne, zalecamy zdefiniowanie semanticTypesemanticGroup dla każdego pola. Jeśli podasz te właściwości ręcznie, automatyczne wykrywanie typu semantycznego nie zostanie uruchomione. Jeśli ręcznie ustawisz niektóre pola, ale nie wszystkie, te, których nie określisz, będą miały domyślnie wartość Text, Number lub Boolean w zależności od wartości dataType określonej dla pola.

Poniżej znajdziesz przykład prostego schematu, w którym ręcznie ustawiono typy semantyczne. Income jest ustawiony jako waluta, a Filing Year jako data.

data-studio/semantics.gs
const schema = [
  {
    name: "Income",
    label: "Income (in USD)",
    dataType: "NUMBER",
    semantics: {
      conceptType: "METRIC",
      semanticGroup: "CURRENCY",
      semanticType: "CURRENCY_USD",
    },
  },
  {
    name: "Filing Year",
    label: "Year in which you filed the taxes.",
    dataType: "STRING",
    semantics: {
      conceptType: "METRIC",
      semanticGroup: "DATE_OR_TIME",
      semanticType: "YEAR",
    },
  },
];

Rozwiązywanie problemów z ręcznymi typami semantycznymi

Jeśli nieprawidłowo ustawisz typy semantyczne dla danych źródłowych, nie będą one działać prawidłowo. Może to być trudne do sprawdzenia, ale możesz wykonać kilka czynności, które pomogą Ci znaleźć problemy.

  1. Zamiast wszystkich danych zwróć 2 lub 3 wiersze, a następnie sprawdź je ręcznie.
  2. Utwórz w Looker Studio tabelę, która będzie zawierać tylko pole, które chcesz sprawdzić.
  3. Zwróć szczególną uwagę na pola GeoDate, ponieważ mają one najbardziej rygorystyczny format.

Automatyczne wykrywanie typu semantycznego

Jeśli nie zdefiniujesz żadnych typów semantycznych w schemacie, Studio danych spróbuje wykryć je automatycznie na podstawie właściwości data type i formatu wartości danych zwracanych przez łącznik.

Proces automatycznego wykrywania przebiega w ten sposób:

  1. Poproś o schemat, wykonując funkcję getSchema społecznościowego oprogramowania sprzęgającego.
  2. Iteruj po partiach pól zdefiniowanych w schemacie oprogramowania sprzęgającego i wysyłaj żądania getData dotyczące tych pól. Żądania getData są wykonywane z parametrem sampleExtraction ustawionym na true, co oznacza, że żądania danych służą do wykrywania semantycznego.
  3. Na podstawie typu danych pola i formatu wartości zwróconej z żądania getData określ typ semantyczny pola.

Opcje obsługi automatycznego wykrywania typu semantycznego

Gdy Studio danych wykonuje funkcję getData społecznościowego oprogramowania sprzęgającego na potrzeby wykrywania semantycznego, przychodzące żądanie zawiera właściwość sampleExtraction, która jest ustawiona na true. Dane zwracane przez oprogramowanie sprzęgające są używane przez Studio danych tylko do określania typu semantycznego pola. Wartość nie będzie używana do żadnych innych celów, więc nie wymaga rzeczywistych danych ze źródła zewnętrznego.

Istnieje kilka sposobów na poprawę wykrywania typu semantycznego w kodzie:

  • Zalecane: przekazywanie wstępnie zdefiniowanych wartości
    Zwróć wstępnie zdefiniowaną wartość dla każdego pola, która najlepiej reprezentuje typ semantyczny pola i jest prawidłowo wykrywana przez Studio danych. Jeśli np. typ semantyczny pola to Country, zwróć wartość taką jak IT w przypadku Włoch. Kolejną zaletą tego podejścia jest to, że jest ono znacznie szybsze, ponieważ nie wymaga wysyłania żądań HTTP do usługi innej firmy w celu uzyskania danych.

  • Zwracaj tylko n rekordów
    Jeśli usługa innej firmy, z której pobierasz dane, obsługuje limity wierszy podczas wysyłania żądań danych, zwracaj do Studia danych mały podzbiór wierszy zamiast pełnego zbioru danych. Ograniczy to ilość danych, które musisz przekazywać do Studio danych w przypadku każdego żądania wykrywania semantycznego.

  • Poproś o wszystkie kolumny i zapisz odpowiedź w pamięci podręcznej
    Jeśli można poprosić o wszystkie kolumny w usłudze zewnętrznej, z której pobierasz dane, to w przypadku pierwszego żądania wykrywania semantycznego otrzymanego ze Studia danych pobierz wszystkie kolumny i zapisz wyniki w pamięci podręcznej. W przypadku kolejnych żądań wykrywania semantycznego pobieraj wartości kolumn z pamięci podręcznej zamiast wysyłać dodatkowe żądania HTTP do usługi innej firmy.

  • Nie rób niczego innego
    Możesz nie wprowadzać żadnych konkretnych zmian w przypadku żądań, w których parametr sampleExtraction ma wartość true. Spowoduje to spowolnienie procesu wykrywania semantycznego, ponieważ Studio danych będzie musiało pobrać wszystkie dane na potrzeby tego procesu. Wpłynie to też na częstotliwość wniosków do zewnętrznego źródła danych, ponieważ wiele żądań wykrywania semantycznego będzie wykonywanych równolegle.

Rozpoznawane formaty automatycznego wykrywania typu semantycznego

Data i godzina
  • YYYY/MM/DD-HH:MM:SS
  • YYYY-MM-DD [HH:MM:SS[.uuuuuu]]
  • YYYY/MM/DD [HH:MM:SS[.uuuuuu]]
  • YYYYMMDD [HH:MM:SS[.uuuuuu]]
  • Sat, 24 May 2008 20:09:47 GMT
  • 2008-05-24T20:09:47Z
  • Czas: epoka w przypadku sekund, mikrosekund, milisekund i nanosekund.
Geo