[Excel 2010의 경우 MS PowerPivot 용] DAX 식을 적용하여 적용된 범위의 값 합계를 균등하게 분산하려고합니다. - 주어진 시간대/기간에 해당하는 것입니다. 모든 시도에서 동일한 잘못된 결과가 발생하지만 SQL 서버에서 교차 적용하는 것은 간단합니다.DAX/PowerPivot 쿼리를 통해 누적 값을 균등하게 분산시킬 수 있습니다.
Excel로 저장되고 PowerQuery를 사용하여 가져온/변환 된 MS Project의 출력이 있으므로 시작 날짜와 종료 날짜/종료 날짜는 적절한 날짜이며 {X} h와 {Y} d는 정수이고 이들 사이의 달력 날 기간은 모델에 대해 이미 계산/포맷되어 있습니다. 또한 첫 번째 날짜부터 마지막 날짜까지 연속적인 날짜가있는 dates 테이블과 요약하려는 4 자리 연도의 문자열 표현이있는 연도 테이블을 만들었습니다.
모델은 같은 같습니다
내가 (모든 직접 MS 프로젝트 출력에서 가져온)를 ResourceQuery, TaskQuery 및 AssignmentQuery 테이블에 계산 된 열을 생성하고, ServiceAreaQuery에있다 (고유 값 TaskQuery에서 ... 본질적으로 하위 프로젝트). 또한 각각에는 할당 된 시간 열의 합계 인 간단한 측정 값이 있습니다.
데이터 자체는 Project 2010 파일에서 기대하는 것처럼 보이며 {start_date}, {finish_date} 시간이 있습니다. 작업 날짜는 1 일에서 5 년까지 다양 할 수 있으며, 여기에는 내 문제가 있습니다.
내가 쓰는 시간 간격과 일치하도록 장시간 실행되는 작업에 대해 미리 합계 된 값을 분할/청크하는 방법은 무엇입니까?
내가 날짜 테이블에서 연도 열을 사용하더라도, 시간 인텔리전스 내가 (SUM (FILTER (COUNTROWS (DATESBETWEEN))))을 입력 CALCULATE에 대한 아이디어의 부족 해요 그것을 & 잡을하지 않습니다 사물의.
아무런 쓸모가없는 것으로 파악하려고 시도한 두 가지 중간 단계가 있습니다. 나는 그들이 의 최종 목표, 서비스 지역별, 자원 별, 연도 별에 도달하기 위해 동일한 효과적인 기능으로 해결된다고 생각합니다.
피벗 테이블
의 최종 목표를 보여주기 위해 올해에 의해, 연도 별, 서비스 영역에 의해
- 시간을 표시합니다
- 시간, servi에 의해 ce 영역, 리소스 별, 연도 별
아래 출력에서 문제를 확인할 수 있습니다. 할당 된 총 시간 및 AssignmentQuery에서 리소스 이름을 사용하는 경우, 내가 올바른 금액을 얻을 수 있지만, 어떤 날짜 값을 사용할 때 ... 난 단지 시작 날짜에 대한 시간을합니다 (얻을
는주 모델에서 적극적인 관계).내가 필요로하는 것은 그 시간들이 그들이 적용될 수있는 기간에 걸쳐 균등하게 퍼져 나가야한다는 것입니다 (따라서 어떤 것이 1/1/16과 1/1/19 사이에 1,000 시간을 가지면 333 시간/년을 보여줄 것으로 기대합니다) .
- (예 : 월/년으로 필터링 된 기간에 일을 선택하는 사람
- 의 시간을 선택
내 초기 생각은 선택기/필터/기능을 계산하면 다음을 수행 할 필요가 있다는 것입니다 하루에 시간을 계산
- 중 필터에서 또는 열 머리글로/무엇이든)/분기
- 오에서 시간의 합을 선택 필터링 된 기간
- 의 일 받기 verlap
모든 아이디어를 매우 높이 평가합니다! PowerQuery 단계로 몇 가지 추가 ETL/데이터 작성을 할 수는 있지만 실제로이 작업에 올바른 DAX 식을 계산할 수 있으므로 프로젝트의 시간 슬라이서/필터로 사용할 수 있습니다.
미리 감사드립니다.
이 ** 편집[Hours Apportioned Raw] := DIVIDE ( CALCULATE ( [Hours], FILTER ( AssignmentQuery, AssignmentQuery[Start_Date] <= MAX (Dates[Date]) && AssignmentQuery[Finish_Date] >= MAX (Dates[Date]) ) ) , (COUNTROWS ( DATESBETWEEN ( Dates[Date] , FIRSTDATE (AssignmentQuery[Start_Date]) , LASTDATE (AssignmentQuery[Finish_Date]) ) ) ) )
Brilliant - 똑같은 날 (뺄셈에 의해 일수에 0을 반환)이 시작되고 끝날 수 있다는 사실을 설명하기 위해 몇 가지 작은 변경을해야했습니다. && 나누기를 사용하여 나누기를 방지하려면 그 기간에 아무런 일도 없다면 제로가 될 것입니다. 엄청 고마워. 내 질문에 업데이트 된 버전을 넣을 것이다. – iivel
도움이 될 수있어서 기쁩니다. Pls는 답으로 그것을 표시합니다 :-) – Jacob