Quiq::Database::DataAnalysis - Führe Datenanalyse durch
Quiq::Hash
Führe eine Analyse auf den Daten einer Relation (Tabelle oder View) oder eines SQL-Statements durch, das Daten liefert (üblicherweise ein SELECT-Statement). Das Analyseergebnis kann mit den Methoden der Klasse ausgegeben werden.
$obj = $class->new($db,@select,@opt);
Datenbankverbindung
Name einer Relation oder Komponenten eines SELECT-Statements. Siehe Quiq::Sql->select().
Siehe Quiq::Database::Connection/sql().
Bis zu dieser Anzahl an unterschiedlichen Werten werden diese einzelnen Werte in der Kolumne "DISTINCT <column>" aufgezählt.
Bis zu dieser Länge werden die Werte der Kolumnen "MIN(<column>)" und "MAX(<column>)" angezeigt. Längere Werte werden auf die Länge $n-3 gekürzt und um drei Punkte (...) ergänzt.
Objekt mit dem Ergebnis der Datenanalyse.
Führe eine Datenanalyse für Datenquelle @select (Tabelle, View, Statement) durch und liefere ein Objekt, das das Analyseergebnis repräsentiert, zurück. Folgende Information wird für alle Kolumnen der Datenquelle ermittelt:
COUNT(DISTINCT <column>) - Anzahl der verschiedenen Werte COUNT(<column>) - Anzahl der Werte, die nicht NULL sind MIN(LENGTH(<column>)) - Länge des kürzesten Werts MAX(LENGTH(<column>)) - Länge des längsten Werts MIN(<column>) - Kleinster Wert (gemäß Datentyp) MAX(<column>) - Größter Wert (gemäß Datentyp)
Ferner wird ermittelt:
COUNT(1) - Anzahl aller Zeilen der Datenquelle
Das Ergebnis der Analyse kann mit der Methode $obj->asTable() ausgegeben werden.
Datenanalyse einer Tabelle q06i001, die Ergebnismenge wird einen Tag gecacht:
print Quiq::Database::DataAnalysis->new($db,'q06i001',-cache=>86400)->asTable; __END__ q06i001 30.088.616 rows 1 <column> 2 COUNT(DISTINCT <column>) 3 COUNT(<column>) 4 MIN(LENGTH(<column>)) 5 MAX(LENGTH(<column>)) 6 MIN(<column>) 7 MAX(<column>) 8 DISTINCT <column> 1 2 3 4 5 6 7 8 | fid | 101 | 30.088.616 | 1 | 3 | 0 | 808 | | | ag | 5 | 30.088.616 | 2 | 2 | 25 | 29 | 25, 26, 27, 28, 29 | | kdnr | 2.805.719 | 30.088.616 | 9 | 9 | 111111200 | 900002009 | | | vsnr | 2.971.673 | 30.088.616 | 6 | 9 | 230243 | 999999999 | | | lfd_nr | 439 | 30.088.616 | 1 | 3 | 1 | 439 | | | com_dat | 1 | 30.088.616 | 1 | 1 | 0 | 0 | 0 | | wirk_dat | 12.553 | 30.088.616 | 7 | 7 | 1000101 | 2190731 | | | vwnd_kz | 1 | 30.088.616 | 1 | 1 | 0 | 0 | 0 | | cur_dat | 8.408 | 30.088.616 | 1 | 7 | 0 | 2190418 | | | va | 18 | 30.088.616 | 1 | 2 | 0 | 99 | | | nf | 11.855 | 30.088.616 | 1 | 7 | 0 | 2990101 | | | sost_kz | 3 | 30.088.616 | 1 | 1 | 0 | 2 | 0, 1, 2 | | stor_dat | 12.762 | 30.088.616 | 1 | 7 | 0 | 2990101 | | | berech_ab | 11.950 | 30.088.616 | 1 | 7 | 0 | 2190630 | | | ges_beitr_brt | 543.939 | 30.088.616 | 4 | 11 | -1717145.01 | 9944894.74 | | | fpr_stop_kz | 4 | 30.088.616 | 0 | 1 | | 3 | '', 1, 2, 3 | | umstlg_kz | 3 | 30.088.616 | 1 | 1 | 0 | 2 | 0, 1, 2 | | masch_aend_grd | 25 | 30.088.616 | 1 | 2 | 0 | 99 | | | nnr | 1.093 | 30.088.616 | 1 | 4 | 0 | 9998 | | | lfd_tp_nr | 277 | 30.088.616 | 1 | 3 | 1 | 277 | | | lg_zt | 30.088.616 | 30.088.616 | 24 | 24 | 060508000100001000000033 | 190418160157999000007760 | | | tech_ab | 12.553 | 30.088.616 | 10 | 10 | 1900-01-01 | 2019-07-31 | | | tech_bis | 12.293 | 30.088.616 | 10 | 10 | 1900-01-01 | 9999-12-31 | | | upd_dat | 5.572 | 30.088.616 | 19 | 26 | 2006-05-10 08:13:11 | 2019-04-19 00:02:05.66096 | | 24 columns
$str = $obj->asTable;
1.151
Frank Seitz, http://fseitz.de/
Copyright (C) 2019 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.