2013-12-11 59 views
0

我在Excel 2007中使用SQL查詢將兩個測試裝置的通過/失敗數據拖入數據透視表。以下是我目前的/理想的輸出,請原諒日期的格式!數據透視表中總數的百分比

我試過Value Field Settings>顯示值爲列的百分比,但這不能正常工作,因爲它也劃分了鑽機之間的合格率。我找到了更改父列的參考,但這似乎是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

我已經設法通過改變我的SQL查詢來提供建議的輸入pnuts。一旦我更改了代碼,它非常簡單 - 我只是爲每個鑽機創建一個計算字段,以便將測試次數除以測試次數以及平均值,然後將其格式化爲百分比。如果它對我以下包括我的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. 使用鑽機爲行標籤,日期和結果(自上而下順序)爲列標籤和Σ值的值總和創建PT。
  2. 在快速菜單中,數據透視表選項...,合計&過濾器取消選中顯示行的總計。
  3. 選擇一個Fail,然後在數據透視表工具>選項>工具 - 公式,計算項目...中添加名稱平均值和公式:put =Pass/(Pass +Fail)
  4. 選擇Average並將A分類至Z.
  5. 在Grand Total下面的一行中,計算每個日期平均值下的加權平均合格率。
  6. 設置Grand Total行的字體顏色以匹配填充顏色。
  7. 隱藏通過/失敗列和行標籤行。
  8. 將單元更改爲合格率和日期。
  9. 適合的格式。
+0

嗨! 不幸的是,沒有那麼簡單 - 我的專欄是鑽機,日期和結果,結果可能是P或F.不幸的是,這是測試裝置編碼的一部分,所以不在我的控制範圍內。我一直試圖在計算字段中使用COUNT(通行證)給我一個總數,而COUNTIF(Pass =「P」)給我一個通過數,然後用另一個計算字段給我我的百分比。但是,COUNT(Pass)總是給我1的結果,並且COUNTIF在計算字段中似乎不是有效的。 – Tom

+0

'缺少'字段似乎是我所謂的價值 - 來自您當前的輸出示例。 – pnuts