# Ngulik Data > Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan skill data lainnya dengan praktek langsung dan feedback real-time. ## Docs - [Blog](https://ngulikdata.com/blog): Artikel dan tutorial seputar SQL, Data Analysis, dan karir data dalam Bahasa Indonesia - [Glosarium Data](https://ngulikdata.com/glossary): Kamus istilah data engineering, analytics, BI, ML/AI dalam Bahasa Indonesia — 178+ definisi terstruktur - [Dataset untuk Portfolio](https://ngulikdata.com/datasets): Dataset simulasi bisnis Indonesia siap unduh (CSV, gratis) untuk latihan SQL, spreadsheet, BI tools, dan project portfolio - [SQL Function Reference](https://ngulikdata.com/functions/sql): Dokumentasi lengkap fungsi SQL untuk PostgreSQL, DuckDB, Snowflake, BigQuery, MySQL ## SQL Function Reference - [PostgreSQL](https://ngulikdata.com/functions/sql/postgresql): 183 PostgreSQL function references - [MySQL](https://ngulikdata.com/functions/sql/mysql): 200 MySQL function references - [BigQuery](https://ngulikdata.com/functions/sql/bigquery): 220 BigQuery function references - [Snowflake](https://ngulikdata.com/functions/sql/snowflake): 224 Snowflake function references - [DuckDB](https://ngulikdata.com/functions/sql/duckdb): 175 DuckDB function references ### SQL Function Categories — PostgreSQL - [Aggregate PostgreSQL](https://ngulikdata.com/functions/sql/postgresql/aggregate): SUM, COUNT, AVG, MIN, MAX, ARRAY_AGG, STRING_AGG, PERCENTILE_CONT — fungsi untuk menghitung nilai dari kumpulan data - [String PostgreSQL](https://ngulikdata.com/functions/sql/postgresql/string): CONCAT, SUBSTRING, TRIM, UPPER, LOWER, REPLACE, REGEXP_REPLACE, SPLIT_PART — manipulasi teks dan karakter - [Date & Time PostgreSQL](https://ngulikdata.com/functions/sql/postgresql/date): NOW, DATE_TRUNC, EXTRACT, AGE, TO_DATE, TO_TIMESTAMP, DATE_PART — fungsi tanggal dan waktu - [Window PostgreSQL](https://ngulikdata.com/functions/sql/postgresql/window): ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, FIRST_VALUE, LAST_VALUE, NTILE — fungsi analitik berbasis baris - [Math PostgreSQL](https://ngulikdata.com/functions/sql/postgresql/math): ABS, ROUND, CEIL, FLOOR, MOD, POWER, SQRT, LOG, RANDOM — fungsi matematika dan numerik - [JSON PostgreSQL](https://ngulikdata.com/functions/sql/postgresql/json): JSON_BUILD_OBJECT, JSONB_AGG, JSONB_EXTRACT_PATH, JSON_ARRAY_ELEMENTS, JSONB_SET — manipulasi data JSON/JSONB - [Array PostgreSQL](https://ngulikdata.com/functions/sql/postgresql/array): ARRAY_AGG, UNNEST, ARRAY_LENGTH, ARRAY_APPEND, ARRAY_CAT, ARRAY_POSITION — manipulasi array - [Conditional PostgreSQL](https://ngulikdata.com/functions/sql/postgresql/conditional): CASE, COALESCE, NULLIF, GREATEST, LEAST — logika kondisional dan penanganan NULL - [Conversion PostgreSQL](https://ngulikdata.com/functions/sql/postgresql/conversion): CAST, TO_NUMBER, TO_CHAR, TO_HEX, CONVERT — konversi tipe data ### SQL Function Categories — MySQL - [Aggregate MySQL](https://ngulikdata.com/functions/sql/mysql/aggregate): COUNT, SUM, AVG, GROUP_CONCAT, BIT_AND, BIT_OR — fungsi aggregate MySQL - [String MySQL](https://ngulikdata.com/functions/sql/mysql/string): CONCAT, SUBSTRING, TRIM, REPLACE, INSTR, FORMAT, GROUP_CONCAT — manipulasi string MySQL - [Date & Time MySQL](https://ngulikdata.com/functions/sql/mysql/date): NOW, DATE_FORMAT, DATEDIFF, TIMESTAMPDIFF, STR_TO_DATE, DATE_ADD — tanggal dan waktu MySQL - [Window MySQL](https://ngulikdata.com/functions/sql/mysql/window): ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, CUME_DIST — window functions MySQL 8.0+ - [Math MySQL](https://ngulikdata.com/functions/sql/mysql/math): ABS, ROUND, CEILING, FLOOR, MOD, POW, RAND, TRUNCATE — fungsi matematika MySQL - [JSON MySQL](https://ngulikdata.com/functions/sql/mysql/json): JSON_EXTRACT, JSON_OBJECT, JSON_ARRAY, JSON_CONTAINS, JSON_SET — JSON functions MySQL 5.7+ - [Conditional MySQL](https://ngulikdata.com/functions/sql/mysql/conditional): IF, IFNULL, NULLIF, COALESCE, CASE — logika kondisional MySQL - [Conversion MySQL](https://ngulikdata.com/functions/sql/mysql/conversion): CAST, CONVERT, FORMAT, INET_ATON, HEX, UNHEX — konversi tipe data MySQL ### SQL Function Categories — BigQuery - [Aggregate BigQuery](https://ngulikdata.com/functions/sql/bigquery/aggregate): COUNT, SUM, AVG, ARRAY_AGG, STRING_AGG, APPROX_COUNT_DISTINCT, COUNTIF — fungsi aggregate BigQuery - [String BigQuery](https://ngulikdata.com/functions/sql/bigquery/string): CONCAT, SUBSTR, TRIM, REGEXP_EXTRACT, SPLIT, TO_BASE64, FORMAT — manipulasi string BigQuery - [Date & Time BigQuery](https://ngulikdata.com/functions/sql/bigquery/date): CURRENT_TIMESTAMP, DATE_DIFF, DATE_TRUNC, PARSE_DATE, FORMAT_DATE, TIMESTAMP_DIFF — tanggal dan waktu BigQuery - [Window BigQuery](https://ngulikdata.com/functions/sql/bigquery/window): ROW_NUMBER, RANK, LAG, LEAD, PERCENTILE_CONT, NTILE — window functions BigQuery - [Math BigQuery](https://ngulikdata.com/functions/sql/bigquery/math): ABS, ROUND, CEIL, FLOOR, MOD, SAFE_DIVIDE, LOG, TRUNC — fungsi matematika BigQuery - [JSON BigQuery](https://ngulikdata.com/functions/sql/bigquery/json): JSON_EXTRACT, JSON_VALUE, JSON_QUERY, TO_JSON_STRING, JSON_EXTRACT_ARRAY — JSON BigQuery - [Array BigQuery](https://ngulikdata.com/functions/sql/bigquery/array): ARRAY_AGG, ARRAY_LENGTH, ARRAY_TO_STRING, GENERATE_ARRAY, UNNEST, ARRAY_CONCAT — array BigQuery - [Geography BigQuery](https://ngulikdata.com/functions/sql/bigquery/geography): ST_GEOGPOINT, ST_DISTANCE, ST_CONTAINS, ST_AREA, ST_CENTROID — geospatial functions BigQuery ### SQL Function Categories — Snowflake - [Aggregate Snowflake](https://ngulikdata.com/functions/sql/snowflake/aggregate): COUNT, SUM, LISTAGG, MEDIAN, PERCENTILE_CONT, BOOLOR_AGG — fungsi aggregate Snowflake - [String Snowflake](https://ngulikdata.com/functions/sql/snowflake/string): CONCAT, SUBSTR, TRIM, REGEXP_SUBSTR, SPLIT_PART, INITCAP — manipulasi string Snowflake - [Date & Time Snowflake](https://ngulikdata.com/functions/sql/snowflake/date): CURRENT_TIMESTAMP, DATEADD, DATEDIFF, DATE_TRUNC, TO_DATE, CONVERT_TIMEZONE — tanggal dan waktu Snowflake - [Window Snowflake](https://ngulikdata.com/functions/sql/snowflake/window): ROW_NUMBER, RANK, LAG, LEAD, RATIO_TO_REPORT, CONDITIONAL_TRUE_EVENT — window functions Snowflake - [Math Snowflake](https://ngulikdata.com/functions/sql/snowflake/math): ABS, ROUND, CEIL, FLOOR, MOD, HAVERSINE, LOG, UNIFORM — fungsi matematika Snowflake - [Semi-Structured Snowflake](https://ngulikdata.com/functions/sql/snowflake/json): PARSE_JSON, GET, FLATTEN, OBJECT_CONSTRUCT, ARRAY_CONSTRUCT — semi-structured data Snowflake ### SQL Function Categories — DuckDB - [Aggregate DuckDB](https://ngulikdata.com/functions/sql/duckdb/aggregate): COUNT, SUM, AVG, LIST, STRING_AGG, HISTOGRAM, MEDIAN, QUANTILE — fungsi aggregate DuckDB - [String DuckDB](https://ngulikdata.com/functions/sql/duckdb/string): CONCAT, SUBSTR, TRIM, REGEXP_EXTRACT, PRINTF, REGEXP_REPLACE — manipulasi string DuckDB - [Date & Time DuckDB](https://ngulikdata.com/functions/sql/duckdb/date): NOW, DATE_DIFF, DATE_TRUNC, STRFTIME, EPOCH, MAKE_DATE — tanggal dan waktu DuckDB - [Window DuckDB](https://ngulikdata.com/functions/sql/duckdb/window): ROW_NUMBER, RANK, LAG, LEAD, FIRST_VALUE, MODE — window functions DuckDB - [Math DuckDB](https://ngulikdata.com/functions/sql/duckdb/math): ABS, ROUND, CEIL, FLOOR, LOG, SQRT, RANDOM, XOR — fungsi matematika DuckDB - [Array DuckDB](https://ngulikdata.com/functions/sql/duckdb/array): LIST_AGG, LIST_APPLY, LIST_FILTER, FLATTEN, ARRAY_LENGTH, GENERATE_SERIES — list/array DuckDB ## Spreadsheet Function Reference - [Spreadsheet Functions Hub](https://ngulikdata.com/functions/spreadsheet): Dokumentasi lengkap fungsi spreadsheet untuk Microsoft Excel dan Google Sheets, dengan syntax + contoh bahasa Indonesia - [Microsoft Excel Functions](https://ngulikdata.com/functions/spreadsheet/excel): Referensi fungsi Excel — SUM, VLOOKUP, IF, SUMIF, INDEX/MATCH, dan lainnya - [Google Sheets Functions](https://ngulikdata.com/functions/spreadsheet/googlesheets): Referensi fungsi Google Sheets — termasuk QUERY, ARRAYFORMULA, FILTER dan fungsi GS-only lainnya ### Spreadsheet Function Categories — Microsoft Excel - [Math Excel](https://ngulikdata.com/functions/spreadsheet/excel/math): SUM, SUMIF, SUMIFS, SUMPRODUCT, ABS, ROUND, MOD, POWER — fungsi matematika dan operasi numerik Excel - [Statistical Excel](https://ngulikdata.com/functions/spreadsheet/excel/statistical): COUNT, COUNTA, AVERAGE, AVERAGEIF, MIN, MAX, MEDIAN, STDEV — fungsi agregasi dan statistik Excel - [Text Excel](https://ngulikdata.com/functions/spreadsheet/excel/text): CONCATENATE, LEFT, RIGHT, MID, TRIM, UPPER, LOWER, TEXT, FIND, SUBSTITUTE — manipulasi teks Excel - [Logical Excel](https://ngulikdata.com/functions/spreadsheet/excel/logical): IF, IFS, AND, OR, NOT, IFERROR, IFNA, SWITCH — logika dan kondisi Excel - [Lookup Excel](https://ngulikdata.com/functions/spreadsheet/excel/lookup): VLOOKUP, HLOOKUP, INDEX, MATCH, XLOOKUP, OFFSET, CHOOSE — pencarian dan referensi data Excel - [Date & Time Excel](https://ngulikdata.com/functions/spreadsheet/excel/datetime): TODAY, NOW, DATE, DATEDIF, EOMONTH, NETWORKDAYS, YEARFRAC — fungsi tanggal dan waktu Excel - [Financial Excel](https://ngulikdata.com/functions/spreadsheet/excel/financial): PMT, FV, PV, NPV, IRR, RATE, NPER — kalkulasi keuangan Excel - [Information Excel](https://ngulikdata.com/functions/spreadsheet/excel/info): ISBLANK, ISNUMBER, ISTEXT, ISERROR, ISNA, TYPE, CELL — pengecekan tipe data dan kondisi sel Excel - [Array Excel](https://ngulikdata.com/functions/spreadsheet/excel/array): XLOOKUP, FILTER, SORT, UNIQUE, SEQUENCE, RANDARRAY — dynamic array functions Excel 365 ### Spreadsheet Function Categories — Google Sheets - [Math Google Sheets](https://ngulikdata.com/functions/spreadsheet/googlesheets/math): SUM, SUMIF, SUMIFS, SUMPRODUCT, ROUND, MOD, POWER — fungsi matematika Google Sheets - [Statistical Google Sheets](https://ngulikdata.com/functions/spreadsheet/googlesheets/statistical): COUNT, AVERAGE, AVERAGEIF, MIN, MAX, MEDIAN, STDEV — fungsi statistik Google Sheets - [Text Google Sheets](https://ngulikdata.com/functions/spreadsheet/googlesheets/text): CONCATENATE, LEFT, RIGHT, MID, TRIM, REGEXEXTRACT, SPLIT — manipulasi teks Google Sheets - [Logical Google Sheets](https://ngulikdata.com/functions/spreadsheet/googlesheets/logical): IF, IFS, AND, OR, IFERROR, SWITCH, XOR — logika dan kondisi Google Sheets - [Lookup Google Sheets](https://ngulikdata.com/functions/spreadsheet/googlesheets/lookup): VLOOKUP, INDEX, MATCH, QUERY, IMPORTRANGE, XLOOKUP — pencarian data Google Sheets + QUERY SQL-like - [Date & Time Google Sheets](https://ngulikdata.com/functions/spreadsheet/googlesheets/datetime): TODAY, NOW, DATE, DATEDIF, EOMONTH, NETWORKDAYS, EDATE — tanggal dan waktu Google Sheets - [Financial Google Sheets](https://ngulikdata.com/functions/spreadsheet/googlesheets/financial): PMT, FV, PV, NPV, IRR, GOOGLEFINANCE — kalkulasi keuangan + data pasar real-time Google Sheets - [Information Google Sheets](https://ngulikdata.com/functions/spreadsheet/googlesheets/info): ISBLANK, ISNUMBER, ISTEXT, ISERROR, ISNA, ISFORMULA — pengecekan sel dan tipe data Google Sheets - [Array Google Sheets](https://ngulikdata.com/functions/spreadsheet/googlesheets/array): ARRAYFORMULA, FILTER, SORT, UNIQUE, FLATTEN, QUERY — array dan formula dinamis Google Sheets ## Ngulik Sheet Platform latihan spreadsheet interaktif dengan validasi rumus real-time. Latihan Excel dan Google Sheets dari rumus dasar (SUM, AVERAGE) sampai lookup yang lebih ribet (VLOOKUP, INDEX/MATCH), dalam Bahasa Indonesia. Sister product dari NgulikSQL untuk skill spreadsheet. - [NgulikSheet Hub](https://ngulikdata.com/nguliksheet): Landing page NgulikSheet — info latihan dan featured exercises - [Latihan Spreadsheet](https://ngulikdata.com/nguliksheet/exercises): 108 drill latihan fokus satu fungsi spesifik (SUM, VLOOKUP, IF, ROUNDUP, AVERAGEIF, dll). Kategori: Statistik, Kondisional, Lookup, Logika, Teks, Tanggal, Matematika. 1 latihan gratis per kategori, sisanya premium. - [Tantangan Spreadsheet](https://ngulikdata.com/nguliksheet/challenges): Tantangan kasus nyata — HR payroll, pricing margin, customer tier, budget bulanan. Gabungkan beberapa fungsi buat solve real-world problem ## Playbook Resource kurasi buat member NgulikSQL — koleksi query, pattern, dan referensi praktis dari analyst beneran (bukan textbook). Sub-module di NgulikSQL yang nampung beberapa product berbeda. - [Playbook Hub](https://ngulikdata.com/nguliksql/playbook): Daftar semua playbook yang tersedia di NgulikSQL - [Analyst SQL Vault](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault): 100 SQL query kurasi yang dipakai analyst beneran di kerjaan — coverage 8 kategori (Eksplorasi, Aggregation, Time Series, Cohort & Retention, Funnel & Konversi, Window Functions, Data Quality, Performance). 10 query gratis sebagai free preview, 90 query eksklusif untuk member premium. ### Free Preview Queries (Analyst SQL Vault) 10 query yang bisa diakses tanpa membership Premium — pilih 1 per kategori plus 2 wildcard quick wins. Killer query (cohort matrix, attribution, gap-island) tetap eksklusif untuk member premium. - [Row Count & Basic Stats per Tabel](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/row-count-basic-stats): Profiling cepat tabel baru — total row, distinct ID, date range, duplicate count. Cocok untuk first-touch audit data. - [Revenue by Single Dimension](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/revenue-by-single-dimension): Query paling dasar di toolkit analyst. Revenue dipecah per produk, region, channel, atau dimensi lain. Quick win untuk laporan rutin dan sanity check distribusi. - [Top N per Group](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/top-n-per-group): Ambil N record teratas per kategori (top 3 produk per region, top 5 customer per segment) pakai window function QUALIFY. - [Daily / Weekly / Monthly Aggregation](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/daily-weekly-monthly-aggregation): Time series basic — aggregate metric per hari, minggu, atau bulan. Pondasi semua analisis tren. - [7-Day Rolling Revenue](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/7-day-rolling-revenue): Smoothing mingguan dengan window function. Spot pola tanpa noise harian, otomatis netralin efek weekend. - [Classic Acquisition Cohort](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/classic-acquisition-cohort): Cohort analysis paling fundamental. Group user by acquisition month, track behavior over time. - [Basic Step-by-Step Funnel](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/basic-step-by-step-funnel): Funnel conversion analysis dasar. Track user dari awareness → activation → conversion step by step. - [ROW_NUMBER per Partition](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/row-number-per-partition): Window function paling fundamental. Numbering record per group untuk deduplication, latest event per user, ranking, dll. - [Duplicate Row Detector](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/duplicate-row-detector): Data quality check untuk find exact duplicate row di tabel. Wajib dijalanin setiap kali ada laporan angka aneh. - [Anti-Pattern: SELECT * Replacement](https://ngulikdata.com/nguliksql/playbook/analyst-sql-vault/select-star-replacement): Edukasi anti-pattern paling umum di SQL. Kenapa SELECT * itu jebakan (terutama di columnar warehouse) plus cara generate explicit column list pakai INFORMATION_SCHEMA. ## Datasets 10 dataset simulasi bisnis Indonesia multi-tabel (perusahaan fiktif, data realistis) yang bisa didownload gratis tanpa login. Format CSV bersih, konteks Indonesia, cocok dipakai buat latihan SQL, spreadsheet, analisis, maupun ngajar. Tiap dataset punya ide analisis & portfolio premium (10 ide per dataset, dari level Pemula sampai Mahir) buat ngarahin latihan jadi project portfolio data analyst. - [Dataset untuk Portfolio](https://ngulikdata.com/datasets): Katalog 10 dataset simulasi bisnis Indonesia multi-tabel, download gratis tanpa login (CSV) untuk latihan SQL, spreadsheet, dan analisis data — lengkap dengan deskripsi kolom, konteks, plus ide analisis & portfolio premium per dataset ## Products - [Ngulik SQL](https://ngulikdata.com/nguliksql): Platform latihan SQL interaktif dengan 100+ tantangan dan feedback real-time - [Ngulik SQL — Tantangan](https://ngulikdata.com/nguliksql/challenges): 100+ SQL challenge interaktif dengan progressive hints dan XP reward. Dari SELECT dasar sampai window functions. - [Ngulik SQL — Kursus & Proyek](https://ngulikdata.com/nguliksql/learns): Daftar lengkap Kursus SQL (Kursus terstruktur) dan Proyek (guided projects) yang tersedia di NgulikSQL - [Ngulik Sheet](https://ngulikdata.com/nguliksheet): Platform latihan spreadsheet (Excel/Google Sheets) interaktif dengan validasi rumus real-time - [Leaderboard](https://ngulikdata.com/leaderboard): Papan peringkat XP bulanan — 50 pengguna NgulikData paling aktif bulan ini - [Store](https://ngulikdata.com/store): Cheatsheet, e-course, dataset, template, dan e-book untuk belajar data ## Blog Articles - [Panduan Belajar SQL Pemula](https://ngulikdata.com/blog/panduan-belajar-sql-pemula): Roadmap lengkap belajar SQL dari nol - [GROUP BY dan HAVING](https://ngulikdata.com/blog/group-by-having-sql): Tutorial GROUP BY dan HAVING di SQL - [Pertanyaan Interview SQL](https://ngulikdata.com/blog/pertanyaan-interview-sql): 50 pertanyaan interview SQL dan jawabannya - [Apa Itu SQL](https://ngulikdata.com/blog/apa-itu-sql-pengertian-fungsi-dan-contoh): Pengertian, fungsi, dan contoh penggunaan SQL - [Tipe JOIN SQL](https://ngulikdata.com/blog/tipe-join-sql): Penjelasan semua tipe JOIN di SQL - [WHERE vs HAVING](https://ngulikdata.com/blog/perbedaan-where-dan-having-sql): Perbedaan WHERE dan HAVING di SQL ## Company - [About](https://ngulikdata.com/about): Tentang Ngulik Data dan pendirinya, Bima Putra Pratama (Senior Analytics Engineer) - [Partnership & Media Kit](https://ngulikdata.com/partnership/socials): Performa media sosial (158rb+ pengikut, jutaan impresi/bulan di 5 platform) dan cara berkolaborasi: endorsement, speaker, brand collaboration, pelatihan korporat - [Pricing](https://ngulikdata.com/pricing): Paket gratis, premium (Rp 69.000/bulan), dan lifetime (Rp 999.000) - [Privacy Policy](https://ngulikdata.com/privacy-policy) - [Terms of Service](https://ngulikdata.com/tos) ## Optional - [Medium](https://medium.com/ngulik-data): Artikel data dalam Bahasa Indonesia - [Substack](https://ngulikdata.substack.com): Newsletter data mingguan - [LinkedIn](https://www.linkedin.com/company/ngulik-data): Company page