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 함수가 사용되므로 분모는 수직, 수평 및 페이지 슬라이서를 적용한 이후이지만 행 및 열 슬라이서는 적용되기 전의 테이블 맨 아래의 총 판매액을 나타냅니다.
참고: 식에 명시적 필터가 있는 경우 해당 필터는 또한 식에 적용됩니다.