Skip to Content
Panele IoTPowiązanie danych

Powiązanie danych

Powiązanie danych to most między bazą danych projektu a widżetami na panelach IoT. Niemal każdą konfigurowalną właściwość widżetu — jego tytuł, wartości, kolory, serie wykresu, zakresy wskaźników — można dynamicznie zasilać danymi na żywo z TimescaleDB Twojego projektu. Ta strona wyjaśnia, jak podłączyć kolumny tabel do właściwości widżetów i jak dopracować dane za pomocą filtrów.

Szersze spojrzenie na to, jak dane docierają do bazy danych projektu, znajdziesz w przeglądzie obsługi danych.

Dwa sposoby powiązania danych

IronFlock Board Studio obsługuje dwa podstawowe tryby powiązania:

  1. Referencje wartości — wiążą pojedynczą wartość skalarną (najnowszy rekord z kolumny) z właściwością widżetu.
  2. Referencje tabel — wiążą cały zestaw wyników (wiele wierszy) z właściwością widżetu, która oczekuje tablicy.

Oba tryby obsługują filtrowanie i zapewniają aktualizacje w czasie rzeczywistym: gdy tylko nowe wiersze trafią do bazy danych projektu, powiązane właściwości widżetu aktualizują się automatycznie, bez odpytywania.

Referencje wartości

Większość pól konfiguracyjnych widżetu oczekuje pojedynczej wartości — tytułu, wyświetlanej liczby, koloru, etykiety statusu itp. W edytorze widżetów pod tymi polami znajduje się mały przełącznik wiązania danych.

Gdy włączysz przełącznik i klikniesz pole, otworzy się menu rozwijane z wszystkimi dostępnymi danymi w Twojej bazie danych projektu. Możesz:

  1. wybrać tabelę z bazy danych projektu;
  2. wybrać kolumnę w tej tabeli do powiązania z właściwością.

Przykład: możesz powiązać pole Tytuł widżetu wskaźnika z kolumną name w tabeli machine lub pole Wartość widżetu liczbowego z najnowszą wartością temperature w tabeli sensor_data.

Najnowsza wartość

Referencja wartości zawsze zapewnia najnowszą pojedynczą wartość z wybranej kolumny. “Najnowsza” jest określana przez obowiązkową kolumnę tsp — każda tabela w bazie danych projektu ma kolumnę znacznika czasu tsp, a wygrywa wiersz z największym tsp.

Ikona filtra

Gdy powiążesz kolumnę z właściwością widżetu, obok przełącznika danych pod polem pojawia się mała ikona filtra. Kliknięcie jej otwiera okno dialogowe, w którym można skonfigurować filtry, aby zawęzić, które wiersze są uwzględniane podczas wyodrębniania wartości. Zobacz Konfiguracja filtra poniżej.

Referencje tabel

Niektóre widżety oczekują tablicy wartości, a nie wartości skalarnej. Na przykład widżet wykresu potrzebuje wielu punktów (x, y) do narysowania linii, a widżet tabeli potrzebuje wielu wierszy.

W takich miejscach edytor widżetu wyświetla zarówno przycisk Dodaj obok etykiety pola (do ręcznego dodawania elementów tablicy), jak i przełącznik wiązania danych.

  • Tryb ręczny: klikaj Dodaj, aby dodać elementy jeden po drugim, z wartościami statycznymi.
  • Tryb wiązania danych: przełącz przełącznik, aby powiązać tablicę z tabelą. Po wybraniu tabeli każdy wiersz pasujący do Twoich kryteriów staje się jednym elementem w tablicy.

Ikona filtra obok przełącznika danych pozwala zawęzić, które wiersze są zwracane, aby pasowały do Twoich wymagań — zobacz Konfiguracja filtra.

Mapowanie kolumn na pola elementów tablicy

Gdy wiązanie referencji tabeli jest aktywne, konfigurujesz szablon pojedynczego elementu tablicy, używając wartości z podłączonej tabeli. W przypadku wykresu liniowego element potrzebuje wartości x i y — obie mogą być zasilane danymi, wybierając, która kolumna z powiązanej tabeli zasila każdą oś. Każdy wiersz w przefiltrowanym zestawie wyników jest renderowany na wykresie przy użyciu tego mapowania.

