다음을 통해 공유


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월