Baca dalam bahasa Inggris

Bagikan melalui


COMBINEVALUES

Berlaku untuk: kolom terhitungTabel terhitungMeasurePerhitungan visual

Menggabungkan dua or lebih banyak string teks ke dalam satu string teks. Tujuan utama fungsi ini adalah untuk mendukung hubungan multi-kolom dalam model DirectQuery. Lihat keterangan untuk detailnya.

Sintaksis

COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)

Parameter

Istilah Definisi
delimiter Pemisah yang digunakan selama penggalian. Harus berupa konstanta value.
expression Ekspresi DAX yang value nya akan digabungkan ke dalam string teks tunggal.

Mengembalikan value

String yang digabungkan.

Komentar

  • Fungsi COMBINEVALUES mengasumsikan, tetapi not memvalidasi, bahwa ketika values input berbeda, string output juga berbeda. Berdasarkan asumsi ini, ketika COMBINEVALUES digunakan untuk membuat kolom terhitung untuk membangun hubungan yang menggabungkan beberapa kolom dari dua tabel DirectQuery, kondisi gabungan yang dioptimalkan dihasilkan pada kueri time. Misalnya, if pengguna ingin membuat hubungan antara Table1(Column1, Column2) and Table2(Column1, Column2), mereka dapat membuat dua kolom terhitung, satu di setiap tabel, sebagai:

    Table1[CalcColumn] = COMBINEVALUES(",", Table1[Column1], Table1[Column2])
    

    and

    Table2[CalcColumn] = COMBINEVALUES(",", Table2[Column1], Table2[Column2])
    

    And kemudian membuat hubungan antara Table1[CalcColumn]andTable2[CalcColumn]. Tidak seperti fungsi DAX lain and operator, yang diterjemahkan secara harfiah ke operator SQL yang sesuai and fungsi, hubungan di atas menghasilkan predikat gabungan SQL sebagai:

    (Table1.Column1 = Table2.Column1 OR Table1.Column1 IS NULL AND Table2.Column1 IS NULL)
    

    and

    (Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
    
  • Predikat gabungan berpotensi memberikan performa kueri yang jauh lebih baik daripada yang melibatkan operator SQL kompleks and fungsi.

  • Fungsi COMBINEVALUES bergantung pada pengguna untuk memilih pemisah yang sesuai untuk memastikan bahwa kombinasi unik values input menghasilkan string output yang berbeda tetapi not memvalidasi bahwa asumsinya true. Misalnya, if pengguna memilih "| " sebagai pemisah, tetapi satu baris di Table1 memiliki Table1[Column1] = "| "andTable2 [Column2] = " ", sementara satu baris di Table2 memiliki Table2[Column1] = " "andTable2[Column2] = "| ", dua output yang digabungkan akan menjadi "|| "yang sama, yang tampaknya menunjukkan bahwa dua baris cocok dalam operasi gabungan. Dua baris not digabungkan if kedua tabel berasal dari sumber DirectQuery yang sama meskipun digabungkan if kedua tabel diimpor.

Contoh

Kueri DAX berikut ini:

EVALUATE
DISTINCT (
    SELECTCOLUMNS ( Date, "Month", COMBINEVALUES ( ", ", [MonthName], [CalendarYear] ) )
)

Mengembalikan tabel kolom tunggal berikut:

[Month]
Januari 2020
Februari 2020
Maret, 2020
April, 2020
Mei, 2020
Juni, 2020
Juli 2020
Agustus 2020
September, 2020
Oktober 2020
November 2020
Desember, 2020
Januari 2021
Januari 2021
Februari 2021
Maret, 2021
April, 2021
Mei, 2021
Juni 2021
Juli 2021
Agustus 2021
September, 2021
Oktober 2021
November 2021
Desember 2021