Sponsored Content
Full Discussion: Pivoting data with awk
Operating Systems Linux Pivoting data with awk Post 302971924 by patiljeevan3 on Wednesday 27th of April 2016 05:10:51 AM
Old 04-27-2016
Pivoting data with awk

Hi Friends,
I need to pivot data .
Below is my source data

Source Data
Code:
PK PRTY_KEY_ID PRTY_SUB_KEY_ID KEY_COL_VAL_TX MTCH_CNFDNCE_RATE
007824822 428844791 1 #Jemmy#Pom#600 Kearsarge Way 100
007824822 429283974 1 #Jemmy#Pom#120 Broadway 100
007824822 429739103 1 #Jemmy#Pom#600 Keae Way#757 90
007824822 429834732 1 #Jemmy#Pom###10128 80
007824822 429840574 1 #Jemmy#Pom###10271 80
007824822 429845694 1 #Jemmy#Pombriant###03801 80
369540998 428511642 1 #C Ann#Gracer#7320 Mundy Ln 100
369540998 429296516 1 #C Ann#Gracer#2150 Linda Dr 100
369540998 429855219 1 #C#Gracer###48356 80

===================================
I need output like below

Code:
PK PRTY_KEY_ID SUB_KEY MTCH_PRTY_KEY_ID KEY_COL_VAL_TX 
007824822 428844791 1 429739103 #Jemmy#Pom#600 Keae Way#757
007824822 428844791 1 429834732 #Jemmy#Pom###10128 
007824822 428844791 1 429840574 #Jemmy#Pom###10271 
007824822 428844791 1 429845694 #Jemmy#Pombriant###03801 
007824822 429840574 1 429739103 #Jemmy#Pom#600 Keae Way#757
007824822 429840574 1 429834732 #Jemmy#Pom###10128 
007824822 429840574 1 429840574 #Jemmy#Pom###10271 
007824822 429840574 1 429845694 #Jemmy#Pombriant###03801 
369540998 428511642 1 429855219 #C#Gracer###48356
369540998 429296516 1 429855219 #C#Gracer###48356

===================
For each 100 percent PRTY_KEY_ID for same PK, I need to list down its all 90 and 80's PRTY_KEY_ID
So for PK = 007824822, FOR first 100 % PRTY_KEY_ID (428844791), I will need four rows(3 FOR 80 and 1 for 90)
for PK =007824822, , For next 100% PRTY_KEY_ID (429840574),I will need four rows(3 FOR 80 and 1 for 90)
Thne next PK and so on

===============
Need your help

Thanks in advance.
Moderator's Comments:
Mod Comment Please use CODE tags when displaying sample input, sample output, and code segments as required by forum rules.

Last edited by Don Cragun; 04-27-2016 at 06:30 AM.. Reason: Add CODE tags.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Pivoting a Single column

Hi, Input ID|Name 1|a,b,c 2|d,e,f,g I would like to get output in the following format. Output ID|NAME 1|a 1|b 1|c 2|d 2|e 2|f 2|g (2 Replies)
Discussion started by: deepakwins
2 Replies

2. Shell Programming and Scripting

Pivoting Dynamic rows into columns

Original file we are getting ....... Item Period Amt P1 106 1000 P1 206 1500 P1 106 2000 P2 256 5800 P2 650 7500 My output should be like this Item 106 206 256 650 ............ P1 1000 1500 0 ... (1 Reply)
Discussion started by: dprakash
1 Replies

3. Shell Programming and Scripting

Help with pivoting

Hi, I need help on how to pivot the data in UNIX. I have one input file in which The facts(FACT1,FACT2..) and PERIOD(JAN,FEB..) are columns.I need to pivot the data. For Exampe The input file and output file looks like below. Could you please help with this using awk:). INPUT: ====== ... (1 Reply)
Discussion started by: Gayathricheruku
1 Replies

4. Shell Programming and Scripting

Vertical And Horizontal Pivoting

Hi All, My Input data is: A=1 B=2 My desired Output should be: A|B 1|2 Thanks in advance... (3 Replies)
Discussion started by: kmsekhar
3 Replies

5. Shell Programming and Scripting

Pivoting the data

Hello Unix guys, I have the following 4 column data, which is a output of db2 select query: Need to pivot the data. sample Input: Year Month Country Counts 2012 Aug Canada 114 2012 Aug USA 92 2012 Aug Mexico 3 2012 Aug ... (3 Replies)
Discussion started by: karumudi7
3 Replies

6. Shell Programming and Scripting

Pivoting using shell scripts

Hi , Please any one help using shell scripts achieve the below output(pivoting on top_cd i mean type code values will come as individual columns and fixed amount is value for that .Any help would be greate tx_id tx_amt typ_cd fixed_dis_amt 100 200 mc ... (3 Replies)
Discussion started by: mohan705
3 Replies

7. Homework & Coursework Questions

Help with pivoting table shell script

input file txt file 2000 1 name 2000 2 addr 2000 3 phone 2000 4 email 1000 1 name 1000 2 addr 1000 3 phone 1000 4 email 3000 1 name 3000 2 addr 3000 ... (4 Replies)
Discussion started by: senmatrix
4 Replies

8. UNIX for Beginners Questions & Answers

Pivoting values from column to rows

I/P: I/P: 2017/01/01 a 10 2017/01/01 b 20 2017/01/01 c 40 2017/02/01 a 10 2017/02/01 b 20 2017/02/01 c 30 O/P: a b c 2017/01/01 10 20 40 2017/02/01 10 20 30 (18 Replies)
Discussion started by: Booo
18 Replies

9. UNIX for Beginners Questions & Answers

Pivoting with awk

My input file(inputfile.txt): Job name.... EXTDPL_1 Created on.. 2018-11-19 14:00:00 Modified on. 2018-11-22 11:54:46 Job name.... EXTDPL_2 Created on.. 2018-11-21 12:31:27 Modified on. 2018-11-21 12:35:28 2 records listed. >Q expected output: Job name Created... (3 Replies)
Discussion started by: JSKOBS
3 Replies

10. UNIX for Beginners Questions & Answers

Pivoting data based on a header field

Hi Team, Could you please help me with the below scenario. I have a file which is in the below format. Zipcode,001,001f,002,002f,003,003f,004,004f,005,005f,006,006f,007,007f 0050, ,0, ,0, ,0, ,1,*,7, ,7, ,7 0060, ,0, ,0, ,7, ,0,*,7, ,0, ,0 Would need the output as below. First field... (1 Reply)
Discussion started by: saj
1 Replies
Tree::Simple::VisitorFactory(3pm)			User Contributed Perl Documentation			 Tree::Simple::VisitorFactory(3pm)

NAME
Tree::Simple::VisitorFactory - A factory object for dispensing Visitor objects SYNOPSIS
use Tree::Simple::VisitorFactory; my $tf = Tree::Simple::VisitorFactory->new(); my $visitor = $tf->get("PathToRoot"); # or call it as a class method my $visitor = Tree::Simple::VisitorFactory->getVisitor("PathToRoot"); DESCRIPTION
This object is really just a factory for dispensing Tree::Simple::Visitor::* objects. It is not required to use this package in order to use all the Visitors, it is just a somewhat convienient way to avoid having to type thier long class names. I considered making this a Singleton, but I did not because I thought that some people might not want that. I know that I am very picky about using Singletons, especially in multiprocess environments like mod_perl, so I implemented the smallest instance I knew how to, and made sure all other methods could be called as class methods too. METHODS
new Returns an minimal instance of this object, basically just a reference back to the package (literally, see the source if you care). get ($visitor_type) Attempts to load the $visitor_type and returns an instance of it if successfull. If no $visitor_type is specified an exception is thrown, if $visitor_type fails to load, and exception is thrown. getVisitor ($visitor_type) This is an alias of "get". AVAILABLE VISITORS
This distibution provides a number of Visitor objects which can be loaded just by giving their name. Below is a description of the available Visitors and a sort description of what they do. I have attempted to classify the Visitors into groups which are related to their use. This factory will load any module contained inside the Tree::Simple::Visitor::* namespace. Given a name, it will attempt to "require" the module Tree::Simple::Visitor::<Name>.pm. This allows others to create Visitors which can be accessed with this factory, without needed to include them in this distrobution. Search/Path Related Visitors PathToRoot Given a Tree::Simple object, this Visitor will find the path back to the tree's root node. FindByPath Given a path and Tree::Simple hierarchy, this Visitor will attempt to find the node specified by the path. FindByUID Given a UID and Tree::Simple hierarchy, this Visitor will attempt to find the node with the same UID. FindByNodeValue Given a node value and Tree::Simple hierarchy, this Visitor will attempt to find the node with the same node value. Traversal Visitors BreadthFirstTraversal This implements a breadth-first traversal of a Tree::Simple hierarchy. PostOrderTraversal Post-order traversal is a variation of the depth-first traversal in which the sub-tree's are processed before the parent. PreOrderTraversal Pre-order traversal is a depth-first traversal method in which the sub-tree's are processed after the parent. FileSystem Visitors LoadDirectoryTree This visitor can be used to load a directory tree into a Tree::Simple hierarchy. CreateDirectoryTree This visitor can be used to create a set of directories and files from a Tree::Simple object hierarchy. Conversion Visitors FromNestedArray Given a tree constructed from nested arrays, this Visitor will create the equivalent Tree::Simple heirarchy. ToNestedArray Given a Tree::Simple heirarchy, this Visitor will create the equivalent tree constructed from nested arrays. FromNestedHash Given a tree constructed from nested hashs, this Visitor will create the equivalent Tree::Simple heirarchy. ToNestedHash Given a Tree::Simple heirarchy, this Visitor will create the equivalent tree constructed from nested hashes. Reflective Visitors LoadClassHierarchy Given a class name or instance, this Visitor will create a Tree::Simple hierarchy which models the classes inheritance heirarchy. Misc. Visitors GetAllDescendents Given a Tree::Simple instance this Visitor will return all the descendents recursively on down the hierarchy. Sort This implements a multi-level sort of a Tree::Simple heirarchy. VariableDepthClone A Visitor for cloning parts of Tree::Simple hierarchy BUGS
None that I am aware of. Of course, if you find a bug, let me know, and I will be sure to fix it. CODE COVERAGE
I use Devel::Cover to test the code coverage of my tests, below is the Devel::Cover report on this module test suite. -------------------------------------------- ------ ------ ------ ------ ------ ------ ------ File stmt branch cond sub pod time total -------------------------------------------- ------ ------ ------ ------ ------ ------ ------ Tree/Simple/VisitorFactory.pm 100.0 100.0 n/a 100.0 100.0 0.4 100.0 Tree/Simple/Visitor/BreadthFirstTraversal.pm 100.0 100.0 66.7 100.0 100.0 2.5 96.3 Tree/Simple/Visitor/PostOrderTraversal.pm 100.0 100.0 77.8 100.0 100.0 1.7 96.3 Tree/Simple/Visitor/PreOrderTraversal.pm 100.0 n/a 33.3 100.0 100.0 0.7 90.5 Tree/Simple/Visitor/CreateDirectoryTree.pm 100.0 85.7 86.7 100.0 100.0 3.4 95.8 Tree/Simple/Visitor/LoadClassHierarchy.pm 100.0 73.1 33.3 100.0 100.0 4.9 89.2 Tree/Simple/Visitor/LoadDirectoryTree.pm 100.0 89.3 85.2 100.0 100.0 26.1 94.7 Tree/Simple/Visitor/FindByNodeValue.pm 100.0 100.0 86.7 100.0 100.0 3.1 98.3 Tree/Simple/Visitor/FindByPath.pm 100.0 100.0 66.7 100.0 100.0 1.2 97.9 Tree/Simple/Visitor/FindByUID.pm 100.0 100.0 86.7 100.0 100.0 2.9 98.3 Tree/Simple/Visitor/GetAllDescendents.pm 100.0 100.0 77.8 100.0 100.0 2.3 97.1 Tree/Simple/Visitor/PathToRoot.pm 100.0 87.5 75.0 100.0 100.0 0.8 95.1 Tree/Simple/Visitor/Sort.pm 100.0 100.0 77.8 100.0 100.0 8.8 98.1 Tree/Simple/Visitor/ToNestedArray.pm 100.0 100.0 66.7 100.0 100.0 1.5 96.5 Tree/Simple/Visitor/ToNestedHash.pm 100.0 100.0 66.7 100.0 100.0 1.4 96.5 Tree/Simple/Visitor/FromNestedArray.pm 100.0 94.4 81.8 100.0 100.0 8.1 96.6 Tree/Simple/Visitor/FromNestedHash.pm 100.0 91.7 77.8 100.0 100.0 4.8 95.9 Tree/Simple/Visitor/VariableDepthClone.pm 100.0 100.0 66.7 100.0 100.0 25.5 97.3 -------------------------------------------- ------ ------ ------ ------ ------ ------ ------ Total 100.0 93.8 76.3 100.0 100.0 100.0 96.1 -------------------------------------------- ------ ------ ------ ------ ------ ------ ------ SEE ALSO
These Visitor classes are meant to work with Tree::Simple hierarchies, you should refer to that module for more information. AUTHOR
stevan little, <stevan@iinteractive.com> COPYRIGHT AND LICENSE
Copyright 2004, 2005 by Infinity Interactive, Inc. <http://www.iinteractive.com> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2005-11-28 Tree::Simple::VisitorFactory(3pm)
All times are GMT -4. The time now is 12:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy