我有來自查詢的數據。我最初用SQL過濾了數據,但我不確定我的老闆是否希望我在SQL中能夠做到這一點。根據Excel中的計算過濾數據
我想吻合在列C中的值,如果「LOAD_BEER」是在列D
由人(F欄)和日(E欄)組數據。
然後,把每個人的計數值除以該列C中所有值的總和。
如果該值大於0.8,則取該人當天的所有數據,並將其移至新工作表。
下面是我使用的數據樣本:
下面是我使用的SQL:
SELECT TALLY_TRAN_MSTR.LOGON_ID, SUM(TALLY_TRAN_MSTR.FULL_PLLT_QTY), TALLY_TRAN_MSTR.SHIFT_DT,TALLY_TRAN_MSTR.SHIFT_NBR
FROM WBR_RW.TALLY_TRAN_MSTR
WHERE (TALLY_TRAN_MSTR.PRI_GRP_CD='LOAD_BEER')
GROUP BY TALLY_TRAN_MSTR.LOGON_ID, TALLY_TRAN_MSTR.SHIFT_DT, TALLY_TRAN_MSTR.SHIFT_NBR
的SQL顯示,有「LOAD_BEER任何數據「,但它並不會收集所有東西,將其分開,並查看它是否大於0.8。
的什麼,我試圖做的是(人工計算)
史蒂文斯與他在2017年6月15日名稱相關的7個項目的例子。其中3個是「LOAD_BEER」。 LOAD_BEER的總和爲165.所有7個項目的總和爲181. 165/181 = 0.91。 0.91> 0.80,所以我想將所有7個數據點移到新位置,無論是在新選項卡上還是我目前所在選項卡上的其他位置。
我的問題是:
是什麼,我想在SQL做可能嗎?
1.5。如果是這樣,我怎麼能做出一個公式?
在VBA中這樣做會更容易嗎?
2.5。如果是這樣,那麼這將是一個好的開始?
可能與電源查詢SQL(移動結果的選項卡之外)。在數據庫中創建您的SQL語法並讓Excel獲取這些值。您的設計將在Excel和DB中完成。關於你的價值觀轉移到不同的標籤,你可能需要編寫你自己的程序。 – Isaiah3015
你可以使用你提到的兩種方法來做到這一點。我會去SQL解決方案,如果查詢返回任何記錄,然後我會打印在一個新的工作表。最好在Excel VBA中編寫代碼,然後讓它實際運行兩個查詢。您將收到包含此報告的信息,以及是否有任何記錄的簡短報告。 – Ibo
可能嗎?這很容易 - 但爲什麼MySQL標籤? – Strawberry