PowerBI.co.kr
경영정보시각화 자격증
실기-모의문제(A형)
실기-모의문제(B형)
Power BI 필수 함수
뉴스
Power BI 2025년 1월 기능 요약
Power BI 2025년 2월 기능 요약
Power BI 2025년 3월 기능 요약
Power BI 2025년 4월 기능 요약
Power BI 2025년 5월 기능 요약
Power BI 2025년 6월 기능 요약
Power BI 2025년 7월 기능 요약
Power BI 2025년 8월 기능 요약
Sign In

테이블 조작/계산 함수

작성자
  • J
    JINA
작성시각
Nov 8, 2024 5:12 PM
텍스트
Empty
• ADDCOLUMNS: 테이블에 열 추가
1.
함수 정의 :
ADDCOLUMNS 함수는
기존 테이블에 새로운 열을 추가할 때 사용하는 함수입니다. 이 함수는 기존 테이블의 데이터를 바탕으로 계산된 값을 새 열로 추가하는 데 유용합니다. ADDCOLUMNS는 원본 테이블을 수정하지 않고, 계산된 열이 추가된 새로운 테이블을 반환합니다.
2.
기본 구문 :
ADDCOLUMNS( Table, "NewColumnName", Expression)
3.
매개 변수:
Table: 기존 테이블
NewColumnName: 추가할 열의 이름
Expression: 새로운 열에 들어갈 값의 계산식
4.
예시 코드 :
예를 들어, 학생의 성적 테이블이 있다고 가정해 보겠습니다
위 테이블에 각 학생의 평균 점수를 추가하고 싶다면, ADDCOLUMNS를 사용할 수 있습니다.
ADDCOLUMNS( Students, "평균 점수", ([국어] + [수학]) / 2 )
이렇게 하면 새로운 테이블이 반환되며, 그 결과는 다음과 같습니다:
이 함수는 데이터 분석 중 추가적인 정보를 계산하여 테이블에 덧붙이고 싶을 때 매우 유용합니다.
• DISTINCT: 고유한 값 반환
1.
함수 정의 :
DISTINCT 함수는
특정 열에서 중복된 값을 제거하고 고유한 값들만 반환합니다. 이 함수는 데이터를 집계하거나 고유한 값의 목록을 얻고자 할 때 유용합니다.
2.
기본 구문 :
DISTINCT(column)
3.
예시 코드:
예를 들어, 다음과 같은 테이블이 있다고 가정해 봅시다:
여기서 DISTINCT 함수를 사용하여 고유한 고객 이름 목록을 얻고 싶다면,
UniqueCustomers = DISTINCT('테이블 이름'[고객 이름])
결과 :
이 코드를 실행하면 다음과 같은 결과가 반환됩니다:
이렇게 DISTINCT 함수는 중복된 항목을 제거하고 고유한 값들만 보여줍니다.
• GROUPBY: 그룹화된 테이블 반환
1.
함수 정의 :
GROUPBY 함수는
데이터 테이블에서 그룹을 생성하고, 각 그룹에 대한 집계 연산을 수행할 때 사용됩니다. SQL의 GROUP BY 구문과 비슷한 역할을 하지만, 조금 다른 점이 있어 주의해야 합니다. GROUPBY 함수는 주로 데이터를 특정 기준으로 묶고, 그 그룹 내에서 새로운 컬럼을 생성하거나 계산할 때 유용합니다.
2.
기본 구문 :
GROUPBY(
Table,
GroupBy_Column1, [Optional_GroupBy_Column2, ...],
"Name1", Aggregation1,
"Name2", Aggregation2
)
3.
매개 변수 :
Table: 그룹화를 할 원본 테이블.
GroupBy_Column: 그룹화를 수행할 기준이 되는 컬럼.
Name: 생성할 컬럼의 이름.
Aggregation: 집계 연산을 수행하는 DAX 표현식.
4.
예시 코드 :
예를 들어, 판매 데이터를 기준으로 매장별 총 판매량을 계산한다고 가정해보겠습니다. 데이터 테이블(Sales)은 다음과 같은 컬럼으로 구성되어 있습니다:
GROUPBY를 사용해 매장별로 총 판매량을 구하려면 다음과 같이 작성할 수 있습니다:
EVALUATE
GROUPBY(
Sales,
Sales[Store],
"TotalSales", SUMX(CURRENTGROUP(), Sales[Sales])
)

