Go to Homepage Contact Us
Chart for .NET Home
Dundas Add-Ons
Detailed Features
Visual Studio 2005
New Features
AJAX Features
Formulas
Why Dundas Chart?
Success Stories
Reviews
Dashboards
White Papers
Dundas Chart Builder
Editions Available
ASP.NET Enterprise
ASP.NET Professional
Windows Forms Enterprise
Windows Forms Pro
Pro vs. Enterprise
Enterprise Benefits
Online Demo
OLAP
Chart OLAP Gallery
General OLAP Features
New OLAP Features
OLAP Whitepaper
OLAP Demo
QuickStart Guide
Pricing / Licensing
Single Copy
OEM / ISV Program
Subscription & Maintenance
Other Dundas Products
Download an Evaluation

 


 

Creating Six Sigma Charts with Dundas Chart

Introduction

Six Sigma is a quality management plan that improves a company's operational performance by identifying and correcting defects that exist in that company’s processes. In business, it is used to produce a satisfactory product while minimizing losses suffered in production. This approach allows a company to achieve a cost effective equilibrium between production and costs. In addition to being several mathematical ideas, Six Sigma is also a business conduct methodology. It has both its skeptics and zealots, but regardless of opinion, its impact is undeniable.

Dundas offers a free add-on that offers support of Six Sigma (click here details).  Our support focuses on the control charts used by Six Sigma to analyze production, and allows for creation of these extensive charts. The charts are easy to use and understand, thus both Six Sigma black-belts and beginners can benefit from the charts created. These charts also assist with the business methodology, although that methodology is not discussed in this article.

Control Charts

Figure 1: A sample C-Chart showing the three lines.

A control chart is a chart that is used to detect and verify process variations. In most cases, the user looks in the data for an unusual variation that can be attributed to a special cause. A special cause is something out of the ordinary for that process, like for instance, a machine missing a part on an assembly line. Special cause variations are something that needs to be rectified quickly, and therefore are important to identify.

Control charts also show common cause variations. Common cause variations are variations that occur often and with no specific reason. Reducing these variations saves money and makes the whole process more efficient.

In Six Sigma, a control chart is a chart that has 3 lines: a center line, an upper control limit (UCL) line, and a lower control limit (LCL) line.

Figure 1 displays a sample C-Chart with the three lines marked; the center line is called the C-Bar line because this chart is a C-Chart. These three lines are the primary means of deciding whether a process is said to be "in control" or not.

The center line is always a straight line, unlike the upper control (UCL), and lower control (LCL) limit lines which are not always straight.

Figure 2: A sample U-Chart.

The U-Chart shown in Figure 2 contains a UCL and LCL that are not straight lines. This means that data can fluctuate in varying degrees within various subgroups, and still be considered in control. The difference between U-Charts and C-Charts is that unlike C-Charts, U-Charts have a different number of items in each subgroup.

Interpretation of control charts is complicated, and involves analyzing a number of different things. That said, the simplest way to determine if a chart is in control, or not, is to verify whether any points in the plot fall outside of the chart's control limits. Using this simple test, you can see that both of the above charts are in fact, in control.

Figure 3: A sample of a potentially out of control C-Chart.

Figure 3 illustrates an out of control point around subgroup 19. This data point is clearly out of the control limits and therefore easy to identify. Interpretation of the chart is left to the user, since the chart is only a tool to graph the data, however your analysis should be vigilant not to overreact to any anomaly until it can be verified that there is indeed a cause behind it which warrants further investigation.

Chart Types

Choosing which type of chart best represents your data is based on the data itself. Charts are split into two categories: those for measurement data, and those for count data. While the measurements of a part coming off of an assembly line would be considered measurable data suitable for a measurement type chart, on the other hand, the number of non-conformities counted each day would be considered as countable data which is more suited to a counts data type chart. Once the decision has been made on which type of chart to use, then each chart group has several charts available within it for use.

Measurements Group

The following charts are available within the measurements group:

  • Range Chart (R-Chart).
  • Sigma Chart (S-Chart).
  • X-Control Chart (X-Bar Chart).
  • Run Chart.

Range and Sigma charts are generally used to validate that a process variation is in statistical control. Once the chart is plotted, then the process is validated using an R or S-Chart. An X-Bar Chart is then constructed to further analyze the resulting data. Generally, only one or the other is selected to calculate the theoretical control limits, and that choice is left to the user. Run charts are simply plots of the data with a line to show the median, no manipulation of the data occurs before the plot.

Counts Group

The following charts are available within the counts group:

  • C-Chart.
  • U-Chart.
  • NP-Chart.
  • P-Chart.

The simplest of these is the C-Chart, which is the plot of the number of non-conformities per unit. A unit is usually referred to as an inspection unit, and is a predefined rate. If the inspection unit is not a fixed size, then a U-Chart is used instead. A U-Chart allows for a plot where the number of inspected units varies because the size of the subgroups is not fixed. NP and P Charts are based on the count of units, which differs from both C and U Charts which are based on the number of occurrences. The NP-Chart is used in the limited case when subgroups are equal size, whereas the P-Chart is used in cases where the subgroups are not of equal size.

Using the Six Sigma Add-On

