Masuk dengan Microsoft
Masuk atau buat akun.
Halo,
Pilih akun lain.
Anda memiliki beberapa akun
Pilih akun yang ingin Anda gunakan untuk masuk.

Konteks memungkinkan Anda untuk melakukan analisis dinamis, di mana hasil rumus bisa berubah untuk mencerminkan baris atau pilihan sel saat ini dan juga data terkait. Memahami konteks dan menggunakan konteks secara efektif sangat penting untuk membuat rumus berkinerja tinggi, analisis dinamis, dan untuk memecahkan masalah dalam rumus.

Bagian ini menentukan tipe konteks yang berbeda: konteks baris, konteks kueri, dan memfilter konteks. Ini menjelaskan bagaimana konteks dievaluasi untuk rumus dalam kolom terhitung dan di PivotTables.

Bagian terakhir artikel ini menyediakan tautan ke contoh mendetail yang menggambarkan bagaimana hasil rumus berubah sesuai konteks.

Memahami Konteks

Rumus dalam Power Pivot dapat dipengaruhi oleh filter yang diterapkan dalam PivotTable, berdasarkan hubungan antar tabel, dan oleh filter yang digunakan dalam rumus. Konteks adalah hal yang memungkinkan untuk melakukan analisis dinamis. Memahami konteks sangat penting untuk membuat dan memecahkan masalah rumus.

Terdapat beberapa tipe konteks: konteks baris, konteks kueri, dan konteks filter.

Konteks baris dapat dianggap sebagai "baris saat ini." Jika Anda telah membuat kolom terhitung, konteks baris terdiri dari nilai di setiap baris dan nilai individual dalam kolom yang terkait dengan baris saat ini. Terdapat juga beberapa fungsi (EARLIER dan EARLIEST) yang mendapatkan nilai dari baris saat ini, lalu menggunakan nilai tersebut ketika melakukan operasi di seluruh tabel.

Konteks kueri merujuk pada subset data yang secara implisit dibuat untuk setiap sel dalam PivotTable, bergantung pada header baris dan kolom.

Konteks filter adalah kumpulan nilai yang diperbolehkan di setiap kolom, berdasarkan batasan filter yang diterapkan pada baris atau yang ditentukan oleh ekspresi filter dalam rumus.

Atas Halaman

Konteks Baris

Jika Anda membuat rumus dalam kolom terhitung, konteks baris untuk rumus tersebut menyertakan nilai dari semua kolom di baris saat ini. Jika tabel terkait dengan tabel lain, konten juga menyertakan semua nilai dari tabel lain tersebut yang terkait dengan baris saat ini.

Misalnya, anggaplah Anda membuat kolom terhitung, =[Freight] + [Tax],

, yang menambahkan bersama-sama dua kolom dari tabel yang sama. Rumus ini berperilaku seperti rumus dalam tabel Excel, yang secara otomatis mereferensikan nilai dari baris yang sama. Perhatikan bahwa tabel berbeda dari rentang: Anda tidak dapat mereferensikan nilai dari baris sebelum baris saat ini menggunakan notasi rentang, dan tidak dapat mereferensikan nilai tunggal arbitrer apa pun dalam tabel atau sel. Anda harus selalu bekerja dengan tabel dan kolom.

Konteks baris secara otomatis mengikuti hubungan antar tabel untuk menentukan baris mana dalam tabel terkait dengan baris saat ini.

Misalnya, rumus berikut ini menggunakan fungsi RELATED untuk mengambil nilai pajak dari tabel terkait, berdasarkan wilayah tempat pesanan dikirimkan. Nilai pajak ditentukan dengan menggunakan nilai untuk kawasan di tabel saat ini, mencari kawasan di tabel terkait, lalu mendapatkan tarif pajak untuk kawasan itu dari tabel terkait.

= [Freight] + RELATED('Region'[TaxRate])

Rumus ini hanya mendapatkan tarif pajak untuk kawasan saat ini, dari tabel Kawasan. Anda tidak perlu mengetahui atau menentukan kunci yang menghubungkan tabel.

Konteks Beberapa Baris