결과 :
5.
동작 방식 :
•
Sales 테이블에서 Store 컬럼을 기준으로 데이터를 그룹화합니다.
•
각 그룹(Store A와 Store B)에서 SUMX를 사용해 Sales 값을 합산합니다.
•
결과로 그룹별로 합계가 계산된 테이블을 반환합니다.
6.
주의할 점 :
• GROUPBY는 SUMMARIZE와는 다르게
자동으로 집계를 수행하지 않습니다. CURRENTGROUP() 함수로 현재 그룹 내의 데이터를 참조해야 합니다.
• 복잡한 집계가 필요한 경우 SUMMARIZE, SUMMARIZECOLUMNS와 같은 다른 함수도 고려해볼 수 있습니다.
7.
요약 :
GROUPBY를 사용하면 특정 기준으로 데이터를 쉽게 그룹화하고, 그
그룹별로 계산을 수행할 수 있습니다.
• RELATED: 관계된 테이블에서 값 반환
1.
함수 정의 :
RELATED 함수는
특정 테이블에서 관계를 통해 다른 테이블의 열을 참조하는 함수로, 테이블 간의 관계를 활용할 때 매우 유용합니다.
2.
기본 구문 :
RELATED(columnName)
3.
매개 변수 :
columnName: 관계가 있는 다른 테이블의 특정 열을 지정합니다. 이 열은 가져오려는 값을 가진 열로,
관계가 설정된 테이블이어야만 RELATED 함수를 사용할 수 있습니다.
RELATED 함수는 다대일(여러 개의 값이 하나의 값을 참조하는 구조) 또는 1대1 관계에서만 사용됩니다. 즉, 참조할 때 관계가 다대다 관계로 설정된 경우에는 사용할 수 없습니다.
4.
예제 코드 :
• 시나리오 설정
Products 테이블과 Sales 테이블이 있다고 가정합니다:
Products 테이블에는 ProductID, ProductName, Price 등의 정보가 있고,
Sales 테이블에는 SaleID, ProductID, Quantity (판매된 수량) 등이 있습니다.
이 두 테이블은 ProductID 열을 통해 관계가 연결되어 있습니다.
Sales 테이블에서 제품 가격을 가져오기 위해 ProductID를 기준으로 Products 테이블을 참조 함.
1.
기본 사용법
Sales 테이블에서 판매된 각 제품의 가격을 RELATED 함수를 이용하여 가져오는 방법을 보겠습니다.
이 예제에서는 Sales 테이블에서 Price라는 새 계산 열을 추가하여 각 제품의 가격을 표시합니다.
Price = RELATED(Products[Price])
결과 :
이 식은
Sales 테이블의 각 행에서 ProductID를 기준으로 Products 테이블의 Price 값을 가져옵니다.
위의 식은 Sales 테이블에서 ProductID 값에 해당하는 Products 테이블의 Price 값을 가져옵니다.
이렇게 하면 Sales 테이블에 각 판매 항목의 가격을 추가로 표시할 수 있습니다.
2.
총 판매 금액 계산
이제 각 판매 항목의 총 판매 금액(TotalSales)을 계산하는 경우를 보겠습니다.
여기서는 Price와 Quantity 값을 곱하여 총 금액을 계산할 수 있습니다.
TotalSales = RELATED(Products[Price]) * Sales[Quantity]
결과
여기서 TotalSales 열은 RELATED 함수를 통해 Products 테이블에서 가격을 가져온 후,
해당 가격에 Quantity를 곱하여 총 판매 금액을 계산합니다.
5.
요약 :
•
RELATED 함수는 두 테이블 간 관계가 설정되어 있을 때 유용하게 사용할 수 있습니다.
• RELATED(columnName) 구문에서 columnName은 관계된 테이블의 특정 열을 참조할 때 필요합니다.
•
RELATED 함수는 다대일 또는 1대1 관계에서만 작동하며, 다른 테이블의 값을 가져와 다양한 계산에 활용할 수 있습니다.
• RELATEDTABLE: 관계된 테이블 반환
1.
함수 정의 :
RELATEDTABLE 함수는
두 테이블 간의 관계를 이용해, 현재 테이블에서 관련된 다른 테이블의 모든 행을 가져오는 함수입니다. 이 함수는 주로 일대다 관계에서 사용되며, 하나의 테이블에 있는 특정 필드의 값을 기준으로, 다른 테이블의 관련 데이터를 참조합니다.
2.
기본 구문 :
RELATEDTABLE(TableName)
3.
매개 변수 :
TableName: 현재 테이블과 관계가 설정된, 가져오려는 다른 테이블의 이름입니다.
TableName에 해당하는 테이블에서 현재 행과 관련된 데이터를 모두 반환합니다.
4.
작동 원리 :
RELATEDTABLE은 현재 테이블의 각 행에 대해, 관계가 있는 테이블에서 연결된 행의 집합을 가져옵니다.
예를 들어, 고객 테이블(Customers)과 주문 테이블(Orders)이 일대다 관계로 연결되어 있다고 가정하면,
RELATEDTABLE(Orders) 함수는 각 고객의 모든 주문을 가져오도록 도와줍니다.
5.
예시 코드 :
고객 테이블 과 주문 테이블 두 테이블이 있다고 가정합니다.
각 고객이 몇 번의 주문을 했는지 고객 테이블에 OrderCount라는 열을 추가해 계산해 보겠습니다.
OrderCount라는 열을 고객 테이블에 추가합니다.
OrderCount = COUNTROWS(RELATEDTABLE(Orders))
RELATEDTABLE(Orders): 주문 테이블에서 현재 고객과 관련된 행(주문)을 모두 가져옵니다.
COUNTROWS: 가져온 주문 테이블의 행 수를 세어, 각 고객이 가진 주문의 수를 나타냅니다.
결과 :
고객 테이블의 OrderCount 열은 다음과 같이 나옵니다.
결과 해석 :
•
John Doe 고객은 3개의 주문(ID: 101, 103, 105)을 했으므로 OrderCount는 3입니다.
•
Jane Smith는 1개의 주문(ID: 102)을 해서 OrderCount가 1입니다.
•
Chris Park와 Linda Brown은 주문이 없어서 OrderCount 값이 0으로 표시됩니다.
6.
요약 :
RELATEDTABLE 함수는 고객 ID를 기준으로 주문 테이블에서 고객과 관련된 데이터를 찾아 각 고객의 주문 수를 세는 데 도움을 줍니다.
• ROW: 새 행 반환
1.
함수 정의 :
ROW 함수는
하나의 행을 생성하는 함수로, 특정 열 이름과 값을 쌍으로 설정해 테이블을 만들 수 있습니다. 단일 행으로 구성된 테이블을 생성하므로, 여러 필드 값을 한 줄로 결합해서 보여줄 때 유용합니다.
2.
기본 구문 :
ROW("ColumnName1", Expression1, "ColumnName2", Expression2, ...)
3.
매개변수 :
ColumnName1, ColumnName2, ...: 생성할 테이블에서의 열 이름을 지정합니다. 각 열 이름은 문자열로 입력해야 합니다.
Expression1, Expression2, ...: 열 이름에 해당하는 값이나 수식을 지정합니다. 이 부분에 계산식이나 값이 들어갈 수 있으며, 필요한 만큼 추가 가능합니다.
4.
예시 코드 :
(1)
기본예시
아래 예시에서는 ROW 함수를 사용해
"Product", "Price", "Discount"라는 세 개의 열을 가진 단일 행 테이블을 생성합니다.
ROW(
"Product", "Laptop",
"Price", 1500,
"Discount", 0.1
)

