2016-10-19 4 views
0

내가 데이터 구조 다음 모든 필터 옵션에 대한 지난 주 판매를 계산전원 BI DAX

Date   | Category  | Sales Amount 
---------------------------------------------------- 
01-Sep-2016 | Food   | 100 
02-Sep-2016 | Food   | 120 
03-Sep-2016 | Food   | 130 
01-Sep-2016 | Electricity | 180 
02-Sep-2016 | Electricity | 60 
01-Sep-2016 | Perfumes  | 80 
02-Sep-2016 | Perfumes  | 40 

나는, 나는뿐만 아니라 지역과 같은 다른 열을 추가 할 수 있습니다 각 카테고리에 대한 두 주 매출을 계산하려면 미래. 카테고리를 선택하면 날짜 만 선택하고 작동하지 않으면 제대로 작동하는 다음 공식을 사용했습니다.

SalesTwoWeeksAgo = 
CALCULATE (
    SUM ('Table'[SalesAmount]), 
    FILTER (
     ALL ('Table'), 
     COUNTROWS (
      FILTER (
       'Table', 
       EARLIER ('Table'[Date]) = DATEADD ('Table'[Date], -14, DAY) 
      ) 
     ) 
    ) 
) 

위의 공식은 알레한드로 zuleta에 의해 공헌되었다 및 링크가

Power BI getting 2 week back same day value

+0

category_를 선택하면 _ 님의 뜻은 작동하지 않습니까? –

+0

당신은 당신의 응답에서 정확하게 이해했습니다. 덕분에 그것은 매력처럼 작동했습니다. – Janjua

답변

0

나는 당신의 질문을 이해하면 문제는 판매를 얻을 필요가 그래서 당신이 Category 열이 있다는 것입니다 두 표현식에서 평가 된 현재 범주 값의 시간으로 되돌아갑니다. FILTER 함수에 추가 조건을 추가하여 현재 Category을 가져와 현재 Date을 14 일 뺀 후 Sales Amount 값을 SUM 함수에 반환하면됩니다. 당신이 당신의 테이블에 Territory 열을 추가하는 경우

SalesTwoWeeksAgo = 
CALCULATE (
    SUM ('Table'[Sales Amount]), 
    FILTER (
     ALL ('Table'), 
     COUNTROWS (
      FILTER (
       'Table', 
       EARLIER ('Table'[Date]) = DATEADD ('Table'[Date], -14, DAY) 
        && 'Table'[Category] = EARLIER ('Table'[Category]) 
      ) 
     ) 
    ) 
) 

은 또한 당신은 Date, CategoryTerritory 그래서 그냥 FILTER 기능에서 세 번째 조건을 추가 할 필요가 당 전에 Sales Amount 2 주 얻을 필요가 있습니다.

SalesTwoWeeksAgo = 
CALCULATE (
    SUM ('Table'[Sales Amount]), 
    FILTER (
     ALL ('Table'), 
     COUNTROWS (
      FILTER (
       'Table', 
       EARLIER ('Table'[Date]) = DATEADD ('Table'[Date], -14, DAY) 
        && 'Table'[Category] = EARLIER ('Table'[Category]) 
        && 'Table'[Territory] = EARLIER ('Table'[Territory]) 
      ) 
     ) 
    ) 
) 

여기 제공된 솔루션은 아직 테스트되지 않았지만 잘하면 그것이 필요한 것입니다.

도움이 될지 알려주세요.