EVALUATEANDLOG

적용 대상:계산 열계산 테이블측정값 시각적 계산

첫 번째 인수의 값을 반환하고 DAX 평가 로그 프로파일러 이벤트에 기록합니다. 이 함수는 Power BI Desktop에서만 완벽하게 작동합니다. 다른 환경에서는 간단한 통과 함수 역할을 합니다.

구문

EVALUATEANDLOG(<Value>, [Label], [MaxRows])

매개 변수

용어 정의
계산 및 기록할 스칼라 식 또는 테이블 식입니다.
Label (선택 사항) 함수 호출의 인스턴스를 쉽게 식별하는 데 사용할 수 있는 DAX 평가 로그 이벤트의 json 텍스트와 레이블 열 모두에 포함된 상수 문자열입니다.
MaxRows (선택 사항) 첫 번째 인수가 테이블 식인 경우 DAX 평가 로그 이벤트의 json 텍스트에 있는 최대 행 수입니다. 기본값은 10입니다.

반환 값

첫 번째 인수의 값입니다.

DAX 평가 로그 프로파일러 이벤트에 기록된 JSON 구조에는 다음이 포함됩니다.

  • "expression"은 첫 번째 인수의 텍스트 버전입니다.
  • 식에 지정된 경우 "label"은 Label 매개 변수입니다.
  • "inputs"는 첫 번째 인수의 값에 영향을 주는 평가 컨텍스트의 열 목록입니다.
  • "outputs"는 첫 번째 인수가 스칼라 식이고 첫 번째 인수가 테이블 식인 경우 출력 열 목록인 경우 단일 열 [Value]의 목록입니다.
  • "data"는 첫 번째 인수가 스칼라 식인 경우 입력 값 및 출력 값의 목록이며, 첫 번째 인수가 테이블 식인 경우 입력 값 및 해당 출력 행의 목록입니다.
  • "rowCount"는 첫 번째 인수가 테이블 식인 경우의 행 수입니다. json 출력의 행 수가 MaxRows 매개 변수에 의해 잘리더라도 rowCount는 잘리지 않은 행의 실제 수입니다.

설명

  • SQL Server Profiler 및 오픈 소스 DAX 디버그 출력 도구를 사용하여 추적 이벤트를 캡처할 수 있습니다.

  • 이 함수는 DAX 식의 거의 모든 하위 식과 함께 사용할 수 있으며 전체 식은 여전히 유효합니다.

  • 첫 번째 인수가 단일 쿼리에서 여러 번 평가되면 함수는 입력 값과 해당 출력 값을 모두 포함하는 단일 DAX 평가 로그 이벤트를 생성합니다.

  • 레이블 매개 변수를 지정하면 해당 값은 DAX 평가 로그 이벤트의 json 출력과 Label 열 모두에서 반환됩니다.

  • 첫 번째 인수가 테이블 식인 경우 DAX 평가 로그 이벤트에 상위 MaxRows 행만 표시됩니다.

  • 경우에 따라 이 함수는 최적화로 인해 실행되지 않습니다.

  • DAX 평가 로그 이벤트가 100만 자보다 큰 경우 올바른 json 구조를 유지하기 위해 잘립니다.

예 1

다음 DAX 쿼리:

evaluate
SUMMARIZE(
    EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
    Sales[SalesTerritoryKey],
    "sum",
    sum(Sales[Sales Amount])
)

다음 DAX 평가 로그 이벤트를 반환합니다.

{
    "expression": "FILTER(Sales, [ProductKey] = 528)",
    "inputs": [],
    "outputs": ["'Sales'[SalesOrderLineKey]", "'Sales'[ResellerKey]", "'Sales'[CustomerKey]", "'Sales'[ProductKey]", "'Sales'[OrderDateKey]", "'Sales'[DueDateKey]", "'Sales'[ShipDateKey]", "'Sales'[SalesTerritoryKey]", "'Sales'[Order Quantity]", "'Sales'[Unit Price]", "'Sales'[Extended Amount]", "'Sales'[Product Standard Cost]", "'Sales'[Total Product Cost]", "'Sales'[Sales Amount]", "'Sales'[Unit Price Discount Pct]"],
    "data": [
        {
            "input": [],
            "rowCount": 3095,
            "output": [
                [52174001, -1, 23785, 528, 20190707, 20190717, 20190714, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
                [52173001, -1, 26278, 528, 20190707, 20190717, 20190714, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
                [52082001, -1, 23831, 528, 20190705, 20190715, 20190712, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
                [52054002, -1, 11207, 528, 20190704, 20190714, 20190711, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
                [52036001, -1, 25337, 528, 20190704, 20190714, 20190711, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
                [51939002, -1, 23670, 528, 20190702, 20190712, 20190709, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
                [51911002, -1, 11746, 528, 20190701, 20190711, 20190708, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
                [51379003, -1, 13745, 528, 20190612, 20190622, 20190619, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
                [51264002, -1, 11282, 528, 20190605, 20190615, 20190612, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
                [51184003, -1, 11263, 528, 20190531, 20190610, 20190607, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0]
            ]
        }
    ]
}

예제 2

스칼라 인수 및 다양한 특성이 있는 다음 DAX 쿼리:

evaluate
SELECTCOLUMNS(
    TOPN(5, Customer),
    [Customer],
    "Customer",
    EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)

다음 DAX 평가 로그 이벤트를 반환합니다.

{
    "expression": "[Customer] & \", \" & [Country-Region]",
    "label": "customerLog",
    "inputs": ["'Customer'[Customer]", "'Customer'[Country-Region]"],
    "data": [
        {
            "input": ["Russell Xie", "United States"],
            "output": "Russell Xie, United States"
        },
        {
            "input": ["Savannah Baker", "United States"],
            "output": "Savannah Baker, United States"
        },
        {
            "input": ["Maurice Tang", "United States"],
            "output": "Maurice Tang, United States"
        },
        {
            "input": ["Emily Wood", "United States"],
            "output": "Emily Wood, United States"
        },
        {
            "input": ["Meghan Hernandez", "United States"],
            "output": "Meghan Hernandez, United States"
        }
    ]
}

TOCSV
TOJSON