gebeurtenis
31 mrt, 23 - 2 apr, 23
De ultieme Microsoft Fabric-, Power BI-, SQL- en AI-communitygebeurtenis. 31 maart tot 2 april 2025.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Van toepassing op:berekende kolomberekende tabelMetingVisuele berekening
Hiermee worden twee of meer tekenreeksen samengevoegd tot één tekenreeks. Het primaire doel van deze functie is het ondersteunen van relaties met meerdere kolommen in DirectQuery-modellen. Zie opmerkingen voor meer informatie.
COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)
Term | Definitie |
---|---|
delimiter |
Een scheidingsteken dat moet worden gebruikt tijdens samenvoeging. Moet een constante waarde zijn. |
expression |
Een DAX-expressie waarvan de waarde wordt samengevoegd tot één tekenreeks. |
Een samengevoegde tekenreeks.
De functie COMBINEVALUES gaat ervan uit dat wanneer de invoerwaarden verschillen, de uitvoertekenreeksen ook verschillend zijn, maar niet valideert. Op basis van deze veronderstelling wordt wanneer COMBINEVALUES wordt gebruikt om berekende kolommen te maken om een relatie te maken waarmee meerdere kolommen uit twee DirectQuery-tabellen worden samengevoegd, een geoptimaliseerde joinvoorwaarde wordt gegenereerd tijdens het uitvoeren van query's. Als gebruikers bijvoorbeeld een relatie willen maken tussen Table1(Column1, Column2) en Table2(Column1, Column2), kunnen ze twee berekende kolommen maken, één voor elke tabel, zoals:
Table1[CalcColumn] = COMBINEVALUES(",", Table1[Column1], Table1[Column2])
en
Table2[CalcColumn] = COMBINEVALUES(",", Table2[Column1], Table2[Column2])
Maak vervolgens een relatie tussen Table1[CalcColumn]
en Table2[CalcColumn]
. In tegenstelling tot andere DAX-functies en -operators, die letterlijk worden vertaald naar de bijbehorende SQL-operators en -functies, genereert de bovenstaande relatie een SQL-joinpredicaat als:
(Table1.Column1 = Table2.Column1 OR Table1.Column1 IS NULL AND Table2.Column1 IS NULL)
en
(Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
Het joinpredicaat kan mogelijk veel betere queryprestaties leveren dan een query die complexe SQL-operators en -functies omvat.
De functie COMBINEVALUES is afhankelijk van gebruikers om het juiste scheidingsteken te kiezen om ervoor te zorgen dat unieke combinaties van invoerwaarden afzonderlijke uitvoertekenreeksen produceren, maar niet valideert dat de aanname waar is. Als gebruikers bijvoorbeeld "| "
als scheidingsteken kiezen, maar één rij in Tabel1 Table1[Column1] = "| "
en Table2 [Column2] = " "
heeft, terwijl één rij in Tabel2 Table2[Column1] = " "
en Table2[Column2] = "| "
heeft, zijn de twee samengevoegde uitvoer hetzelfde "|| "
, wat erop lijkt aan te geven dat de twee rijen een overeenkomst zijn in de joinbewerking. De twee rijen worden niet samengevoegd als beide tabellen afkomstig zijn van dezelfde DirectQuery-bron, hoewel ze worden samengevoegd als beide tabellen worden geïmporteerd.
De volgende DAX-query:
EVALUATE
DISTINCT (
SELECTCOLUMNS ( Date, "Month", COMBINEVALUES ( ", ", [MonthName], [CalendarYear] ) )
)
Retourneert de volgende tabel met één kolom:
[Maand] |
---|
Januari 2020 |
Februari 2020 |
Maart 2020 |
April 2020 |
Mei 2020 |
Juni 2020 |
Juli 2020 |
Augustus 2020 |
September 2020 |
Oktober 2020 |
November 2020 |
December 2020 |
Januari 2021 |
Januari 2021 |
Februari 2021 |
Maart 2021 |
April 2021 |
Mei 2021 |
Juni 2021 |
Juli 2021 |
Augustus 2021 |
September 2021 |
Oktober 2021 |
November 2021 |
December 2021 |
gebeurtenis
31 mrt, 23 - 2 apr, 23
De ultieme Microsoft Fabric-, Power BI-, SQL- en AI-communitygebeurtenis. 31 maart tot 2 april 2025.
Zorg dat u zich vandaag nog registreert