Jaa


COMBINEVALUES

Koskee: Lasketun sarakkeen lasketun taulukon mittarin visuaalinen laskutoimitus

Yhdistää vähintään kaksi tekstimerkkijonoa yhdeksi tekstimerkkijonoksi. Tämän funktion ensisijainen tarkoitus on tukea monisarakkeisia yhteyksiä DirectQuery-malleissa. Katso lisätietoja Huomautukset-kohdasta .

Syntaksi

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

Parametrit

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

Palautusarvo

Ketjutettu merkkijono.

Huomautukset

  • COMBINEVALUES-funktio olettaa, mutta ei vahvista, että kun syötearvot ovat erilaiset, tulostemerkkijonot ovat myös erilaiset. Tämän oletuksen perusteella, kun COMBINEVALUES-funktion avulla 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])
    

    Ja sitten luoda suhteen kohteiden ja Table2[CalcColumn]välilleTable1[CalcColumn]. 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 kohteen , mutta Table1-taulukon yhdellä rivillä on Table1[Column1] = "| " ja Table2 [Column2] = " ", ja Table2-taulukon yhdellä rivillä taas Table2[Column1] = " " ja Table2[Column2] = "| ", kaksi ketjutettua tulostetta ovat sama "|| ", mikä näyttää osoittavan, että nämä kaksi riviä vastaavat toisiaan liitostoiminnossa. 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 DAX-kysely:

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