Ten sam wzorzec dotyczy każdego widżetu, który przyjmuje tablicę: wykresy słupkowe, tabele, listy, mapy cieplne itd.

Konfiguracja filtra

Filtry zawężają, które wiersze są używane do referencji wartości lub tabeli. Sekcje okna dialogowego działają w kolejności, w jakiej są wyświetlane — a jest to również kolejność, w jakiej stosuje je baza danych projektu:

Okno konfiguracji filtra pokazujące ustawienia okna czasowego, dowolne filtry kolumn i limit wierszy

1. Ruchome okno czasowe

Skonfiguruj, jak rekordy są filtrowane według czasu:

  • Okno przewijane — pokazuj tylko wiersze z ostatnich N minut, godzin, dni itd., w stosunku do teraz.
  • Niestandardowe okno czasowe — podaj nazwy parametru początkowego i parametru końcowego. Te nazwy parametrów są zasilane w czasie wykonywania przez widżet kalendarza, pozwalając użytkownikom końcowym wybrać zakres czasu na panelu.

2. Dowolne filtry kolumn

Dodaj dowolną liczbę filtrów na poziomie kolumny, używając jednego z następujących źródeł wartości:

  • Wartości stałe — zakodowana na stałe wartość (np. status = 'active').
  • Parametry filtra — wartości zasilane przez URL z widżetów filtra.
  • Segmenty ścieżki routingu — wartości wyodrębnione z URL bieżącej strony za pośrednictwem widżetów nawigacyjnych.

3. Agregacja

Domyślnie powiązanie zwraca surowe wiersze. Przełącz je na Agregowane w czasie, a baza danych projektu pogrupuje wybrane rekordy w przedziały czasowe — albo w kategorie — i zwróci jedną obliczoną wartość na grupę: średnie godzinowe, rekordy na maszynę, sumę dzisiejszego dnia.

Ponieważ filtry działają przed tym krokiem, to one decydują, które rekordy trafią do którego przedziału. Agregacja jest w całości opisana na osobnej stronie: zobacz Agregacja i downsampling.

4. Limit wierszy

Ustaw górny limit liczby wierszy zwracanych dla widżetu. Limit nie może przekraczać 3000 — ten pułap chroni zarówno przeglądarkę, jak i bazę danych projektu przed nadmiernie dużymi zestawami wyników.

W przypadku powiązania zagregowanego liczba zwracanych przedziałów wynika z czegoś innego (z szerokości widżetu albo z wybranego przez Ciebie interwału), a limit wierszy działa już tylko jako zabezpieczenie awaryjne.

Wszystkie sekcje łączą się: okno czasowe zawęża zakres czasu, filtry kolumn dalej dopracowują wiersze, agregacja redukuje je do jednej wartości na przedział, a limit wierszy ogranicza ostateczny wynik.

Wybieranie pól z kolumn JSON

Baza danych projektu obsługuje kolumny JSON dla danych niestrukturyzowanych lub półstrukturyzowanych — ładunki telemetryczne urządzeń, blobs konfiguracyjne, rekordy zagnieżdżone.

Gdy wiążesz kolumnę JSON z właściwością widżetu, pojawia się dodatkowe pole wejściowe umożliwiające określenie ścieżki do pola liścia w strukturze JSON. Ścieżka używa standardowej notacji obiektów JavaScript:

sensor.temperature payload.items.0.value metadata.location.city

Widżet wyodrębnia wartość pod tą ścieżką z każdego rekordu. Działa to zarówno dla referencji wartości (liść z najnowszego rekordu JSON), jak i dla referencji tabel (liść z każdego wiersza).

Podsumowanie

  • Używaj referencji wartości dla właściwości skalarnych (tytuły, wartości, kolory) — otrzymasz najnowszą wartość według tsp.
  • Używaj referencji tabel dla właściwości tablicowych (serie wykresów, tabele, listy) — mapując kolumny na pola elementów tablicy.
  • Używaj okna dialogowego filtra, aby dopracować wiersze według okna czasowego, filtrów kolumn i limitu wierszy (maks. 3000).
  • Przełącz powiązanie na zagregowane, gdy zamiast rekordów potrzebujesz obliczonych wartości — zobacz Agregacja i downsampling.
  • Używaj notacji ścieżki JSON, aby zagłębić się w niestrukturyzowane kolumny JSON.
Last updated on