COMBINEVALUES
A következőre vonatkozik: Számított oszlop Számított tábla Mérték vizualizáció számítása
Két vagy több szöveges sztringet illeszt egy szöveges sztringbe. Ennek a függvénynek az elsődleges célja a Többoszlopos kapcsolatok támogatása DirectQuery-modellekben. Részletekért tekintse meg a megjegyzéseket .
Syntax
COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)
Paraméterek
Időszak | Definíció |
---|---|
Határoló | Az összefűzés során használandó elválasztó. Állandó értéknek kell lennie. |
kifejezés | Egy DAX-kifejezés, amelynek értéke egyetlen szöveges sztringbe lesz illesztve. |
Visszaadott érték
Egy összefűzött sztring.
Megjegyzések
A COMBINEVALUES függvény feltételezi, de nem ellenőrzi, hogy a bemeneti értékek eltérőek, a kimeneti sztringek is eltérőek. Ezen feltételezés alapján, ha a COMBINEVALUES számított oszlopok létrehozására szolgál egy olyan kapcsolat létrehozásához, amely két DirectQuery-tábla több oszlopát összekapcsolja, a lekérdezési időpontban létrejön egy optimalizált illesztési feltétel. Ha például a felhasználók kapcsolatot szeretnének létrehozni a Table1 (Oszlop1, Oszlop2) és a Table2 (Oszlop1, Oszlop2) között, akkor két számított oszlopot hozhatnak létre, egyet az egyes táblákon, a következő módon:
Table1[CalcColumn] = COMBINEVALUES(",", Table1[Column1], Table1[Column2])
és
Table2[CalcColumn] = COMBINEVALUES(",", Table2[Column1], Table2[Column2])
Ezután hozzon létre egy kapcsolatot
Table1[CalcColumn]
az ésTable2[CalcColumn]
a között. A többi DAX-függvénytől és operátortól eltérően, amelyek szó szerint a megfelelő SQL-operátorokra és -függvényekre vannak lefordítva, a fenti kapcsolat egy SQL-illesztés predikátumot hoz létre a következő módon:(Table1.Column1 = Table2.Column1 OR Table1.Column1 IS NULL AND Table2.Column1 IS NULL)
és
(Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
Az illesztési predikátum sokkal jobb lekérdezési teljesítményt biztosíthat, mint az összetett SQL-operátorokat és függvényeket magában foglaló.
A COMBINEVALUES függvény a felhasználókra támaszkodva választja ki a megfelelő elválasztójelet annak biztosítása érdekében, hogy a bemeneti értékek egyedi kombinációi eltérő kimeneti sztringeket eredményeznek, de nem ellenőrzi, hogy a feltételezés igaz-e. Ha például a felhasználók elválasztóként választanak
"| "
, de az 1. táblázatban egy sor vanTable1[Column1] = "| "
, ésTable2 [Column2] = " "
míg a Table2Table2[Column1] = " "
egyik sora ésTable2[Column2] = "| "
a két összefűzött kimenet ugyanaz"|| "
lesz, ami azt jelzi, hogy a két sor egyezik az illesztési művelettel. A két sor nem csatlakozik egymáshoz, ha mindkét tábla ugyanabból a DirectQuery-forrásból származik, bár mindkét tábla importálása esetén össze vannak kapcsolva.
Példa
A következő DAX-lekérdezés:
EVALUATE
DISTINCT (
SELECTCOLUMNS ( Date, "Month", COMBINEVALUES ( ", ", [MonthName], [CalendarYear] ) )
)
A következő egyoszlopos táblázatot adja vissza:
[Hónap] |
---|
2020. január |
2020. február |
2020. március |
2020. április |
2020. május |
2020. június |
2020. július |
2020. augusztus |
2020. szeptember |
2020. október |
2020. november |
2020. december |
2021. január |
2021. január |
2021. február |
2021. március |
2021. április |
2021. május |
2021. június |
2021. július |
2021. augusztus |
2021. szeptember |
2021. október |
2021. november |
2021. december |