> 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/iot-query/schema-overview/transformation-layer.md).

# Lapisan transformasi

{% hint style="info" %}

#### Segera hadir!

Arsitektur lapisan Transformation yang dijelaskan pada halaman ini saat ini sedang dalam pengembangan. Meskipun kemampuan transformasi inti sudah beroperasi, detail implementasi dapat berkembang sebelum rilis final. Jika Anda tertarik untuk mendapatkan akses awal atau memiliki pertanyaan, hubungi <iotquery@navixy.com>.
{% endhint %}

## Apa yang dilakukan oleh lapisan Transformation

Buku Resep SQL **Lapisan Transformation** memproses data mentah dari **Lapisan Raw data** menjadi entitas analitis yang dinormalisasi dan siap kueri. Di mana lapisan Raw data berisi semua yang ditangkap dari perangkat dan sistem (titik individual, peristiwa, dan nilai field yang berguna untuk verifikasi dan pemecahan masalah), lapisan Transformation mengubah data mentah tersebut menjadi objek bermakna seperti perjalanan, kunjungan zona, dan status operasional.

{% hint style="info" icon="lightbulb-exclamation" %}
Lapisan Transformation secara singkat: lapisan Raw data adalah semua yang dikumpulkan, lapisan Transformation adalah apa yang dapat Anda olah.
{% endhint %}

Lapisan perantara ini menghilangkan persiapan data manual yang berulang dan membuat data Anda siap untuk analitik praktis. Operator armada dapat menjawab pertanyaan operasional umum tanpa pemrosesan data yang ekstensif, dan integrator memperoleh fondasi yang stabil untuk membangun solusi pelaporan dan BI yang skalabel.

Transformasi dapat dirancang dan dikonfigurasi menggunakan [**Transformation Builder**](/docs/analytics/id/iot-query/schema-overview/transformation-layer/transformation-builder.md), sebuah alat visual yang memungkinkan Anda membuat entitas analitis kustom melalui antarmuka alur kerja seret-dan-lepas. Untuk detail tentang cara membangun dan mengelola transformasi, lihat dokumentasi Transformation Builder.

Navixy menyediakan seperangkat transformasi umum siap pakai yang berjalan secara otomatis dan mengisi `processed_common_data` schema tanpa konfigurasi apa pun dari pihak Anda. Anda dapat melakukan kueri terhadap data ini segera setelah terhubung ke IoT Query. Setiap transformasi umum juga dilengkapi dengan templat alur kerja yang dapat Anda muat ke dalam Transformation Builder untuk memeriksa logika pemrosesan atau menyesuaikannya dengan skenario spesifik Anda. Lihat [Transformasi umum](/docs/analytics/id/iot-query/schema-overview/transformation-layer/common-transformations.md) untuk entitas yang tersedia dan schema output-nya.

## Bagaimana data diorganisasikan

Lapisan Transformation menggunakan pendekatan schema dinamis di mana struktur basis data terbentuk secara otomatis berdasarkan transformasi aktif. Tidak seperti lapisan Raw data dengan definisi schema tetap, lapisan Transformation hanya berisi tabel yang sesuai dengan transformasi yang saat ini aktif. Tabel yang tersedia dan strukturnya bergantung pada transformasi mana yang dikonfigurasi di **IoT Query** instans organisasi Anda.

Data lapisan Transformation diorganisasikan ke dalam dua schema PostgreSQL: `processed_common_data` dan `processed_custom_data`.

### processed\_common\_data

Buku Resep SQL `processed_common_data` schema berisi transformasi yang dikembangkan dan dipelihara oleh Navixy. Schema ini dibagikan di seluruh klien dan menyediakan entitas analitis terstandardisasi yang menangani kasus penggunaan telematika umum. Tabel muncul di schema ini saat Navixy menerapkan transformasi baru untuk memenuhi kebutuhan analitis yang berlaku luas.

{% hint style="warning" %}
Buku Resep SQL `processed_common_data` schema adalah **hanya-baca untuk klien eksternal**. Anda dapat melakukan kueri terhadap data dengan bebas, tetapi Anda tidak dapat memodifikasi tabel, menyisipkan rekaman, atau mengubah struktur dalam schema ini. Untuk membangun entitas analitis Anda sendiri, gunakan `processed_custom_data` schema melalui [Transformation Builder](/docs/analytics/id/iot-query/schema-overview/transformation-layer/transformation-builder.md).
{% endhint %}

### processed\_custom\_data

Buku Resep SQL `processed_custom_data` schema berisi transformasi khusus klien yang dibuat untuk memenuhi kebutuhan bisnis yang unik. Setiap klien memiliki instance terisolasi dari schema ini, sehingga data Anda tidak terlihat oleh organisasi lain. Tabel dalam schema ini sesuai dengan transformasi yang Anda konfigurasi dan kelola melalui [Transformation Builder](/docs/analytics/id/iot-query/schema-overview/transformation-layer/transformation-builder.md).