Selain itu, DAX mencakup fungsi yang melakukan perhitungan berulang terhadap tabel. Fungsi ini dapat memiliki beberapa baris saat ini dan konteks baris saat ini. Dalam istilah pemrograman, Anda dapat membuat rumus yang berulang di atas pengulangan dalam dan luar.

Sebagai contoh, anggap buku kerja Anda berisi tabel Produk dan tabel Penjualan. Anda mungkin ingin masuk ke seluruh tabel penjualan, yang penuh dengan transaksi yang melibatkan beberapa produk, dan menemukan jumlah terbesar yang dipesan untuk setiap produk dalam satu transaksi.

Dalam Excel, perhitungan ini memerlukan serangkaian ringkasan menengah, yang harus dibuat ulang jika data berubah. Jika Anda adalah pengguna ke depan Excel, Anda mungkin bisa menyusun rumus array yang akan melakukan pekerjaan itu. Alternatifnya, dalam database relasional Anda bisa menulis subpilih bertumpuk.

Namun, dengan DAX, Anda dapat menyusun rumus tunggal yang mengembalikan nilai yang benar, dan hasilnya akan diperbarui secara otomatis setiap kali Anda menambahkan data ke tabel.

=MAXX(FILTER(Sales,[ProdKey]=EARLIER([ProdKey])),Sales[OrderQty])

Untuk panduan mendetail tentang rumus ini, lihat BAGIAN SEBELUMNYA.

Singkatnya, fungsi EARLIER menyimpan konteks baris dari operasi yang mendahului operasi saat ini. Sepanjang waktu, fungsi menyimpan di dua rangkaian konteks di memori: satu kumpulan konteks mewakili baris saat ini untuk pengulangan dalam rumus, dan kumpulan konteks lainnya mewakili baris saat ini untuk pengulangan luar rumus. DAX secara otomatis memberi umpan nilai di antara dua pengulangan sehingga Anda bisa membuat agregat kompleks.

Atas Halaman

Konteks Kueri

Konteks kueri merujuk pada subset data yang diambil secara implisit untuk rumus. Saat Anda menjatuhkan pengukuran atau bidang nilai lain ke dalam sel dalam PivotTable, mesin Power Pivot memeriksa header baris dan kolom, Pemotong, dan filter laporan untuk menentukan konteksnya. Lalu, Power Pivot membuat penghitungan yang diperlukan untuk mengisi setiap sel dalam PivotTable. Kumpulan data yang diambil adalah konteks kueri untuk setiap sel.

Karena konteks bisa berubah bergantung pada di mana Anda menempatkan rumus, hasil rumus juga berubah bergantung pada apakah Anda menggunakan rumus di PivotTable dengan banyak mengelompokkan dan memfilter, atau di kolom terhitung tanpa filter dan konteks minimal.

Sebagai contoh, anggap anda membuat rumus sederhana ini yang menjumlahkan nilai dalam kolom Laba dari tabel Penjualan:=SUM('Penjualan'[Laba]).

Jika Anda menggunakan rumus ini dalam kolom terhitung dalam tabel Penjualan, hasil untuk rumus akan sama untuk seluruh tabel, karena konteks kueri untuk rumus selalu merupakan seluruh kumpulan data tabel Penjualan. Hasil Anda akan memiliki laba untuk semua kawasan, semua produk, semua tahun, dan lain-lain.

Namun, biasanya Anda tidak ingin melihat hasil yang sama ratusan kali, namun sebaliknya, Anda ingin mendapatkan laba untuk tahun tertentu, negara atau kawasan tertentu, produk tertentu, atau kombinasi dari ini, lalu mendapatkan total keseluruhan.

Dalam PivotTable, mudah untuk mengubah konteks dengan menambahkan atau menghapus header kolom dan baris dan dengan menambahkan atau menghapus Pemotong. Anda dapat membuat rumus seperti yang ada di atas, dalam ukuran, lalu menjatuhkannya ke dalam PivotTable. Setiap kali menambahkan judul kolom atau baris ke PivotTable, Anda mengubah konteks kueri tempat pengukuran dievaluasi. Operasi slicing dan pemfilteran juga mempengaruhi konteks. Oleh karena itu, rumus yang sama, yang digunakan dalam PivotTable, dievaluasi dalam konteks kueri yang berbeda untuk setiap sel.

