Bagikan melalui


CALCULATETABLE

Berlaku untuk: Kolom terhitung Tabel terhitung Ukur perhitungan Visual

Mengevaluasi ekspresi tabel dalam konteks filter yang dimodifikasi.

Catatan

Ada juga fungsi CALCULATE . Ini melakukan fungsionalitas yang sama persis, kecuali memodifikasi konteks filter yang diterapkan ke ekspresi yang mengembalikan nilai skalar.

Sintaks

CALCULATETABLE(<expression>[, <filter1> [, <filter2> [, …]]])

Parameter

Term Definisi
expression Ekspresi tabel yang akan dievaluasi.
filter1, filter2,... (Opsional) Ekspresi boolean atau ekspresi tabel yang menentukan filter, atau fungsi pengubah filter.

Ekspresi yang digunakan sebagai parameter pertama harus berupa tabel model atau fungsi yang mengembalikan tabel.

Filter dapat berupa:

  • Ekspresi filter Boolean
  • Ekspresi filter tabel
  • Memfilter fungsi modifikasi

Ketika ada beberapa filter, filter dievaluasi dengan menggunakan operator logis AND. Itu berarti semua kondisi harus TRUE pada saat yang sama.

Ekspresi filter Boolean

Filter ekspresi Boolean adalah ekspresi yang mengevaluasi ke TRUE atau FALSE. Ada beberapa aturan yang harus mereka patuhi:

  • Mereka hanya dapat mereferensikan satu kolom.
  • Mereka tidak dapat mereferensikan langkah-langkah.
  • Mereka tidak dapat menggunakan fungsi CALCULATE berlapis.

Dimulai dengan rilis Power BI Desktop September 2021, berikut ini juga berlaku:

  • Mereka tidak dapat menggunakan fungsi yang memindai atau mengembalikan tabel kecuali diteruskan sebagai argumen ke fungsi agregasi.
  • Mereka dapat berisi fungsi agregasi yang mengembalikan nilai skalar.

Ekspresi filter tabel

Filter ekspresi tabel menerapkan objek tabel sebagai filter. Ini bisa menjadi referensi ke tabel model, tetapi kemungkinan besar itu adalah fungsi yang mengembalikan objek tabel. Anda dapat menggunakan fungsi FILTER untuk menerapkan kondisi filter kompleks, termasuk yang tidak dapat ditentukan oleh ekspresi filter Boolean.

Fungsi pengubah filter

Fungsi pengubah filter memungkinkan Anda untuk melakukan lebih dari sekadar menambahkan filter. Mereka memberi Anda kontrol tambahan saat memodifikasi konteks filter.

Fungsi Tujuan
REMOVEFILTERS Hapus semua filter, atau filter dari satu atau beberapa kolom tabel, atau dari semua kolom tabel tunggal.
SEMUA 1, ALLEXCEPT, ALLNOBLANKROW Hapus filter dari satu atau beberapa kolom, atau dari semua kolom tabel tunggal.
KEEPFILTERS Tambahkan filter tanpa menghapus filter yang ada pada kolom yang sama.
USERELATIONSHIP Libatkan hubungan yang tidak aktif antara kolom terkait, dalam hal ini hubungan aktif akan secara otomatis menjadi tidak aktif.
CROSSFILTER Ubah arah filter (dari keduanya menjadi tunggal, atau dari tunggal ke keduanya) atau nonaktifkan hubungan.

1 Fungsi ALL dan variannya bereaksi sebagai pengubah filter dan sebagai fungsi yang mengembalikan objek tabel. Jika fungsi REMOVEFILTERS didukung oleh alat Anda, lebih baik menggunakannya untuk menghapus filter.

Nilai hasil

Tabel nilai.

Keterangan

  • Saat ekspresi filter disediakan, fungsi CALCULATETABLE memodifikasi konteks filter untuk mengevaluasi ekspresi. Untuk setiap ekspresi filter, ada dua kemungkinan hasil standar saat ekspresi filter tidak dibungkus dalam fungsi KEEPFILTERS:

    • Jika kolom (atau tabel) tidak berada dalam konteks filter, filter baru akan ditambahkan ke konteks filter untuk mengevaluasi ekspresi.
    • Jika kolom (atau tabel) sudah berada dalam konteks filter, filter yang ada akan ditimpa oleh filter baru untuk mengevaluasi ekspresi CALCULATETABLE.
  • Fungsi ini tidak didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung atau aturan keamanan tingkat baris (RLS).

Contoh

Contoh berikut menggunakan fungsi CALCULATETABLE untuk mendapatkan jumlah penjualan Internet untuk 2006. Nilai ini kemudian digunakan untuk menghitung rasio penjualan Internet dibandingkan dengan semua penjualan untuk tahun 2006.

Rumus berikut:

= SUMX(
    CALCULATETABLE(
        'InternetSales_USD',
        'DateTime'[CalendarYear] = 2006
    ),
    [SalesAmount_USD]
)  

Ini menghasilkan tabel berikut:

Label Baris Internet SalesAmount_USD CalculateTable 2006 Internet Sales Rasio Penjualan Internet ke 2006
2005 $2.627.031,40 $5.681.440,58 0,46
2006 $5.681.440,58 $5.681.440,58 1
2007 $8.705.066,67 $5.681.440,58 1.53
2008 $9.041.288,80 $5.681.440,58 1,59
Total Keseluruhan $26.054.827,45 $5.681.440,58 4.59