- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
[DEVEXPRESS] Hướng dẫn vẽ biểu đồ Pareto sử dụng công cụ Chart Control trong VB.NET
Hôm nay, mình xin tiếp tục hướng dẫn các bạn cách vẽ biểu đồ Pareto trong công cụ Chart control của Devexpress.
Vậy biểu đồ Pareto là biểu đồ gì?
Biểu đồ pareto là dạng biểu đồ trực quan, biểu diễn các nguyên nhân của một vấn đề được sắp xếp theo mức độ giảm dần.
1. Biểu đồ Pareto là gì?
Biểu đồ pareto là dạng biểu đồ trực quan, biểu diễn các nguyên nhân của một vấn đề được sắp xếp theo mức độ giảm dần. Căn cứ vào đó, chúng ta tập trung giải quyết các vấn đề, các nguyên nhân ảnh hưởng lớn nhất. Do đó biểu đồ pareto giúp giải quyết vấn đề hiệu quả. Chuẩn bị nguồn lực thích hợp.
Biểu đồ này được Pareto – nhà kinh tế người Ý đưa ra đầu tiên, sau đó đã được Joseph Juran – một nhà chất lượng người Mỹ - áp dụng vào những năm 1950. Nguyên tắc Pareto dựa trên quy tắc “80 – 20”, có nghĩa là 80% ảnh hưởng của vấn đề do 20% các nguyên nhân chủ yếu.
Biểu đồ Pareto được xây dựng trên excel theo trình tự các bước sau đây.
- Xác lập các lỗi sai hỏng;
- Thu thập dữ liệu cho từng nguyên nhân phát sinh qua đó xác định được lỗi sai hỏng có tính anh hưởng lớn nhất,
- Lựa chọn những lỗi sai hỏng có sức ảnh hưởng lớn nhất đối với vấn đề cần giải quyết và sắp xếp các lỗi sai hỏng đó theo mức độ giảm dần.
- Tính tần suất tích lũy cho các lỗi sai hỏng cần biểu diễn
- Tính tỷ lệ % cho từng lỗi sai hỏng dựa trên tần suất tích lũy;
- Tính tỷ lệ % tích lũy cho các lỗi sai hỏng. Tổng % nguyên nhân tích lũy là 100%.
- Vẽ các cột thể hiện từng lỗi sai hỏng. Bề rộng các cột bằng nhau; Giữa các cột không được có khoảng trống.
- Viết tiêu đề nội dung và ghi tóm tắt các đặc trưng của số liệu được vẽ trên đồ thị;
- Phân tích biểu đồ: Những cột cao hơn thể hiện sai hỏng xảy ra nhiều nhất, cần được ưu tiên giải quyết. Những cột này tương ứng với đoạn đường cong có tần suất tích lũy tăng nhanh nhất (hay có độ dốc lớn nhất). Những cột thấp hơn (thường là đa số) đại diện cho những sai hỏng ít quan trọng hơn tương ứng với đoạn đường cong có tần suất tích lũy tăng ít hơn (hay có tốc độ nhỏ hơn).
2. Tại sao Biểu đồ Pareto có ý nghĩa?
Biểu đồ Pareto có ý nghĩa bởi nó biểu thị mục tiêu và sự hiểu biết rõ ràng về vấn đề mà bạn cần tập trung ưu tiên giải quyết. Nó giúp bạn tối ưu hóa việc giải quyết vấn đề chính xác, hiệu quả, tiết kiệm tiền bạc và thời gian.
3. Biểu đồ Pareto hỗ trợ như thế nào?
Nó cho phép bạn tập trung toàn bộ nỗ lực theo từng sự kiện. Nếu bạn giảm một nửa vấn đề mà gây ra 30% sự việc thì tức là về tổng thể bạn đã cải tiến được 15%. Nếu bạn loại bỏ 100% vấn đề mà chỉ gây ra 3% sự việc thì về tổng thể bạn cũng chỉ cải tiến được 3%. Do đó, Biểu đồ Pareto sẽ giúp bạn cần tập trung vào đâu để tạo ra những thay đổi lớn và đạt được kết quả cuối cùng.
4. Biểu đồ Pareto được áp dụng tại đâu?
Biểu đồ Pareto được áp dụng khi bạn phải đối mặt với những sự việc đa nhân tố. Sử dụng nó cho phép bạn lựa chọn nên ưu tiên tiến hành giải pháp nào và quản lý nguồn lực một cách hiệu quả nhất.
5. Khi nào Biểu đồ Pareto có ý nghĩa?
Biểu đồ Pareto có ý nghĩa khi bạn xác định ra các vấn đề lớn nhất và nguyên nhân gây ra chúng mà không biết bắt đầu từ đâu.
6. Biểu đồ Pareto đem lại lợi ích cho ai?
Biểu đồ Pareto đem lại lợi ích cho những ai liên quan tới dự án cải tiến. Cụ thể, lợi ích mà tổ chức nhận được đó là sự phân bổ nguồn lực hiệu quả vào vấn đề quan trọng nhất từ đó tạo ra cơ hội cải tiến tốt nhất.
Nó cũng là một công cụ trao đổi thông tin hiệu quả để giúp Lãnh đạo cấp cao và những người khác hiểu rõ tại sao bạn ưu tiên chọn triển khai các hoạt động hiện tại và kết quả mong đợi là gì.
Chú ý: Biểu đồ Pareto cho bạn cái nhìn trực quan và có thể được sử dụng như một hình thức khuyến khích nhân viên đối mặt với các vấn đề lớn hơn. Trao quyền và khiến nhân viên thấy tự tin là một nhân tố quan trọng để đạt tới thành công trong dài hạn.
Dưới đây là chương trình demo mình vẽ biểu đồ Pareto bằng công cụ VB.NET
Dưới đây, là code chương trình:
Imports System.ComponentModel
Imports System.Text
Imports System.Data
Imports System.Data.SqlClient
Imports DevExpress.XtraCharts
Namespace CsWinFormsBlackApp
Partial Public Class Form1
Inherits DevExpress.XtraEditors.XtraForm
Public Sub New()
InitializeComponent()
End Sub
Dim con As New SqlConnection
Public Sub Taoketnoi()
Dim str As String = "Data Source=.;Initial Catalog=batdongsan;User ID=sa; pwd=minh123"
con.ConnectionString = str
con.Open()
End Sub
Public Function LayDulieu(sql As String) As DataTable
Taoketnoi()
Dim dt As New DataTable
Dim da As New SqlDataAdapter
da.SelectCommand = New SqlCommand(sql, con)
da.Fill(dt)
con.Close()
Return dt
End Function
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dt, dt2, dt3 As New DataTable
dt = LayDulieu("select monhoc, diem from tbl_monhoc order by diem DESC")
dt2 = LayDulieu("SELECT SUM(x.diem) AS tongdiem FROM (select diem from tbl_monhoc) x")
GridControl1.DataSource = dt
Dim chartControl1 As New ChartControl()
' Tính 2 điểm trùng nhau
Dim dv As New DataView(dt, "diem = MAX(diem)", Nothing, DataViewRowState.CurrentRows)
Dim max_bar, max_line, temp, maxX As Double
max_bar = CDbl(dv.Item(0).Item(1))
max_line = CDbl(dt2.Rows(0).Item(0))
temp = Math.Round(100 - (max_bar / max_line * 100), 1)
maxX = max_bar * 110 / temp
'End tính 2 điểm trùng nhau
' Create two series.
Dim series1 As New Series("Điểm số", ViewType.Bar)
Dim series2 As New Series("Lũy tiến(%)", ViewType.Spline)
' Add points to them, with their arguments different.
For Each dr As DataRow In dt.Rows
series1.Points.Add(New SeriesPoint(dr("monhoc"), dr("diem")))
Next
For Each dr As DataRow In dt.Rows
For Each dr2 As DataRow In dt2.Rows
Dim flag As Double
flag = Math.Round(100 - (CInt(dr("diem")) / CInt(dr2("tongdiem")) * 100), 1)
series2.Points.Add(New SeriesPoint(dr("monhoc"), flag))
Next
Next
series2.Label.Visible = True
series1.Label.Visible = True
' Add both series to the chart.
chartControl1.Series.AddRange(New Series() {series1, series2})
' Hide the legend (optional).
chartControl1.Legend.Visible = False
' Create two secondary axes, and add them to the chart's Diagram.
Dim myAxisX As New SecondaryAxisX("my X-Axis")
Dim myAxisY As New SecondaryAxisY("my Y-Axis")
CType(chartControl1.Diagram, XYDiagram).SecondaryAxesX.Add(myAxisX)
CType(chartControl1.Diagram, XYDiagram).SecondaryAxesY.Add(myAxisY)
' Assign the series2 to the created axes.
CType(series2.View, LineSeriesView).AxisX = myAxisX
CType(series2.View, LineSeriesView).AxisY = myAxisY
' Customize the appearance of the secondary axes (optional).
myAxisX.Title.Text = "BIỂU ĐỒ PARETO ĐIỂM SỐ MÔN HỌC"
myAxisX.Title.Visible = True
myAxisX.Label.Visible = False
myAxisX.Title.TextColor = Color.Orange
myAxisX.Label.TextColor = Color.White
myAxisX.Color = Color.White
myAxisY.Label.MaxWidth = 200
myAxisY.Title.Text = "A Secondary Y-Axis"
myAxisY.Title.Visible = False
myAxisY.Title.TextColor = Color.Black
myAxisY.Label.TextColor = Color.Black
myAxisY.Color = Color.Black
' Canh tọa độ
Dim diagram As XYDiagram = CType(chartControl1.Diagram, XYDiagram)
' Enable the diagram's scrolling.
diagram.AxisY.Range.MaxValue = maxX
' Add the chart to the form.
chartControl1.Dock = DockStyle.Fill
chartControl1.Legend.Visible = True
Dim legend As Legend = chartControl1.Legend
'chartControl1.Legend.AlignmentVertical = LegendAlignmentVertical.Center
legend.Margins.All = 8
legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center
legend.AlignmentVertical = LegendAlignmentVertical.BottomOutside
legend.Direction = LegendDirection.LeftToRight
GroupControl1.Controls.Add(chartControl1)
End Sub
End Class
End Namespace
DOWNLOAD SOURCE CODE PARETO CHART
Chúc các bạn thành công. Mọi câu hỏi thắc mắc đến bài viết xin truy cập http://hoidap.laptrinhvb.net để được support.
ĐỪNG QUÊN LIKE AND SHARE NHA CÁC BẠN.
CÁM ƠN CÁC BẠN ĐÃ THEO DÕI.