<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Corbel;
        panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Century Gothic";
        panose-1:2 11 5 2 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Century Gothic","sans-serif";
        color:#002060;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><font size="2" color="#002060" face="Century Gothic"><span style="font-size:10.0pt;font-family:&quot;Century Gothic&quot;,&quot;sans-serif&quot;;color:#002060">My brain hurts thinking about it.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#002060" face="Century Gothic"><span style="font-size:10.0pt;font-family:&quot;Century Gothic&quot;,&quot;sans-serif&quot;;color:#002060"><o:p>&nbsp;</o:p></span></font></p>
<p class="MsoNormal"><b><font size="2" color="#002060" face="Century Gothic"><span style="font-size:10.5pt;font-family:&quot;Century Gothic&quot;,&quot;sans-serif&quot;;color:#002060;font-weight:bold">Tracy Johnson<o:p></o:p></span></font></b></p>
<p class="MsoNormal"><font size="2" color="#002060" face="Century Gothic"><span style="font-size:10.5pt;font-family:&quot;Century Gothic&quot;,&quot;sans-serif&quot;;color:#002060">00 1 757 766 4318 tel<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#002060" face="Century Gothic"><span style="font-size:10.5pt;font-family:&quot;Century Gothic&quot;,&quot;sans-serif&quot;;color:#002060">00 1 757 755-6470 mobile<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#002060" face="Century Gothic"><span style="font-size:10.0pt;font-family:&quot;Century Gothic&quot;,&quot;sans-serif&quot;;color:#002060"><o:p>&nbsp;</o:p></span></font></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> powerh-l-bounces&#43;tracy.johnson=meas-spec.com@lists.sowder.com
 [mailto:powerh-l-bounces&#43;tracy.johnson=meas-spec.com@lists.sowder.com] <b><span style="font-weight:bold">On Behalf Of
</span></b>Matt Ohmes<br>
<b><span style="font-weight:bold">Sent:</span></b> Thursday, March 05, 2015 6:57 PM<br>
<b><span style="font-weight:bold">To:</span></b> PowerHouse listserver<br>
<b><span style="font-weight:bold">Subject:</span></b> Hierarchical vs. Parallel linkage<o:p></o:p></span></font></p>
</div>
</div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><o:p>&nbsp;</o:p></span></font></p>
<p class="MsoNormal"><tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Hi all,</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">I promised I would write up something on the differences between Hierarchical and Parallel linkage in Quiz (and QTP), so here we go. (And for those of you who know all this already, please
 forgive my trip down memory lane.)</span></font></tt> <br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Oh, and I'm assuming no bugs in the product regarding syntax. :-)</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Differences between Hierarchical and Parallel linkage in Quiz (and QTP)</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">In all examples below, we will use 3 files. Assume all are indexed files, keyed on Emp_No</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">File Employees: 5 records;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Emp_No &nbsp;Emp_Name</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; Mary</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">3 &nbsp; &nbsp; &nbsp; Pat</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">4 &nbsp; &nbsp; &nbsp; Kim</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">5 &nbsp; &nbsp; &nbsp; Sean</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">File Paychecks: 5 records</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Emp_No &nbsp;Pay_Date &nbsp; &nbsp;Amt</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; 2015-01-01 &nbsp;100 &nbsp; &nbsp; (Bob)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; 2015-01-15 &nbsp;200 &nbsp; &nbsp; (Bob)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; 2015-01-01 &nbsp;300 &nbsp; &nbsp; (Mary)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; 2015-01-15 &nbsp;400 &nbsp; &nbsp; (Mary)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">3 &nbsp; &nbsp; &nbsp; 2015-01-15 &nbsp;600 &nbsp; &nbsp; (Pat)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Note: 4 Kim and 5 Sean just started and have not been paid yet)</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">File Dependents: 4 records;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Emp_No &nbsp;Dep_Name</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob Jr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(Bob's 1st dependent)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bobbie &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(Bob's 2nd dependent)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; Marie &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (Mary's dependent)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">5 &nbsp; &nbsp; &nbsp; Shawn &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (Sean's dependent)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Note: 3 Pat and 4 Kim do not have any dependents</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">This will be my Report statement for ALL examples:</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Report &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; Emp_No of Employees &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; Emp_Name of Employees &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; Pay_Date of Paychecks &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; Amt of Paychecks &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; Dep_Name of Dependents</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; </span></font></tt><br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">First Hierarchical linkage:</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Access Employees &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; Link Emp_No of Employees to Emp_No of Paychecks &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; Link Emp_No of Employees to Emp_No of Dependents</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Emp_No &nbsp;Emp_Name &nbsp; &nbsp;Pay_Date &nbsp; &nbsp;Amt &nbsp; &nbsp; Dep_Name</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-01 &nbsp;100 &nbsp; &nbsp; Bob Jr</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-01 &nbsp;100 &nbsp; &nbsp; Bobbie</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-15 &nbsp;200 &nbsp; &nbsp; Bob Jr</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-15 &nbsp;200 &nbsp; &nbsp; Bobbie</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; Mary &nbsp; &nbsp; &nbsp; &nbsp;2015-01-01 &nbsp;300 &nbsp; &nbsp; Marie</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; Mary &nbsp; &nbsp; &nbsp; &nbsp;2015-01-15 &nbsp;400 &nbsp; &nbsp; Marie</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Obvious problems. Pat, Kim, and Sean are not showing up at all because no files are optional. I'm assuming the use of Optional in hierarchical linkage is well understood so I won't go into
 that discussion here. This post is about parallel linkage. :-)</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">A bigger problem with the report is that paycheck and dependent records are being duplicated. Hierarchical linkage is simply wrong for this data; the results make no sense.
