다음을 통해 공유


ALLSELECTED 함수(DAX)

현재 쿼리의 열과 행에서 컨텍스트 필터를 제거하고 다른 모든 컨텍스트 필터 또는 명시적 필터는 보존합니다.

ALLSELECTED 함수는 쿼리의 모든 행 및 열을 나타내는 컨텍스트를 가져오고 행 및 열 필터 이외의 명시적 필터 및 컨텍스트는 그대로 둡니다. 이 함수는 쿼리에서 보이는 값 합계를 구하는 데 사용할 수 있습니다.

구문

ALLSELECTED([<tableName> | <columnName>])

매개 변수

  • tableName
    표준 DAX 구문을 사용하는 기존 테이블의 이름입니다. 이 매개 변수는 식일 수 없습니다. 이 매개 변수는 선택 사항입니다.

  • columnName
    표준 DAX 구문을 사용하는 일반적으로 정규화된 기존 열 이름입니다. 이 매개 변수는 식이 될 수 없습니다. 이 매개 변수는 선택 사항입니다.

반환 값

열 및 행 필터를 사용하지 않는 쿼리 컨텍스트입니다.

주의

  • 이 함수에는 인수가 한 개 사용되거나 전혀 사용되지 않습니다. 인수가 한 개 있는 경우 인수는 tableName 또는 columnName입니다.

  • 이 함수는 쿼리 내에서 명시적으로 설정된 모든 필터를 포함하고 행 및 열 필터 이외의 모든 컨텍스트 필터를 포함하므로 ALL()과 다릅니다.

다음 예에서는 DAX 식을 사용하여 테이블 보고서에서 보이는 값 합계의 다양한 수준을 생성하는 방법을 보여 줍니다. 보고서 2에서는 이전 필터가 Reseller Sales 데이터에 적용되었습니다(하나는 Sales Territory Group = Europe, 다른 하나는 Promotion Type = Volume Discount). 필터를 적용하면 전체 보고서, 모든 연도 또는 모든 제품 범주에 대해 보이는 값 합계를 계산할 수 있습니다. 또한 이해를 돕기 위해 보고서의 모든 필터를 제거하고 대리점 판매 총합계도 구했습니다. 다음 DAX 식을 평가하면 보이는 값 합계가 포함된 테이블을 작성하는 데 필요한 모든 정보가 들어 있는 테이블이 생성됩니다.

define
measure 'Reseller Sales'[Reseller Sales Amount]=sum('Reseller Sales'[Sales Amount])
measure 'Reseller Sales'[Reseller Grand Total]=calculate(sum('Reseller Sales'[Sales Amount]), ALL('Reseller Sales'))
measure 'Reseller Sales'[Reseller Visual Total]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED())
measure 'Reseller Sales'[Reseller Visual Total for All of Calendar Year]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED('Date'[Calendar Year]))
measure 'Reseller Sales'[Reseller Visual Total for All of Product Category Name]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED('Product Category'[Product Category Name]))
evaluate
CalculateTable(
    //CT table expression
    summarize( 
//summarize table expression
crossjoin(distinct('Product Category'[Product Category Name]), distinct('Date'[Calendar Year]))
//First Group by expression
, 'Product Category'[Product Category Name]
//Second Group by expression
, 'Date'[Calendar Year]
//Summary expressions
, "Reseller Sales Amount", [Reseller Sales Amount]
, "Reseller Grand Total", [Reseller Grand Total]
, "Reseller Visual Total", [Reseller Visual Total]
, "Reseller Visual Total for All of Calendar Year", [Reseller Visual Total for All of Calendar Year]
, "Reseller Visual Total for All of Product Category Name", [Reseller Visual Total for All of Product Category Name]
)
//CT filters
, 'Sales Territory'[Sales Territory Group]="Europe", 'Promotion'[Promotion Type]="Volume Discount"
)
order by [Product Category Name], [Calendar Year]

