İngilizce dilinde oku

Aracılığıyla paylaş


COMBINEVALUES

Şunlar için geçerlidir:Hesaplanan sütunHesaplanan tabloMeasureGörsel hesaplama

İki or 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>]…)

Parametre

Terim Tanım
delimiter Birleştirme sırasında kullanılacak ayırıcı. sabit bir valueolmalıdır.
expression value tek bir metin dizesine birleştirilecek bir DAX ifadesi.

İade value

Birleştirilmiş dize.

Açıklamalar

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

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

    and

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

    And Table1[CalcColumn] and Table2[CalcColumn]arasında bir ilişki oluşturun. Diğer DAX işlevlerin and işleçlerden farklı olarak, ilgili SQL işleçlerine and işlevlere çevrilen 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)
    

    and

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

  • COMBINEVALUES işlevi, kullanıcıların benzersiz giriş values benzersiz çıkış dizeleri üretmesini sağlamak için uygun sınırlayıcıyı seçmesine dayanır, ancak varsayımın trueolduğunu doğrulama not. Örneğin, if kullanıcılar sınırlayıcı olarak "| " seçer, ancak Tablo1'deki bir satırda Table1[Column1] = "| "andTable2 [Column2] = " "olurken, Tablo2'deki bir satırda Table2[Column1] = " "andTable2[Column2] = "| "olur; iki birleştirilmiş çıktı aynı "|| "olur ve bu da iki satırın birleştirme işleminde bir eşleşme olduğunu gösterir. İki satır not birleştirilir if her iki tablo da aynı DirectQuery kaynağından alınır, ancak her iki tablo da içeri aktarılır if birleştirilir.

Ö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:

[Month]
Ocak 2020
Şubat 2020
Mart 2020
Nisan 2020
Mayıs 2020
Haziran 2020
Temmuz 2020
Ağustos 2020
Eylül 2020, Cumartesi
Ekim 2020, Cumartesi
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, Cumartesi
Ekim 2021, Cumartesi
Kasım 2021, Kasım
Aralık 2021, Cumartesi