<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Join Bedingungen in JSL übertragen in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/368164#M61803</link>
    <description>&lt;P&gt;Thanks IH, for your answer!&lt;/P&gt;&lt;P&gt;I changed the lines in the script according to your suggestion. But it still doesn't work. In the log I find this remark:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;expecting string in access or evaluation of 'exAdj' , exAdj/*###*/&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;at line 212 in Script.jsl&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Line 212 is exactly the line you mentioned in your suggestion. Because of this remark, I have changed the script to the form I showed above first.&lt;/P&gt;&lt;P&gt;Other ideas are welcome!&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Markus&lt;/P&gt;</description>
    <pubDate>Tue, 16 Mar 2021 07:58:38 GMT</pubDate>
    <dc:creator>markus</dc:creator>
    <dc:date>2021-03-16T07:58:38Z</dc:date>
    <item>
      <title>Join Bedingungen in JSL übertragen</title>
      <link>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/365169#M61455</link>
      <description>&lt;P&gt;Ich habe mit JMP Query Builder ein Skript erstellt, das 2 Tabellen zusammenführen soll. Das funktioniert auch gut. Jedoch wenn ich das Skript modifiziere, verliert es den ursprünglichen Bezug, was Tabelle 1 und was 2 war.&lt;/P&gt;
&lt;P&gt;Das Problem ist Zeile 209 im Skript. Es bleibt an dieser Stelle immer hängen und findet die beiden Tabellen nicht.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );

//Select file: 1st: Adj &amp;amp; 2nd: Align

myAdj = Pick File(
"Select JMP File",
"...\Adj.xlsx"
);

myAlign = Pick File(
"Select JMP File",
"Align.xlsx");

// Open xlsx Files and import to JMP

exAdj = Open(
 myAdj, 
 invisible,
 Worksheets( "Tabelle1" ),
 Use for all sheets( 1 ),
 Concatenate Worksheets( 0 ),
 Create Concatenation Column( 0 ),
 Worksheet Settings(
  1,
  Has Column Headers( 1 ),
  Number of Rows in Headers( 1 ),
  Headers Start on Row( 1 ),
  Data Starts on Row( 2 ),
  Data Starts on Column( 1 ),
  Data Ends on Row( 0 ),
  Data Ends on Column( 0 ),
  Replicated Spanned Rows( 1 ),
  Replicated Spanned Headers( 0 ),
  Suppress Hidden Rows( 1 ),
  Suppress Hidden Columns( 1 ),
  Suppress Empty Columns( 1 ),
  Treat as Hierarchy( 0 ),
  Multiple Series Stack( 0 ),
  Import Cell Colors( 0 ),
  Limit Column Detect( 0 ),
  Column Separator String( "-" ),
  Column Numeric Format( Index( 0 ), Column Name( ID ), Format( "Best", 9 ) )
 )
);
exAdj &amp;lt;&amp;lt; new column("TestRun_max", "numeric", "contiuous", Formula(If( :TestRun == Col Maximum( :TestRun, :ProductionNumber ),
 1,
 0
) ));
exAdj:SerialNumber &amp;lt;&amp;lt; Set Data Type( "Character" );
exAdj:SerialNumber &amp;lt;&amp;lt; set modeling type ("nominal");
exAdj:ProductionNumber &amp;lt;&amp;lt; Set Data Type( "Character" );
exAdj:ProductionNumber &amp;lt;&amp;lt; set modeling type ("nominal");
exAdj &amp;lt;&amp;lt; select where( :TestRun_max != 1);
exAdj &amp;lt;&amp;lt; wait();
exAdj &amp;lt;&amp;lt; delete rows;
exAdj &amp;lt;&amp;lt; select where(is missing(:TestRun));
exAdj &amp;lt;&amp;lt; wait();
exAdj &amp;lt;&amp;lt; delete rows;
exAdj &amp;lt;&amp;lt; set name("Adj");

exAlign = Open(
 myAlign, 
 invisible,
 Worksheets( "Tabelle1" ),
 Use for all sheets( 1 ),
 Concatenate Worksheets( 0 ),
 Create Concatenation Column( 0 ),
 Worksheet Settings(
  1,
  Has Column Headers( 1 ),
  Number of Rows in Headers( 1 ),
  Headers Start on Row( 1 ),
  Data Starts on Row( 2 ),
  Data Starts on Column( 1 ),
  Data Ends on Row( 0 ),
  Data Ends on Column( 0 ),
  Replicated Spanned Rows( 1 ),
  Replicated Spanned Headers( 0 ),
  Suppress Hidden Rows( 1 ),
  Suppress Hidden Columns( 1 ),
  Suppress Empty Columns( 1 ),
  Treat as Hierarchy( 0 ),
  Multiple Series Stack( 0 ),
  Import Cell Colors( 0 ),
  Limit Column Detect( 0 ),
  Column Separator String( "-" ),
  Column Numeric Format( Index( 0 ), Column Name( ID ), Format( "Best", 9 ) )
 )
);
exAlign &amp;lt;&amp;lt; new column("TestRun_max", "numeric", "contiuous", Formula(If( :TestRun == Col Maximum( :TestRun, :ProductionNumber ),
 1,
 0
) ));
exAlign:SerialNumber &amp;lt;&amp;lt; Set Data Type( "Character" );
exAlign:SerialNumber &amp;lt;&amp;lt; set modeling type ("nominal");
exAlign:ProductionNumber &amp;lt;&amp;lt; Set Data Type( "Character" );
exAlign:ProductionNumber &amp;lt;&amp;lt; set modeling type ("nominal");
exAlign &amp;lt;&amp;lt; select where( :TestRun_max != 1);
exAlign &amp;lt;&amp;lt; wait();
exAlign &amp;lt;&amp;lt; delete rows;
exAlign &amp;lt;&amp;lt; select where(is missing(:TestRun));
exAlign &amp;lt;&amp;lt; wait();
exAlign &amp;lt;&amp;lt; delete rows;
exAlign &amp;lt;&amp;lt; set name("Align");

New SQL Query(
 Version( 130 ),
 Connection( "JMP" ),
 JMP Tables(
  exAlign,
  exAdj
 ),
 QueryName( "OptAdj-Align" ),
 Select(
  Column( "SerialNumber", "t1", Alias( "SerialNumber Allign" ) ),
  Column( "SerialNumber", "t2", Alias( "SerialNumber Adj" ) ),
  Column( "ProductionNumber", "t1", Alias( "ProductionNumber Allign" ) ),
  Column( "ProductionNumber", "t2", Alias( "ProductionNumber Adj" ) ),
  Column( "Freipruefung", "t1", Alias( "Freipruefung Allign" ) ),
  Column( "Freipruefung", "t2", Alias( "Freipruefung Adj" ) ),
  Column(
   "TestRun",
   "t1",
   Alias( "TestRun Allign" ),
   Analysis Type( "Ordinal" )
  ),
  Column(
   "TestRun",
   "t2",
   Alias( "TestRun Adj" ),
   Analysis Type( "Ordinal" )
  ),
  Column( "TestState", "t1", Alias( "TestState Allign" ) ),
  Column( "TestState", "t2", Alias( "TestState Adj" ) ),
  Column( "ErrorNumber", "t1", Alias( "ErrorNumber Allign" ) ),
  Column( "ErrorUserText", "t1", Alias( "ErrorUserText Allign" ) ),
  Column(
   "ErrorNumber",
   "t2",
   Alias( "ErrorNumber Adj" ),
   Analysis Type( "Nominal" )
  ),
  Column( "Mode", "t1" ),
  Column( "Mode", "t2", Alias( "Mode Adj" ), Analysis Type( "Nominal" ) ),
  Column( "WUserName", "t2", Alias( "WUserName Adj" ) ),
  Column( "WUserName", "t1", Alias( "WUserName Allign" ) ),
  Column(
   "DateOfTest",
   "t1",
   Alias( "DateOfTest Allign" ),
   Numeric Format( "d.m.y h:m:s", "0", "NO", "" )
  ),
  Column(
   "Month Year[DateOfTest]",
   "t1",
   Alias( "Month Year[DateOfTest] Allign" ),
   Analysis Type( "Ordinal" ),
   Numeric Format( "m.y", "-1", "NO", "" )
  ),
  Column(
   "Month[DateOfTest]",
   "t1",
   Alias( "Month[DateOfTest] Allign" ),
   Analysis Type( "Ordinal" )
  ),
  Column(
   "Year Week[DateOfTest]",
   "t1",
   Alias( "Year Week[DateOfTest] Allign" )
  ),
  Column(
   "Date[DateOfTest]",
   "t1",
   Alias( "Date[DateOfTest] Allign" ),
   Numeric Format( "d.m.y", "-1", "NO", "" )
  ),
  Column(
   "DateOfTest",
   "t2",
   Alias( "DateOfTest Adj" ),
   Numeric Format( "d.m.y h:m:s", "0", "NO", "" )
  ),
  Column(
   "Date[DateOfTest]",
   "t2",
   Alias( "Date[DateOfTest] Adj" ),
   Numeric Format( "d.m.y", "-1", "NO", "" )
  ),
  Column(
   "Month Year[DateOfTest]",
   "t2",
   Alias( "Month Year[DateOfTest] Adj" ),
   Analysis Type( "Ordinal" ),
   Numeric Format( "m.y", "-1", "NO", "" )
  ),
  Column(
   "Year Week[DateOfTest]",
   "t2",
   Alias( "Year Week[DateOfTest] Adj" )
  ),
  Column( "OptimalNeuMaß", "t1" ),
  Column( "Y_Deviation_Sensor0", "t2" ),
  Column( "Y_Deviation_Sensor1", "t2" ),
  Column( "Y_Deviation_Sensor3", "t2" ),
  Column( "Y_Deviation_Sensor4", "t2" ),
  Column( "Y_Deviation_Sensor5", "t2" )
 ),
 From(
  Table( "Adj", Alias( "t1" ) ),
  Table( "Align", Alias( "t2" ),
   Join(
    Type( Inner ),
    EQ( Column( "SerialNumber", "t1" ), Column( "SerialNumber", "t2" ) )
     &amp;amp; EQ(
     Column( "ProductionNumber", "t1" ),
     Column( "ProductionNumber", "t2" )
    )
   )
  )
 ),
 PostQueryScript(
  "dt = current data table();
dt &amp;lt;&amp;lt; Row Selection( Select where( :SerialNumber Allign &amp;lt; 500000 ) );
dt &amp;lt;&amp;lt; delete rows;"
 )
) &amp;lt;&amp;lt; run;

