Læs på engelsk

Del via


COMBINEVALUES

gælder for:beregnet kolonneberegnet tabelMeasurevisualiseringsberegning

Joinforbinder to or flere tekststrenge til én tekststreng. Det primære formål med denne funktion er at understøtte relationer med flere kolonner i DirectQuery-modeller. Se bemærkninger for at få flere oplysninger.

Syntaks

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

Parametre

Udtryk Definition
delimiter En separator, der skal bruges under sammenkædning. Skal være en konstant value.
expression Et DAX udtryk, hvis value joinforbindes til en enkelt tekststreng.

Returner value

En sammenkædet streng.

Bemærkninger

  • Funktionen COMBINEVALUES antager, men validerer not, at outputstrengene også er forskellige, når input values er forskellige. Når COMBINEVALUES bruges til at oprette beregnede kolonner for at oprette en relation, der joinforbinder flere kolonner fra to DirectQuery-tabeller, oprettes der en optimeret joinforbindelsesbetingelse ved forespørgsel time. if brugere f.eks. vil oprette en relation mellem Table1(Column1, Column2) and Table2(Column1, Column2), kan de oprette to beregnede kolonner, én i hver tabel, som:

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

    and

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

    And opretter derefter en relation mellem Table1[CalcColumn]andTable2[CalcColumn]. I modsætning til andre DAX funktioner and operatorer, som bogstaveligt talt oversættes til de tilsvarende SQL-operatorer and funktioner, genererer ovenstående relation et PRÆdikat for SQL-joinforbindelse som:

    (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)
    
  • Prædikatet joinforbindelse kan potentielt levere meget bedre forespørgselsydeevne end en, der omfatter komplekse SQL-operatorer and funktioner.

  • Funktionen COMBINEVALUES er afhængig af, at brugerne vælger den relevante afgrænser for at sikre, at entydige kombinationer af input values producere særskilte outputstrenge, men den validerer not, at antagelsen er true. if brugere vælger f.eks. "| " som afgrænser, men én række i Table1 har Table1[Column1] = "| "andTable2 [Column2] = " ", mens én række i Table2 har Table2[Column1] = " "andTable2[Column2] = "| ", vil de to sammenkædede output være de samme "|| ", hvilket synes at indikere, at de to rækker stemmer overens i joinhandlingen. De to rækker er not joinforbundet if begge tabeller er fra den samme DirectQuery-kilde, selvom de er joinforbundet if begge tabeller importeres.

Eksempel

Følgende DAX forespørgsel:

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

Returnerer følgende tabel med én kolonne:

[Month]
Januar 2020
Februar 2020
Marts 2020
April 2020
Maj 2020
Juni 2020
Juli 2020
August 2020
September, 2020
Oktober 2020
November, 2020
December 2020
Januar 2021
Januar 2021
Februar 2021
Marts 2021
April 2021
Maj 2021
Juni 2021
Juli 2021
August 2021
September, 2021
Oktober, 2021
November, 2021
December 2021