COMBINEVALUES
두 개 이상의 텍스트 문자열을 하나의 텍스트 문자열에 조인합니다. 이 함수의 주요 목적은 DirectQuery 모델에서 다중 열 관계를 지원하는 것입니다. 자세한 내용은 설명을 참조하세요.
구문
COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)
매개 변수
용어 | 정의 |
---|---|
delimiter | 연결 중에 사용할 구분 기호입니다. 상수 값이어야 합니다. |
식 | 값이 단일 텍스트 문자열에 조인되는 DAX 식입니다. |
반환 값
연결된 문자열입니다.
설명
COMBINEVALUES 함수는 입력 값이 다를 때 출력 문자열도 다르다고 가정하지만 유효성을 검사하지는 않습니다. 이 가정에 따라 COMBINEVALUES를 사용하여 두 DirectQuery 테이블의 여러 열을 조인하는 관계를 구축하기 위해 계산 열을 만드는 경우 쿼리 시 최적화된 조인 조건이 생성됩니다. 예를 들어 Table1(Column1, Column2)과 Table2(Column1, Column2) 간에 관계를 만들려는 경우 다음과 같이 각 테이블에 하나씩 두 개의 계산 열을 만들 수 있습니다.
Table1[CalcColumn] = COMBINEVALUES(",", Table1[Column1], Table1[Column2])
및
Table2[CalcColumn] = COMBINEVALUES(",", Table2[Column1], Table2[Column2])
그런 다음 , 사이에
Table1[CalcColumn]
Table2[CalcColumn]
관계를 만듭니다. 리터럴 그대로 해당 SQL 연산자 및 함수로 변환되는 다른 DAX 함수 및 연산자와 달리 위의 관계는 다음과 같이 SQL 조인 조건자를 생성합니다.(Table1.Column1 = Table2.Column1 OR Table1.Column1 IS NULL AND Table2.Column1 IS NULL)
및
(Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
조인 조건자는 복잡한 SQL 연산자 및 함수를 포함하는 것보다 훨씬 더 나은 쿼리 성능을 제공할 수 있습니다.
COMBINEVALUES 함수는 사용자가 적절한 구분 기호를 선택하여 입력 값의 고유한 조합이 고유한 출력 문자열을 생성하도록 하지만 가정이 참인지는 확인하지 않습니다. 예를 들어 사용자가
"| "
를 구분 기호로 선택하지만 Table1의 한 행에는Table1[Column1] = "| "
와Table2 [Column2] = " "
가 있고 Table2의 한 행에는Table2[Column1] = " "
와Table2[Column2] = "| "
가 있는 경우 두 개의 연결된 출력은 동일한"|| "
가 되어 두 행이 조인 작업에서 일치하는 것처럼 보입니다. 두 테이블을 모두 가져오는 경우 함께 조인되지만 두 테이블이 모두 동일한 DirectQuery 원본에 있는 경우 두 행이 함께 조인되지 않습니다.
예시
다음 DAX 쿼리:
EVALUATE
DISTINCT (
SELECTCOLUMNS ( Date, "Month", COMBINEVALUES ( ", ", [MonthName], [CalendarYear] ) )
)
다음 단일 열 테이블을 반환합니다.
[월] |
---|
2020년 1월 |
2020년 2월 |
2020년 3월 |
2020년 4월 |
2020년 5월 |
2020년 6월 |
2020년 7월 |
2020년 8월 |
2020년 9월 |
2020년 10월 |
2020년 11월 |
2020년 12월 |
2021년 1월 |
2021년 1월 |
2021년 2월 |
2021년 3월 |
2021년 4월 |
2021년 5월 |
2021년 6월 |
2021년 7월 |
2021년 8월 |
2021년 9월 |
2021년 10월 |
2021년 11월 |
2021년 12월 |