2013-04-30 3 views
4

다음과 같은 상황이 있습니다. 목록 A에 두 개의 열 (이름, 양)이 있고 목록 B (이름)에 합계가되는 계산 된 열을 추가하고 싶습니다.다른 목록의 데이터로 계산 된 열을 만드는 방법

목록 A : : 목록 B. 예에서와 동일한 이름을 가진 목록 A의 항목 목록 BI에 따라서

NAME  Amount 
L0011  100 
L0011  50 
L0020  234 

계산 된 열을 표시 할 :

NAME  Amount 
L0011  150 
L0020  234 

어떻게 이 일을 끝내라? 워크 플로 (목록 A에 항목을 추가/수정하거나 목록 B를 업데이트하자마자) 또는 다른 항목이 있습니까? 감사합니다

답변

5

계산 된 열은 같은 목록의 열에 대해서만 사용할 수 있기 때문에 계산 된 열을 사용하여 수행 할 수 없습니다.

Create List ItemUpdate List Item 작업을 사용하면 사용자가 L0011에 값을 추가 할 때마다 이전 양이 이미 포함 된 다른 목록의 열에 금액이 추가됩니다.

SharePoint 접근 방식에 대한 자세한 대답이 필요한 경우 알려 주시면 수행 방법에 대한 단계별 지침을 제공하겠습니다.

+0

큰 들으. 나는 WF를 사용하여 그것을 시도 할 것이다. – DanielR

7

lem.mallari의 대답은 항목 A가 이미 합계에 추가되었는지 여부를 추적하지 않기 때문에 목록 A의 금액이 변경되지 않는다고 가정 할 수 없을 경우 큰 고통입니다. 워크 플로가 SharePoint 목록을 반복 할 방법이 없기 때문에 여러 목록 항목의 합이나 평균을 쉽게 계산할 수 없습니다.

이 방법을 올바르게 구현하려면 개발이 필요합니다. SharePoint 개발자 교육 (2010, 2013)은 실제로 실제로 사용자를 최대한 이끌어 줄 것입니다. 이벤트 수신기는 목록 A와 B에서 항목을 추가하거나 변경하면 SharePoint API를 사용하여 목록 A를 통과하고 이름, 목록 B의 모든 항목을 업데이트하십시오. 또는 목록 B의 항목과 동일한 이름을 가진 목록 A의 모든 항목의 합계를 JavaScript로 표시하여 모든 데이터가 목록 B에 표시되는 한 목록 B에있는 항목을 표시 할 수 있습니다 페이지. XPath 및 InfoPath를 사용하면 List A를 보조 데이터 원본으로 List B의 양식에 추가하고 합계를 위해 List A의 해당 항목 만 선택할 수 있습니다.

하지만 우리가 워크 플로를 말하는 경우 여기에 "워크 플로우 만"방법이 있습니다. (

  • TOTALITEMS (정수, 필수, 기본 0)
  • 합계 (고유 한 값을 적용, 문자열, 필수)

    • 제목 : 이것은 다음 열 사용자 지정 목록 C 만들기 2010 년 테스트 성공했다 수, 당신이 원하는 그러나 소수 자릿수, 필수, 기본 0)
    • 평균 (계산 = IF (TOTALITEMS = 0,0, 합계/TOTALITEMS))

    이 목록에 이름 바꾸기 컬럼 (옵션) 조회 열이 가리키는 B 목록 C에서 합계 열을 추가 열로 포함하는 대신 목록 B의 양 열을 삭제합니다. 목록 A에 다음 열을 추가하고 사용자가 직접 변경할 수 없도록하십시오. InfoPath 양식을 만들거나 다른보기 및 편집 양식을 만들어 제한 할 수 있습니다.

    • AmountArchive (양에 동일 번호, 기본적 0)
    • AmountHasBeenSubmitted (예/아니오, 기본값 없음)

    항목을 만들거나 목록에서 수정 될 때마다 실행하는 워크 플로 만들기 A. 사용이 명령 (I 읽기 쉽도록 목록을 사용하고, 코드로 포맷 할 때 추한 얻고 있었다) : 양하지 현재 항목과 같다 : 현재 항목

    • 경우 AmountArchive
      • 변수 설정 : 항목 수 (데이터 소스 : 목록 C; 출처의 필드 : TotalItems; 목록 항목 찾기 : 필드 제목; 값 : 현재 항목 : 이름 (반환 필드를 다음과 같이 조회 값 : 텍스트))
      • 계산식 변수 : ItemCount 더하기 1 (변수에 대한 출력 : ItemCount)
      • 계산식 목록 C : 합계 ! 조회 값 (텍스트)가 아닌 문자열을 사용하십시오) 마이너스 현재 항목 : 변수에 AmountArchive (출력 : SumWithoutValue)
      • 계산 변수 : SumWithoutValue 플러스 현재 항목 : 금액 (출력 변수로 : NewSum)
      • 전류가 항목 : AmountHasBeen 제출 한 동등 물 아니오
        • 집합 금액을 설정합니다. 예 :
        • 목록 C의 항목 업데이트 (TotalItems를 변수로 설정 : ItemCount; 합계를 변수로 설정 : NewSum; 필드와 동일한 방식으로 목록 항목 찾기 : 제목; 값 : 현재 항목 : 이름 (반환 필드로 : 조회 값() 텍스트) 그렇지
      • 목록 C (TOTALITEMS에 아무것도하지 않는에서
        • 업데이트 항목, 합계를 설정 같은 논리를 사용 현재 항목에 NewSum)
      • 설정 금액 : : AmountArchive
  • 관련 문제