2017-04-11 3 views
0

DAX를 처음 접했고 필터링 대책에 관해 질문이 있습니다. 첨부 파일에서 볼 수 있듯이, 나는 단지 년 2018 내가 지표 (Counter)로 필터링을 링크 할필터 특정 연도의 대책

 Volume LY Volume CY 
2016 65.024.635 
2017 65.024.635 63.602.450 
2018 63.602.450 21.597.407 

모두 조치 volume CY (현재 연도)와 volume LY를 필터링 할. 이 카운터의 범위는 [0-3]입니다. 매년 올해 학기가 있습니다 (예 : 올해의 학기는 0과 1, 2017-2 및 3, 2016-4 및 5입니다).이 경우 카운터에 1을 선택하고 2018 년에 semester <= 1을 필터링해야합니다 :

 Volume LY Volume CY 
2018 63.602.450 21.597.407 

하지만 함께 측정 volume CY를 필터링하는 경우 :

FILTER(ALLSELECTED(Table);Table[Semester]<=MAX('Table2'[Counter])); 

자동 semester <= 1 필터링됩니다 Volume LY을 측정하고 LY에 대한 표시 값을 맡고있어서. 내 질문은 : 어떻게 필터 함수를 사용하여 올해의 두 측정 값을 가져올 수 있습니까?

측정 볼륨 현재 년도 :

Volume_CY:=CALCULATE(
[Volume]; 
'Scenario'[Scenario1]=1; 
FILTER(Table;Table[Semester]<=MAX('Table2'[Counter]))) 

측정 볼륨 LY : 여기

Volume LY:= CALCULATE(
    [Volume_CY]; 
    FILTER(ALLSELECTED(Table);Table[Semester]<=MAX('Table2'[Counter])); 
    FILTER(ALL(Table[Year])) 

카운터 1 시나리오 1이이 개 조치의 결과이다 : 당신이 그것을 나던 볼 수 있듯이 LY Value는 63.602.450이어야합니다.

Scenario 1 
Counter 1 

     Volume LY Volume CY 
2018    21.597.407 
Total    21.597.407 

지금 나는이 같은 결과가 :

 Volume CY Volume LY 
20151 77.222.12 77.222.12 
20152 88.868.719 88.868.719 
20161 87.987.22 87.987.22 
20162 92.906.793 92.906.793 
20171 101.102.12 101.102.12 
20172 105.029.725 105.029.725 

을 그리고 이것은 기대 것을 미안하다 :

 Volume CY Volume LY 
20151 77.222.12 
20152 88.868.719 49.123.12 
20161 87.987.22 77.222.12 
20162 92.906.793 88.868.719 
20171 101.102.12 87.987.22 
20172 105.029.725 92.906.793 
+0

테이블 관계 스키마를 공유 할 수 있습니까? – user5226582

+0

안녕하세요 테이블과 Table2 사이의 관계가 없습니다 –

+0

복제 할 수있는 작은 예제는 어떻습니까? – user5226582

답변

0

편집 :

을 감안할 때 다음과 같은 소스 데이터를 :

year, Volume CY 
20151, 77222.12 
20152, 88868.719 
20161, 87987.22 
20162, 92906.793 
20171, 101102.12 
20172, 105029.725 

예상 결과는 다음 계산 된 열을 달성 할 수있다 "year"열 필터를 존중

year, Volume CY, Volume LY 
20151, 77222.12, 
20152, 88868.719, 
20161, 87987.22, 77222.12 
20162, 92906.793, 88868.719 
20171, 101102.12, 87987.22 
20172, 105029.725, 92906.793 

: 결과

Volume LY = CALCULATE(SUM(Table[Volume CY]), 
    ALL(Table1), 
    Table[year] = EARLIER(Table[year])-10) 

.


(아래 올드 대답)

롤링 합계 :

year semester volume 
2016 1   123 
2017 3   1345 
2018 5   3465 
2016 2   3465 
2017 4   3465 
2018 6   634 

계산 열 :에

VCY = CALCULATE(SUM(Table1[volume]), 
    ALL(Table1), 
    Table1[semester] <= EARLIER(Table1[semester])) 

VLY = CALCULATE(SUM(Table1[volume]), 
    ALL(Table1), 
    Table1[semester] <= EARLIER(Table1[semester]) - 2) 

결과 :

year, semester, volume, VCY, VLY 
2016, 1,  123, 123, 
2016, 2,  3465, 3588, 
2017, 3,  1345, 4933, 123 
2017, 4,  3465, 8398, 3588 
2018, 5,  3465, 11863, 4933 
2018, 6,  634, 12497, 8398 
연간 기준으로 16,

롤링 합계 :에

VCY = 
VAR RowYear = Table1[year] 
RETURN CALCULATE(SUM(Table1[volume]), 
    ALL(Table1), 
    table1[year] = RowYear, 
    Table1[semester] <= EARLIER(Table1[semester])) 

VLY = 
VAR RowYear = Table1[year]-1 
RETURN 
CALCULATE(SUM(Table1[volume]), 
    ALL(Table1), 
    table1[year] = RowYear, 
    Table1[semester] <= EARLIER(Table1[semester])-2) 

결과 :

year, semester, volume, VCY, VLY 
2016, 1,  123, 123, 
2016, 2,  3465, 3588, 
2017, 3,  1345, 1345, 123 
2017, 4,  3465, 4810, 3588 
2018, 5,  3465, 3465, 1345 
2018, 6,  634, 4099, 4810 
+0

안녕하세요, 위의 질문을 수정했습니다. 한번 봐주세요. 이제 저는 학기별로 LY 값을 갖고 싶습니다. –

+0

데이터와 예상 결과를 표시해야합니다 (실제 데이터 일 필요는 없습니다). – user5226582

+0

안녕하세요. 위의 질문에 대한 데이터입니다. 그것은 당신 것과 비슷합니다. 올해 대신에 나는 2016 년 하반기에 예를 들어 20162를 가지고 있습니다. 나는 -1 년으로 돌아갈 수 없습니다. LY 볼륨은 반년을 나타냅니다. 내가 어떻게 해? –

0

다음은 결과입니다

 Volume CY Volume LY 
20151 77.222.12 77.222.12 
20152 88.868.719 88.868.719 
20161 87.987.22 87.987.22 
20162 92.906.793 92.906.793 
20171 101.102.12 101.102.12 
20172 105.029.725 105.029.725 

그리고 이것은 미안 기대 것입니다 :

 Volume CY Volume LY 
20151 77.222.12 
20152 88.868.719 49.123.12 
20161 87.987.22 77.222.12 
20162 92.906.793 88.868.719 
20171 101.102.12 87.987.22 
20172 105.029.725 92.906.793 

그리고 특정 연도/반년 동안 필터하면 20162는 다음과 같은 표시해야합니다 :

  Volume CY Volume LY 
    20162 92.906.793 88.868.719 

이 미안 함께 얻는 것입니다 : 'FILTER (ALL (표) 표 (년) = MAX (표 (년) -10)) ->볼륨 CY에 대한 총계가 누락되었습니다.

    Volume CY Volume LY 
       20152 88.868.719 49.123.12 
       20162 92.906.793 88.868.719 
       20172 105.029.725 92.906.793 
Grand Total      186.687.824 
+0

귀하의 예는 20152, 그 다음 20162; 20161은 없습니까? – user5226582

+0

다음을보십시오 : [최소, 완전하며 검증 가능한 예제를 만드는 방법] (https://stackoverflow.com/help/mcve) – user5226582

+0

예 상반기 데이터도 있습니다. 이것은 후반으로 필터링되었습니다. –