TopCount(DMX)
적용 대상: SQL Server Analysis Services
식에서 지정한 대로 순위 순서를 줄이면서 최상위 행의 지정된 수를 반환합니다.
구문
TopCount(<table expression>, <rank expression>, <count>)
적용 대상
테이블 열 참조> 또는 테이블을 반환하는 함수와 같은 <테이블을 반환하는 식입니다.
반환 형식
<테이블 식>
설명
순위 식 인수에서 <제공하는 값은 테이블 식> 인수에 <제공된 행의 순위 감소 순서를 결정하며 count> 인수에 <지정된 최상위 행 수가 반환>됩니다.
TopCount 함수는 원래 결합 예측을 사용하도록 설정하기 위해 도입되었으며 일반적으로 SELECT TOP 및 ORDER BY 절을 포함하는 문과 동일한 결과를 생성합니다. 반환할 여러 예측의 사양을 지원하는 Predict(DMX) 함수를 사용하는 경우 결합 예측에 대해 더 나은 성능을 얻을 수 있습니다.
그러나 여전히 TopCount를 사용해야 하는 상황이 있습니다. 예를 들어 DMX는 하위 select 문의 TOP 한정자를 지원하지 않습니다. PredictHistogram(DMX) 함수도 TOP 추가를 지원하지 않습니다.
예
다음 예제는 기본 데이터 마이닝 자습서를 사용하여 빌드하는 연결 모델에 대한 예측 쿼리입니다. 쿼리는 동일한 결과를 반환하지만 첫 번째 예제에서는 TopCount를 사용하고 두 번째 예제에서는 Predict 함수를 사용합니다.
TopCount의 작동 방식을 이해하려면 먼저 중첩 테이블만 반환하는 예측 쿼리를 실행하는 것이 유용할 수 있습니다.
SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 10)
FROM
[Association]
NATURAL PREDICTION JOIN
SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t
참고 항목
이 예제에서 입력으로 제공된 값은 작은따옴표를 포함하므로 다른 작은따옴표 앞에 추가하여 이스케이프해야 합니다. 이스케이프 문자를 삽입하는 구문을 모르는 경우 예측 쿼리 작성기를 사용하여 쿼리를 만들 수 있습니다. 드롭다운 목록에서 값을 선택하면 필요한 이스케이프 문자가 자동으로 삽입됩니다. 자세한 내용은 데이터 마이닝 디자이너에서 Singleton 쿼리 만들기를 참조 하세요.
예제 결과:
모델 | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 | 4334 | 0.291283016 | 0.252695851 |
물병 | 2866 | 0.192620472 | 0.175205052 |
패치 키트 | 2113 | 0.142012232 | 0.132389356 |
Mountain Tire Tube | 1992 | 0.133879965 | 0.125304948 |
Mountain-200 | 1755 | 0.117951475 | 0.111260823 |
Road Tire Tube | 1588 | 0.106727603 | 0.101229538 |
Cycling Cap | 1473 | 0.098998589 | 0.094256014 |
펜더 세트 - 마운틴 | 1415 | 0.095100477 | 0.090718432 |
Mountain Bottle Cage | 1367 | 0.091874454 | 0.087780332 |
Road Bottle Cage | 1195 | 0.080314537 | 0.077173962 |
TopCount 함수는 이 쿼리의 결과를 가져와서 지정된 수의 가장 작은 값 행을 반환합니다.
SELECT
TopCount
(
Predict ([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,10),
$SUPPORT,
3)
FROM
[Association]
NATURAL PREDICTION JOIN
(SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t
TopCount 함수의 첫 번째 인수는 테이블 열의 이름입니다. 이 예제에서 중첩 테이블은 Predict 함수를 호출하고 INCLUDE_STATISTICS 인수를 사용하여 반환됩니다.
TopCount 함수의 두 번째 인수는 결과를 정렬하는 데 사용하는 중첩 테이블의 열입니다. 이 예제에서 INCLUDE_STATISTICS 옵션은 $SUPPORT, $PROBABILTY 및 $ADJUSTED PROBABILITY 열을 반환합니다. 이 예에서는 $SUPPORT를 사용하여 결과의 등급을 지정합니다.
TopCount 함수에 대한 세 번째 인수는 반환할 행 수를 정수로 지정합니다. $SUPPORT 주문한 대로 상위 3개 제품을 얻으려면 3을 입력합니다.
예제 결과:
모델 | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 | 4334 | 0.29... | 0.25... |
물병 | 2866 | 0.19... | 0.17... |
패치 키트 | 2113 | 0.14... | 0.13... |
그러나 이러한 유형의 쿼리는 프로덕션 설정의 성능에 영향을 줄 수 있습니다. 이는 쿼리가 알고리즘에서 모든 예측 집합을 반환하고, 이러한 예측을 정렬하고, 상위 3을 반환하기 때문입니다.
다음 예제에서는 동일한 결과를 반환하지만 훨씬 더 빠르게 실행되는 대체 문을 제공합니다. 이 예제에서는 TopCount를 많은 예측을 인수로 허용하는 Predict 함수로 바꿉니다. 또한 이 예제에서는 $SUPPORT 키워드를 사용하여 중첩된 테이블 열을 직접 검색합니다.
SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3, $SUPPORT)
결과에는 지원 값을 기준으로 정렬된 상위 3개의 예측이 포함됩니다. $SUPPORT $PROBABILITY 또는 $ADJUSTED_PROBABILITY로 바꾸어 확률 또는 조정된 확률로 순위가 지정된 예측을 반환할 수 있습니다. 자세한 내용은 Predict(DMX)를 참조하세요.
참고 항목
함수(DMX)
일반 예측 함수(DMX)
BottomCount(DMX)
TopPercent(DMX)
TopSum(DMX)
피드백
https://aka.ms/ContentUserFeedback을 참조하세요.
출시 예정: 2024년 내내 콘텐츠 피드백 메커니즘인 GitHub 문제를 단계적으로 폐지하고 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은다음에 대한 사용자 의견 제출 및 보기