SQL Server Management Studio에서 AdventureWorks DW Tabular Model 2012에 대해 위 식을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

[Product Category Name]

[Calendar Year]

[Reseller Sales Amount]

[Reseller Grand Total]

[Reseller Visual Total]

[Reseller Visual Total for All of Calendar Year]

[Reseller Visual Total for All of Product Category Name]

Accessories

2000

80450596.9823

877006.7987

38786.018

Accessories

2001

80450596.9823

877006.7987

38786.018

Accessories

2002

625.7933

80450596.9823

877006.7987

38786.018

91495.3104

Accessories

2003

26037.3132

80450596.9823

877006.7987

38786.018

572927.0136

Accessories

2004

12122.9115

80450596.9823

877006.7987

38786.018

212584.4747

Accessories

2005

80450596.9823

877006.7987

38786.018

Accessories

2006

80450596.9823

877006.7987

38786.018

Bikes

2000

80450596.9823

877006.7987

689287.7939

Bikes

2001

80450596.9823

877006.7987

689287.7939

Bikes

2002

73778.938

80450596.9823

877006.7987

689287.7939

91495.3104

Bikes

2003

439771.4136

80450596.9823

877006.7987

689287.7939

572927.0136

Bikes

2004

175737.4423

80450596.9823

877006.7987

689287.7939

212584.4747

Bikes

2005

80450596.9823

877006.7987

689287.7939

Bikes

2006

80450596.9823

877006.7987

689287.7939

Clothing

2000

80450596.9823

877006.7987

95090.7757

Clothing

2001

80450596.9823

877006.7987

95090.7757

Clothing

2002

12132.4334

80450596.9823

877006.7987

95090.7757

91495.3104

Clothing

2003

58234.2214

80450596.9823

877006.7987

95090.7757

572927.0136

Clothing

2004

24724.1209

80450596.9823

877006.7987

95090.7757

212584.4747

Clothing

2005

80450596.9823

877006.7987

95090.7757

Clothing

2006

80450596.9823

877006.7987

95090.7757

Components

2000

80450596.9823

877006.7987

53842.2111

Components

2001

80450596.9823

877006.7987

53842.2111

Components

2002

4958.1457

80450596.9823

877006.7987

53842.2111

91495.3104

Components

2003

48884.0654

80450596.9823

877006.7987

53842.2111

572927.0136

Components

2004

80450596.9823

877006.7987

53842.2111

212584.4747

Components

2005

80450596.9823

877006.7987

53842.2111

Components

2006

80450596.9823

877006.7987

53842.2111

보고서의 열은 다음과 같습니다.

  • Reseller Sales Amount
    연도 및 제품 범주에 대한 대리점 판매의 실제 값입니다. 이 값은 보고서 중앙 부분에서 연도와 범주가 교차하는 셀에 나타납니다.

  • Reseller Visual Total for All of Calendar Year
    모든 연도의 제품 범주에 대한 합계 값입니다. 이 값은 지정된 제품 범주에 대한 열 또는 행의 끝 부분과 보고서의 모든 연도에 나타납니다.

  • Reseller Visual Total for All of Product Category Name
    모든 제품 범주의 연도에 대한 합계 값입니다. 이 값은 지정된 연도에 대한 열 또는 행의 끝 부분과 보고서의 모든 제품 범주에 나타납니다.

  • Reseller Visual Total
    모든 연도 및 제품 범주에 대한 합계 값입니다. 이 값은 일반적으로 테이블의 맨 오른쪽 아래 모퉁이에 나타납니다.

  • Reseller Grand Total
    이 값은 필터를 적용하기 전의 모든 대리점 판매 총합계로, [Reseller Visual Total]과는 다릅니다. 이 보고서에는 Product Category 그룹 및 Promotion Type에 대한 2개의 필터가 있습니다.

다음 예에서는 인수 없이 ALLSELECTED()를 사용하여 수평 및 수직 슬라이서로 필터링된 테이블에 표시된 합계 값의 비율을 계산하는 방법을 보여 줍니다. 이 예에는 SQL Server 2012, PowerPivot for Excel 및 PowerPivot Sample Data (DAX_AdventureWorks)가 사용됩니다.

  • PowerPivot 필드 목록에서 ResellerSales[SalesAmount_USD] 열을 Values 영역으로 끕니다.

  • Promotion[PromotionType]을 수직 슬라이서 영역으로 끕니다. Discontinued Product, Excess Inventory 및 Seasonal Discount에 대한 슬라이서를 선택합니다.

  • SalesTerritory[SalesTerritoryGroup]을 수평 슬라이서 영역으로 끕니다. Europe에 대한 슬라이서를 선택합니다.

  • Sum Of SalesAmount_USD의 값은 $19,614.37입니다.

  • ProductCategory[ProductCategoryName]을 행 레이블 영역으로 끌고 DateTime[CalendarYear]를 열 레이블 영역으로 끕니다.

    테이블이 다음과 같이 표시됩니다.

     

    SalesTerritoryGroup

     

     

     

     

     

     

    Europe

    North America

     

     

     

     

     

    Pacific

    NA

     

     

     

     

     

     

     

     

     

     

     

    PromotionType

     

     

     

     

     

     

    Discontinued Product

     

    SalesAmount_USD의 합계

    열 레이블

     

     

     

    Excess Inventory

     

    행 레이블

    2006

    2007

    2008

    총합계

    New Product

     

    Accessories

    $1,111.22

    $3,414.43

     

    $4,525.66

    No Discount

     

    Bikes

    $8,834.94

    $6,253.78

    $15,088.72

    Seasonal Discount

     

    총합계

    $9,946.16

    $3,414.43

    $6,253.78

    $19,614.37

    Volume Discount

     

     

     

     

     

     

  • 간단한 계산기를 사용하여 $3,414.43(2007년 Accessories 수치) 금액이 $19,614.37의 17.41%가 맞는지 확인합니다.

  • 간단한 계산기를 사용하여 $6,253.78(2008년 Bikes 수치) 금액이 $19,614.37의 31.88%가 맞는지 확인합니다.

  • 간단한 계산기를 사용하여 $15,088.72(Bikes Grand Total 수치) 금액이 $19,614.37의 76.93%가 맞는지 확인합니다.

  • Values 영역에서 ResellerSales[SalesAmount_USD]를 제거합니다.

  • ResellerSales 테이블에서 다음 수식을 사용하여 Reseller Sales Ratio라는 측정값을 만듭니다(결과를 백분율로 서식 지정).

=SUM(ResellerSales_USD[SalesAmount_USD])/ CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLSELECTED())

테이블이 다음과 같이 표시됩니다.

SalesTerritoryGroup

Europe

North America

Pacific

NA

PromotionType

Discontinued Product

Reseller Sales Ratio

열 레이블

Excess Inventory

행 레이블

2006

2007

2008

총합계

New Product

Accessories

5.67 %

17.41 %

23.07 %

No Discount

Bikes

45.04 %

31.88 %

76.93 %

Seasonal Discount

총합계

50.71 %

17.41 %

31.88 %

100.00 %

Volume Discount

  • 휴대용 계산기로 계산한 결과와 Reseller Sales Ratio로 표시된 결과를 비교하고 일치하는지 확인합니다. 분모 값은 테이블 맨 아래에 있는 값으로 고정됩니다.

  • 분모에서 CALCULATE 수식에는 ALLSELECTED 함수가 사용되므로 분모는 수직, 수평 및 페이지 슬라이서를 적용한 이후이지만 행 및 열 슬라이서는 적용되기 전의 테이블 맨 아래의 총 판매액을 나타냅니다.

    참고: 식에 명시적 필터가 있는 경우 해당 필터는 또한 식에 적용됩니다.