Fungsi LOD merupakan singkatan dari Level of Detail expression. Fungsi ini mengatasi ketidaksesuaian granularitas perhitungan antar ekspresi. Topik ini menjelaskan cara menggunakan fungsi LOD.
Batasan
Tabel detail tidak mendukung fungsi LOD.
Latar Belakang
Analisis Quick BI saat ini mengandalkan dimensi tetap. Misalnya, untuk melihat jumlah pesanan berdasarkan wilayah dan provinsi, letakkan wilayah dan provinsi (dimensi) pada baris tabel silang serta jumlah pesanan (ukuran) pada kolom. Atur metode agregasi ke Sum.

Kueri SQL yang dihasilkan adalah:
SELECT
ADR_T_1_.`area` AS T_AAC_2_,
ADR_T_1_.`province` AS T_A9E_3_,
SUM(ADR_T_1_.`order_amt`) AS T_AAD_4_
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`,
ADR_T_1_.`province`
ORDER BY
T_AAC_2_ ASC,
T_A9E_3_ ASCNamun bagaimana jika Anda ingin menampilkan data tingkat wilayah-provinsi dan data tingkat wilayah dalam satu tabel yang sama? Atau membandingkan penjualan tingkat provinsi dengan total tingkat wilayah? Atau mengidentifikasi jenis produk dengan penjualan tertinggi per provinsi? Dalam kasus-kasus tersebut, gunakan fungsi LOD.
Skenario
Ekspresi Level of Detail menentukan tingkat granularitas agregasi data. Tingkat yang berbeda merepresentasikan kedalaman dan granularitas agregasi yang berbeda. Ekspresi LOD digunakan untuk menangani visualisasi yang mengandung beberapa tingkat detail.
Jika analisis Anda memerlukan penambahan dimensi dengan granularitas lebih tinggi atau lebih rendah daripada visualisasi saat ini—namun Anda tidak ingin mengubah grafik yang ada—gunakan ekspresi Level of Detail.
Sintaks
LOD (Level of Detail Expressions) adalah fitur perhitungan yang kuat yang memungkinkan perhitungan dan agregasi kompleks selama analisis data. Ekspresi LOD mengontrol granularitas perhitungan, sehingga memungkinkan Anda menganalisis data pada tingkat granularitas tertentu (FIXED), tingkat granularitas yang lebih tinggi (INCLUDE), atau tingkat granularitas yang lebih rendah (EXCLUDE). Penggunaan dasarnya sebagai berikut:
LOD_FIXED
Sintaks | LOD_FIXED{<dimension declaration> : <aggregation expression>} |
Parameter |
|
Definisi | Menghitung nilai agregat tetap pada dimensi yang ditentukan. Tidak terpengaruh oleh dimensi lain dalam grafik. |
Output | Nilai numerik |
Contoh | LOD_FIXED{[region]: BI_SUM([order amount])} Makna: Mengagregasi hanya berdasarkan region. Menjumlahkan order amount secara independen dari dimensi kueri lainnya. Untuk contoh lainnya, lihat contoh fungsi FIXED. |
Batasan | Tidak didukung untuk sumber data Lindorm (wide-table engine, multi-model SQL), Elasticsearch, atau SAP IQ (Sybase IQ). |
LOD_INCLUDE
Sintaks | LOD_INCLUDE{<dimension declaration> : <aggregation expression>} |
Parameter |
|
Definisi | Menjalankan agregasi menggunakan dimensi tambahan dalam grafik. |
Output | Nilai numerik |
Contoh | LOD_INCLUDE{[region]: BI_SUM([order amount])} Makna: Menambahkan region sebagai dimensi agregasi ke dimensi kueri yang ada. Menjumlahkan order amount. Untuk contoh lainnya, lihat contoh fungsi INCLUDE. |
Batasan | Tidak didukung untuk sumber data Lindorm (wide-table engine, multi-model SQL), Elasticsearch, atau SAP IQ (Sybase IQ). |
LOD_EXCLUDE
Sintaks | LOD_EXCLUDE{<dimension declaration> : <aggregation expression>} |
Parameter |
|
Definisi | Menjalankan agregasi sambil mengeluarkan dimensi tertentu dari grafik. |
Output | Nilai numerik |
Contoh | LOD_EXCLUDE{[region]: BI_SUM([order amount])} Makna: Dimulai dari dimensi kueri yang ada. Jika region ada, hapus dimensi tersebut. Kemudian jumlahkan order amount menggunakan dimensi yang tersisa. Untuk contoh lainnya, lihat contoh fungsi EXCLUDE. |
Batasan | Tidak didukung untuk sumber data Lindorm (wide-table engine, multi-model SQL), Elasticsearch, atau SAP IQ (Sybase IQ). |
Prosedur
Di editor set data, klik Create Calculated Field untuk membuka dialog konfigurasi.

Masukkan nama bidang (①). Di ekspresi bidang, pilih fungsi LOD dan bidang yang diperlukan (②).

Klik OK setelah pembuatan. Saat Anda menggunakan bidang baru untuk membuat grafik dasbor, total jumlah pesanan untuk setiap wilayah tetap konstan terlepas dari jenis produk.

Referensi Ekspresi
Rumus Dasar
Struktur dan sintaks untuk ketiga ekspresi LOD adalah:
Struktur
LOD_FIXED{<dimension declaration> : <aggregation expression>}
LOD_INCLUDE{<dimension declaration> : <aggregation expression>}
LOD_EXCLUDE{<dimension declaration> : <aggregation expression>}
Contoh: LOD_FIXED{[order date]:sum([order amount])}
Referensi sintaks
FIXED | INCLUDE | EXCLUDE: Kata kunci yang menentukan cakupan LOD.
<dimension declaration>: Satu atau beberapa dimensi untuk menghubungkan ekspresi agregasi. Pisahkan dimensi dengan koma.
<aggregation expression>: Perhitungan yang akan dilakukan. Menentukan dimensi target.
Kondisi Filter
Quick BI mendukung kondisi filter selain ekspresi dasar. Pisahkan deklarasi dimensi, ekspresi agregasi, dan filter dengan tanda titik dua.
LOD_FIXED{dimension1,dimension2...:aggregation expression:filter condition}
LOD_INCLUDE{dimension1,dimension2...:aggregation expression:filter condition}
LOD_EXCLUDE{dimension1,dimension2...:aggregation expression:filter condition}
Kondisi filter bersifat opsional.
LOD_FIXED menghitung agregat pada granularitas tetap. Konfigurasi eksternal tidak memengaruhinya. Secara default, LOD_FIXED menggunakan seluruh data. Hanya filter di dalam ekspresi yang berlaku. Filter lain—termasuk filter dasbor dan kontrol kueri—diabaikan.
LOD_INCLUDE dan LOD_EXCLUDE menghormati konfigurasi grafik. Filter eksternal berlaku.
Untuk detailnya, lihat Aturan kondisi filter.
Logika Implementasi
Dalam praktiknya, ekspresi LOD menghasilkan data teragregasi. Untuk menyediakan tampilan yang kaya, data ini sering digabungkan dengan data mentah atau tingkat agregasi lainnya. Dalam SQL, operasi subkueri dan JOIN mencapai hal ini. Bagian ini menjelaskan logika implementasi untuk ekspresi LOD FIXED, INCLUDE, dan EXCLUDE.
Tingkat Tetap
Ingat pertanyaan latar belakang: Bagaimana cara menampilkan data tingkat wilayah-provinsi dan data tingkat wilayah dalam satu tabel?
Buat ekspresi FIXED:
LOD_FIXED{[area]:sum([order_amt])}
Dalam SQL, gunakan subkueri untuk menghitung total pesanan per wilayah, lalu JOIN dengan kueri utama:
-- Simplified structure
-- lod_fixed{[area]:sum([order_amt])}
SELECT
LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0, -- area
LOD_TM.`LOD_55512959145CF3` AS LOD_1, -- province
LOD_TM.`LOD_8BE7507A47AD81` AS LOD_2, -- order_amt
LOD_TP_0.`LOD_measure_result` AS LOD_3 -- lod_fixed{[area]:sum([order_amt])}
FROM
(
SELECT -- Main query: area, province, sum(order_amt)
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
ADR_T_1_.`province` AS LOD_55512959145CF3,
SUM(ADR_T_1_.`order_amt`) AS LOD_8BE7507A47AD81
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`,
ADR_T_1_.`province`
ORDER BY
LOD_07AEF3F2F99A95 ASC,
LOD_55512959145CF3 ASC
LIMIT
0, 20
) AS LOD_TM
INNER JOIN (
SELECT -- LOD subquery: area, sum(order_amt)
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
sum(ADR_T_1_.`order_amt`) AS LOD_measure_result
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`
) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`
-- Standard structure
-- lod_fixed{[area]:sum([order_amt])}
SELECT
LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0,
LOD_TM.`LOD_55512959145CF3` AS LOD_1,
LOD_TM.`LOD_8BE7507A47AD81` AS LOD_2,
LOD_TP_0.`LOD_9D09E63F2E93FA` AS LOD_3
FROM
(
SELECT
SUM(ADR_T_1_.`order_amt`) AS LOD_8BE7507A47AD81,
ADR_T_1_.`province` AS LOD_55512959145CF3,
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`province`,
ADR_T_1_.`area`
ORDER BY
LOD_07AEF3F2F99A95 ASC,
LOD_55512959145CF3 ASC
LIMIT
0, 20
) AS LOD_TM
INNER JOIN (
SELECT
LOD_TL.`LOD_07AEF3F2F99A95` AS LOD_07AEF3F2F99A95,
LOD_TL.`LOD_55512959145CF3` AS LOD_55512959145CF3,
SUM(LOD_TR.`LOD_measure_result`) AS LOD_9D09E63F2E93FA
FROM
(
SELECT
ADR_T_1_.`province` AS LOD_55512959145CF3,
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`province`,
ADR_T_1_.`area`
) AS LOD_TL
INNER JOIN (
SELECT
sum(ADR_T_1_.`order_amt`) AS LOD_measure_result,
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`
) AS LOD_TR ON LOD_TL.`LOD_07AEF3F2F99A95` = LOD_TR.`LOD_07AEF3F2F99A95`
GROUP BY
LOD_TL.`LOD_07AEF3F2F99A95`,
LOD_TL.`LOD_55512959145CF3`
) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`
AND LOD_TM.`LOD_55512959145CF3` = LOD_TP_0.`LOD_55512959145CF3`INCLUDE Level
Bagaimana cara menampilkan data tingkat wilayah dan pangsa provinsi dengan penjualan tertinggi di setiap wilayah?
Buat ekspresi INCLUDE:
MAX(LOD_INCLUDE{[province]:SUM([order_amt])}) / SUM([order_amt])
Dalam SQL, gunakan subkueri untuk menghitung total pesanan per wilayah-provinsi, lalu JOIN dengan kueri utama:
-- Simplified structure
-- MAX(lod_include{[province]:SUM([order_amt])}) / SUM([order_amt])
SELECT
LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0, -- area
LOD_TP_0.`LOD_EC796C51A8ABAB` / LOD_TM.`temp_calculation_0` AS LOD_1 -- MAX(lod_include{[province]:SUM([order_amt])}) / SUM([order_amt])
FROM
(
SELECT -- Main query: area, sum(order_amt)
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
sum(ADR_T_1_.`order_amt`) AS temp_calculation_0
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`
ORDER BY
LOD_07AEF3F2F99A95 ASC
LIMIT
0, 20
) AS LOD_TM
INNER JOIN (
SELECT -- LOD subquery: area, max(order_amt)
LOD_TP_0.`LOD_07AEF3F2F99A95` AS LOD_07AEF3F2F99A95,
MAX(LOD_TP_0.`LOD_measure_result`) AS LOD_EC796C51A8ABAB
FROM
(
SELECT -- area, province, sum(order_amt)
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
ADR_T_1_.`province` AS LOD_55512959145CF3,
SUM(ADR_T_1_.`order_amt`) AS LOD_measure_result
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`,
ADR_T_1_.`province`
) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`
-- Standard structure
-- MAX(lod_include{[province]:SUM([order_amt])}) / SUM([order_amt])
SELECT
LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0,
LOD_TP_0.`LOD_EC796C51A8ABAB` / LOD_TM.`temp_calculation_0` AS LOD_1
FROM
(
SELECT
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
sum(ADR_T_1_.`order_amt`) AS temp_calculation_0
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`
ORDER BY
LOD_07AEF3F2F99A95 ASC
LIMIT
0, 20
) AS LOD_TM
INNER JOIN (
SELECT
LOD_TL.`LOD_07AEF3F2F99A95` AS LOD_07AEF3F2F99A95,
MAX(LOD_TR.`LOD_measure_result`) AS LOD_EC796C51A8ABAB
FROM
(
SELECT
ADR_T_1_.`province` AS LOD_55512959145CF3,
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`province`,
ADR_T_1_.`area`
) AS LOD_TL
INNER JOIN (
SELECT
SUM(ADR_T_1_.`order_amt`) AS LOD_measure_result,
ADR_T_1_.`province` AS LOD_55512959145CF3,
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`province`,
ADR_T_1_.`area`
) AS LOD_TR ON LOD_TL.`LOD_07AEF3F2F99A95` = LOD_TR.`LOD_07AEF3F2F99A95`
GROUP BY
LOD_TL.`LOD_07AEF3F2F99A95`
) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`Tingkat EXCLUDE
Ekspresi LOD FIXED secara langsung menentukan dimensi seperti area untuk mendapatkan data tingkat wilayah. Namun bagaimana jika Anda sudah menambahkan area dan provinsi ke grafik? Dapatkah Anda mengeluarkan provinsi dan menghitung ulang? Ya. Itulah gagasan di balik ekspresi LOD EXCLUDE.
Buat ekspresi EXCLUDE:
LOD_EXCLUDE{[province]:SUM([order_number])}
Dalam SQL, gunakan subkueri untuk menghitung total pesanan per wilayah, lalu JOIN dengan kueri utama:
-- Simplified structure
-- lod_EXCLUDE{[province]:SUM([order_number])}
SELECT
LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0, -- area
LOD_TM.`LOD_55512959145CF3` AS LOD_1, -- province
LOD_TM.`LOD_140423A9870F07` AS LOD_2, -- order_number
LOD_TP_0.`LOD_measure_result` AS LOD_3 -- lod_EXCLUDE{[province]:SUM([order_number])}
FROM
(
SELECT -- Main query: area, province, sum(order_number)
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
ADR_T_1_.`province` AS LOD_55512959145CF3,
SUM(ADR_T_1_.`order_number`) AS LOD_140423A9870F07
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`,
ADR_T_1_.`province`
ORDER BY
LOD_07AEF3F2F99A95 ASC,
LOD_55512959145CF3 ASC
LIMIT
0, 20
) AS LOD_TM
INNER JOIN (
SELECT -- LOD subquery: area, sum(order_number)
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95,
SUM(ADR_T_1_.`order_number`) AS LOD_measure_result
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`
) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`
AND LOD_TM.`LOD_55512959145CF3` = LOD_TP_0.`LOD_55512959145CF3`
-- Standard structure
-- lod_EXCLUDE{[province]:SUM([order_number])}
SELECT
LOD_TM.`LOD_07AEF3F2F99A95` AS LOD_0,
LOD_TM.`LOD_55512959145CF3` AS LOD_1,
LOD_TM.`LOD_140423A9870F07` AS LOD_2,
LOD_TP_0.`LOD_90EDFE3F5B628A` AS LOD_3
FROM
(
SELECT
SUM(ADR_T_1_.`order_number`) AS LOD_140423A9870F07,
ADR_T_1_.`province` AS LOD_55512959145CF3,
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`province`,
ADR_T_1_.`area`
ORDER BY
LOD_07AEF3F2F99A95 ASC,
LOD_55512959145CF3 ASC
LIMIT
0, 20
) AS LOD_TM
INNER JOIN (
SELECT
LOD_TL.`LOD_07AEF3F2F99A95` AS LOD_07AEF3F2F99A95,
LOD_TL.`LOD_55512959145CF3` AS LOD_55512959145CF3,
SUM(LOD_TR.`LOD_measure_result`) AS LOD_90EDFE3F5B628A
FROM
(
SELECT
ADR_T_1_.`province` AS LOD_55512959145CF3,
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`province`,
ADR_T_1_.`area`
) AS LOD_TL
INNER JOIN (
SELECT
SUM(ADR_T_1_.`order_number`) AS LOD_measure_result,
ADR_T_1_.`area` AS LOD_07AEF3F2F99A95
FROM
`qbi4test`.`company_sales_record` AS ADR_T_1_
GROUP BY
ADR_T_1_.`area`
) AS LOD_TR ON LOD_TL.`LOD_07AEF3F2F99A95` = LOD_TR.`LOD_07AEF3F2F99A95`
GROUP BY
LOD_TL.`LOD_07AEF3F2F99A95`,
LOD_TL.`LOD_55512959145CF3`
) AS LOD_TP_0 ON LOD_TM.`LOD_07AEF3F2F99A95` = LOD_TP_0.`LOD_07AEF3F2F99A95`
AND LOD_TM.`LOD_55512959145CF3` = LOD_TP_0.`LOD_55512959145CF3`Contoh Fungsi FIXED
Ekspresi Level of Detail FIXED menghitung hanya menggunakan dimensi yang ditentukan dan mengabaikan semua dimensi lainnya.
Contoh 1: Total jumlah penjualan per wilayah
Skenario
Anda menganalisis pesanan penjualan regional. Set data Anda mencakup dimensi wilayah dan provinsi. Gunakan FIXED untuk menghitung total jumlah penjualan per wilayah. FIXED mengabaikan semua dimensi lainnya, sehingga mengembalikan total penjualan regional yang benar.
Prosedur
Buat bidang terhitung.
Ekspresi bidang: LOD_FIXED{[region]:BI_SUM([order amount])}
Makna: Jumlahkan jumlah pesanan berdasarkan wilayah.

Buat grafik.
Contoh ini menggunakan tabel silang.
Seret bidang Regional Amount Sum ke area kolom. Seret region dan province ke area baris. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, jumlah regional tetap konstan di seluruh provinsi.
Contoh 2: Frekuensi pemesanan pelanggan
Deskripsi skenario
Manajer penjualan ingin mengetahui berapa banyak pelanggan yang melakukan satu, dua, atau tiga pesanan—dan seterusnya. Analisis perilaku pembelian ulang pelanggan dengan menghitung frekuensi pesanan per pelanggan. Gunakan ekspresi Level of Detail untuk mengelompokkan satu ukuran berdasarkan ukuran lainnya.
Contoh ini menggunakan LOD_FIXED untuk mengonversi jumlah pesanan menjadi dimensi jumlah pelanggan. Hitung frekuensi pemesanan pelanggan.
Prosedur
Buat bidang terhitung.
Ekspresi bidang: LOD_FIXED{[customer name]:COUNT([order id])}
Makna: Hitung frekuensi pembelian per pelanggan.

Buat grafik.
Contoh ini menggunakan grafik kolom.
Seret bidang Purchase Frequency ke area sumbu kategori/dimensi. Seret customer name ke area nilai sumbu/ukuran dan atur ke distinct count. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Anda melihat bahwa frekuensi pembelian paling umum adalah tujuh. Satu pelanggan memesan 58 kali.
Contoh 3: Peringkat persentase laba regional
Skenario
Direktur penjualan regional ingin mengetahui pangsa laba total setiap wilayah—dan dengan cepat mengidentifikasi kontributor utama. Anda dapat menggunakan Advanced Calculation → Percentage. Atau gunakan ekspresi Level of Detail untuk fleksibilitas lebih.
Contoh ini menggunakan LOD_FIXED untuk menghitung peringkat persentase laba regional.
Prosedur
Buat bidang terhitung.
Ekspresi bidang: LOD_FIXED{:SUM([profit amount])}
Makna: Ekspresi FIXED ini menghilangkan dimensi, sehingga menjumlahkan laba tanpa pengelompokan.
Bagi SUM([profit amount]) dengan hasil LOD: SUM([profit amount]) / SUM(LOD_FIXED{:SUM([profit amount])}). Ini memberikan pangsa laba setiap wilayah.

Buat grafik.
Dalam contoh ini, Anda membuat leaderboard.
Seret bidang Profit Share Percentage ke area metrik/ukuran. Seret area ke area kategori/dimensi. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Tiongkok Selatan dan Tiongkok Utara berada di peringkat tertinggi. Tiongkok Timur dan Tiongkok Barat Daya berada di peringkat terendah—dan bahkan menunjukkan laba negatif. Data Tiongkok Timur tampak seperti data kotor.
Contoh 4: Jumlah pengguna baru tahunan
Deskripsi skenario
Bagaimana Anda mengetahui apakah produk Anda tumbuh secara positif? Selain PV dan UV, lacak loyalitas pelanggan. Pengguna yang bertahan lama dan terus memesan menunjukkan daya rekat produk yang kuat. Gunakan ekspresi Level of Detail untuk mengukurnya.
Contoh ini menggunakan LOD_FIXED untuk menghitung jumlah pengguna baru tahunan.
Prosedur
Buat bidang terhitung.
Ekspresi bidang: LOD_FIXED{[customer name]:MIN(DATE_FORMAT([buy date], '%Y'))}
Makna: Temukan tahun pesanan paling awal setiap pengguna. Sesuaikan granularitas sesuai kebutuhan menggunakan fungsi tanggal yang kompatibel dengan database.

Buat grafik.
Contoh ini menggunakan grafik garis.
Seret bidang Customer First Purchase Year ke area sumbu kategori/dimensi. Seret sales amount ke area nilai sumbu/ukuran. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, pengguna yang mulai pada tahun 2013 masih berkontribusi besar. Daya rekat produk tetap tinggi.
Contoh 5: Tren jumlah pelanggan baru per tahun dari detail pesanan
Skenario
Hitung pelanggan unik per tahun pembelian pertama. Lalu analisis distribusinya.
Prosedur
Buat bidang terhitung.
Bidang 1: LOD_FIXED{[customer ID]: min(BI_YEAR([order date]))}
Beri nama bidang ini Customer First Purchase Year. Atur tipe data ke dimensi dan tipe bidang ke teks.
Bidang 2: Customer Count=count(distinct [customer ID])
Buat grafik.
Contoh ini menggunakan grafik kolom. Seret Customer First Purchase Year ke area sumbu kategori/dimensi. Seret Customer Count ke area nilai sumbu/ukuran. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Anda melihat jumlah pelanggan baru tahunan. Tahun 2021 memiliki jumlah tertinggi. Jumlah tersebut turun tajam setelahnya.
Contoh 6: Distribusi jumlah pelanggan berdasarkan frekuensi pembelian dari detail pesanan
Skenario
Hitung pembelian per pelanggan. Lalu analisis distribusinya.
Prosedur
Buat bidang terhitung.
Bidang 1: LOD_FIXED{[customer ID]: count(distinct [order ID])}
Beri nama bidang ini Customer Purchase Frequency. Atur tipe data ke dimensi dan tipe bidang ke teks.
Bidang 2: Customer Count=count(distinct [customer ID])
Buat grafik.
Contoh ini menggunakan grafik kolom. Seret Customer Purchase Frequency ke area sumbu kategori/dimensi. Seret Customer Count ke area nilai sumbu/ukuran. Klik Update. Sistem memperbarui grafik secara otomatis.

Dalam kasus ini, jumlah pelanggan tertinggi terjadi pada frekuensi pembelian 3.
Contoh 7: Bandingkan jumlah pesanan tahunan dengan tahun kunci 2023
Skenario
Bandingkan data pesanan tahunan terhadap tahun kunci—2023.
Prosedur
Buat bidang terhitung.
sum([order amount])/ LOD_FIXED{: sum( case when BI_YEAR([order date]) ='2023' then [order amount] else 0 end)} -1Penjabaran:
Hitung jumlah pesanan tahun 2023: LOD_FIXED{:sum(case when BI_YEAR([order date]) ='2023' then [order amount] else 0 end)}
Bandingkan jumlah pesanan tahunan dengan jumlah pesanan tahun 2023: sum([order amount])/[2023 order amount]-1. Beri nama bidang ini vs. 2023.
Buat grafik.
Contoh ini menggunakan Tabel silang. Seret tanggal pesanan (tahun) ke area baris, lalu seret jumlah pesanan dan vs. 2023 ke area kolom. Klik Perbarui untuk memperbarui grafik secara otomatis.

Sekarang, Anda melihat jumlah pesanan tahunan dan perbandingannya dengan tahun 2023.
Contoh 8: Analisis jumlah hari untung dan rugi berdasarkan tahun dan bulan
Skenario
Beri label setiap hari sebagai menguntungkan atau tidak menguntungkan berdasarkan laba harian. Lalu hitung hari berdasarkan label, tahun, dan bulan.
Prosedur
Buat bidang terhitung.
Bidang 1:
case when LOD_FIXED{[order date]:sum([profit])}>0 then 'Profitable' else 'Unprofitable' endBeri nama bidang ini Day Profit/Loss Tag. Atur tipe data ke dimensi dan tipe bidang ke teks.
Penjabaran:
Jumlahkan laba berdasarkan tanggal pesanan: LOD_FIXED{[order date]:sum([profit])}
Jika jumlah laba > 0, kembalikan “Profitable”. Jika tidak, kembalikan “Unprofitable”: case when [profit sum]>0 then 'Profitable' else 'Unprofitable' end
Bidang 2: Days=count(distinct [order date])
Bidang 3: Month=BI_MONTH([order date])
Buat grafik.
Gunakan dimensi pemisahan dalam grafik garis-kolom untuk membuat small multiples. Visualisasikan tren sebagai stacked atau kategorikal. Lihat perbandingan dan pola yang jelas.
Contoh ini membuat grafik kolom bertumpuk untuk distribusi hari untung/rugi (tren bertumpuk). Contoh ini juga membuat dua grafik area untuk distribusi hari untung/rugi.
Buat grafik kolom bertumpuk. Seret Month ke area sumbu kategori/dimensi. Seret Days ke area nilai sumbu/ukuran. Seret Day Profit/Loss Tag ke area legenda warna/dimensi. Seret order date (year) ke area pemisahan/dimensi. Klik Update. Sistem memperbarui grafik secara otomatis.

Buat dua grafik area—satu untuk hari tidak menguntungkan, satu untuk hari menguntungkan.
Pada kedua grafik, seret Month ke area sumbu kategori/dimensi. Seret Days ke area nilai sumbu/ukuran. Seret order date (year) ke area pemisahan/dimensi.
Tambahkan Day Profit/Loss Tag ke filter. Atur kecocokan eksak ke “Unprofitable” untuk grafik pertama. Atur kecocokan eksak ke “Profitable” untuk grafik kedua.

Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Anda melihat perbandingan dan tren yang jelas untuk hari untung/rugi berdasarkan tahun dan bulan.

Contoh Fungsi INCLUDE
Ekspresi Level of Detail INCLUDE mengelompokkan perhitungan berdasarkan dimensi yang ditentukan. INCLUDE menambahkan satu lapisan analisis di atas granularitas yang ada.
Contoh 1: Jumlah penjualan rata-rata pelanggan
Skenario
Saat menganalisis penjualan produk, Anda memerlukan jumlah penjualan rata-rata pelanggan. Gunakan INCLUDE untuk menghitung jumlah total pesanan setiap pelanggan. Lalu gunakan agregasi rata-rata.
Prosedur
Buat bidang terhitung.
Ekspresi bidang: LOD_INCLUDE{[user id]:SUM([order amount])}
Makna: Jumlahkan jumlah pesanan per ID pengguna.

Buat grafik.
Contoh ini menggunakan tabel silang.
Seret order amount dan Customer Order Total ke area kolom. Seret product type ke area baris. Atur agregasi Customer Order Total ke Average. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Anda melihat jumlah penjualan rata-rata pelanggan per jenis produk.
Contoh 2: Rata-rata jumlah transaksi maksimum per perwakilan penjualan
Skenario
Direktur penjualan memerlukan rata-rata dari transaksi terbesar setiap perwakilan penjualan, dikelompokkan berdasarkan wilayah—dan ditampilkan pada peta. Gunakan ekspresi Level of Detail untuk menampilkan data pada tingkat wilayah. Drill down ke perwakilan penjualan untuk melihat wilayah mana yang berkinerja baik atau buruk. Lalu rencanakan target sesuai kebutuhan.
Contoh ini menggunakan LOD_INCLUDE untuk menghitung rata-rata jumlah transaksi maksimum per perwakilan penjualan.
Prosedur
Buat bidang terhitung.
Ekspresi bidang: AVG(LOD_INCLUDE{[sales name]:MAX([price])})
Makna: Tambahkan nama perwakilan penjualan sebagai dimensi analisis. Lalu hitung rata-rata dari jumlah transaksi maksimum.

Buat grafik.
Contoh ini menggunakan peta berwarna.
Seret Average Maximum Sales Amount per Region ke area saturasi warna/ukuran. Seret area ke area sumbu wilayah geografis/dimensi.
Di Style → Blocks, sorot wilayah dengan nilai maksimum dalam warna merah.

Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Tiongkok Timur menunjukkan penjualan maksimum yang lebih tinggi. Tiongkok Barat Laut dan Tiongkok Barat Daya menunjukkan nilai yang lebih rendah.
Contoh 3: Total laba untuk wilayah dengan jumlah pesanan melebihi 500.000
Deskripsi skenario
Jumlahkan jumlah pesanan berdasarkan wilayah. Lalu hitung total laba untuk wilayah dengan jumlah pesanan melebihi 500.000.
Prosedur
Buat bidang terhitung.
CASE WHEN LOD_INCLUDE{[region]:BI_SUM([order amount])}>500000 then [profit amount] else 0 endPenjabaran:
Hitung jumlah pesanan per wilayah. Beri nama bidang ini Region Order Amount: LOD_INCLUDE{[region]:BI_SUM([order amount])}
Temukan wilayah dengan jumlah pesanan melebihi 500.000 dan jumlahkan labanya: CASE WHEN [Region Order Amount]>500000 then [profit amount] else 0 end
Jumlahkan hasilnya (menggunakan SUM atau mengatur agregasi bidang grafik ke Sum) untuk mendapatkan total laba untuk wilayah yang memenuhi syarat.
Buat grafik.
Contoh ini menggunakan papan kanban untuk menampilkan data. Anda juga dapat membuat tabel silang untuk memverifikasi akurasi. Di papan kanban, seret bidang baru ke area metrik papan kanban/ukuran. Atur agregasi bidang ke Sum. Di tabel silang, seret region ke area baris. Seret order amount, profit amount, dan bidang baru ke area kolom. Atur agregasi bidang ke Sum. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Tiongkok Timur Laut, Tiongkok Timur, Tiongkok Utara, dan Tiongkok Selatan melebihi 500.000 dalam jumlah pesanan. Total laba mereka adalah 459.000 CNY.
Contoh 4: Total laba untuk wilayah dengan jumlah pesanan dikirim kereta melebihi 100.000 per jenis produk
Skenario
Ini merupakan peningkatan dari Contoh 3. Contoh ini menambahkan pengiriman kereta dan pengelompokan jenis produk. Hitung total laba untuk wilayah dengan jumlah pesanan dikirim kereta melebihi 100.000 per jenis produk. Ini melibatkan fungsi bersarang. Uraikan untuk kejelasan.
Prosedur
Buat bidang terhitung:
SUM( CASE WHEN LOD_INCLUDE{[product type],[region]:sum(if([shipping method]='train',[order amount],0))}>100000 then [profit amount] else 0 end)Penjabaran:
Jumlahkan jumlah pesanan dikirim kereta per jenis produk dan wilayah. Beri nama bidang ini Product Type–Region Order Amount: LOD_INCLUDE{[product type],[region]:sum(if([shipping method]='train',[order amount],0))}
Temukan wilayah dengan jumlah pesanan melebihi 100.000 dan jumlahkan labanya: CASE WHEN [Product Type–Region Order Amount]>100000 then [profit amount] else 0 end
Jumlahkan hasilnya.
Buat grafik.
Buat dua papan kanban. Di Papan Kanban 1, seret bidang baru ke area metrik papan kanban/ukuran. Di Papan Kanban 2, seret bidang baru ke area metrik papan kanban/ukuran dan seret product type ke area tag papan kanban/dimensi. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, total laba untuk pesanan dikirim kereta di atas 100.000 adalah 426.000 CNY. Perlengkapan kantor: 147.200 CNY. Furnitur: 0 CNY. Teknologi: 278.800 CNY.
Buat Tabel silang untuk memverifikasi akurasi. Seret tipe produk, metode pengiriman, dan wilayah ke area baris, lalu seret jumlah pesanan, jumlah keuntungan, dan bidang baru ke area kolom. Klik Update. Sistem akan memperbarui grafik secara otomatis.
Untuk perlengkapan kantor, pesanan dikirim kereta di atas 100.000 terjadi di Tiongkok Timur Laut, Tiongkok Timur, Tiongkok Utara, dan Tiongkok Selatan. Total laba mereka adalah 147.200 CNY—sesuai dengan papan kanban. Verifikasi jenis produk lainnya dengan cara yang sama.
Contoh 5: Jumlah pelanggan untuk wilayah dengan jumlah pesanan dikirim kereta melebihi 100.000 per jenis produk
Skenario
Ini mirip dengan Contoh 4, tetapi menghitung jumlah pelanggan alih-alih laba.
Prosedur
Buat bidang terhitung:
COUNT(DISTINCT( CASE WHEN LOD_INCLUDE{[product type],[region]:sum(if([shipping method]='train',[order amount],0))}>100000 then [user id] else null end))Penjabaran:
Jumlahkan jumlah pesanan dikirim kereta per jenis produk dan wilayah. Beri nama bidang ini Product Type–Region Order Amount: LOD_INCLUDE{[product type],[region]:sum(if([shipping method]='train',[order amount],0))}
Temukan wilayah dengan jumlah pesanan melebihi 100.000 dan daftarkan pelanggannya: CASE WHEN [Product Type–Region Order Amount]>100000 then [user id] else null end
Akhirnya, gunakan COUNT(DISTINCT()) untuk menghitung nilai unik.
Buat grafik.
Contoh ini menggunakan papan kanban. Seret bidang baru ke area metrik papan kanban/ukuran. Klik Update. Sistem memperbarui grafik secara otomatis.
Sekarang, jumlah pelanggan untuk pesanan dikirim kereta di atas 100.000 adalah 1.026.
Contoh 6: Jumlah wilayah dengan jumlah pesanan melebihi 500.000
Skenario
Ini mirip dengan Contoh 3, tetapi menghitung jumlah wilayah alih-alih menghitung laba.
Prosedur
Buat bidang terhitung:
COUNT(DISTINCT( CASE WHEN LOD_INCLUDE{[region]:sum([order amount])}>500000 then [region] else null end))Penjabaran:
Hitung jumlah pesanan per wilayah. Beri nama bidang ini Region Order Amount: LOD_INCLUDE{[region]:sum([order amount])}
Temukan wilayah dengan jumlah pesanan melebihi 500.000: CASE WHEN [Region Order Amount]>500000 then [region] else null end
Akhirnya, Anda dapat menggunakan COUNT(DISTINCT()) untuk menghitung item unik.
Buat grafik.
Contoh ini menggunakan papan kanban. Anda juga dapat membuat tabel silang untuk memverifikasi akurasi. Di papan kanban, seret bidang baru ke area metrik papan kanban/ukuran. Di tabel silang, seret region ke area baris dan order amount ke area kolom. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, empat wilayah melebihi 500.000 dalam jumlah pesanan: Tiongkok Timur Laut, Tiongkok Timur, Tiongkok Utara, dan Tiongkok Selatan.
Contoh 7: Rata-rata jumlah penjualan provinsi per jenis produk pada tahun 2024
Skenario
Hitung rata-rata jumlah penjualan provinsi per jenis produk pada tahun 2024.
Prosedur
Buat bidang terhitung.
AVG( LOD_INCLUDE{[product type],[province]: SUM(IF(YEAR([order date])='2024',[order amount],0)) } )Penjabaran:
Hitung jumlah pesanan untuk pesanan tahun 2024. Beri nama bidang ini 2024 Order Amount: IF(YEAR([order date])='2024',[order amount],0)
Jumlahkan penjualan berdasarkan jenis produk dan provinsi: LOD_INCLUDE{[product type],[province],SUM[2024 Order Amount]}
Hitung rata-rata.
Buat grafik.
Contoh ini menggunakan papan kanban. Anda juga dapat membuat tabel silang untuk memverifikasi akurasi. Pada papan kanban, seret bidang baru ke area metrik/ukuran dan jenis produk ke area tag/dimensi. Pada tabel silang, seret jenis produk ke area baris dan jumlah pesanan ke area kolom. Terapkan filter untuk data tahun 2024, lalu klik Update. Sistem akan memperbarui grafik secara otomatis.

Sekarang, jumlah pesanan perlengkapan kantor tahun 2024 adalah 235.600 CNY. Rata-rata penjualan provinsi adalah 235.600 ÷ 31 provinsi = 7.600 CNY. Jenis produk lain mengikuti logika yang sama.
Contoh 8: Rata-rata jumlah pelanggan provinsi per jenis produk pada tahun 2024
Skenario
Ini mirip dengan Contoh 7, tetapi menghitung rata-rata jumlah pelanggan alih-alih rata-rata penjualan.
Prosedur
Buat bidang terhitung.
AVG( LOD_INCLUDE{[product type],[province]: COUNT(DISTINCT(IF(YEAR([order date])='2024',[user id],null))) } )Penjabaran:
Hitung pelanggan untuk pesanan tahun 2024. Beri nama bidang ini 2024 Customer Count: IF(YEAR([order date])='2024',[user id],null)
Menghitung jumlah pelanggan berdasarkan tipe produk dan provinsi: LOD_INCLUDE{[product type],[province],SUM[2024 Customer Count]}
Hitung rata-rata.
Buat grafik.
Contoh ini menggunakan papan kanban. Anda juga dapat membuat tabel silang untuk memverifikasi akurasi. Di papan kanban, seret bidang baru ke area metrik papan kanban/ukuran dan seret product type ke area tag papan kanban/dimensi. Di tabel silang, seret product type ke area baris dan Product Type Provincial Customer Count ke area kolom. Terapkan filter untuk data tahun 2024. Klik Update. Sistem memperbarui grafik secara otomatis.
Product Type Provincial Customer Count=LOD_INCLUDE{[product type],[province]:COUNT(DISTINCT([user id]))}

Sekarang, jumlah pelanggan provinsi perlengkapan kantor tahun 2024 adalah 212. Rata-rata jumlah pelanggan provinsi adalah 212 ÷ 31 provinsi = 6,839. Jenis produk lain mengikuti logika yang sama.
Contoh 9: Rasio pencapaian target produk dan selisih laba per provinsi
Skenario
Dengan target laba provinsi yang diketahui, analisis produk mana yang memenuhi atau meleset dari target.
Hitung selisih target laba per produk pada tingkat provinsi. Hitung jumlah produk yang memenuhi target. Hitung total produk. Hitung rasionya.
Skema ini memerlukan dua grafik terkait. Klik statistik produk di sisi kiri untuk melihat detail produk di sisi kanan.
Prosedur
Buat bidang terhitung.
Bidang 1: Product Profit Target Gap
LOD_INCLUDE{[product] : sum([profit]-[profit target])}.Makna: Hitung selisih target laba per produk.
Bidang 2: Rasio Pencapaian Target
count(distinct case when [Product Profit Target Gap]>0 then [product] else null end) /count(distinct [product])Penjabaran:
Hitung jumlah produk unik dengan selisih target laba > 0. Beri nama Products That Meet Targets: count(distinct case when [Product Profit Target Gap]>0 then [product] else null end)
Hitung jumlah total produk unik: count(distinct [product])
Bagi keduanya: [Products That Meet Targets]/[Total Products]. Ini memberikan Target Achievement Ratio.
Buat grafik.
Contoh ini membuat dua grafik dengan interaksi.
Buat grafik batang untuk Product Profit Target Gap. Seret product ke area sumbu kategori/dimensi. Seret Product Profit Target Gap ke area nilai sumbu/ukuran. Klik Update. Sistem memperbarui grafik secara otomatis.

Buat grafik batang untuk Target Achievement Ratio. Seret province ke area sumbu kategori/dimensi. Seret Target Achievement Ratio ke area nilai sumbu/ukuran. Klik Update. Sistem memperbarui grafik secara otomatis.

Konfigurasi interaksi antara dua grafik batang tersebut.
CatatanDalam contoh ini, kedua grafik menggunakan set data yang sama. Jika auto-interaction diaktifkan, grafik akan terhubung secara otomatis. Jika dinonaktifkan, konfigurasi interaksi manual.
Untuk detailnya, lihat Interaksi.
Pratinjau interaksi.

Sekarang, Anda melihat progres target laba provinsi dan produk mana yang memenuhi atau meleset dari target.
Contoh 10: Evaluasi kinerja toko berdasarkan wilayah
Skenario
Menggunakan data penjualan dan laba kotor tingkat toko, hitung total penjualan dan laba kotor per wilayah. Juga hitung rata-rata penjualan dan laba kotor per toko. Gunakan filter untuk melihat kinerja pada tingkat regional atau sub-regional.
Prosedur
Buat bidang terhitung.
Bidang 1: Store Gross Profit=LOD_INCLUDE{[store name]:sum([gross profit])}
Bidang 2: Store Sales Amount=LOD_INCLUDE{[store name]:sum([sales amount])}
Buat grafik.
Contoh ini menggunakan tabel silang dengan pemformatan kondisional.
Di tabel silang, seret Parent Region dan Sub-region ke area baris. Di area kolom, tambahkan dua bidang Store Gross Profit—satu diatur ke Average, satu ke Sum. Tambahkan dua bidang Store Sales Amount—satu diatur ke Average, satu ke Sum.

Beri label Store Gross Profit (Average) dan Store Sales Amount (Average) sebagai Per Store. Beri label Store Gross Profit (Sum) dan Store Sales Amount (Sum) sebagai Total.
Di Style → Cell → Metric Grouping, atur Metric Grouping.

Terapkan pemformatan kondisional untuk estetika. Contoh ini mengonfigurasi keempat kolom sebagai berikut:

Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Anda melihat penjualan dan laba kotor total serta per toko untuk setiap wilayah.
Contoh 11: Evaluasi regional berdasarkan kinerja provinsi
Skenario
Berdasarkan provinsi, hitung penjualan per wilayah. Hitung jumlah provinsi dengan penjualan melebihi ambang batas (diatur melalui filter). Juga hitung total pelanggan di provinsi tersebut dan rata-rata pelanggan per provinsi. Ubah ambang batas untuk melihat hasil yang diperbarui.
Contoh ini menggunakan placeholder nilai. Untuk detail penggunaan, lihat Placeholder Nilai.
Prosedur
Buat bidang terhitung.
Bidang 1: Qualified Province Count
count(distinct case when LOD_INCLUDE{[province]:sum([order amount])} > $val{ord_amt_level} then [province] else null end)Penjabaran:
Hitung jumlah pesanan per provinsi: LOD_INCLUDE{[province]:sum([order amount])}. Beri nama Province Order Amount.
Kembalikan provinsi jika Province Order Amount > placeholder nilai ord_amt_level. Jika tidak, kembalikan null: case when [Province Order Amount]> $val{ord_amt_level} then [province] else null end. Beri nama Qualified Provinces.
Hitung jumlah provinsi berkualifikasi unik: count(distinct [Qualified Provinces]).
Bidang 2: Total Pelanggan di Provinsi yang Memenuhi Syarat
count(distinct case when lod_include{[province]:sum([order amount])} > $val{ord_amt_level} then [customer ID] else null end)Penjabaran:
Hitung jumlah pesanan per provinsi: LOD_INCLUDE{[province]:sum([order amount])}. Beri nama Province Order Amount.
Kembalikan ID pelanggan jika Province Order Amount > placeholder nilai ord_amt_level. Jika tidak, kembalikan null: case when [Province Order Amount]> $val{ord_amt_level} then [customer ID] else null end. Beri nama Customers in Qualified Provinces.
Hitung jumlah unik Pelanggan di bawah Provinsi. Rumus: count(distinct [Pelanggan di bawah Provinsi])
Bidang 3: Average Customers Per Province = [Total Customers in Qualified Provinces] ÷ [Qualified Province Count].
Buat grafik.
Buat tabel silang. Seret region ke area baris. Seret Province Count, Province Customer Count, dan Average Customers Per Province ke area kolom.
Tambahkan filter kueri internal. Atur filter ke jumlah penjualan provinsi. Hubungkan ke placeholder nilai ord_amt_level. Atur nilai default ke 100000.

Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, ubah jumlah penjualan provinsi untuk melihat hasil yang diperbarui.
Contoh Fungsi EXCLUDE
Ekspresi Level of Detail EXCLUDE menghitung setelah menghapus dimensi yang ditentukan.
Contoh 1: Pangsa penjualan provinsi dalam wilayah
Skenario
Saat menganalisis penjualan tingkat provinsi dalam suatu wilayah, Anda juga memerlukan total penjualan wilayah dan pangsa penjualan setiap provinsi. Gunakan EXCLUDE untuk menghitung penjualan regional dengan mengeluarkan provinsi saat ini. Lalu jumlahkan untuk mendapatkan total wilayah.
Prosedur
Buat bidang terhitung.
Ekspresi bidang: LOD_EXCLUDE{[province]:SUM([order amount])}
Makna: Hitung penjualan regional dengan mengeluarkan provinsi saat ini.

Buat grafik.
Contoh ini menggunakan tabel silang. Seret order amount dan Regional Total Sales ke area kolom. Seret region dan province ke area baris. Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Anda melihat jumlah pesanan tingkat provinsi dan total penjualan regional.
Contoh 2: Selisih antara rata-rata area penjualan dan zona pertempuran
Skenario
Perusahaan penjualan memiliki tujuh zona pertempuran nasional. Setiap zona pertempuran berisi beberapa area penjualan berdasarkan provinsi. Pada akhir tahun, bandingkan secara cepat rata-rata laba penjualan setiap provinsi terhadap rata-rata keseluruhan zona pertempurannya. Identifikasi zona berkinerja terbaik dan terburuk. Gunakan ekspresi Level of Detail dan pemformatan kondisional untuk membuat laporan ini.
Contoh ini menggunakan LOD_EXCLUDE untuk menghitung selisih antara rata-rata area penjualan dan zona pertempuran.
Prosedur
Buat bidang terhitung.
Ekspresi bidang: AVG(LOD_EXCLUDE{[province]:AVG([price])})
Makna: Dimulai dari pengaturan awal, keluarkan area penjualan dari granularitas agregasi dan hitung rata-rata penjualan di granularitas yang tersisa. Ekspresi ini menghitung rata-rata penjualan untuk setiap wilayah, seperti Tiongkok Timur.
Kurangi hasil LOD dari AVG([price]): AVG([price]) - AVG(LOD_EXCLUDE{[province]:AVG([price])}). Ini memberikan selisih antara setiap area penjualan dan rata-rata zona pertempurannya.

Buat grafik.
Contoh ini menggunakan tabel silang.
Seret bidang Province Average Difference ke area kolom. Seret area dan province ke area baris.
Di Style → Conditional Formatting, atur bidang ini ke merah jika > 0 dan hijau jika < 0.

Klik Update. Sistem memperbarui grafik secara otomatis.

Sekarang, Shanghai, Anhui, Jiangsu, dan Fujian melampaui rata-rata Tiongkok Timur. Shanghai memimpin. Shandong, Jiangxi, dan Zhejiang kurang memadai dan perlu peningkatan.
Aturan Kondisi Filter
LOD_FIXED + Filter Eksternal
Hasil Tidak Terpengaruh Filter
Ekspresi bidang LOD_FIXED_1: LOD_FIXED{[region]: SUM([order amount])}
Filter: shipping method = “truck”
Penjelasan hasil: Seperti yang ditunjukkan di bawah, total jumlah pesanan wilayah Tiongkok Timur Laut adalah 527.400 CNY. Tanpa filter eksternal—atau dengan shipping method = “truck”—total Tiongkok Timur Laut tetap 527.400 CNY. Filter tidak memengaruhi hasil.
Kesimpulan: Filter yang tidak terkait dengan dimensi agregasi LOD tidak memengaruhi hasil.

Hasil Terpengaruh Filter
Ekspresi bidang LOD_FIXED_2: LOD_FIXED{[region], [product type], [shipping method]: SUM([order amount])}
Filter: shipping method = “truck”
Penjelasan hasil: Seperti yang ditunjukkan di bawah, total Tiongkok Timur Laut–perlengkapan kantor adalah 150.800 CNY—jumlah dari truck (35.540 CNY), train (103.100 CNY), dan air (12.110 CNY). Dengan shipping method = “truck”, Tiongkok Timur Laut–perlengkapan kantor menjadi 35.540 CNY—jumlah untuk Tiongkok Timur Laut–perlengkapan kantor–truck.
Kesimpulan: Filter yang sesuai dengan dimensi agregasi LOD memengaruhi hasil karena agregasi sekunder.

LOD + Filter Internal
Kesimpulan: Filter internal yang sesuai dengan granularitas LOD berlaku untuk semua data terkait. Jika tidak, filter hanya berlaku untuk bidang LOD.
LOD_FIXED
Ekspresi bidang LOD_FIXED_3: LOD_FIXED{[region], [product type], [shipping method]: SUM([order amount]): [order level]='intermediate'
Hasil perhitungan: Seperti yang ditunjukkan pada gambar berikut, jumlah pesanan untuk wilayah Tiongkok Timur Laut → Perlengkapan kantor → Kartu besar adalah 35.070. Jumlah ini merepresentasikan data yang difilter untuk pesanan dengan tingkat pesanan Intermediate—yaitu, jumlah pesanan untuk wilayah Tiongkok Timur Laut → Perlengkapan kantor → Kartu besar → Intermediate.

Ekspresi bidang LOD_FIXED_4: LOD_FIXED{[region], [product type], [shipping method]: SUM([order amount]): [shipping method]='truck'
Hasil: Seperti yang ditunjukkan di bawah, jumlah pesanan Tiongkok Timur Laut–perlengkapan kantor–truck adalah 355.400 CNY. Ketika filter internal sesuai dengan granularitas LOD, LOD_FIXED memfilter pengiriman truck.

LOD_INCLUDE
LOD_EXCLUDE dan LOD_INCLUDE mengikuti logika yang sama. Contoh ini menggunakan LOD_INCLUDE.

Ekspresi bidang LOD_INCLUDE_1: LOD_INCLUDE{: SUM([order amount]): [order level]='intermediate'
Hasil perhitungan: Seperti ditunjukkan pada gambar di bawah ini, dengan mengambil Wilayah Timur Laut sebagai contoh, jumlah pesanan untuk 'Wilayah Timur Laut-Perlengkapan Kantor-Kartu Besar' adalah 35.070. Angka ini diperoleh dengan memfilter pesanan yang memiliki tingkat 'Sedang', yang secara khusus merepresentasikan kategori 'Wilayah Timur Laut-Perlengkapan Kantor-Kartu Besar-Sedang'.
Ekspresi bidang LOD_INCLUDE_2: LOD_INCLUDE{: SUM([order amount]): [shipping method]='truck'
Hasil: Seperti yang ditunjukkan di bawah, jumlah pesanan Tiongkok Timur Laut–perlengkapan kantor–truck adalah 355.400 CNY. Ketika filter internal sesuai dengan granularitas LOD, LOD_INCLUDE memfilter pengiriman truck.