Sponsored Content
Full Discussion: Pivot table
Top Forums Shell Programming and Scripting Pivot table Post 302287812 by gio001 on Sunday 15th of February 2009 05:54:52 PM
Old 02-15-2009
Pivot table

Hello everyone,
I would like to use awk to parse a file with three columns in, like:
monday 0 1
monday 1 1
monday 2 1
monday 3 1
monday 4 1
monday 5 1
tuesday 0 5
tuesday 1 1
tuesday 2 1
tuesday 3 1
tuesday 4 1
wednesday 0 1
monday 5 25

they represent the day the hour and the number of transactions.
There are thousand of lines, I would like to generate a single table
with hours as headers, the row name will be the day name, and the cells will be the average number of transaction for that day name in that particular hour like:
=========== 0 1 2 3 4 5 6 7 ... 23
Monday xxx xxx xxx ... . . . . . . . . . . . . . .
Tuesday xxx xxx xxx ... . . . . . . . . . . . . . .
Wednesday xxx xxx xxx ... . . . . . . . . . . . . . .
.
.
.
Sunday xxx xxx xxx ... . . . . . . . . . . . . . .

I only have access to the standard AWK, no gawk ....
I hope you understand and can help.
Thanks.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

pivot

I have a sql table with : Acitvity Date Value ABC 7/11 10 DEF 7/11 98 ABC 7/12 23 DEF 7/12 100 SER 7/12 67 GRH 7/13 123 HJY 7/14 12 I... (4 Replies)
Discussion started by: mukhanj
4 Replies

2. Shell Programming and Scripting

Create Pivot table

I would like to use awk to parse a file with three columns in, like: Chennai,01,1 Chennai,07,1 Chennai,08,3 Chennai,09,6 Chennai,10,12 Chennai,11,19 Chennai,12,10 Chennai,13,12 Kerala,09,2 AP,10,1 AP,11,1 Delhi,13,1 Kerala,13,3 Chennai,00,3 Chennai,01,1 Chennai,02,1 Chennai,07,5 (3 Replies)
Discussion started by: boston_nilesh
3 Replies

3. Shell Programming and Scripting

Pivot script

Hi Please suggest a script that would do a horizontal pivot , on the fields separated by a semicolon Below is my input file 1|c2|aa 1|c3|dd 1|c4|cc 1|c5|aa 1|c6|ss 1|c7|dd 1|c8|bb 1|c9|jjj 1|c10|kkk 1|c11|fffg 1|c12|nnn;indi;pak;linf;wer 1|c13|lllnk;li;sdfsd;oiuo 1|c14|ppp... (5 Replies)
Discussion started by: mabarif16
5 Replies

4. UNIX for Dummies Questions & Answers

Pivot multiple

Dear friend, I want to sum popul based on ville and reg. input date country ville reg popul 20131101 INDIA Gujarat College 322047286 20131101 USA Oregon 2 Kindergaten 477305599 20131101 INDIA Delhi 1 Ecole 255029428 20131101 MEXICO ... (2 Replies)
Discussion started by: radius
2 Replies

5. Shell Programming and Scripting

Pivot using awk

Hi, I am writing a code to basically pivot the data. awk -v var1="" -v var2="" -v var3="" -v var4="" -v var5="" -v Disp=0\ 'BEGIN {FS=":"; OFS="|";}\ /^Pattern1/ {var1=$2;Disp=0;} \ /^Pattern2/ {var2=$2;} \ /^Pattern3/ {var3=$2;} \ /^Pattern4/ {var4=$2;} \ /^Pattern5/... (5 Replies)
Discussion started by: tostay2003
5 Replies

6. Shell Programming and Scripting

Create a pivot table from CSV file

Gents, Can you please help me to create a pivot table from a csv file. ( I have zip the csv file) Using the file attached, columns 1,28 and 21 i would like to get something like this output JD Val 1 2 3 4 5 6 7 8 9 10 11 12 Total... (4 Replies)
Discussion started by: jiam912
4 Replies

7. UNIX for Beginners Questions & Answers

Data Pivot

Good Day, I have file input 6285296582710|20170509|INDOTEL 6285296835209|20170509|INDOTEL 6285296940311|20170509|INDOTEL 6285297027737|20170509|MULTIFLAG 6285297027737|20170509|DELTA 6285297304373|20170510|INDOTEL 6285297384129|20170510|INDOTEL 6285296940311|20170510|MULTIFLAG... (2 Replies)
Discussion started by: radius
2 Replies

8. Shell Programming and Scripting

Awk- Pivot Table Averages

Hi everyone, Has anyone figured out yet how to do pivot table averages using AWK. I didn't see anything with regards to doing averages. For example, suppose you have the following table with various individuals and their scores in round1 and round2: SAMPLE SCORE1 SCORE2 British ... (6 Replies)
Discussion started by: Geneanalyst
6 Replies

9. Programming

DB Query for Pivot

hi team With below results in Db2 v10.5 . Please refer column A and B are same,while Staus column defers with distinct values . A B STATUS Insert Update Old Insert Update New Insert Update Final Can someone guide how to... (2 Replies)
Discussion started by: Perlbaby
2 Replies

10. Shell Programming and Scripting

Pivot example

Hi all, I am new to shell scripting so pardon me for the questions I will be asking. I was given a task where I have to pivot my data Example Source SGPAPCTUMACCHEA Expected output SGP APC TUM SGP APC ACC SGP APC HEA Can anybody assist me on this?Please use CODE tags as required... (3 Replies)
Discussion started by: redaela
3 Replies
XMLForm(3pm)						User Contributed Perl Documentation					      XMLForm(3pm)

NAME
CGI::XMLForm - Extension of CGI.pm which reads/generates formated XML. NB: This is a subclass of CGI.pm, so can be used in it's place. SYNOPSIS
use CGI::XMLForm; my $cgi = new CGI::XMLForm; if ($cgi->param) { print $cgi->header, $cgi->pre($cgi->escapeHTML($cgi->toXML)); } else { open(FILE, "test.xml") or die "Can't open: $!"; my @queries = ('/a', '/a/b*', '/a/b/c*', /a/d'); print $cgi->header, $cgi->pre($cgi->escapeHTML( join " ", $cgi->readXML(*FILE, @queries))); } DESCRIPTION
This module can either create form field values from XML based on XQL/XSL style queries (full XQL is _not_ supported - this module is designed for speed), or it can create XML from form values. There are 2 key functions: toXML and readXML. toXML The module takes form fields given in a specialised format, and outputs them to XML based on that format. The idea is that you can create forms that define the resulting XML at the back end. The format for the form elements is: <input name="/body/p/ul/li"> which creates the following XML: <body> <p> <ul> <li>Entered Value</li> </ul> </p> </body> It's the user's responsibility to design appropriate forms to make use of this module. Details of how come below... Also supported are attribute form items, that allow creation of element attributes. The syntax for this is: <input name="/body/p[@id='mypara' and @onClick='someFunc()']/@class"> Which creates the following XML: <body> <p id="mypara" onClick="someFunc()" class="Entered Value"></p> </body> Also possible are relative paths. So the following form elements: <input type="hidden" name="/table/tr"> <input type="text" name="td"> <input type="text" name="td"> <input type="text" name="../tr/td"> Will create the following XML: <table> <tr> <td>value1</td> <td>value2</td> </tr> <tr> <td>value3</td> </tr> </table> SYNTAX
The following is a brief syntax guideline Full paths start with a "/" : "/table/tr/td" Relative paths start with either ".." or just a tag name. "../tr/td" "td" Relative paths go at the level above the previous path, unless the previous path was also a relative path, in which case it goes at the same level. This seems confusing at first (you might expect it to always go at the level above the previous element), but it makes your form easier to design. Take the following example: You have a timesheet (see the example supplied in the archive) that has monday,tues- day,etc. Our form can look like this: <input type="text" name="/timesheet/projects/project/@Name"> <input type="text" name="monday"> <input type="text" name="tuesday"> ... Rather than: <input type="text" name="/timesheet/projects/project/@Name"> <input type="text" name="monday"> <input type="text" name="../tuesday"> <input type="text" name="../wednesday"> ... If unsure I recommend using full paths, relative paths are great for repeating groups of data, but weak for heavily structured data. Pic- ture the following paths: /timesheet/employee/name/forename ../surname title ../department This actually creates the following XML: <timesheet> <employee> <name> <forename>val1</forname> <surname>val2</surname> <title>val3></title> </name> <department>val4</department> </employee> </timesheet> Confusing eh? Far better to say: /timesheet/employee/name/forename /timesheet/employee/name/surname /timesheet/employee/name/title /timesheet/employee/department Or alternatively, better still: /timesheet/employee/name (Make hidden and no value) forename surname title ../department Attributes go in square brackets. Attribute names are preceded with an "@", and attribute values follow an "=" sign and are enclosed in quotes. Multiple attributes are separated with " and ". /table[@bgcolor="blue" and @width="100%"]/tr/td If setting an attribute, it follows after the tag that it is associated with, after a "/" and it's name is preceded with an "@". /table/@bgcolor readXML readXML takes either a file handle or text as the first parameter and a list of queries following that. The XML is searched for the queries and it returns a list of tuples that are the query and the match. It's easier to demonstrate this with an example. Given the following XML: <a>Foo <b>Bar <c>Fred</c> <c>Blogs</c> </b> <b>Red <c>Barbara</c> <c>Cartland</c> </b> <d>Food</d> </a> And the following queries: /a /a/b* c* /a/d it returns the following result as a list: /a Foo /a/b Bar c Fred c Blogs /a/b Red c Barbara c Cartland /a/d Food (NB: This is slightly incorrect - for /a and /a/b it will return "Foo " and "Bar " respectively). The queries support relative paths like toXML (including parent paths), and they also support wildcards using ".*" or ".*?" (preferably ".*?" as it's probably a better match). If a wildcard is specified the results will have the actual value substituted with the wildcard. Wildcards are a bit experimental, so be careful ;-) Caveats There are a few caveats to using this module: AUTHOR
Matt Sergeant msergeant@ndirect.co.uk, sergeant@geocities.com Based on an original concept, and discussions with, Jonathan Eisenzopf. Thanks to the Perl-XML mailing list for suggesting the XSL syntax. Special thanks to Francois Belanger (francois@sitepak.com) for his mentoring and help with the syntax design. SEE ALSO
CGI(1), CGI::XML perl v5.8.8 2005-01-18 XMLForm(3pm)
All times are GMT -4. The time now is 04:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy