package timeflow.data.analysis;
|
|
import timeflow.data.analysis.DBAnalysis.*;
|
import timeflow.data.db.*;
|
import timeflow.data.db.filter.*;
|
|
public class MissingValueAnalysis implements FieldAnalysis {
|
|
int numNull;
|
int percent;
|
|
@Override
|
public String getName() {
|
return "Missing/Blank Values";
|
}
|
|
@Override
|
public String[] getResultDescription() {
|
String s;
|
if (numNull==0)
|
s="No missing values";
|
else if (numNull==1)
|
s= "One missing value";
|
else
|
s=numNull+" missing values: "+percent+"%";
|
return new String[] {s};
|
}
|
|
@Override
|
public InterestLevel perform(ActList acts, Field field) {
|
numNull=DBUtils.count(acts, new MissingValueFilter(field));
|
percent=(int)Math.round(100*numNull/(double)acts.size());
|
if (numNull==0)
|
return InterestLevel.IGNORE;
|
if (numNull<5)
|
return InterestLevel.VERY_INTERESTING;
|
return InterestLevel.INTERESTING;
|
}
|
|
@Override
|
public boolean canHandleType(Class type) {
|
return true;
|
}
|
}
|