This add-on consists of one class: SixSigma. The first step is to add this class to your project via Visual Studio’s Solution Explorer, and to define the namespace Dundas.Charting.Utilities in any files that will be using this class. Once completed, you can create a new SixSigma class:

//Create a new instance of the sixsigma object.


	SixSigma sixSigma;
	sixSigma = new SixSigma();


The instantiation sets public properties to default values.

Before calling any chart creation function, you must setup two properties. These two properties are the AutoFitLines and ShowLineLabels properties. The AutoFitLines property takes a chart that has its lines outside the chart boundries, and re-scales that chart so that its lines are contained within it.

Figure 4: AutoFitLines disabled.

Figure 5: AutoFitLines enabled.

Right, Figure 4 displays a UCL line above the chart grid, while Figure 5 shows the same chart, with AutoFitLines enabled, and thus the UCL line is present within the grid.

The ShowLineLabels property adds labels to each line. In Figures 1, 2, and 3 above, this property is enabled so that identification of each line is made easy. The font and colour of these labels is also customizable, as is the colour of the lines drawn.

//Autofit the lines to the chart grid.
	
	sixSigma.AutoFitLines = true;
	
//Show the line labels.
	
	sixSigma.ShowLineLabels = true;
	
//Set the font and colour of the labels.
	
	sixSigma.TextFont = new System.Drawing.Font("Arial", 8);
	
	sixSigma.TextColor = System.Drawing.Color.Red;
	
//Set the colour of the lines.
	
	sixSigma.LineColor = System.Drawing.Color.Red;

After setting the AutoFitLines and ShowLineLabels properties, as well as the font and colour properties, the next step is to modify the input data by putting it into arrays. All of the chart creation functions expect data to be contained in arrays.

//Create a C-Chart of the data and plot it on the chart.


	tmpSeries = sixSigma.cChart(aSubGroup, aData, cChart);

In the above line of code, a C-Chart is created using the subgroups that are contained in the array called subGroup, and the non-conformity data is contained within the array called aData. A series is also created and placed in the chart called cChart.

Creating a C-Chart is straight forward; creating an S-Chart is slightly more complicated.

//Create an S-Chart of the data and plot it on the chart.
//We don't use the processStandardDeviation, but it will be
//found in that variable after the call. Also, we are using
//an n value of 5, which is fairly common.


	tmpSeries = sixSigma.sChart(aSubGroup, standardDeviation, 5,


	out processStandardDeviation, sChart);

In the above function call, there are two extra parameters that the C-Chart does not have: the value 5, and the out variable called processStandardDeviation. The 5 specifies the “n” value used in the calculation of the S-Chart, while the processStandardDeviation variable is a placeholder that contains the process standard deviation after the function completes. The “n” value refers to the number of measurements per subgroup.

The creation of an S-Chart differs from a C-Chart in another significant way. The S-Chart expects the standard deviation of each subgroup as its input data. The SixSigma add-on contains a method to handle this task for you.

//Calculate the standard deviation and put it in an array.


	standardDeviation[i]=sixSigma.StandardDeviation(tmpStdDevData);

The StandardDeviation method shown above accepts an array, assumed to be all the data of one subgroup, and calculates the standard deviation of that subgroup. In the end, the array standardDeviation contains the standard deviation of each subgroup and is the expected input data for the S-Chart function. A process similar to the S-Chart is also required for an R-Chart where the expected input data is the range of each subgroup, and also for an X-Bar Chart, where the expected input data is the mathematical mean of each subgroup. The SixSigma add-on contains a Range function to address each of these issues.

//Calculate the range and put it in an array.


	Range[i] = sixSigma.Range(tmpRangeData);


//Plot an R-Chart.


	tmpSeries = sixSigma.rChart(subgroup, Range, 5,


	out processStandardDeviation, rChart);

As well as a Mean function.

//Calculate the mean and put it in an array.


	Mean[i] = sixSigma.Mean(tmpMeanData);


//Create an XBAR-Chart of the data and plot it on the chart.


	tmpSeries = sixSigma.XBARChart(subgroup, Mean, XBARChart);



In every code example above, the chart function returned a series that is being stored in a variable called tmpSeries. This series is the series that was created and added to the output chart.

//Change the series' colour, shadow and the name that will

//show up in the legend.


	tmpSeries.Color = System.Drawing.Color.PaleGoldenrod;


	tmpSeries.ShadowOffset = 2;

Above we have changed the returned series’ colour and added a shadow. Furthermore, the series’ name, which is created with a generic name, is customizable for easy identification if desired. The ability to modify any property of the created series allows for complete control over the look of the final output.

The sample provided shows how to use all of the functionality available in this add-on, as well as demonstrating how data from an outside source (an XML file is used in the sample) can be manipulated into the required arrays.

Conclusion

Six Sigma is a powerful plan that many businesses now use with great success. Since control charts are one of the more mathematically complicated aspects of Six Sigma, the ability to easily create control charts becomes a great asset to any organization. This add-on allows for the easy creation and customization of these charts to fit many users' needs. In addition to this, the charts produced are aesthetically pleasing, colorful, and do not require that the user learn any complicated mathematical formulas to create and use them.

Click here to visit the Dundas support site, with access to a sample application and Six Sigma Classes (for C# and VB.NET)

*Note: Six-Sigma is only available for Enterprise edition