> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/analytics/id/explorer-for-iotquery/custom-analysis-sql-configurator.md).

# Analisis kustom & Konfigurator SQL

Tulis kueri PostgreSQL terhadap data armada, telusuri seluruh skema basis data, dan buat visualisasi kustom di Konfigurator SQL

Ini **Konfigurator analisis kustom & SQL** memungkinkan akses langsung ke basis data untuk analisis armada kustom di luar laporan standar. Tulis kueri SQL, jelajahi seluruh dataset Anda, dan buat visualisasi interaktif dalam satu antarmuka terpadu.

## Ikhtisar antarmuka

<figure><img src="https://1696125515-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoFNFEIINiGFbhi3Px3dE%2Fuploads%2Fgit-blob-6305c657612527db9d558268aef91422af45da63%2FSQL-configurator-and-visualization.webp?alt=media" alt="Database Schema browser showing raw_business_data and raw_telematics_data schemas with expandable table lists, SQL Query Execution panel with query input area and results display, and Visualization tab for chart creation"><figcaption></figcaption></figure>

Ruang kerja dari **Konfigurator SQL** terdiri dari 3 bagian utama:

1. **Peramban skema basis data** - Lihat struktur tabel dan klik skema untuk penjelajahan hubungan interaktif di dbdiagram.io
2. **Panel eksekusi kueri SQL** - Tulis kueri PostgreSQL dan lihat hasil dengan umpan balik langsung
3. **Antarmuka visualisasi interaktif** - Ubah hasil kueri menjadi diagram menggunakan fungsi seret dan lepas

## Struktur data Anda

{% hint style="info" %}
**Dampak konfigurasi**: Sistem Anda memproses kategori data yang berbeda berdasarkan pengaturan konfigurasi. Jika tabel yang diharapkan tampak tidak tersedia, periksa pengaturan kategori data Anda di [konfigurasi sistem](/docs/analytics/id/explorer-for-iotquery/settings-and-configuration.md).
{% endhint %}

Data PTL Anda muncul melalui dua skema utama yang diorganisasi berdasarkan sumber dan tujuan:

| **raw\_business\_data**                                                                                                                                                                                                                                                                                                                                                       | **raw\_telematics\_data**                                                                                                                                                                                                                                                                                                                               |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>Informasi organisasi dan operasional.<br><br>- <strong>Entitas inti:</strong> pengguna, perangkat, objek, kendaraan, karyawan<br>- <strong>Data operasional:</strong> tugas, formulir, zona, area, garasi<br>- <strong>Data referensi:</strong> model, entitas, informasi status<br>- <strong>Tabel relasi:</strong> penetapan kendaraan-supir, pemetaan pengguna-zona</p> | <p>Pelacakan GPS waktu nyata, pembacaan sensor, dan Status perangkat<br><br>- <strong>tracking\_data\_core:</strong> koordinat GPS, kecepatan, ketinggian, data kejadian<br>- <strong>inputs:</strong> Pembacaan sensor (Bahan bakar, suhu, tegangan)<br>- <strong>states:</strong> Indikator Status perangkat (Pengapian, pintu, mode operasional)</p> |

{% hint style="info" %}
Untuk detail tentang skema data yang tersedia di **IoT Query**, lihat [Ikhtisar skema](/docs/analytics/id/iot-query/schema-overview.md).
{% endhint %}

## Membuat visualisasi dari hasil kueri

Ubah hasil kueri SQL Anda menjadi visualisasi interaktif melalui alur kerja terstruktur:

{% stepper %}
{% step %}
Verifikasi konfigurasi data

Periksa bahwa semua kategori data yang diperlukan diaktifkan dalam pengaturan sistem Anda:

1. Buka **Konfigurasi PTL** di bilah sisi kiri
2. Verifikasi bahwa kategori data yang diperlukan (**Data pelacakan**, **Input**, **Status**) diaktifkan untuk kebutuhan analisis Anda
3. Jika diperlukan perubahan, perbarui konfigurasi dan pertimbangkan untuk menjalankan pemuatan data historis agar berlaku surut
   {% endstep %}

{% step %}
Kembangkan dan jalankan kueri Anda

Di **Panel eksekusi kueri SQL**:

1. Tulis kueri analisis Anda menggunakan sintaks PostgreSQL dan persyaratan pemformatan di atas
2. Sertakan nama bidang yang sesuai, konversi data, dan pemfilteran untuk kebutuhan visualisasi Anda
3. Klik **Jalankan** untuk menjalankan kueri Anda dan menghasilkan dataset
4. Tinjau hasil untuk memastikan kualitas data dan format keluaran yang diharapkan
   {% endstep %}

{% step %}
Akses antarmuka visualisasi

Setelah kueri Anda berhasil dijalankan:

1. Beralih ke **Visualisasi** tab yang muncul di atas hasil kueri Anda
2. Hasil kueri Anda otomatis tersedia sebagai bidang data di antarmuka visualisasi
3. Pembuat bagan interaktif dimuat dengan dataset Anda siap untuk pembuatan visualisasi seret dan lepas
   {% endstep %}

{% step %}
Buat visualisasi interaktif

Gunakan antarmuka visualisasi untuk membuat bagan:

1. Seret bidang dari hasil kueri Anda ke area konfigurasi bagan (sumbu X, sumbu Y, filter, warna)
2. Pilih jenis visualisasi yang sesuai berdasarkan karakteristik data dan tujuan analisis Anda
3. Terapkan filter dan gaya untuk memperhalus tampilan visual Anda
4. Ekspor visualisasi yang selesai dalam berbagai format (PNG, SVG, CSV, base64) untuk berbagi dan pelaporan\\
   {% endstep %}
   {% endstepper %}

