사용이 식 :
NewColumn =
CALCULATE(
MIN(
Table[datetime]),
FILTER(Table,Table[id]=EARLIER(Table[id])
)
)
전원 BI에서 데이터가있는 테이블을 사용하여이를 생성합니다 :
![enter image description here](https://i.stack.imgur.com/nSG0D.png)
UPDATE : 설명 및 EARLIER
기능 사용 .
기본적으로 EARLIER
함수를 사용하면 다른 행 컨텍스트의 값에 액세스 할 수 있습니다.
CALCULATE
함수를 사용하면 전체 테이블의 행 컨텍스트가 만들어 지므로 이론적으로 모든 테이블 행을 반복합니다. FILTER
함수를 사용하면 전체 테이블을 반복하고 모든 행을 필터 조건과 비교하여 평가할 때도 마찬가지입니다.
지금까지 행 컨텍스트가 CALCULATE
으로 생성되고 행 컨텍스트가 FILTER
인 두 개의 컨텍스트가 있습니다. FILTER
EARLIER
을 사용하면 CALCULATE의 행 컨텍스트에 액세스 할 수 있습니다. 그런데 외부 (CALCULATE의 행 컨텍스트)에있는 모든 행에 대한 우리의 경우에 FILTER
은 외부 컨텍스트의 현재 id
에 해당하는 행 집합을 반환합니다.
프로그래밍 배경 지식이 있다면 이해할 수 있습니다. 중첩 루프와 유사합니다.
희망이 파이썬 코드는 뒤에 주요 아이디어 포인트 :
outer_context = ['row1','row2','row3','row4']
inner_context = ['row1','row2','row3','row4']
for outer_row in outer_context:
for inner_row in inner_context:
if inner_row == outer_row: #this line is what the FILTER and EARLIER do
#Calculate the min datetime using the filtered rows
...
...
업데이트 2 :가 순위 열을 추가.
![enter image description here](https://i.stack.imgur.com/unmMs.png)
이 도움이되는지 알려주세요 :
RankColumn =
RANKX(
CALCULATETABLE(Table,ALLEXCEPT(Table,Table[id]))
,Table[datetime]
,Hoja1[datetime]
,1
)
이 순위 열이있는 테이블입니다 :
은이 표현을 사용할 수 원하는 순위를 얻으려면.
대단히 감사합니다. 정말 도움이됩니다. EARLIER가하는 일을 설명해 주시겠습니까? 왜 이드가 고정 되었습니까? –
@ 업데이트 됨, 내 업데이트를 확인하십시오. 도움이되기를 바랍니다. –
고맙습니다. 이해합니다. 예를 들어 네 번째 행 (id = 3)에 대한 계산을 수행하면 EARLIER는 id = 3 인 열을 반환합니까? –