2012-05-05 3 views
0

우리는 모든 프로젝트에 대한 비용 요약을 단일 테이블에 표시해야한다는 비즈니스 요구 사항이 있습니다.SFDC의 보고서로 총재 한도

이러한 비용을 표로 만들기 위해 모든 클라이언트 작업, 지역, 직무 역할, 임금 비율, 비용 테이블, 산출물, 노력 및 시간 기록을 조회해야합니다 (클라이언트 작업은 동일한 테이블 및 작업 및 지역에 있습니다). 산출물, 노력 및 시간은 월간 합계로 저장됩니다).

내가 모든 것을 반복하기 전에이 모든 것을 쿼리해야하기 때문에 많은 수의 스크립팅 라인이 매우 빠르게 실행됩니다. 계산적으로 O (m * n * o * p)와 비슷하며 일부 프로젝트에는 네 가지 변수가 매우 빠르게 올라갑니다. 이를 수행하는 방법에 대한 나의 견적은 9 천만 라인의 코드에서 6 천억 개의 코드까지 다양합니다.

우리 200 개 일괄로 작업 영역으로이를 해체 할 수 일괄 에이펙스를 사용하지만 잘 Salesforce의 한도 이상의 코드 (중 (600 B/200) = 30 억 라인 계산 프로파일을 감소시킬 것이다.

우리는 이러한 대규모 계산을 위해 informatica를 사용하여 놀았지만 (1) 최종 사용자가 5 분 이상 기다릴 수는 없지만 모든 데이터를 전송하는 경우 모든 레코드의 90 % 프로젝트는 한 번에 업데이트 됨) informatica 또는 웹 API (2)보다 15 분 이상 걸립니다. 이러한 대규모 계산은 여러 곳에서 발생해야합니다 (인도 가능 예측 값 변경, 초기 예측 작성 등).

여기에 우리의 요구 사항을 충족시키는 조정자 한도가 있습니까? (5 분 내에 대용량의 응답이 있습니까? force.com은 여기서 우리가 사용할 수있는 좋은 플랫폼입니까?

내가 유사한 계산을 위해 그 일을했던 방법입니다 :

Loop Overview

+0

지도를 작성하여 천문학적 인 스크립트 행을 실행할 수 있습니다. (저는 정부 제한이 150k라고 생각합니다). 그들은 매우 쉽습니다. 반환 된 모든 항목에서 다른지도 항목을 추가하기 만하면됩니다. 그 레코드를 위해서 열쇠를 뭔가 고유하게 만드십시오 (id 나 월 등). 그런 다음 get 함수를 사용하여 for 루프를 사용하는 대신 "x 월 프로젝트의 x 프로젝트에 대한 결과 레코드를 가져옵니다"라고 말할 수 있습니다. – micahhoover

답변

0

ERD 도움이 될,하지만 당신은 작은 조각에 대신 사용자의 Salesforce의 보고서와 함께이 일을 생각 해 봤나 암호? 작은 조각으로 말하면, 요약 요약란을 사용하여 개체 트리에서 더 많은 합계를 얻을 수 있습니다. 또는 정점 트리거를 사용하여 시간을 입력하면 시간 *이 계산되어 시간 기록에 배치 된 다음 산출물에 롤업됩니다. 기본적으로 데이터를 입력 할 때 계산 된 값은 매번 계산을 실행하지 않아도됩니다.

그러면 총 비용/시간이 이미 저장/계산되므로 내 모든 프로젝트 및 총 비용 또는 총 시간을 보여주는 보고서를 실행할 수 있습니다.

롤업 요약은 마스터 세부 정보에서만 작동합니다. 트리거는 언제든지 작동하지만 삽입, 업데이트, 삭제 및 삭제 취소를 고려해야합니다! 집계 함수는 집계 할 트리거 컨텍스트가 50,000 개 미만인 것으로 가정하고 친구가됩니다. 큰 산출물 인 단일 산출물에 대해 50,000 개가 넘는 시간 항목이있는 경우 b/c를 수행해야합니다. :)

조금 도와주는 희망?

+0

이것은 끔찍한 해결책이지만 SF의 잘못이 아닙니다. 집계 함수와 수식/롤업은 도움이되지 않습니다. 왜냐하면 비즈니스 계산을위한 ERD의 부모 자녀에 대해 너무 많은 위/아래가 있기 때문입니다. 우리는 모든 종류의 SFDC 컨설턴트들과 이야기를 나눴지만 그보다 작은 것을 없앨 방법이 없습니다. – micahhoover