台灣最大程式設計社群網站
線上人數
979
 
會員總數:243152
討論主題:187974
歡迎您免費加入會員
討論區列表 >> ACCESS >> 月份資料統計,但從上月20日到這月19日
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
月份資料統計,但從上月20日到這月19日
價值 : 50 QP  點閱數:190 回應數:6

樓主

熊大sk
門外漢
0 1
12 1
發送站內信

想用access做個各月銷售表

不過月份算法是從 上個月20號到這個月19號

所以最後會看到

2018-01-20 ~ 2018-02-19 100個
2018-02-20 ~ 2018-03-19 50個
2018-03-20 ~ 2018-04-19 20個
....的資料

大概是這樣的概念

本來想用VBA直接打開表 不過似乎不行

還是我得不斷用union來做成呢??

如果有SQL可以直接解決或搭配VBA怎麼做 謝謝大家

搜尋相關Tags的文章: [ 月份資料統計 ] ,
本篇文章發表於2018-06-26 18:20
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
您的資料可以丟出來看一下嗎?
應該不難,也許一或二個查詢就可以解決了
本篇文章回覆於2018-06-27 14:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

熊大sk
檢舉此回應
date sell_cnt
2017/12/1 99
2018/1/19 50
2018/1/20 30
2018/1/30 40
2018/2/19 10
2018/2/21 70

結果
year 1 2 3 ... 12
2017 0 0 0 99
2018 50 80 70 ... 0

大概是像這樣 謝謝
本篇文章回覆於2018-06-27 17:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

kib72377
檢舉此回應
先設一個分組的變數或欄位,
日期>=20的歸為下個月,
分組=DATESERIAL(年,月份+IIF(日-20>=0,1,0),1) '分組會等於Y年M月1日

寫SQL就如下(限用於ACCESS內):
SELECT DATESERIAL(YEAR(日期),MONTH(日期)+IIF(DAY(日期)-20>=0,1,0),1)AS 分組, 日期 , 銷售數量 FROM ....

至於你上面寫的照 年,月 2個個分組的話,請自行拆解為年度和月份2個分組.
12/20~12/31這個算跨年的日子請小心去編你的運算式吧,
不然還是直接用 年度=YEAR(分組),月份=MONTH(分組) 省事.
本篇文章回覆於2018-06-28 10:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

P陳
檢舉此回應
這樣應該就可以了
(那個-20 您要再自己測一下 是-21 還是-19)

TRANSFORM Sum(資料表1.數量) AS 數量之總計
SELECT Year(DateAdd("d",-20,[日期])) AS Expr1
FROM 資料表1
GROUP BY Year(DateAdd("d",-20,[日期]))
PIVOT Month(DateAdd("d",-20,[日期]));
本篇文章回覆於2018-06-30 22:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

P陳
檢舉此回應
不是很清楚您要的羅輯
所以也許是 +10 或+9 或 +11 (也有可能是 -9 -10 -11)
或 +19 +20 +21 或 -19 -20 -21
自已想想吧

本篇文章回覆於2018-06-30 22:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

P陳
檢舉此回應
這樣確定可以了

TRANSFORM Sum(資料表1.數量) AS 數量之總計
SELECT Year(DateSerial(Year([日期]),Month([日期])+IIf(Day([日期])>=20,1,0),1)) AS Expr1
FROM 資料表1
GROUP BY Year(DateSerial(Year([日期]),Month([日期])+IIf(Day([日期])>=20,1,0),1))
PIVOT Month(DateSerial(Year([日期]),Month([日期])+IIf(Day([日期])>=20,1,0),1));
--------------------------------------
您的資料轉換後
1 2017/12/01 2017/12/01 99
2 2018/01/19 2018/01/01 50
3 2018/01/20 2018/02/01 30
4 2018/01/30 2018/02/01 40
5 2018/02/19 2018/02/01 10
6 2018/02/21 2018/03/01 70
本篇文章回覆於2018-06-30 22:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.