Atas Halaman

Memfilter Konteks

Konteks filter ditambahkan ketika Anda menentukan batasan filter pada kumpulan nilai yang diperbolehkan dalam kolom atau tabel, dengan menggunakan argumen pada rumus. Konteks filter diterapkan di bagian atas konteks lain, seperti konteks baris atau konteks kueri.

Misalnya, PivotTable menghitung nilainya untuk setiap sel berdasarkan judul baris dan kolom, seperti yang dijelaskan di bagian sebelumnya pada konteks kueri. Namun, di dalam pengukuran atau kolom terhitung yang Anda tambahkan ke PivotTable, Anda bisa menentukan ekspresi filter untuk mengontrol nilai yang digunakan oleh rumus. Anda juga dapat secara selektif menghapus filter pada kolom tertentu.

Untuk informasi selengkapnya tentang cara membuat filter dalam rumus, lihat Fungsi filter.

Untuk contoh bagaimana filter dapat dihapus untuk membuat total keseluruhan, lihat bagian ALL.

Untuk contoh cara mengosongkan dan menerapkan filter secara selektif dalam rumus, lihat Fungsi ALLEXCEPT.

Oleh karena itu, Anda harus meninjau definisi pengukuran atau rumus yang digunakan dalam PivotTable sehingga Anda mengetahui konteks filter saat menginterpretasikan hasil rumus.

Atas Halaman

Menentukan Konteks dalam Rumus

Saat Anda membuat rumus, Power Pivot untuk Excel terlebih dahulu memeriksa sintaks umum, lalu memeriksa nama kolom dan tabel yang Anda sediakan terhadap kemungkinan kolom dan tabel dalam konteks saat ini. Jika Power Pivot menemukan kolom dan tabel yang ditentukan oleh rumus, Anda akan mendapatkan kesalahan.

Konteks ditentukan seperti yang dijelaskan di bagian sebelumnya, dengan menggunakan tabel yang tersedia dalam buku kerja, hubungan apa pun antar tabel, dan filter apa pun yang telah diterapkan.

Misalnya, jika Anda baru saja mengimpor beberapa data ke dalam tabel baru dan belum menerapkan filter apa pun, seluruh kumpulan kolom dalam tabel merupakan bagian dari konteks saat ini. Jika Anda memiliki beberapa tabel yang ditautkan dengan hubungan dan Anda sedang bekerja dalam PivotTable yang telah difilter dengan menambahkan judul kolom dan menggunakan Pemotong, konteksnya mencakup tabel terkait dan semua filter pada data.

Konteks adalah konsep canggih yang juga dapat menyulitkan dalam memecahkan masalah rumus. Kami menyarankan agar Anda memulai dengan rumus dan hubungan sederhana untuk melihat cara kerja konteks, lalu mulai bereksperimen dengan rumus sederhana dalam PivotTable. Bagian berikut ini juga menyediakan beberapa contoh tentang bagaimana rumus menggunakan tipe konteks yang berbeda untuk mengembalikan hasil secara dinamis.

Contoh Konteks dalam Rumus

  • Fungsi RELATED memperluas konteks baris saat ini untuk menyertakan nilai dalam kolom terkait. Ini memungkinkan Anda melakukan pencarian. Contoh dalam topik ini mengilustrasikan interaksi pemfilteran dan konteks baris.

  • Fungsi FILTER memungkinkan Anda menentukan baris yang akan disertakan dalam konteks saat ini. Contoh-contoh dalam topik ini juga menggambarkan cara menyematkan filter di dalam fungsi-fungsi lain yang melakukan agregat.

  • Fungsi ALL mengatur konteks dalam rumus. Anda dapat menggunakannya untuk menimpa filter yang diterapkan sebagai hasil dari konteks kueri.

  • Fungsi ALLEXCEPT memungkinkan Anda menghapus semua filter kecuali yang ditentukan. Kedua topik menyertakan contoh yang memandu Anda dalam membuat rumus dan memahami konteks yang kompleks.

  • Fungsi EARLIER dan EARLIEST memungkinkan Anda mengulang melalui tabel dengan melakukan perhitungan, sambil merujuk nilai dari pengulangan dalam. Jika Anda terbiasa dengan konsep rekursi dan dengan pengulangan dalam dan luar, Anda akan menghargai kekuatan yang disediakan oleh fungsiEARLIER dan EARLIEST. Jika Anda baru menggunakan konsep ini, Anda harus mengikuti langkah-langkah dalam contoh dengan saksama untuk melihat bagaimana konteks dalam dan luar digunakan dalam perhitungan.

