COMBINEVALUES

Şunun için geçerlidir: Hesaplanan sütunHesaplanan tabloÖlçüGörseli hesaplaması

İki veya daha fazla metin dizesini tek bir metin dizesinde birleştirir. Bu işlevin birincil amacı, DirectQuery modellerinde çok sütunlu ilişkileri desteklemektir. Ayrıntılar için bkz . Açıklamalar .

Sözdizimi

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

Parametreler

Süre Tanım
Sınırlayıcı Birleştirme sırasında kullanılacak ayırıcı. Sabit bir değer olmalıdır.
ifade Değeri tek bir metin dizesine birleştirilecek bir DAX ifadesi.

Dönüş değeri

Birleştirilmiş dize.

Açıklamalar

  • COMBINEVALUES işlevi, giriş değerleri farklı olduğunda çıkış dizelerinin de farklı olduğunu varsayar ancak doğrulamaz. Bu varsayıma bağlı olarak, iki DirectQuery tablosundan birden çok sütunu birleştiren bir ilişki oluşturmak üzere hesaplanan sütunlar oluşturmak için COMBINEVALUES kullanıldığında, sorgu zamanında iyileştirilmiş bir birleştirme koşulu oluşturulur. Örneğin, kullanıcılar Tablo1(Sütun1, Sütun2) ile Tablo2(Sütun1, Sütun2) arasında bir ilişki oluşturmak isterse, her tabloda biri olmak üzere iki hesaplanmış sütun oluşturabilir:

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

    ile

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

    Ardından ve Table2[CalcColumn]arasında Table1[CalcColumn] bir ilişki oluşturun. Tam anlamıyla karşılık gelen SQL işleçlerine ve işlevlerine çevrilen diğer DAX işlevlerinin ve işleçlerinin aksine, yukarıdaki ilişki aşağıdaki gibi bir SQL birleştirme koşulu oluşturur:

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

    ile

    (Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
    
  • Birleştirme koşulu, karmaşık SQL işleçleri ve işlevleri içeren sorgu performansından çok daha iyi bir performans sunabilir.

  • COMBINEVALUES işlevi, kullanıcıların benzersiz giriş değerleri bileşimlerinin ayrı çıkış dizeleri ürettiğinden emin olmak için uygun sınırlayıcıyı seçmesine dayanır, ancak varsayımın doğru olduğunu doğrulamaz. Örneğin, kullanıcılar sınırlayıcı olarak seçerse"| ", ancak Tablo1'de bir satır ve Table2 [Column2] = " "seçeneğine sahipse Table2[Column1] = " "Table1[Column1] = "| ", Tablo2'deki bir satırda ve Table2[Column2] = "| "varsa, birleştirilmiş iki çıkış aynı "|| "olur ve bu da birleştirme işleminde iki satırın eşleşme olduğunu gösterir. İki tablo da aynı DirectQuery kaynağından geliyorsa, her iki tablo da içeri aktarılırsa birlikte birleştirilse de, iki satır birbirine katılmaz.

Örnek

Aşağıdaki DAX sorgusu:

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

Aşağıdaki tek sütunlu tabloyu döndürür:

[Ay]
Ocak 2020
Şubat 2020
Mart 2020
Nisan 2020
Mayıs 2020
Haziran 2020
Temmuz 2020
Ağustos 2020
Eylül 2020
Ekim 2020
Kasım 2020
Aralık 2020, Cumartesi
Ocak 2021
Ocak 2021
Şubat 2021, Şubat
Mart 2021
Nisan 2021, Nisan
Mayıs 2021
Haziran 2021
Temmuz 2021, Temmuz
Ağustos 2021, Ağustos
Eylül, 2021
Ekim 2021, Cumartesi
Kasım 2021, Kasım
Aralık 2021, Cumartesi