</span></font></tt><br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Using hierarchical linkage for this data is essentially saying, for each paycheck an employee has received, read down the list of all their dependents. That makes no sense. Just as it would
 make no sense to say, for each dependent an employee has, show me every time they have been paid. &nbsp;The number of paychecks I receive is based on how long I have worked for my employeer, not how many dependents I have. &nbsp;Similarly, the number of dependents I
 have is not based on how long I have worked for my employer. &nbsp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Paychecks and Dependents are both, obviously related to Employees, but they are NOT RELATED TO ONE ANOTHER. &nbsp;</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Instead of one of these files &quot;driving&quot; the other, they should be read in parallel; i.e. at the same time. &nbsp;THIS is why we have parallel linkage. &nbsp;Parallel linkage is saying, for each employee,
 show me each of their paychecks AND each of their dependents.</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Let's try parallel linkage in the Access statement and what that does to our report results.</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Access Employees &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; Link Emp_No of Employees to Emp_No of Paychecks &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; AND Emp_No of Employees to Emp_No of Dependents
</span></font></tt><br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; </span></font></tt><br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Emp_No &nbsp;Emp_Name &nbsp; &nbsp;Pay_Date &nbsp; &nbsp;Amt &nbsp; &nbsp; Dep_Name</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-01 &nbsp;100 &nbsp; &nbsp; Bob Jr</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-15 &nbsp;200 &nbsp; &nbsp; Bobbie</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; Mary &nbsp; &nbsp; &nbsp; &nbsp;2015-01-01 &nbsp;300 &nbsp; &nbsp; Marie</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; Mary &nbsp; &nbsp; &nbsp; &nbsp;2015-01-15 &nbsp;400</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">3 &nbsp; &nbsp; &nbsp; Pat &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-15 &nbsp;600</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">5 &nbsp; &nbsp; &nbsp; Sean &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Shawn</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">This makes more sense for this data. &nbsp;Each paycheck is reported once and each dependent is reported once. &nbsp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Notice, as long as there is at least one record FROM ANY of the parallel files you get a record complex returned. Parallel files are, more or less, &quot;semi-optional&quot;.</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">However, also notice employee 4 Kim was not reported. &nbsp;This was because Kim did not have any paychecks (yet) or dependents. If you want to see Kim on the report as well, make ANY of the parallel
 files optional; it doesn't make any difference which one because of the &quot;semi-optional&quot; nature of parallel files.</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Access Employees &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; Link Emp_No of Employees to Emp_No of Paychecks &amp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; AND Emp_No of Employees to Emp_No of Dependents Optional</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp; &nbsp; </span></font></tt><br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Emp_No &nbsp;Emp_Name &nbsp; &nbsp;Pay_Date &nbsp; &nbsp;Amt &nbsp; &nbsp; Dep_Name</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-01 &nbsp;100 &nbsp; &nbsp; Bob Jr</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">1 &nbsp; &nbsp; &nbsp; Bob &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-15 &nbsp;200 &nbsp; &nbsp; Bobbie</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; Mary &nbsp; &nbsp; &nbsp; &nbsp;2015-01-01 &nbsp;300 &nbsp; &nbsp; Marie</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">2 &nbsp; &nbsp; &nbsp; Mary &nbsp; &nbsp; &nbsp; &nbsp;2015-01-15 &nbsp;400</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">3 &nbsp; &nbsp; &nbsp; Pat &nbsp; &nbsp; &nbsp; &nbsp; 2015-01-15 &nbsp;600</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">4 &nbsp; &nbsp; &nbsp; Kim</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">5 &nbsp; &nbsp; &nbsp; Sean &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Shawn</span></font></tt>
<br>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">To be honest, parallel linkage is not that common. It is fair to ask, &quot;If two files aren't related to one another, why are you writing a report with both of them on it?&quot; &nbsp;But it does have
 its uses from time to time.</span></font></tt> <br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">&nbsp;</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">I hope that explanation helps. (It was fun writing about good old Quiz again after all these years.)</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Cheers,</span></font></tt>
<br>
<tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Matt</span></font></tt><o:p></o:p></p>
</div>
</div>
</body>
</html>