Atas Halaman

Integritas Referensial

Bagian ini membahas beberapa konsep tingkat lanjut terkait nilai yang hilang Power Pivot tabel yang tersambung dengan hubungan. Bagian ini mungkin berguna bagi Anda jika Anda memiliki buku kerja dengan beberapa tabel dan rumus kompleks dan menginginkan bantuan dalam memahami hasilnya.

Jika Anda baru menggunakan konsep data relasional, kami menyarankan agar Anda membaca topik pengantar untuk pertama kalinya, Gambaran Umum Hubungan.

Integritas Referensial dan Power Pivot Referensial

Power Pivot tidak mengharuskan integritas referensial diterapkan di antara dua tabel untuk menentukan hubungan yang valid. Sebaliknya, baris kosong dibuat pada akhir "satu" dari setiap hubungan satu-ke-banyak dan digunakan untuk menangani semua baris yang tidak cocok dari tabel terkait. Secara efektif berlaku sebagai gabungan SQL luar.

Dalam PivotTable, jika Anda mengelompokkan data menurut satu sisi hubungan tersebut, setiap data yang tidak cocok pada banyak sisi hubungan dikelompokkan bersama dan akan disertakan dalam total dengan judul baris kosong. Judul kosong kurang lebih sama dengan "anggota yang tidak diketahui."

Memahami Anggota yang Tidak Diketahui

Konsep anggota yang tidak dikenal mungkin sudah tidak asing bagi Anda jika Anda telah bekerja dengan sistem database multidimensi, seperti SQL Server Analysis Services. Jika istilah tersebut baru bagi Anda, contoh berikut menjelaskan apa itu anggota yang tidak diketahui dan bagaimana istilah itu mempengaruhi perhitungan.

Anggaplah Anda membuat perhitungan yang menjumlahkan penjualan bulanan untuk setiap toko, tetapi kolom dalam tabel Penjualan tidak memiliki nilai untuk nama toko. Jika tabel untuk Bursa danPenjualan tersambung dengan nama bursa, apa yang akan Anda harapkan terjadi dalam rumus? Bagaimana sebaiknya grup PivotTable atau menampilkan angka penjualan yang tidak terkait dengan toko yang sudah ada?

Masalah ini merupakan masalah umum dalam gudang data, di mana tabel data fakta yang besar harus terkait secara logis dengan tabel dimensi yang berisi informasi tentang penyimpanan, wilayah, dan atribut lain yang digunakan untuk kategorisasi dan penghitungan fakta. Untuk mengatasi masalah ini, setiap fakta baru yang tidak terkait dengan entitas yang ada akan ditetapkan sementara ke anggota yang tidak dikenal. Itulah mengapa fakta yang tidak terkait akan muncul dalam PivotTable di bawah judul kosong.

Perlakuan Nilai Kosong vs. Baris Kosong

Nilai kosong berbeda dari baris kosong yang ditambahkan untuk mengakomodasi anggota yang tidak diketahui. Nilai kosong adalah nilai khusus yang digunakan untuk mewakili null, string kosong, dan nilai lain yang hilang. Untuk informasi selengkapnya tentang nilai kosong, serta tipe data DAX lain, lihat Tipe Data dalam Model Data.

Atas Halaman

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.

Apakah informasi ini berguna?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?
Dengan menekan kirim, umpan balik Anda akan digunakan untuk meningkatkan produk dan layanan Microsoft. Admin TI Anda akan dapat mengumpulkan data ini. Pernyataan Privasi.

Terima kasih atas umpan balik Anda!

×