close(exAlign);
close(exAdj);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Wo liegt der Fehler?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Danke für eure Hilfe im Voraus!&lt;/P&gt;
&lt;P&gt;Markus&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2023 22:07:32 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/365169#M61455</guid>
      <dc:creator>markus</dc:creator>
      <dc:date>2023-06-09T22:07:32Z</dc:date>
    </item>
    <item>
      <title>Re: Join Bedingungen in JSL übertragen</title>
      <link>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/367457#M61740</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/3885"&gt;@markus&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You store references to both tables as exAdj and exAlign, I think you want to re-use those references in the lines that are throwing errors.&amp;nbsp; That part of the code could look something like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;From(
		Table( exAdj, Alias( "t1" ) ),
		Table(
			exAlign,
			Alias( "t2" ),
			Join(
				Type( Inner ),
				EQ( Column( "SerialNumber", "t1" ), Column( "SerialNumber", "t2" ) ) &amp;amp; EQ(
					Column( "ProductionNumber", "t1" ),
					Column( "ProductionNumber", "t2" )
				)
			)
		)
	),&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 12 Mar 2021 13:48:11 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/367457#M61740</guid>
      <dc:creator>ih</dc:creator>
      <dc:date>2021-03-12T13:48:11Z</dc:date>
    </item>
    <item>
      <title>Re: Join Bedingungen in JSL übertragen</title>
      <link>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/368164#M61803</link>
      <description>&lt;P&gt;Thanks IH, for your answer!&lt;/P&gt;&lt;P&gt;I changed the lines in the script according to your suggestion. But it still doesn't work. In the log I find this remark:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;expecting string in access or evaluation of 'exAdj' , exAdj/*###*/&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;at line 212 in Script.jsl&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Line 212 is exactly the line you mentioned in your suggestion. Because of this remark, I have changed the script to the form I showed above first.&lt;/P&gt;&lt;P&gt;Other ideas are welcome!&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Markus&lt;/P&gt;</description>
      <pubDate>Tue, 16 Mar 2021 07:58:38 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/368164#M61803</guid>
      <dc:creator>markus</dc:creator>
      <dc:date>2021-03-16T07:58:38Z</dc:date>
    </item>
    <item>
      <title>Re: Join Bedingungen in JSL übertragen</title>
      <link>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/368205#M61809</link>
      <description>&lt;P&gt;Ah, turns out you do need the name as a string.&amp;nbsp; Maybe try this instead:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;From(
		Table( exAdj, Alias( "t1" ) ),
		Table(
			exAlign,
			Alias( "t2" ),
			Join(
				Type( Inner ),
				EQ( Column( "SerialNumber", "t1" ), Column( "SerialNumber", "t2" ) ) &amp;amp; EQ(
					Column( "ProductionNumber", "t1" ),
					Column( "ProductionNumber", "t2" )
				)
			)
		)
	),&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Here is what is a working example that I&amp;nbsp;&lt;EM&gt;think&lt;/EM&gt; does what you are looking for using sample data, maybe if the answer isn't above this would help get you started?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names default to here(1);

