Het opsporen van anomalieën in gegevens is moeilijk, maar JFreeChart
kan het resultaat in ieder geval gemakkelijker visualiseren. Enkele heuristieken voor testen:
-
Om te controleren of de veronderstelde duplicaten in uw tabellijst inderdaad duplicaten zijn, formatteert u de tijdstempels zodat ze ook milliseconden bevatten, b.v. voeg een
S
toe naar eenSimpleDateFormat
ofA
naar eenDateTimeFormatter
. -
Geef voor onderzoek de zoekopdracht tijdelijk rechtstreeks door aan
JDBCXYDataset
, en voeg eenORDER BY
. toe clausule (niet getest):jds.executeQuery( "SELECT Date_Heure, PV, SV FROM cmd3 " + "WHERE Date_Heure BETWEEN " + "2020-06-25 00:00:00 AND 2020-06-26 00:00:00 " + "ORDER BY Date_Heure");
-
Knopinfo inschakelen in uw
ChartFactory
, zoals je hier deed , om gegevenswaarden in situ te zien . Dit kan aanvullende voorwaarden suggereren voor uwWHERE
clausule, bijv.PV BETWEEN 5.1 AND 5.9
. -
Gebruik de interactieve
JFreeChart
pan/zoom-bediening, hier besproken om de gegevens te onderzoeken; voeg geschikte knoppen toe, getoond hier , als het het voor collega's gemakkelijker maakt om uw bevindingen te zien. -
Door ontwerp,
JDBCXYDataset
voert een query uit die is gedefinieerd door eenString
. Als uw ontwerp gegevens moet weergeven van een zoekopdracht gedefinieerd door eenPreparedStatement
, kunt u de bestaande implementatie als een gids.public class PreparedDataset extends AbstractXYDataset implements XYDataset, TableXYDataset, RangeInfo { private final PreparedStatement ps; public PreparedDataset(PreparedStatement ps) { this.ps = ps; } … }