결과 :
이처럼 ROW 함수를 통해 "Product"라는 이름의 열에 "Laptop", "Price"라는 이름의 열에,
1500, "Discount"라는 이름의 열에 0.1의 값을 가지는 테이블을 생성했습니다.
(2)
활용 예시 - 여러 값을 결합한 계산
다음 예시는 특정 제품에 대해 할인 후 가격을 계산한 단일 행 테이블을 만드는 예제입니다.
ROW(
"Product", "Smartphone",
"OriginalPrice", 1000,
"Discount", 0.2,
"DiscountedPrice", 1000 * (1 - 0.2)
)

결과 :
ROW 함수를 사용하여 DiscountedPrice 열을 계산하여 제품의 할인 후 가격을 계산하여 보여줍니다.
5.
요약 :
•
ROW 함수는 단일 행을 가진 테이블을 생성하는 함수입니다.
• 열 이름과 그에 대한 표현식을 지정하여 다양한 값 또는 계산 결과를 하나의 행에 결합해 보여줄 수 있습니다.
•
주로 데이터가 단일 행일 때, 또는 여러 계산 값을 함께 표시할 때 사용하기 적합합니다.
• SUMMARIZE: 요약된 테이블 반환
1.
함수 정의 :
SUMMARIZE 함수는
특정 컬럼을 기준으로 그룹화된 테이블을 생성하며, 그 안에 원하는 컬럼이나 새로운 계산을 추가할 수 있습니다. GROUPBY 함수와 비슷하지만 더 직관적이며, 새로운 계산 열을 바로 추가할 수 있어 자주 사용됩니다.
2.
기본 구문 :
SUMMARIZE(
테이블 이름,
그룹화할 컬럼1,
그룹화할 컬럼2, ...,
[새로운 계산 열 이름], 계산식
)
3.
매개변수 :
테이블 이름: 그룹화할 테이블 이름을 지정합니다.
그룹화할 컬럼: 테이블에서 그룹화 기준으로 사용할 컬럼을 한 개 이상 지정할 수 있습니다.
새로운 계산 열 이름: 추가할 계산 열의 이름을 대괄호로 감쌉니다. 이 부분은 선택 사항으로, 계산식을 지정하지 않으면 그룹화된 테이블만 반환됩니다.
계산식: 새로운 계산 열에 들어갈 값 또는 집계 계산을 지정합니다.
4.
예시 코드 :
(1) 기본 예시
Sales라는 테이블이 있고, 각 행에는 Product, Region, SalesAmount 컬럼이 있다고 가정해봅시다.
각 Product별로 Region에서 발생한 총 SalesAmount를 구하고 싶다면,
SUMMARIZE 함수를 아래와 같이 사용할 수 있습니다.
SUMMARIZE(
Sales,
Sales[Product],
Sales[Region],
"TotalSales", SUM(Sales[SalesAmount])
)