Anda memiliki kepemilikan penuh atas schema ini: Anda menentukan transformasi apa yang akan dibuat, bagaimana transformasi tersebut memproses data, dan kapan transformasi tersebut dijalankan. Transformation Builder menghasilkan konfigurasi dan SQL yang diperlukan untuk menghasilkan entitas analitis kustom Anda.

#### Apa yang terjadi ketika transformasi berubah

Saat Anda mengaktifkan suatu transformasi, sistem secara otomatis membuat struktur tabel yang sesuai dalam schema yang tepat. Saat transformasi dinonaktifkan atau dihapus, tabelnya dapat diarsipkan atau dihapus berdasarkan kebijakan retensi data.

Pembentukan dinamis ini adalah alasan lapisan Transformation tidak menyediakan deskripsi schema tetap seperti yang dilakukan lapisan Raw data. Tabel yang tersedia dan strukturnya mencerminkan transformasi spesifik yang dikonfigurasi untuk instance IoT Query Anda.

## Karakteristik pemrosesan data

Entitas lapisan Transformation dikelola secara otomatis melalui proses terjadwal. Saat Anda melakukan kueri terhadap data ini, pertimbangkan karakteristik pemrosesan berikut.

* **Pembaruan terjadwal.** Setiap transformasi memproses catatan lapisan Raw data baru sesuai jadwal yang dikonfigurasi. Pembaruan biasanya terjadi setiap jam atau setiap beberapa jam, tergantung pada kompleksitas dan konfigurasi transformasi.
* **Jendela pemrosesan.** Transformasi beroperasi pada segmen berbasis waktu untuk memproses bagian data yang dapat dikelola secara efisien alih-alih memindai seluruh dataset. Pendekatan ini menyeimbangkan kinerja pemrosesan dengan keterbaruan data.
* **Perilaku perhitungan ulang.** Saat perubahan konfigurasi memicu perhitungan ulang, data terbaru mungkin menunjukkan ketidakkonsistenan singkat selama jendela pemrosesan aktif. Ketidakkonsistenan ini akan terselesaikan secara otomatis setelah siklus pemrosesan selesai.
* **Perilaku khusus schema.** Transformasi di `processed_common_data` diperbarui secara bersamaan untuk semua klien yang berbagi schema tersebut, karena Navixy mengelola jadwal secara terpusat. Transformasi di `processed_custom_data` dijalankan secara independen per klien, sehingga Anda dapat menyesuaikan penjadwalan dan logika pemrosesan untuk kebutuhan spesifik Anda.

## Hal yang perlu dipertimbangkan saat melakukan kueri

Saat menulis kueri SQL terhadap data lapisan Transformation, ingatlah poin-poin berikut:

* **Gunakan format lengkap schema.table.** Selalu rujuk tabel dengan awalan schema-nya untuk menghindari ambiguitas:

```sql
SELECT *
FROM processed_common_data.table_name
WHERE device_time >= CURRENT_DATE - INTERVAL '7 days';
```

* **Sertakan filter rentang waktu.** Tambahkan kondisi berbasis waktu dalam `WHERE` klausa Anda untuk membatasi volume data yang dipindai. Ini meningkatkan kinerja kueri dan mengurangi waktu eksekusi.
* **Periksa jadwal transformasi.** Data dalam tabel lapisan Transformation mencerminkan siklus pemrosesan terakhir yang telah selesai. Jika Anda memerlukan data yang baru beberapa menit lalu, lapisan Raw data mungkin lebih sesuai sampai siklus transformasi berikutnya berjalan.
* **Ingat bahwa `processed_common_data` bersifat hanya-baca.** Gunakan schema ini untuk melakukan kueri terhadap entitas terstandardisasi yang dipelihara oleh Navixy. Untuk membuat entitas analitis Anda sendiri, konfigurasikan transformasi di `processed_custom_data` schema melalui [Transformation Builder](/docs/analytics/id/iot-query/schema-overview/transformation-layer/transformation-builder.md).

## Langkah berikutnya

* [**Transformation Builder**](/docs/analytics/id/iot-query/schema-overview/transformation-layer/transformation-builder.md): Rancang entitas analitis kustom menggunakan antarmuka alur kerja visual.
* [**Lapisan Raw data**](/docs/analytics/id/iot-query/schema-overview/bronze-layer.md): Jelajahi schema sumber (`raw_telematics_data` dan `raw_business_data`) yang menjadi masukan bagi transformasi.
* [**Buku Resep SQL**](/docs/analytics/id/example-queries.md): Pelajari pola kueri dan praktik terbaik untuk bekerja dengan tabel lapisan Transformation di Dashboard Studio.
* [**Transformasi umum**](/docs/analytics/id/iot-query/schema-overview/transformation-layer/common-transformations.md): Jelajahi entitas analitis siap pakai yang tersedia di `processed_common_data`, termasuk schema output, contoh kueri, dan templat Transformation Builder.


---

# 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/iot-query/schema-overview/transformation-layer.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.
