Access操作與SQL語句:數據分析

前面我們學習了Access數據庫中的數據合併、數據計算、數據分組、重複數據處理四大常用的數據處理方式。

數據處理的目的就是將採集到的的數據,用適當的處理方法整理加工,形成適合數據分析要求的樣式,也就是一維表,爲數據分析做好準備工作。

我們日常工作中所做的數據分析,主要指通過對比與細分進行現狀分析及原因分析,通過數據分組瞭解其數據構成,甚至通過不同時間維度的對比,查找數據變化的原因,最後通過製作相關圖標等對現狀進行呈現及描述。

接下來我們學習再Access數據庫中進行數據分析的方法,主要包含:

  • 簡單統計
  • 分組統計
  • 交叉表統計

我們主要介紹SQL語句實現的方式。

一、簡單統計

常用的統計函數如下所示:
在這裏插入圖片描述
我們以“訂購明細表”爲例,統計訂單總數、訂購金額總額、平均訂單金額三個數據,SQL語句如下:

SELECT 
Count(訂單編號) AS 訂單總數,
Sum(訂購金額) AS 訂購金額總額,
Avg(訂購金額) AS 平均訂單金額
FROM 訂購明細;

結果如下所示:
在這裏插入圖片描述

二、分組統計

我們在學習重複數據處理時用過GROUP BY子句,實現對數據按指定的分組字段進行分組的功能。
現在,我們同樣以“訂購明細表”,統計各個產品的訂單總數、訂購金額總額、平均訂單金額三個數據,SQL語句如下:

SELECT 產品,
Count(訂單編號) AS 訂單總數,
Sum(訂購金額) AS 訂購金額總額,
Avg(訂購金額) AS 平均訂單金額
FROM 訂購明細
GROUP BY 產品;

結果如下所示:
在這裏插入圖片描述
我們還想了解用戶訂購時段的分佈信息,而原有的“訂購明細表”只有“訂購日期”字段,需要取出時段信息,可採用FORMAT函數:

SELECT FORMAT(訂購日期,"h") AS 時段,
Count(訂單編號) AS 訂單數,
FROM 訂購明細
GROUP BY FORMAT(訂購日期,"h");

結果如下所示:
在這裏插入圖片描述
還是以“訂購明細表”爲例,我們需要了解不同年齡段的用戶訂購分佈情況,並且訂購用戶存在重複情況,需要去重。操作步驟如下:

  1. 先將“訂購明細表”與“用戶明細表”按關鍵字段“用戶ID”進行關聯查詢,並且可同時進行去重處理;
  2. 採用PARTITION函數法對用戶年齡分組;
  3. 把查詢結果作爲子查詢嵌套在分組統計查詢彙總。

SQL語句如下:

SELECT 年齡分組,Count(用戶ID) AS 用戶數
FROM
(SELECT DISTINCT A.用戶ID,PARTITION(B.年齡,1,100,5) AS 年齡分組
 FROM 訂購明細 AS A, 用戶明細 AS B
 WHERE A.用戶ID = B.用戶ID)
 GROUP BY 年齡分組;

結果如下所示:
在這裏插入圖片描述
這裏需要說明的是:在Access數據庫中進行數據去重處理時,需要使用嵌套查詢,把數據去重結果作爲子查詢。

如果是需要了解各省份的訂單數分佈,無需先進行數據去重處理,那麼就無需使用嵌套查詢,SQL語句如下:

SELECT B.省份,Count(A.訂單編號) AS 訂單數
FROM 訂購明細 AS A,用戶明細 AS B
WHERE A.用戶ID = B.用戶ID
GROUP BY B.省份;

結果如下所示:
在這裏插入圖片描述

三、交叉表統計

1. 菜單操作法

交叉表統計需要藉助“簡單查詢”功能來實現。我們以“用戶明細表”爲例,統計不同省份、性別的用戶分佈情況。操作步驟如下:

  1. 單擊【創建】,單擊【查詢嚮導】按鈕;
  2. 在彈出的【新建查詢】對話框中,選擇【交叉表查詢嚮導】;
  3. 在彈出的【交叉表查詢嚮導】第一個對話框中,選擇【表】視圖,並在列表框中選擇“用戶明細”表作爲查詢對象;
  4. 在彈出的第二個對話框【可用字段】中,選擇“省份”作爲行標題;
    在這裏插入圖片描述
  5. 在彈出的第三個對話框字段列中,選擇“性別”作爲標題;
    在這裏插入圖片描述
  6. 在彈出的第四個對話框中,選擇“用戶ID”作爲每行和列交叉點的統計項,並在【函數】中,選擇“Count”函數,並保持默認勾選的【是,包括各行小計】項;
    在這裏插入圖片描述
  7. 在第五個對話框中,輸入該查詢的名稱。

結果如下所示:
在這裏插入圖片描述

2. SQL語句法

單擊右下方的SQL按鈕,得到簡化後的SQL語句:

TRANSFORM Count(用戶ID) AS 用戶ID之計數
SELECT 省份, Count(用戶ID) AS 總計 用戶ID
FROM 用戶明細
GROUP BY 省份
PIVOT 性別;

我們發現,相比分組統計的SQL語句,在前後增加了TRANSFORM與PIVOT語句。

只要在分組統計SQL語句的基礎上,

  • 前後增加TRANSFORM與PIVOT語句;
  • 在TRANSFORM後面增加每個行與列交叉點統計函數及字段;
  • 在PIVOT後面增加要作爲列標題的分組字段。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章