구문 설명:
•
Sales[Product], Sales[Region]을 기준으로 그룹화됩니다.
•
"TotalSales"라는 새로운 열이 추가되며, 각 그룹의 SalesAmount를 합산한 결과가 들어갑니다.
결과 테이블 :
이 구문을 실행하면 다음과 같은 결과가 나옵니다.
결과 설명 :
• Product A - East: SalesAmount 값이 100 + 300 = 400으로 합산되었습니다.
• Product A - West: SalesAmount 값이 150으로 유지되었습니다 (유일한 값이기 때문).
• Product B - East: SalesAmount 값이 200 + 50 = 250으로 합산되었습니다.
• Product B - West: SalesAmount 값이 250으로 유지되었습니다.
(2) 추가 활용 예시
만약
특정 조건을 추가해 계산하고 싶다면,
SUMMARIZE 함수는 FILTER 함수와 함께 사용할 수 있습니다.
예를 들어, 특정 지역의 매출만 보고 싶다면 다음과 같이 사용합니다.
SUMMARIZE(
FILTER(Sales, Sales[Region] = "East"),
Sales[Product],
"TotalSales", SUM(Sales[SalesAmount])

)
결과:
이 구문은 S
ales 테이블에서 Region이 "East"인 데이터만 필터링하고,
각 Product별로 SalesAmount의 합계를 TotalSales 열에 계산합니다.
원본 데이터 중
"East" 지역만 필터링한 테이블 :
결과 테이블 :
위 구문을 실행하면 다음과 같은 결과가 나옵니다.
결과 설명 :
• Product A: SalesAmount가 100 + 300 = 400으로 합산되었습니다.
• Product B: SalesAmount가 200 + 50 = 250으로 합산되었습니다.
5.
요약 :
SUMMARIZE는
특정 조건을 적용하여 원하는 데이터만 필터링하고, 그 결과를 그룹화하여 요약 테이블을 만드는데 유용합니다.
• SUMMARIZECOLUMNS: 열을 기준으로 요약 테이블 생성
1.
함수 정의 :
SUMMARIZECOLUMNS 함수는
지정된 열과 필터를 기준으로 데이터를 요약하여 반환합니다. 이는 특정 그룹화된 데이터를 요약하고, 필터링하여 원하는 형태의 결과 테이블을 만들어줍니다.
2.
기본 구문 :
SUMMARIZECOLUMNS(
<그룹화 기준 열>,
[필터 표현식],
<그룹화 기준 열 2>,
[필터 표현식 2],
…,
<요약할 테이블 또는 계산된 열>
)
3.
매개변수 :
<그룹화 기준 열>:
요약하고 싶은 열을 그룹화할 기준으로, 그룹별로 요약을 생성할 열들을 나열합니다.
[필터 표현식]:
요약할 테이블을 특정 기준으로 필터링하는 조건입니다.
<요약할 테이블 또는 계산된 열>: SUM이나 COUNT와 같은 집계 함수를 사용하여, 요약할 계산 열을 지정합니다.
4.
예시 코드 :
다음과 같은 Sales 테이블이 있다고 가정해 보겠습니다:
이 예시에서 Year가 2023인 데이터만 필터링하여,
Region과 Product별로 Sales의 총합을 구하고 싶다고 가정해보겠습니다.
SUMMARIZECOLUMNS 함수 예시
SUMMARIZECOLUMNS(
Sales[Region], -- 그룹화 기준 열 (Region)
Sales[Product], -- 그룹화 기준 열 (Product)
Sales[Year] = 2023, -- 필터 표현식 (Year = 2023인 데이터만 필터링)
"Total Sales", SUM(Sales[Sales]) -- 계산된 열 (총 판매액)
)

