Lue englanniksi

Jaa


COMBINEVALUES

Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMeasureVisuaalinen laskutoimitus

Liittää kaksi or lisää tekstimerkkijonoja yhdeksi tekstimerkkijonoksi. Tämän funktion ensisijainen tarkoitus on tukea monisarakkeisia yhteyksiä DirectQuery-malleissa. Lisätietoja on kohdassa huomautukset.

Syntaksi

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

Parametrit

Termi Määritelmä
delimiter Ketjutuksen aikana käytettävä erotin. Pitää olla vakio value.
expression DAX-lauseke, jonka value liitetään yhdeksi tekstimerkkijonoksi.

Palauta value

Ketjutettu merkkijono.

Huomautuksia

  • COMBINEVALUES funktiossa oletetaan, mutta not vahvistetaan, että kun values syöte on erilainen, tulostemerkkijonot ovat myös erilaiset. Tämän oletuksen perusteella, kun COMBINEVALUES luodaan laskettuja sarakkeita sellaisen suhteen luomiseksi, joka liittää useita sarakkeita kahdesta DirectQuery-taulukosta, kyselyn timeluodaan optimoitu liitosehto. if käyttäjät haluavat esimerkiksi luoda suhteen Table1(Column1, Column2) and Table2(Column1, Column2) välille, he voivat luoda kaksi laskettua saraketta, yhden kumpaankin taulukkoon seuraavasti:

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

    and

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

    And luoda sitten suhteen Table1[CalcColumn]andTable2[CalcColumn]välille. Toisin kuin muut DAX funktiot and-operaattoreita, jotka on käännetty kirjaimellisesti vastaaville SQL-operaattoreille and funktioille, yllä oleva suhde luo SQL-liitospredikaatin seuraavasti:

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

    and

    DAX
    (Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
    
  • Liitospredikaatti voi ehkä tuottaa paljon paremman kyselyn suorituskyvyn kuin sellainen, joka sisältää monimutkaisia SQL-operaattoreita and funktioita.

  • COMBINEVALUES funktio luottaa siihen, että käyttäjät valitsevat sopivan erottimen sen varmistamiseksi, että syöteyhdistelmät values tuottaa erillisiä tulostemerkkijonoja, mutta se not vahvista, että oletuksena on true. Esimerkiksi if käyttäjät valitsevat erottimeksi "| ", mutta taulukon 1 yhdellä rivillä on Table1[Column1] = "| "andTable2 [Column2] = " ", kun taas table2-taulukon yhdellä rivillä on Table2[Column1] = " "andTable2[Column2] = "| ", kaksi ketjutettua tulostetta ovat sama "|| ", mikä näyttää osoittavan, että nämä kaksi riviä vastaavat toisiaan liitostoiminnossa. Molemmat rivit not liitetään yhteen, if molemmat taulukot ovat peräisin samasta DirectQuery-lähteestä, vaikka ne liitetään yhteen if molemmat taulukot tuodaan.

Esimerkki

Seuraava kyselyn DAX:

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

Palauttaa seuraavan yksisarakkeisen taulukon:

[Month]
Tammikuu, 2020
Helmikuu, 2020
Maaliskuu 2020
Huhtikuu, 2020
toukokuu, 2020
Kesäkuu, 2020
Heinäkuu, 2020
Elokuu 2020
Syyskuu, 2020
Lokakuu 2020
Marraskuu, 2020
Joulukuu 2020
Tammikuu, 2021
Tammikuu, 2021
Helmikuu, 2021
Maaliskuu 2021
Huhtikuu, 2021
toukokuu, 2021
Kesäkuu, 2021
Heinäkuu, 2021
Elokuu 2021
Syyskuu, 2021
Lokakuu 2021
Marraskuu, 2021
Joulukuu 2021