Jaa


COMBINEVALUES

Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMittayksikköVisuaalinen laskenta -

Yhdistää vähintään kaksi tekstimerkkijonoa yhdeksi tekstimerkkijonoksi. Tämän funktion ensisijainen tarkoitus on tukea monisarakkeisia yhteyksiä DirectQuery-malleissa. Lisätietoja on kohdassa huomautukset.

Syntaksi

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

Parametrit

Termi Määritelmä
delimiter Ketjutuksen aikana käytettävä erotin. Pitää olla vakioarvo.
expression DAX lauseke, jonka arvo liitetään yksittäiseen tekstimerkkijonoon.

Palautusarvo

Ketjutettu merkkijono.

Huomautuksia

  • COMBINEVALUES funktiossa oletetaan, mutta ei vahvisteta, että kun syötearvot ovat erilaiset, 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 aikana luodaan optimoitu liitosehto. Jos käyttäjät haluavat esimerkiksi luoda suhteen kohteiden Table1(Column1, Column2) ja Table2(Column1, Column2) välille, he voivat luoda kaksi laskettua saraketta, yhden kumpaankin taulukkoon seuraavasti:

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

    ja

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

    Sitten voit luoda suhteen Table1[CalcColumn] ja Table2[CalcColumn]välille. Toisin kuin muut DAX funktiot ja operaattorit, jotka on käännetty kirjaimellisesti vastaaviin SQL-operaattoreihin ja -funktioihin, yllä oleva suhde luo SQL-liitospredikaatin seuraavasti:

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

    ja

    (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 ja -funktioita.

  • COMBINEVALUES funktio luottaa siihen, että käyttäjät valitsevat sopivan erottimen sen varmistamiseksi, että syötearvojen yksilölliset yhdistelmät tuottavat erillisiä tulostemerkkijonoja, mutta se ei vahvista oletusta todeksi. Jos käyttäjät esimerkiksi valitsevat erottimeksi "| ", mutta taulukon 1 yhdellä rivillä on Table1[Column1] = "| " ja Table2 [Column2] = " ", kun taas table2-taulukon yhdellä rivillä on Table2[Column1] = " " ja Table2[Column2] = "| ", kaksi ketjutettua tulostetta ovat samat "|| ", mikä näyttää osoittavan, että nämä kaksi riviä vastaavat toisiaan liittymistoiminnossa. Kahta riviä ei liitetään yhteen, jos molemmat taulukot ovat peräisin samasta DirectQuery-lähteestä, mutta ne liitetään yhteen, jos molemmat taulukot tuodaan.

Esimerkki

Seuraava kyselyn DAX:

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

Palauttaa seuraavan yksisarakkeisen taulukon:

[Kuukausi]
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