> 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

Buku Resep SQL **Custom Analysis & SQL Configurator** memungkinkan akses langsung ke basis data untuk analisis armada kustom di luar laporan standar. Tulis kueri SQL, telusuri seluruh dataset Anda, dan buat visualisasi interaktif dalam satu antarmuka terintegrasi.

## Gambaran umum antarmuka

<figure><img src="/files/70bffd6491a717e262beee80ff1c962c6d28e0a6" 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>

Workspace dari **SQL Configurator** terdiri dari 3 bagian utama:

1. **Peramban Skema Basis Data** - Lihat struktur tabel dan klik skema untuk penjelajahan relasi 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 grafik 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, verifikasi 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> users, devices, objects, vehicles, employees<br>- <strong>Data operasional:</strong> tasks, forms, zones, places, garages<br>- <strong>Data referensi:</strong> models, entities, status information<br>- <strong>Tabel relasi:</strong> penugasan kendaraan-pengemudi, pemetaan user-zone</p> | <p>Pelacakan GPS waktu nyata, pembacaan sensor, dan status perangkat<br><br>- <strong>tracking\_data\_core:</strong> Koordinat GPS, kecepatan, ketinggian, data peristiwa<br>- <strong>inputs:</strong> Pembacaan sensor (bahan bakar, suhu, tegangan)<br>- <strong>states:</strong> Indikator status perangkat (ignition, doors, operational modes)</p> |

{% hint style="info" %}
Untuk detail tentang skema data yang tersedia di **IoT Query**, lihat [Ikhtisar schema](/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 telah diaktifkan di pengaturan sistem Anda:

1. Buka **Konfigurasi PTL** di bilah samping kiri
2. Verifikasi bahwa kategori data yang diperlukan (**Data Pelacakan**, **Input**, **Status**) diaktifkan sesuai kebutuhan analisis Anda
3. Jika diperlukan perubahan, perbarui konfigurasi dan pertimbangkan menjalankan pemuatan data historis untuk penerapan retrospektif
   {% 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 **Execute** 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 tab **Visualisasi** yang muncul di atas hasil kueri Anda
2. Hasil kueri Anda secara otomatis tersedia sebagai bidang data di antarmuka visualisasi
3. Pembuat grafik interaktif dimuat dengan dataset Anda siap untuk pembuatan visualisasi seret dan lepas
   {% endstep %}

{% step %}
Buat visualisasi interaktif

Gunakan antarmuka visualisasi untuk membuat grafik:

1. Seret bidang dari hasil kueri Anda ke area konfigurasi grafik (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 menyempurnakan tampilan visual Anda
4. Ekspor visualisasi yang telah 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 grafik dibahas dalam [Buat visualisasi kustom](/docs/analytics/id/explorer-for-iotquery/custom-analysis-sql-configurator/creating-custom-visualizations.md).
{% endhint %}

## Tips pengembangan kueri

Perluas bagian di bawah ini untuk menemukan praktik yang direkomendasikan saat bekerja dengan kueri di **SQL Configurator**.

<details>

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

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

| **Jenis Data**      | **Format Penyimpanan**     | **Konversi yang Diperlukan**                                            |
| ------------------- | -------------------------- | ----------------------------------------------------------------------- |
| **Koordinat GPS**   | Bilangan bulat terskalakan | Bagi 10.000.000 untuk derajat desimal                                   |
| **Nilai kecepatan** | Format bilangan bulat      | Bagi 100 untuk km/jam                                                   |
| **Stempel waktu**   | Dua varian                 | Gunakan `device_time` untuk peristiwa, `platform_time` untuk pemrosesan |

</details>

<details>

<summary>Optimalisasi kinerja 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 bidang yang diindeks**: Sertakan `device_id` dan `device_time` dalam klausa WHERE untuk kinerja kueri yang optimal
* **Validasi rentang data**: Filter batas koordinat dan kecepatan untuk mengidentifikasi pembacaan anomali
* **Verifikasi relasi**: Lakukan silang-rujukan relasi data bisnis untuk memastikan join menghasilkan hasil yang diharapkan
* **Kelola set hasil**: Tambahkan klausa LIMIT yang sesuai untuk kueri eksploratif guna menghindari masalah kinerja
* **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 waktu nyata.
{% endhint %}

</details>

<details>

<summary>Pola analisis lintas skema</summary>

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

* **Integrasi bisnis-telematika**: Gabungkan menggunakan `device_id` sebagai kunci relasi utama antar skema
* **Korelasi karyawan-kendaraan**: Hubungkan melalui relasi tabel objects untuk analisis produktivitas
* **Interpretasi sensor**: Gunakan tabel referensi description\_parameters untuk menerjemahkan nilai berkode menjadi label yang dapat dibaca
* **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 aktivitas saat ini. Contoh ini menunjukkan bagaimana `LEFT JOIN` mempertahankan catatan kendaraan lengkap bahkan ketika data pelacakan atau penugasan pengemudi tidak tersedia.

```sql
-- Tampilkan semua kendaraan beserta penugasan pengemudi dan aktivitas terbaru
SELECT 
    o.object_label as vehicle_name,
    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'
GROUP 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 pengemudi.

{% 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 grafik dan analisis visual
* [Buku Resep SQL](/docs/analytics/id/example-queries.md) - Pola kueri lanjutan yang diorganisasi berdasarkan skenario analitis
* [Dokumentasi lapisan Bronze](/docs/analytics/id/iot-query/schema-overview/bronze-layer.md) - Referensi skema basis data lengkap dan definisi bidang

{% hint style="info" %}
**Analitik produksi**: Untuk pelaporan dan dasbor skala perusahaan, pertimbangkan alat BI khusus yang terhubung langsung ke instans PTL Anda untuk skalabilitas dan fitur kolaborasi yang lebih baik. 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.
