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
Stoe naar eenSimpleDateFormatofAnaar 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 uwWHEREclausule, bijv.PV BETWEEN 5.1 AND 5.9. -
Gebruik de interactieve
JFreeChartpan/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,
JDBCXYDatasetvoert 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; } … }