Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^3: Refer calculated fields

by Corion (Pope)
on Feb 11, 2020 at 19:09 UTC ( #11112798=note: print w/replies, xml ) Need Help??

in reply to Re^2: Refer calculated fields
in thread Refer calculated fields

No - with (pure) Perl, you will have to calculate such stuff yourself.

What you can do is map your Array of Hashes to a DBD::SQLite table, backed by your Perl data structure and then just use SQL to query your Perl data structures:

use DBI; use DBD::SQLite; # ... sub import_data( $self, $book ) { my $dbh = DBI->connect('dbi:SQLite:dbname=:memory:',undef,undef,{A +utoCommit => 1, RaiseError => 1,PrintError => 0}); $dbh->sqlite_create_module(perl => "DBD::SQLite::VirtualTable::Per +lData"); my $sql_name = "mytable"; my $colnames = join ", ", qw(PvcCount LCir RCir); local $table_000 = \@data; my $tablevar = __PACKAGE__ . '::table_000'; my $sql = qq(CREATE VIRTUAL TABLE temp."$sql_name" USING perl($col +names, arrayrefs="$tablevar");); $dbh->do($sql); my $sum = $dbh->selectall_arrayref(<<'SQL'); select sum( PvcCount ) , sum(LCir) , sum(RCir) , EquipName from mytable group by EquipName SQL

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11112798]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2020-05-29 14:33 GMT
Find Nodes?
    Voting Booth?
    If programming languages were movie genres, Perl would be:

    Results (169 votes). Check out past polls.