2013-12-11 3 views
0

저는 Excel 2007에 있으며 두 개의 테스트 리그에서 합격/불합격 데이터를 피벗 테이블로 가져 오는 데 SQL 쿼리를 사용했습니다. 아래는 현재/이상적인 출력물입니다. 날짜 형식을 변명하십시오!피벗 테이블의 총 백분율

값 필드 설정> 열의 %로 값 표시를 시도했지만 리그 사이의 합격 비율을 나누기 때문에 값이 올바르게 작동하지 않습니다. 상위 열 변경에 대한 참조를 찾았지만 Excel 2010 이상인 것으로 보입니다. 누구든지 올바른 방향으로 나를 가리킬 수 있을까요? 이 결과 인 경우

전류 출력

Pass Rate Date      
Outcome  2013-12-05 2013-12-08 2013-12-09 2013-12-10 2013-12-11 
F    67   17   50   62   51 
RigOne   33   11   31   25   27 
RigTwo   34   6   19   37   24 
P    80   29   54   79   46 
RigOne   50   21   32   42   21 
RigTwo   30   8   22   37   25 
Grand Total  147   46   104   141   97 

이상적인 출력

Pass Rate Date      
      2013-12-05 2013-12-08 2013-12-09 2013-12-10 2013-12-11 
RigOne   %%   %%   %%   %%   %% 
RigTwo   %%   %%   %%   %%   %% 
Average   %%   %%   %%   %%   %% 

답변

0

실제로 pnuts 입력을 제공하기 위해 SQL 쿼리를 변경하여이 작업을 수행했습니다. 코드를 변경하고 나면 코드가 간단 해졌습니다. 각 리그의 계산 필드를 작성하여 패스 수를 테스트 수와 평균으로 나누고 백분율로 형식을 지정했습니다. 나는 그것이 내 SQL을 포함 시켰습니다 누구에게 사용의 경우. 아마 매우 서투른,하지만 그것은 정답을 제공합니다!

SELECT CONVERT (Date, [Stamp]) AS Date 
    ,SUM(case when Pass='P' and TestRig = 'Rig 1' THEN 1 ELSE 0 END) AS R1Passes 
    ,SUM(case when Pass='P' and TestRig = 'Rig 2' THEN 1 ELSE 0 END) AS R2Passes 
    ,SUM(case when Pass IN ('P', 'F') and TestRig = 'Rig 1' THEN 1 ELSE 0 END) AS R1Tests 
    ,SUM(case when Pass IN ('P', 'F') and TestRig = 'Rig 2' THEN 1 ELSE 0 END) AS R2Tests 
FROM [dbase].[dbo].[tbl_Results] 
where Stamp > '2013-12-01' 
    and TestName = 'Finished' 
GROUP BY CONVERT (Date, [Stamp]) 
0

당신이 좋아하는 것 :

SO20518715 example

다음, 소스 데이터를 가정하고 네 개의 기둥에 : 리그, 날짜, 결과 및 값 :

  1. 열 레이블에 대해 Rig, 날짜 및 결과 (위에서 아래로), Σ 값에 대한 값의 합을 사용하여 PT를 만듭니다.
  2. 빠른 메뉴에서 피벗 테이블 옵션 ..., 합계 & 필터는 행의 총계 표시를 선택 취소합니다.
  3. Fail을 선택하고 피벗 테이블 도구> 옵션> 도구 - 수식, 계산 된 항목 ...에서 이름의 평균을 추가하고 수식의 경우 : =Pass/(Pass +Fail)을 입력합니다.
  4. 평균을 선택하고 A부터 Z까지를 정렬하십시오.
  5. 총계 아래의 행은 각 날짜 평균에서 가중 평균 합격률을 계산합니다.
  6. 채우기 색상과 일치하도록 총계 행의 글꼴 색을 설정하십시오.
  7. 통과/실패 열과 행 레이블 행을 숨 깁니다.
  8. 셀을 통과율 및 날짜로 변경하십시오.
  9. 서식에 적합합니다.
+0

안녕하세요! 유감 스럽지만 불행히도 간단하지 않습니다. 열은 조작 (Rig), 날짜 (Date), 결과 (Outcome)입니다. 결과는 P 또는 F 중 하나입니다. 불행히도 이것은 테스트 장비 코딩의 일부이므로 내 컨트롤 내에서는 아닙니다. 계산 된 필드에 COUNT (Pass)를 사용하여 총계를 제공하고 COUNTIF (Pass = "P")를 사용하여 통과 횟수를 계산 한 다음 계산 된 다른 필드를 사용하여 비율을 알려줍니다. ..하지만 COUNT (Pass)는 항상 1이라는 결과를 주며 COUNTIF는 계산 된 필드에서 유효하지 않은 것 같습니다. – Tom

+0

'누락'필드는 내가 현재의 출력 예제에서 나온 값인 것 같습니다. – pnuts