dt1 = Open("$Sample_data/big class.jmp");
dt2 = Open("$Sample_data/big class families.jmp");

New SQL Query(
	Version( 130 ),
	Connection( "JMP" ),
	JMP Tables(
		tb1, tb2
	),
	QueryName( "SQLQuery1" ),
	Select(
		Column( "name", "t1" ),
		Column(
			"age",
			"t1",
			Analysis Type( "Ordinal" ),
			Numeric Format( "Fixed Dec", "0", "NO", "" )
		),
		Column( "sex", "t1" ),
		Column( "height", "t1", Numeric Format( "Fixed Dec", "0", "NO", "" ) ),
		Column( "weight", "t1", Numeric Format( "Fixed Dec", "0", "NO", "" ) ),
		Column( "picture", "t2", Analysis Type( "None" ) ),
		Column( "name", "t2", Alias( "name 2" ) ),
		Column(
			"age",
			"t2",
			Alias( "age 2" ),
			Analysis Type( "Ordinal" ),
			Numeric Format( "Fixed Dec", "0", "NO", "" )
		),
		Column( "sex", "t2", Alias( "sex 2" ) ),
		Column(
			"height",
			"t2",
			Alias( "height 2" ),
			Numeric Format( "Fixed Dec", "0", "NO", "" )
		),
		Column(
			"weight",
			"t2",
			Alias( "weight 2" ),
			Numeric Format( "Fixed Dec", "0", "NO", "" )
		),
		Column( "sibling ages", "t2", Analysis Type( "Multiple Response" ) ),
		Column( "sports", "t2", Analysis Type( "Multiple Response" ) ),
		Column( "countries visited", "t2", Analysis Type( "Multiple Response" ) ),
		Column( "family cars", "t2", Analysis Type( "Multiple Response" ) ),
		Column( "reported illnesses", "t2", Analysis Type( "Unstructured Text" ) ),
		Column( "age vector", "t2", Analysis Type( "Vector" ) )
	),
	From(
		Table( dt1 &amp;lt;&amp;lt; get name, Alias( "t1" ) ),
		Table(
			dt2 &amp;lt;&amp;lt; get name,
			Alias( "t2" ),
			Join(
				Type( Left Outer ),
				EQ( Column( "name", "t1" ), Column( "name", "t2" ) ) &amp;amp;
				EQ( Column( "age", "t1" ), Column( "age", "t2" ) ) &amp;amp;
				EQ( Column( "sex", "t1" ), Column( "sex", "t2" ) ) &amp;amp;
				EQ( Column( "height", "t1" ), Column( "height", "t2" ) ) &amp;amp;
				EQ( Column( "weight", "t1" ), Column( "weight", "t2" ) )
			)
		)
	)
) &amp;lt;&amp;lt; Run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 16 Mar 2021 12:48:11 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/368205#M61809</guid>
      <dc:creator>ih</dc:creator>
      <dc:date>2021-03-16T12:48:11Z</dc:date>
    </item>
    <item>
      <title>Re: Join Bedingungen in JSL übertragen</title>
      <link>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/368213#M61810</link>
      <description>&lt;P&gt;Thanks IH&lt;BR /&gt;if I introduce your "&amp;lt;&amp;lt; get name" proposal to the script, I get this error message:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="markus_0-1615899390255.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/31265iCAEA5987B94C0439/image-size/medium?v=v2&amp;amp;px=400" role="button" title="markus_0-1615899390255.png" alt="markus_0-1615899390255.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;at&amp;nbsp;line 211&lt;/P&gt;&lt;P&gt;Any idea more?&lt;/P&gt;&lt;P&gt;Markus&lt;/P&gt;</description>
      <pubDate>Tue, 16 Mar 2021 13:03:08 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/368213#M61810</guid>
      <dc:creator>markus</dc:creator>
      <dc:date>2021-03-16T13:03:08Z</dc:date>
    </item>
    <item>
      <title>Re: Join Bedingungen in JSL übertragen</title>
      <link>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/368231#M61816</link>
      <description>&lt;P&gt;Do those columns still exist in your source data tables? for example, does the table opened with the reference dtAdj contain the column 'Month[DateOfTest]'?&lt;/P&gt;</description>
      <pubDate>Tue, 16 Mar 2021 14:07:52 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Join-Bedingungen-in-JSL-%C3%BCbertragen/m-p/368231#M61816</guid>
      <dc:creator>ih</dc:creator>
      <dc:date>2021-03-16T14:07:52Z</dc:date>
    </item>
  </channel>
</rss>

