in reply to Query Data for Data-Pivot

I have some problems understanding your question. It seems you have your data in an array, i.e. @{$array_ref}. Note you can use this dereferenced array reference anywhere you need an array

Now Data::Pivot seems to need an Array of Arrays (often called simply AoA) for @table. And you probably have the data just in a simple array. Is that what you are getting at? In that case the following code would work (provided that you stored the number of columns into $columns):

my @table=(); my $row=0; while (@{$array_ref}) { for (1..$columns) { push @{$table[$row]}, shift @{$array_ref}; } $row++; }

Now you can call pivot. To get the data into a simple array again you can use this:

my @table_linear; map { push @table_linear, @{$_} }, @table;

or, if you prefer loops:

my @table_linear; foreach (@table) { push @table_linear, @{$_} }

If that isn't the answer to your question, please provide examples

Replies are listed 'Best First'.
Re^2: Query Data for Data-Pivot
by cocl04 (Sexton) on Nov 20, 2009 at 14:49 UTC

    I appreciate you help. I was able to get it to work. I was also able to create an array using the following:

    foreach $i(0..$#{$a_row}) { foreach $j (0..$#{$a_row->[$i]} ) { $array[$i][$j] = $a_row->[$i][$j]; } } print Dumper(\@array);

    I don't like the Data-Pivot module. It is not pivoting my dates to be the column headers like I want. So, I am going to try Win32::OLE. I just don't know if I can feed the data to a spreadsheet without specifing the range of the spreadsheet. With Spreadsheet::WriteExcel it loads the data to the end of file. All of the examples of Win32::OLE are asking for a range. I am trying to load data from a query where I don't know the range. Anyway, I appreciate you help.