FUNKCIE COMBINEVALUES
Vzťahuje sa na: Vypočítaný stĺpec Vypočítaná tabuľka Výpočet mierky Vizuál
Spojí dva alebo viacero textových reťazcov do jedného. Hlavným účelom tejto funkcie je podpora vzťahov medzi viacerými stĺpcami v modeloch DirectQuery. Podrobnosti nájdete v časti Poznámky .
Syntax
COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)
Parametre
Obdobie | Definícia |
---|---|
Oddeľovač | Oddeľovač, ktorý sa používa počas zreťazenia. Musí to byť konštantná hodnota. |
výraz | Výraz DAX, ktorého hodnota sa spojí do jedného textového reťazca. |
Vrátená hodnota
Zreťazený reťazec.
Poznámky
Funkcia COMBINEVALUES predpokladá, že keď sú vstupné hodnoty odlišné, odlišné sú aj výstupné reťazce, no neoveruje overenie. Ak sa na základe tohto predpokladu použije funkcia COMBINEVALUES na vytvorenie vypočítaných stĺpcov na vytvorenie vzťahu, ktorý spája viacero stĺpcov z dvoch tabuliek DirectQuery, v čase dotazu sa vygeneruje optimalizovaná podmienka spojenia. Ak napríklad chcú používatelia vytvoriť vzťah medzi tabuľkami Table1(Column1, Column2) a Table2(Column1, Column2), môžu vytvoriť dva vypočítané stĺpce, po jednom na každú tabuľku, takto:
Table1[CalcColumn] = COMBINEVALUES(",", Table1[Column1], Table1[Column2])
a
Table2[CalcColumn] = COMBINEVALUES(",", Table2[Column1], Table2[Column2])
A potom vytvorte vzťah medzi položkami
Table1[CalcColumn]
aTable2[CalcColumn]
. Na rozdiel od iných funkcií a operátorov DAX, ktoré sa doslovne prekladajú do príslušných operátorov a funkcií SQL, vyššie uvedený vzťah vygeneruje predikát spojenia SQL ako:(Table1.Column1 = Table2.Column1 OR Table1.Column1 IS NULL AND Table2.Column1 IS NULL)
a
(Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
Predikát spojenia môže potenciálne poskytovať oveľa vyšší výkon dotazu ako ten, ktorý zahŕňa zložité operátory a funkcie SQL.
Funkcia COMBINEVALUES sa spolieha na to, že používatelia zvolia vhodný oddeľovač, ktorý zabezpečí, aby jedinečné kombinácie vstupných hodnôt vytvárali odlišné výstupné reťazce, no neoveruje, či je tento predpoklad pravdivý. Ak napríklad používatelia zvolia
"| "
ako oddeľovač , ale jeden riadok v tabuľke Table1 obsahujeTable1[Column1] = "| "
aTable2 [Column2] = " "
, zatiaľ čo jeden riadok v tabuľke Table2 obsahujeTable2[Column1] = " "
aTable2[Column2] = "| "
, dva zreťazené výstupy budú rovnaké"|| "
, čo by naznačovalo, že tieto dva riadky predstavujú v operácii spojenia zhodu. Tieto dva riadky sa spoja, ak obe tabuľky pochádzajú z rovnakého zdroja DirectQuery, ale spoja sa, ak sú obe tabuľky importované.
Príklad
Nasledujúci dotaz jazyka DAX:
EVALUATE
DISTINCT (
SELECTCOLUMNS ( Date, "Month", COMBINEVALUES ( ", ", [MonthName], [CalendarYear] ) )
)
Vráti nasledujúcu tabuľku s jedným stĺpcom:
[Mesiac] |
---|
Január, 2020 |
Február 2020 |
Marec, 2020 |
Apríl, 2020 |
Máj 2020 |
Jún, 2020 |
Júl 2020 |
August 2020 |
September 2020 |
Október 2020 |
November 2020 |
December, 2020 |
Január, 2021 |
Január, 2021 |
Február 2021 |
Marec, 2021 |
Apríl, 2021 |
Máj 2021 |
Jún, 2021 |
Júl 2021 |
August 2021 |
September, 2021 |
Október 2021 |
November 2021 |
December, 2021 |
Pripomienky
https://aka.ms/ContentUserFeedback.
Pripravujeme: V priebehu roka 2024 postupne zrušíme službu Problémy v službe GitHub ako mechanizmus pripomienok týkajúcich sa obsahu a nahradíme ju novým systémom pripomienok. Ďalšie informácie nájdete na stránke:Odoslať a zobraziť pripomienky pre