Bạn có thể sử dụng các hàm DStDev và DStDevP để ước tính độ lệch chuẩn trong một tập hợp các giá trị trong một bộ bản ghi được chỉ định (một miền). Sử dụng hàm DStDev và DStDevP trong mô-đun Visual Basic for Applications (VBA), macro, biểu thức truy vấn hoặc điều khiển tính toán trên biểu mẫu hoặc báo cáo.
Sử dụng hàm DStDevP để đánh giá tổng thể và hàm DStDev để đánh giá mẫu tổng thể.
Ví dụ: bạn có thể sử dụng hàm DStDev trong một mô-đun để tính toán độ lệch chuẩn trong một tập hợp điểm kiểm tra của học viên.
Cú pháp
DStDev(expr, domain [, criteria] )
DStDevP(expr, domain [, criteria] )
Các hàm DStDev và DStDevP có những đối số sau:
| Đối số | Mô tả |
|---|---|
| expr | Bắt buộc. Một biểu thức xác định trường số mà bạn muốn tìm độ lệch chuẩn. Đây có thể là một biểu thức chuỗi nhận dạng một trường từ một bảng hoặc truy vấn, hoặc có thể là một biểu thức thực hiện tính toán trên dữ liệu trong trường đó. Trong expr, bạn có thể đưa tên của trường vào bảng, điều khiển trên biểu mẫu, hằng số hoặc hàm. Nếu expr bao gồm một hàm, thì nó có thể là hàm dựng sẵn hoặc do người dùng xác định, nhưng không phải là hàm tổng hợp miền hoặc hàm tổng hợp SQL khác. |
| miền | Bắt buộc. Một biểu thức chuỗi định danh tập hợp các bản ghi cấu thành miền. Đây có thể là tên bảng hoặc tên truy vấn cho truy vấn không yêu cầu tham số. |
| tiêu chí | Không bắt buộc. Một biểu thức chuỗi dùng để giới hạn phạm vi dữ liệu mà hàm DStDev hoặc DStDevP được thực hiện. Ví dụ: tiêu chí thường tương đương với mệnh đề WHERE trong biểu thức SQL, mà không có từ WHERE. Nếu bỏ qua tiêu chí , hàm DStDev và DStDevP sẽ đánh giá expr so với toàn bộ miền. Bất kỳ trường nào được đưa vào tiêu chí cũng phải là một trường trong miền; nếu không, hàm DStDev và DStDevP sẽ trả về Null. |
Chú thích
Nếu miền tham chiếu đến ít hơn hai bản ghi hoặc nếu có dưới hai bản ghi đáp ứng tiêu chí thì hàm DStDev và DStDevP sẽ trả về Null, cho biết rằng độ lệch chuẩn không thể tính toán được.
Dù bạn sử dụng hàm DStDev hay DStDevP trong macro, mô-đun, biểu thức truy vấn hay điều khiển được tính toán, bạn đều phải xây dựng tham đối criteria một cách cẩn thận để đảm bảo rằng tham đối sẽ được đánh giá chính xác.
Bạn có thể dùng hàm DStDev và DStDevP để chỉ định tiêu chí trong hàng Tiêu chí của truy vấn chọn. Ví dụ: bạn có thể tạo một truy vấn trên bảng Đơn hàng và bảng Sản phẩm để hiển thị tất cả các sản phẩm có chi phí vận chuyển vượt quá giá trị trung bình cộng với độ lệch chuẩn cho chi phí cước vận chuyển. Hàng Tiêu chí bên dưới trường Cước phí sẽ chứa biểu thức sau:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
Bạn có thể sử dụng hàm DStDev và DStDevP trong biểu thức trường được tính toán của truy vấn hoặc trong hàng Cập nhật thành của truy vấn cập nhật.
Lưu ý
Bạn có thể sử dụng các hàm DStDev và DStDevP hoặc các hàm StDev và StDevP trong biểu thức trường được tính toán của một truy vấn tổng. Nếu bạn sử dụng hàm DStDev hoặc DStDevP , các giá trị sẽ được tính toán trước khi dữ liệu được nhóm lại. Nếu bạn sử dụng hàm StDev hoặc StDevP , dữ liệu sẽ được nhóm trước khi các giá trị trong biểu thức trường được đánh giá.
Sử dụng hàm DStDev và DStDevP trong điều khiển tính toán khi bạn cần chỉ định các tiêu chí để hạn chế phạm vi dữ liệu mà hàm đó được thực hiện. Ví dụ: để hiển thị độ lệch chuẩn cho các đơn hàng được vận chuyển đến California, hãy đặt thuộc tính ControlSource của hộp văn bản theo biểu thức sau:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Nếu bạn chỉ muốn tìm độ lệch chuẩn của toàn bộ bản ghi trong miền, hãy sử dụng hàm StDev hoặc StDevP .
Mẹo Nếu kiểu dữ liệu của trường mà expr được suy ra là một số, các hàm DStDev và DStDevP sẽ trả về kiểu dữ liệu Double. Nếu bạn sử dụng hàm DStDev hoặc DStDevP trong điều khiển tính toán, hãy đưa hàm chuyển đổi kiểu dữ liệu vào biểu thức để cải thiện hiệu suất.
Lưu ý
Những thay đổi chưa lưu cho bản ghi trong miền sẽ không được bao gồm khi bạn sử dụng các hàm này. Nếu bạn muốn hàm DStDev hoặc DStDevP dựa trên các giá trị thay đổi, trước tiên bạn phải lưu các thay đổi bằng cách bấm vào Lưu Bản ghi bên dưới Bản ghi trên tab Dữ liệu , di chuyển tiêu điểm đến một bản ghi khác hoặc bằng cách sử dụng phương pháp Cập nhật .
Ví dụ về truy vấn
| Biểu thức | Kết quả |
|---|---|
| SELECT DStDev("unitprice","productSales","unitprice>140") AS Expr1, DStDevP("unitprice","productSales","unitprice<140") AS Expr2 FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); | Tính toán Độ lệch Standard của "UnitPrice" (xem dữ liệu đã cho là mẫu) từ bảng "ProductSales", trong đó "unitprice" lớn hơn 140 và hiển thị kết quả trong Expr1. Đồng thời tính Standard Deviation của "UnitPrice" (xem xét dữ liệu đã cho là toàn bộ tổng thể), trong đó "unitprice" nhỏ hơn 140 và hiển thị kết quả trong Expr2. |
| SELECT DStDev("unitprice","productSales","unitprice>140") AS DstDev, DStDevP("unitprice","productSales","unitprice<140") AS DstDevP FROM PRODUCTSales group BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); | Tính độ lệch Standard của "UnitPrice" (xem dữ liệu đã cho làm mẫu) từ bảng "ProductSales", trong đó "Unitprice" lớn hơn 140 và hiển thị kết quả trong DstDev. Đồng thời tính Độ lệch Standard của "UnitPrice" (xem dữ liệu đã cho là toàn bộ tập hợp), trong đó "unitprice" nhỏ hơn 140 và hiển thị kết quả trong DstDevP. |
Ví dụ về VBA
Lưu ý
Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.
Ví dụ sau đây trả về các ước tính của độ lệch chuẩn cho một tập hợp và một mẫu tập hợp cho các đơn hàng được vận chuyển đến Vương quốc Anh. Miền là một bảng Đơn hàng. Đối số criteria hạn chế bộ bản ghi kết quả với những bản ghi có giá trị ShipCountryRegion là UK (Vương quốc Anh).
Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
Ví dụ tiếp theo tính toán các ước tính tương tự bằng cách dùng biến số, strCountryRegion, trong đối số criteria . Lưu ý rằng dấu ngoặc đơn (') được bao gồm trong biểu thức chuỗi, để khi các chuỗi được ghép nối với nhau, chữ chuỗi UK sẽ được đặt trong dấu ngoặc đơn.
Dim strCountryRegion As String
Dim dblX As Double
Dim dblY As Double
strCountryRegion = "UK"
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")