Bạn có thể sử dụng các hàm DStDev và DStDevP để ước tính độ lệch chuẩn trên một tập hợp các giá trị trong một tập hợp bản ghi đã xác định ( miền ). Sử dụng các 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 được tính toán trên biểu mẫu hoặc báo cáo.
Sử dụng hàm DStDevP để đánh giá một tập hợp và hàm DStDev để đánh giá một mẫu tổng thể.
Ví dụ: bạn có thể sử dụng hàm DStDev trong một mô-đun để tính độ lệch chuẩn trên 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ó các đối số sau đây:
Đố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 trên đó. Nó có thể là biểu thức chuỗi định một trường từ một bảng hoặc truy vấn hoặc nó 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, nó có thể là tích hợp sẵn hoặc do người dùng xác định, nhưng không phải là một hàm tổng hợp miền khác hoặc hàm tổng hợp SQL. |
miền |
Bắt buộc. Một biểu thức chuỗi xác định tập hợp các bản ghi cấu thành miền. Đó 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 được sử dụng để hạn chế 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 một biểu thức SQL, không có từ WHERE. Nếu đối số criteria bị bỏ qua, các hàm DStDev và DStDevP sẽ đánh giá expr so với toàn bộ tên miền. Bất kỳ trường nào được bao gồm trong tiêu chí cũng phải là một trường trong miền; nếu không, các hàm DStDevvà DStDevP sẽ trả về giá trị Null. |
Chú thích
Nếu miền tham chiếu đến ít hơn hai bản ghi hoặc nếu dưới hai bản ghi thỏa mãn các tiêu chí, các hàm DStDev và DStDevP sẽ trả về giá trị Null, cho biết không thể tính toán độ lệch chuẩn.
Cho dù bạn sử dụng hàm DStDev hoặc DStDevP trong macro, mô-đun, biểu thức truy vấn hoặc điều khiển được tính toán, bạn đều phải xây dựng đối số criteria một cách cẩn thận để đảm bảo tham đối tiêu chí sẽ được đánh giá chính xác.
Bạn có thể sử dụng các hàm DStDev và DStDevP để chỉ định tiêu chí trong hàng Tiêu chí của một truy vấn chọn. Ví dụ: bạn có thể tạo 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 trên trung bình cộng với độ lệch chuẩn cho chi phí vận chuyển hàng hóa. Hàng Tiêu chí bên dưới trường Cước_phí sẽ chứa biểu thức sau đây:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
Bạn có thể sử dụng các 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 một 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 truy vấn tổng. Nếu bạn sử dụng hàm DStDev hoặc DStDevP , các giá trị được tính toán trước khi dữ liệu được nhóm. Nếu bạn sử dụng hàm StDev hoặc StDevP , dữ liệu sẽ được nhóm trước 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 được 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 thành biểu thức sau đây:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Nếu bạn chỉ muốn tìm độ lệch chuẩn trên tất cả các bản ghi trong miền, hãy sử dụng hàm StDevhoặc StDevP .
Mẹo Nếu kiểu dữ liệu của trường có xuất phát từ expr là 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 được 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 không được lưu đối với các 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 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("đơn giá","productSales","đơn giá>140") AS Expr1, DStDevP("đơn giá","productSales","đơn giá<140") AS Expr2 FROM productSales GROUP BY DStDev("đơn giá","productSales","đơn giá>140"), DStDevP("đơn giá","productSales","đơn giá<140"); |
Tính toán Độ lệch Chuẩn của "Đơn_Giá" (xem xét te cho dữ liệu dưới dạng mẫu) từ bảng "Doanh_số_sản_phẩm" trong đó "đơn_giá" lớn hơn 140 và hiển thị kết quả trong Expr1. Ngoài ra, tính toán Độ lệch Chuẩn của "Đơn_Giá" (xem xét dữ liệu cho trước dưới dạng toàn bộ tập hợp) trong đó "đơn_giá" nhỏ hơn 140 và hiển thị kết quả trong Expr2. |
SELECT DStDev("đơn giá","productSales","đơn giá>140") AS DstDev, DStDevP("đơn giá","productSales","đơn giá<140") AS DstDevP FROM productSales GROUP BY DStDev("unitprice","productSales","đơn giá>140"), DStDevP("đơn_giá","productSales","đơn giá<140"); |
Tính toán Độ lệch Chuẩn của "Đơn_Giá" (xem xét te cho dữ liệu dưới dạng mẫu) từ bảng "Doanh_số_sản_phẩm" trong đó "đơn_giá" lớn hơn 140 và hiển thị kết quả trong DstDev. Ngoài ra, tính toán Độ lệch Chuẩn của "Đơn_Giá" (xem xét dữ liệu cho trước dưới dạng toàn bộ tập hợp) trong đó "đơn_giá" 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 trả về ước tính độ lệch chuẩn cho một tập hợp và mẫu tổng thể cho các đơn hàng được vận chuyển đến Vương quốc Anh. Miền là bảng Đơn hàng. Đối số criteria hạn chế tập hợp bản ghi kết quả ở những bản ghi có giá trị ShipCountryRegion là 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 sẽ tính toán cùng các ước tính bằng cách sử dụng một biến số, strCountryRegion, trong đối số criteria . Lưu ý rằng dấu nháy đơn (') được đưa vào biểu thức chuỗi, để khi các chuỗi được ghép nối, ký tự chuỗi UK sẽ được đặt trong dấu nháy đơ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 & "'")