설명 :
Sales[Region]과 Sales[Product] 열을 기준으로 데이터를 그룹화합니다.
Sales[Year] = 2023이라는 필터 표현식을 사용하여,
Year가 2023인 데이터만 선택합니다.
"Total Sales"라는 새 열을 생성하고,
각 그룹에 대해 Sales[Sales] 값의 합계를 계산합니다.
결과 :
위 쿼리는 Year가 2023인 데이터만 필터링한 후,
Region과 Product별로 Sales의 총합을 계산하여 다음과 같은 결과 테이블을 반환합니다:
5.
요약 :
이와 같이,
SUMMARIZECOLUMNS의 필터 표현식을 사용하면 특정 조건을 적용하여 데이터를 효율적으로 요약할 수 있습니다.
참고 : 필터가 필요한 경우 SUMMARIZE 함수 사용
1.
SUMMARIZE 함수에서는 SUMMARIZECOLUMNS와 달리 필터 표현식을 직접 사용할 수 없기 때문에, 조건을 적용하려면 CALCULATE와 함께 사용해야 합니다. 즉, CALCULATE를 통해 필터 컨텍스트를 설정한 뒤, SUMMARIZE로 그룹화와 요약을 수행해야 합니다.
위 예시와 동일한 조건을 SUMMARIZE 함수로 작성하는 방법은 다음과 같습니다.
2.
SUMMARIZE 함수 예시 (필터 적용)
CALCULATE(
SUMMARIZE(
Sales,
Sales[Region], -- 그룹화 기준 열 (Region)
Sales[Product], -- 그룹화 기준 열 (Product)
"Total Sales", SUM(Sales[Sales]) -- 계산된 열 (총 판매액)
),
Sales[Year] = 2023 -- 필터 조건 (Year = 2023인 데이터만 선택)
)
3.
설명
CALCULATE 함수가 먼저 사용되어, Sales[Year] = 2023 조건을 적용합니다. 이로 인해 Sales 테이블에서 Year가 2023인 데이터만 필터링됩니다.
SUMMARIZE 함수가 필터링된 데이터를 기반으로, Sales[Region]과 Sales[Product] 열을 기준으로 데이터를 그룹화합니다.
"Total Sales"라는 계산된 열을 생성하고, 각 그룹에 대해 Sales[Sales] 값의 합계를 계산합니다.
결과
위 DAX 코드도 Year가 2023인 데이터만 필터링하고, Region과 Product별로 Sales의 총합을 계산하여 다음과 같은 결과를 반환합니다:
4.
이와 같이 SUMMARIZE 함수는 직접적인 필터 표현식을 지원하지 않기 때문에 CALCULATE를 사용하여 필터 컨텍스트를 적용한 후에 요약 작업을 수행해야 합니다.
• TOPN: 상위 N개 값 반환
1.
함수 정의 :
TOPN 함수는 지정된 순서에 따라 상
위 N개의 행을 필터링하여 반환하는 함수입니다. 주로 데이터의 상위 항목을 추출할 때 사용하며, 예를 들어 매출 상위 5개 제품, 최고 성적 상위 3명 등의 결과를 가져올 수 있습니다.
2.
기본 구문 :
TOPN(<N>, <table>, <orderBy_expression>, [<order>])
3.
매개 변수 :
N: 반환할 행의 개수를 지정합니다. 예를 들어, 상위 5개를 반환하고 싶다면 5를 입력합니다.
table: 함수가 적용될 테이블을 지정합니다. 여기서 데이터를 가져오고 필터링하여 상위 N개의 결과를 반환합니다.
orderBy_expression: 정렬 기준이 될 열이나 계산식을 입력합니다. 예를 들어, 매출액을 기준으로 정렬하고 싶다면 매출액 열을 넣습니다.
order (선택 사항): 정렬 방향을 지정합니다. 기본값은 내림차순(DESC)이며, 오름차순으로 정렬하려면 ASC를 입력합니다.
4.
예시 코드 :
다음은 TOPN 함수를 사용하여 특정 제품의 매출 상위 3개를 가져오는 예시입니다.
예시 시나리오:
매출 데이터 테이블 Sales가 있으며, 주요 열은 다음과 같습니다:
Product : 제품명
SalesAmount : 매출 금액
이 데이터에서 매출 상위 3개 제품을 추출한다고 가정하겠습니다.
TOPN(3, Sales, Sales[SalesAmount], DESC)
설명 :
Sales 테이블에서 SalesAmount 열을 기준으로 내림차순(DESC) 정렬하여,
상위 3개의 행을 반환합니다.
N 값이 3이므로, 매출 금액이 가장 높은 3개의 제품이 선택됩니다.
함수 실행 과정 :
SalesAmount 열을 기준으로
데이터가 내림차순으로 정렬됩니다.
정렬된 데이터에서 상위 3개의 행이 선택됩니다.
결과 :
위 코드를 실행하면
최종적으로 Product E, Product C, Product A가 포함된 3개의 행이 반환됩니다.
이들은 매출이 가장 높은 순서대로 정렬되어 있습니다.
5.
요약 :
TOPN 함수는
매출 상위 3개 제품을 필터링하여, 원하는 분석 결과를 쉽게 얻을 수 있게 해줍니다.
내림차순 정렬을 통해 큰 값을 우선적으로 반환하며, N 값을 변경하여 반환하는 행의 수를 조절할 수 있습니다.
• UNION: 두 테이블 합침
1.
함수 정의 :
UNION 함수는
두 개 이상의 테이블을 결합합니다. 동일한 컬럼 구조를 가진 테이블들을 결합할 때 사용합니다. 서로 다른 테이블에서 행을 결합하지만, 각 테이블의 컬럼 이름과 순서가 동일해야 합니다.
2.
기본 구문 :
UNION(<Table1>, <Table2> [, <Table3>, …])
3.
매개변수 :
<Table1>: 병합할 첫 번째 테이블
<Table2>: 병합할 두 번째 테이블
[<Table3>, …]: 선택 사항으로, 추가로 병합할 테이블들
4.
예시 코드 :
다음과 같은 두 개의 테이블이 있다고 하겠습니다.
Products_A 테이블:
Products_B 테이블:
두 테이블을 UNION을 사용하여 병합하려면 아래와 같이 사용합니다.
UNION(Products_A, Products_B)
결과:
5.
사용 시 유의점 :
• 각 테이블의
컬럼 수와 순서가 일치해야 합니다. 만약 컬럼 순서가 다르면, 일치하도록 정리한 후 사용해야 합니다.
•
UNION은 중복된 행을 제거하지 않습니다. 중복을 제거하려면 DISTINCT를 함께 사용해야 합니다.
예를 들어, 중복된 데이터가 포함된 두 테이블을 병합하고 중복을 제거하려면 다음과 같이 할 수 있습니다:
DISTINCT(UNION(Products_A, Products_B))
6.
요약 :
•이와 같은 방식으로 UNION 함수는 데이터를 결합하는 데 유용하게 사용할 수 있으며, 데이터를 결합할 때 컬럼 구조가 동일한지 꼭 확인해야 합니다.
• VALUES: 고유 값 반환
1.
함수 정의 :
VALUES 함수는
특정 열이나 테이블에서 고유한 값들을 반환할 때 사용하는 함수입니다. 주로 필터링이나 요약 테이블을 만들 때 활용되며, 필터 컨텍스트 내에서 고유한 값을 가져오는 데 유용합니다.
2.
기본 구문 :
VALUES(<열 또는 테이블>)
3.
매개 변수 :
<열 또는 테이블>: 고유한 값을 추출할 열이나 테이블을 지정합니다. 예를 들어, 테이블[열] 형식으로 특정 열을 지정하거나 테이블 전체를 지정할 수 있습니다.
4.
사용 시 주의사항 :
• VALUES 함수는 필터 컨텍스트에 따라 다르게 작동하여,
필터가 걸린 경우 해당 필터링된 값들만 반환합니다.
•
필터링된 상태가 아닐 경우 전체 고유 값을 반환합니다.
5.
예시 코드 :
우선 고객_테이블과 매출_테이블이라는 두 개의 테이블을 사용하겠습니다.
고객_테이블
매출_테이블
(1) 특정 열의 고유 값 반환
고유_도시 = VALUES(고객_테이블[도시])
설명 :
고객_테이블[도시] 열의 고유한 값을 반환합니다.
중복된 도시는 제외하고 고유한 도시만 반환합니다.
결과 :
"서울"이 중복되어 두 번 나타나지만,
VALUES 함수는 고유한 값만 반환하므로 "서울", "부산", "대구"만 반환됩니다.
참고 :
VALUES 함수는 지정한 이름이 아닌 기존 열 이름으로 반환하기 때문에,
VALUES(고객_테이블[도시])는 고객_테이블[도시] 열에서 고유한 값을 반환하므로,
반환된 테이블의 열 이름은 원래 열 이름인 도시가 됩니다.
(2) 필터 컨텍스트 내에서 고유 고객 수 세기
전체_고객_수 = COUNTROWS(VALUES(고객_테이블[고객_ID]))
설명:
VALUES(고객_테이블[고객_ID]) 부분이 고객 ID의 고유한 값을 반환합니다.
COUNTROWS 함수가 반환된 고유한 ID의 개수를 셉니다.
결과:
고객 ID는 1, 2, 3, 4이므로, 고유한 고객 수는 4명입니다.
결과값:
전체_고객_수 = 4
(3) CALCULATE와 함께 고유한 제품별 매출 합산
총_매출 = CALCULATE(SUM(매출_테이블[금액]), VALUES(매출_테이블[제품]))
설명:
VALUES(매출_테이블[제품]) 부분이 매출_테이블의 제품 열에서 고유한 제품을 반환합니다.
SUM(매출_테이블[금액])은 각 고유 제품별 매출 금액을 합산합니다.
결과:
각 고유한 제품의 매출을 계산하여 제품별로 매출 총합을 반환합니다.
Made with Slashpage