이벤트
3월 31일 오후 11시 - 4월 2일 오후 11시
궁극적인 Microsoft Fabric, Power BI, SQL 및 AI 커뮤니티 주도 이벤트입니다. 2025년 3월 31일부터 4월 2일까지.
지금 등록Power BI and Excel과 같은 보고 클라이언트는 시각적 개체가 보고서에 표시되고 테이블에 추가된 필드를 orfilter 적용할 때 이러한 DAX 쿼리가 조정되도록 andDAX 쿼리를 실행합니다. Power BI Desktop의 성능 분석기DAX 쿼리 뷰에서 실행할 andeven 이러한 DAX 쿼리를 표시할 수 있습니다.
DAX 쿼리는 도구 내에서 right 테이블 형태로 결과를 반환하므로 당신이 신속하게 and 테스트할 수 있고 DAX 수식의 성능을 측정값에서 평가하며, 의미 모델에서 데이터를 간단히 or 확인할 수 있습니다. 정보 and 정보입니다. VIEW DAX 함수는 테이블, 열, 측정값 목록과 같은 의미 체계 모델에 대한 정보를 훨씬 더 and 수 있습니다.
쿼리에 대해 알아보기 전에 DAX 기본 사항을 확실하게 이해하는 것이 중요합니다. 이미 그렇게 하지 않으셨다면, IfDAX 개요를 꼭 확인하세요.
DAX 쿼리에는 EVALUATE하나의 필수 키워드로 구성된 간단한 구문이 있습니다. EVALUATE DAX 함수 or 테이블 이름과 같은 테이블 식이 뒤에 잇습니다. 그러면 실행 시 결과 테이블이 출력됩니다. 결과 테이블을 출력하는 테이블 식은 다음과 같습니다.
DAX 쿼리와 관련된 몇 가지 선택적 키워드는 ORDER BY, START AT, DEFINE, MEASURE, VAR, TABLE, and COLUMN입니다.
가장 기본적인 수준에서 DAX 쿼리는 테이블 식을 포함하는 EVALUATE
문입니다. 하나 이상의 EVALUATE 문이 필요하지만, 쿼리에는 어떤 수의 EVALUATEstatements문을 포함할 수 있습니다.
EVALUATE <table>
기간 | 정의 |
---|---|
table |
테이블 식입니다. |
EVALUATE
'Sales Order'
Sales Order 테이블에서 all개의 행과 and개의 열을 결과 테이블로 반환합니다. TOPN or FILTER는 ORDER BY로 정렬된 and와 함께 사용하여 제한할 수 있습니다.
선택적 ORDER BY
키워드는 쿼리 결과를 정렬하는 데 사용되는 쿼리 or 식에 하나 or 더 많은 열을 정의합니다. 결과의 각 행에 대해 평가할 수 있는 식은 유효합니다. 쿼리 자체의 모든 열도 유효합니다.
의미 체계 모델의 열별 정렬 속성은 DAX 쿼리 결과에 not 적용됩니다. Month Name의 경우처럼 모델의 다른 열을 기준으로 열을 정렬해야 IfORDER BY사용할 DAX 쿼리에도 열 정렬을 포함해야 합니다.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]]
기간 | 정의 |
---|---|
expression |
단일 스칼라 valueor 열을 반환하는 모든 DAX 식, DAX 쿼리에 포함되어 있습니다. |
ASC |
(기본값) 오름차순 정렬 순서입니다. |
DESC |
내림차순 정렬 순서입니다. |
EVALUATE
SUMMARIZECOLUMNS(
// Group by columns
'Date'[Month Name],
'Date'[Month of Year],
'Product'[Category],
// Optional filters
FILTER(
VALUES('Product'[Category]),
[Category] = "Clothing"
),
// Measures or explicit DAX formulas to aggregate and analyze the data by row
"Orders", [Orders],
"Avg Profit per Order", DIVIDE(
[Total Sales Profit],
[Orders]
)
)
// DAX queries do not use sort order defined in Power BI,
// sort by columns must be included in the DAX query to be used in order by
ORDER BY 'Date'[Month of Year] ASC
month에 따라 주문당 수익을 내며 month에 따라 오름차순으로 정렬된 andaverage 의류 주문을 결과 테이블로 반환합니다.
TOPN는 ORDER BY에서 지정된 정렬 순서에 따라 반환할 행의 수를 선택할 수 있는 not입니다. 대신 TOPN 상위 100개 행이 반환되기 전에 선택적으로 정렬을 지정하는 고유한 구문을 가지고 있습니다. ORDER BY는 TOPN이 반환한 결과 테이블만을 정렬합니다.
EVALUATE
TOPN(
100,
'Sales Order',
// The way the data is sorted before the top 100 rows are selected
'Sales Order'[SalesOrderLineKey], ASC
)
// The way the data is sorted for the results
ORDER BY
'Sales Order'[Sales Order] ASC,
'Sales Order'[Sales Order Line] ASC
SalesOrderLienKey 오름차순으로 정렬된 상위 100개의 판매 주문을 반환한 다음, 판매 주문별로 first 결과를 정렬한 다음 판매 주문 라인별로 정렬합니다.
선택적 START AT
키워드는 ORDER BY
절 내에서 사용됩니다. 쿼리 결과가 시작되는 value을 정의합니다.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]
[START AT {<value>|<parameter>} [, …]]]
기간 | 정의 |
---|---|
value |
상수 value. 표현식일 수 없습니다. |
parameter |
XMLA 문장의 매개 변수 이름에 @ 문자가 접두사로 붙어 있습니다. |
START AT 인수들은 ORDER BY 절의 열과 각각 대응합니다. START AT 절에는 ORDER BY 절보다 인수가 not개 더 있을 수 있습니다. START AT의 first 인수는 ORDER BY 열의 1번 열에서 시작하는 value를 정의합니다. START AT의 second 인수는 열 1의 firstvalue 조건을 만족하는 행에서, ORDER BY 열의 열 2에 있는 시작 value를 정의합니다.
EVALUATE
'Sales Order'
ORDER BY 'Sales Order'[Sales Order] ASC
// Start at this order, orders before this order will not be displayed
START AT "SO43661"
Sales Order 테이블에서 Sales Order 번호가 SO43661부터 시작하여 오름차순으로 all 열을 반환합니다. 이 판매 주문 이전의 행은 not이 결과 테이블에 포함됩니다.
선택적 DEFINE
키워드는 쿼리의 duration에만 존재하는 or 더 많은 계산된 엔터티 정의를 도입합니다.
EVALUATE
와 달리, DAX 쿼리에는 하나의 or 이상 정의를 가진 DEFINE
블록만 있을 수 있습니다.
DEFINE
는 쿼리 내에서 allEVALUATEstatements에 대해 유효한 andfirstEVALUATE
문 앞에 있어야 합니다. 정의는 변수, 측정값, 테이블1, and 열1수 있습니다. 정의는 현재 정의 뒤의 or 앞에 나타나는 다른 정의를 참조할 수 있습니다.
DEFINE
키워드가 쿼리에 포함되는 if 하나 이상의 정의가 필요합니다.
DEFINE MEASURE
의미 체계 모델에서 기존 측정값을 편집하기 or 새 측정값을 작성하는 일반적인 시나리오입니다. 모델에 measure 이미 있는 경우 DAX 쿼리는 쿼리에 정의된 measureDAX 수식을 사용합니다. 이는 모델을 업데이트하기 전에 DAX 쿼리를 사용하여 측정값을 테스트하는 데 유용합니다.
DEFINE MEASURE
특정 DAX 쿼리에 대한 DAX 수식을 사용하여 추가 분석을 구축하는 데도 유용합니다. 이 경우, 모델에 not 필요한 notmeasureor 권한이 있을 수 있습니다.
[DEFINE
(
(MEASURE <table name>[<measure name>] = <scalar expression>) |
(VAR <var name> = <table or scalar expression>) |
(TABLE <table name> = <virtual table definition>) |
(COLUMN <table name>[<column name>] = <scalar expression>) |
) +
]
(EVALUATE <table expression>) +
기간 | 정의 |
---|---|
Entity |
MEASURE, VAR, TABLE1, or COLUMN1. |
name |
measure, var, 테이블, or 열 정의의 이름입니다. 표현일 수 없습니다. 이름은 꼭 고유해야 합니다. not. 이름은 쿼리의 duration 대해서만 존재합니다. |
expression |
테이블 or과 스칼라 value를 반환하는 모든 DAX 표현식입니다. 표현식은 정의된 엔터티를 사용할 수 있습니다. 스칼라 식을 테이블 식으로 convert 중괄호가 {} 테이블 생성자 안에 식을 래핑해야 하는 IfROW() 함수를 사용하여 단일 행 테이블을 반환할 or 있습니다. |
[1]주의: 쿼리 범위 테이블의 and 열 정의는 내부 사용을 위한 것임을 명심하세요. 구문 error없이 쿼리에서 TABLE and COLUMN 식을 define 사용할 수 있지만, 이는 런타임 오류를 발생시킬 수 있으므로 andnot 권장되지 않습니다.
DAX 쿼리에는 여러 EVALUATEstatements있을 수 있지만 DEFINE 문은 하나만 있을 수 있습니다. DEFINE 문에서의 정의는 쿼리 내의 모든 EVALUATEstatements에 적용될 수 있습니다.
DEFINE 문에는 하나 이상의 정의가 필요합니다.
Measure 정의는 동일한 이름의 모델 측정값을 재정의하지만 쿼리 내에서만 사용됩니다. 그들은 not 모델 measure에 영향을 미칠 것입니다.
VAR 이름에는 고유한 제한이 있습니다. 자세한 내용은 VAR - 매개 변수참조하세요.
DEFINE
VAR _firstyear = MIN('Date'[Fiscal Year])
VAR _lastyear = MAX('Date'[Fiscal Year])
TABLE 'Unbought products' = FILTER('Product', [Orders] + 0 = 0)
COLUMN 'Unbought products'[Year Range] = _firstyear & " - " & _lastyear
MEASURE 'Unbought products'[Unbought products] = COUNTROWS('Unbought products')
EVALUATE
'Unbought products'
EVALUATE
{[Unbought products]}
DAX 쿼리에 정의된 테이블을 반환하고, 정의된 변수를 참조하는 추가 열을 통해 구매되지 않은 제품을 표시합니다. 또한 measure은/는 구매하지 않은 제품의 행을 count 평가하도록 and 정의됩니다.
DEFINE
MEASURE 'Pick a sales measure'[Orders] = DISTINCTCOUNT('Sales Order'[Sales Order])
MEASURE 'Pick a sales measure'[Customers] = CALCULATE(
COUNTROWS(Customer),
FILTER(
'Sales',
[Orders] > 0
)
)
MEASURE 'Pick a sales measure'[Orders per Customer] = DIVIDE(
[Orders],
[Customers],
0
)
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Fiscal Year],
"Orders", [Orders],
"Customers", [Customers],
"Orders per Customer", [Orders per Customer]
)
재무 year에 따라 결과를 보여주기 위해 정의된 세 가지 측정치를 평가하는 테이블을 반환합니다. 모델에는 All 측정값도 존재하며, DAX 쿼리에서 고객당 주문이 and로 수정됩니다.
잘 정의된 DAX 쿼리 문은 and 매개 변수화한 후, 매개 변수 values의 변경을 통해 and 사용할 수 있습니다.
xmlA(Execute 메서드) 메서드에는 매개 변수를 정의할 수 andvalue할당할 수 있는 XMLA(Parameters 요소) 컬렉션 요소가 있습니다. 컬렉션 내에서 각 XMLA(Parameter 요소) 요소는 and 매개 변수에 value 관련된 이름을 정의합니다.
매개 변수 이름 앞에 @
문자를 추가하여 XMLA 매개 변수를 참조합니다. 구문에서 value가 허용되는 모든 위치에 value을 매개변수 호출로 대체할 수 있습니다.
All XMLA 매개 변수는 텍스트로 입력됩니다.
중요
매개 변수 섹션에 정의된 매개 변수는 XMLA에서 error 응답을 generate<STATEMENT>
요소에 사용되는 andnot.
XMLA에서 <Parameters>
요소에 정의된 andnot 매개 변수는 generate에서 error 응답에 사용됩니다.
이벤트
3월 31일 오후 11시 - 4월 2일 오후 11시
궁극적인 Microsoft Fabric, Power BI, SQL 및 AI 커뮤니티 주도 이벤트입니다. 2025년 3월 31일부터 4월 2일까지.
지금 등록학습
학습 경로
Power BI Desktop에서 DAX 사용 - Training
이 학습 경로에서는 DAX(Data Analysis Expressions)를 소개하고 계산을 사용하여 의미 체계 모델을 향상시키는 데 필요한 기본 기술을 제공합니다. 먼저 Power BI Desktop 모델 구조와 DAX 계산을 사용하여 이를 향상시킬 수 있는 방법을 설명합니다. 그런 다음 계산된 테이블 및 열, 측정값 등 DAX 수식과 여러 유형의 모델 계산을 작성하는 방법을 설명합니다. 평가 컨텍스트를 소개하고 이후 단원에서는 필터 컨텍스트를 수정하는 DAX 수식을 작성하는 방법을 설명합니다. 마지막으로 시간 인텔리전스 함수와 반복기 함수를 사용하여 DAX 식을 작성하는 방법을 알아봅니다.
인증
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Power BI를 사용하여 데이터를 모델링, 시각화 및 분석하기 위한 비즈니스 및 기술 요구 사항에 부합하는 다양한 방법과 모범 사례를 보여줍니다.