{% hint style="info" %}
**Panduan visualisasi terperinci**: Petunjuk langkah demi langkah lengkap untuk pembuatan bagan dibahas di [Buat visualisasi kustom](/docs/analytics/id/explorer-for-iotquery/custom-analysis-sql-configurator/creating-custom-visualizations.md).
{% endhint %}

## Tips pengembangan kueri

Buka bagian di bawah untuk menemukan praktik yang direkomendasikan saat bekerja dengan kueri di **Konfigurator SQL**.

<details>

<summary>Persyaratan format data untuk analisis telematika</summary>

Data telematika Anda menggunakan penyimpanan bilangan bulat berskala yang memerlukan konversi:

| **Jenis data**      | **Format penyimpanan**  | **Konversi yang diperlukan**                                            |
| ------------------- | ----------------------- | ----------------------------------------------------------------------- |
| **Koordinat GPS**   | Bilangan bulat berskala | Bagi dengan 10.000.000 untuk derajat desimal                            |
| **Nilai kecepatan** | Format bilangan bulat   | Bagi dengan 100 untuk km/jam                                            |
| **Stempel waktu**   | Dua varian              | Gunakan `device_time` untuk peristiwa, `platform_time` untuk pemrosesan |

</details>

<details>

<summary>Pengoptimalan performa dan kualitas data</summary>

**Praktik penting untuk analisis yang andal:**

* **Terapkan pemfilteran berbasis waktu**: Mengurangi ukuran dataset dan meningkatkan waktu respons dengan `WHERE device_time > now() - INTERVAL '7 days'`
* **Gunakan field terindeks**: Sertakan `device_id` dan `device_time` dalam klausa WHERE untuk performa kueri yang optimal
* **Validasi rentang data**: Saring batas koordinat dan kecepatan untuk mengidentifikasi pembacaan anomali
* **Verifikasi relasi**: Silangkan referensi hubungan data bisnis untuk memastikan penggabungan menghasilkan hasil yang diharapkan
* **Kelola himpunan hasil**: Tambahkan klausa LIMIT yang sesuai untuk kueri eksplorasi guna menghindari masalah performa
* **Tangani kesenjangan data**: Harapkan variasi normal seperti kesenjangan konektivitas saat kondisi sinyal buruk

{% hint style="info" %}
**Karakteristik data yang diharapkan**: Pembacaan sensor memerlukan validasi kalibrasi berkala, dan data terbaru mungkin masih diproses selama analisis real-time.
{% endhint %}

</details>

<details>

<summary>Pola analisis lintas skema</summary>

**Gabungkan data organisasi dan pelacakan untuk wawasan yang komprehensif:**

* **Integrasi data bisnis dan telematika**: Gabungkan menggunakan `device_id` sebagai kunci relasi utama antara skema
* **Korelasi pegawai-kendaraan**: Hubungkan melalui relasi tabel objek untuk analisis produktivitas
* **Interpretasi sensor**: Gunakan tabel referensi description\_parameters untuk menerjemahkan nilai berkode menjadi label yang terbaca
* **Analisis geografis**: Gabungkan koordinat pelacakan dengan definisi zona untuk wawasan operasional

**Contoh: Ikhtisar armada lengkap dengan LEFT JOIN**

Saat menganalisis operasi armada, Anda sering perlu melihat semua kendaraan terlepas dari status aktivitasnya saat ini. Contoh ini menunjukkan bagaimana `JOIN kiri` mempertahankan catatan kendaraan lengkap bahkan ketika data pelacakan atau penugasan pengemudi tidak tersedia.

```sql
-- Tampilkan semua Kendaraan dengan penugasan Supir dan aktivitas terbaru
SELECT 
    o.object_label sebagai nama_kendaraan,
    e.first_name || ' ' || e.last_name as assigned_driver,
    MAX(t.device_time) as last_seen,
    COUNT(t.device_id) as tracking_points_7days
FROM raw_business_data.objects o
LEFT JOIN raw_business_data.employees e ON o.object_id = e.object_id  
LEFT JOIN raw_telematics_data.tracking_data_core t ON o.device_id = t.device_id
    AND t.device_time > CURRENT_DATE - INTERVAL '7 days'
Kelompok BY o.object_label, e.first_name, e.last_name
ORDER BY last_seen DESC NULLS LAST;
```

**Wawasan utama**: LEFT JOIN memastikan semua Kendaraan muncul dalam hasil, bahkan tanpa pelacakan terbaru atau penugasan Supir.

{% hint style="info" %}
**Contoh kueri**: Pola lengkap yang spesifik untuk kasus penggunaan tersedia di [Buku resep SQL](/docs/analytics/id/example-queries.md).
{% endhint %}

</details>

## Langkah berikutnya

* [Buat visualisasi kustom](/docs/analytics/id/explorer-for-iotquery/custom-analysis-sql-configurator/creating-custom-visualizations.md) - Proses lengkap untuk membuat bagan dan analisis visual
* [Buku resep SQL](/docs/analytics/id/example-queries.md) - Pola kueri lanjutan yang disusun menurut skenario analitis
* [Lapisan data mentah](/docs/analytics/id/iot-query/schema-overview/bronze-layer.md) - Referensi skema basis data lengkap dan definisi kolom

{% hint style="info" %}
**Analitik produksi**: Untuk pelaporan dan dasbor berskala perusahaan, pertimbangkan alat BI khusus yang terhubung langsung ke instance PTL Anda untuk meningkatkan skalabilitas dan fitur kolaborasi. Pelajari selengkapnya di [Memilih alat BI](/docs/analytics/id/iot-query/connection-setup/selecting-bi-tools.md).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/analytics/id/explorer-for-iotquery/custom-analysis-sql-configurator.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
