2017-04-18 7 views
0

"DepositLclCcy"가 비어 있지 않은 최대 이전 값으로 공백 값을 바꾸고 싶습니다.이 경우 SEK의 경우 5입니다. 이 공식은 어떻게 작성합니까?DAX POWERPIVOT - 공백 값을 이전 값으로 바꿉니다.

현재 결과

PositionDate Currency  DepositLclCcy 
2017-04-11  SEK    1 
2017-04-11  DKK    3 
2017-04-11  EUR    7 
2017-04-10  SEK    (blank) 
2017-04-10  DKK    3 
2017-04-10  EUR    5 
2017-04-07  SEK    5 
2017-04-07  DKK    3 
2017-04-07  EUR    5 

원하는 결과

PositionDate Currency  DepositLclCcy 
2017-04-11  SEK    1 
2017-04-11  DKK    3 
2017-04-11  EUR    7 
2017-04-10  SEK    5 
2017-04-10  DKK    3 
2017-04-10  EUR    5 
2017-04-07  SEK    5 
2017-04-07  DKK    3 
2017-04-07  EUR    5 

답변

1

당신은 계산 된 열 만들려면 다음 DAX를 사용할 수 있습니다

ReplacedDepositLclCcy = 
IF(
    ISBLANK('Table'[DepositLclCcy]), 
    CALCULATE(
     FIRSTNONBLANK('Table'[DepositLclCcy], 0), 
     FILTER(
      'Table', 
      'Table'[PositionDate] < EARLIER('Table'[PositionDate]) && 
      'Table'[Currency] = EARLIER('Table'[Currency]) && 
      'Table'[PositionDate] = LASTDATE('Table'[PositionDate]) && 
      NOT(ISBLANK('Table'[DepositLclCcy])) 
     ) 
    ), 
    'Table'[DepositLclCcy] 
) 

그래서 그것은 기본적으로 최대로 행을 필터 동일한 Currency 및 비 공백 012를 갖는 을 입력하고 DepositLclCcy을 반환하십시오. 연속적인 공백 값이있는 경우에도 작동합니다.

DepositLclCcy의 데이터 유형에 따라 ISBLANK('Table'[DepositLclCcy])'Table'[DepositLclCcy] = ""으로 변경해야 할 수 있습니다.

결과 :이 공식 그러나 처음이 아닌 빈 값을 집어

results

+0

1 년 다시 말한다. 최신 비 공백 값을 원합니다. – Haggan

+0

@Haggan 세부 정보를 더 많이 공유 할 수 있습니까? 위의 예제에서 볼 수 있듯이 비어 있지 않은 최신 값을 반환했습니다. –