<?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: JMP-Tools Add-in overview - JMP addins written by jthi in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/475704#M72020</link>
    <description>&lt;P&gt;Yes, it would be too much work to automatically convert all VBA to JSL.Is not realistic.&lt;BR /&gt;I want to see if VBA about downloading data from web pages can automatically convert the core syntax to JSL and keep the variables used by VBA.&lt;/P&gt;&lt;P&gt;Thank jthi!&lt;/P&gt;</description>
    <pubDate>Mon, 04 Apr 2022 05:41:53 GMT</pubDate>
    <dc:creator>lala</dc:creator>
    <dc:date>2022-04-04T05:41:53Z</dc:date>
    <item>
      <title>JMP-Tools Add-in overview - JMP addins written by jthi</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/470836#M71500</link>
      <description>&lt;P&gt;I have now published some of the Add-ins I have written for JMP. The codes and addins (some are encrypted) can be found from this GitHub page&lt;A href="https://github.com/jthi-jmp-tools" target="_blank" rel="noopener"&gt; jthi-jmp-tools (github.com)&lt;/A&gt;&amp;nbsp;and overview can be found from &lt;A href="https://github.com/jthi-jmp-tools/JMP-Tools" target="_blank" rel="noopener"&gt;jthi-jmp-tools / JMP-Tools (github.com)&lt;/A&gt; repository. If you have suggestions on these add-ins, you can:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Comment to this post&lt;/LI&gt;
&lt;LI&gt;Open an issue in correct GitHub repository related to that add-in or to generic one&lt;/LI&gt;
&lt;LI&gt;Comment on the JMP Community Add-in page if I have released Add-in here&lt;/LI&gt;
&lt;LI&gt;Send private message in JMP community&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The purpose of developing these is to provide new tools, enhance the tools JMP already has and mostly improve my scripting skills while writing somewhat interesting code. All the addins can be found from &lt;A href="https://github.com/jthi-jmp-tools/JMP-Tools/releases/tag/v1.1-beta" target="_blank" rel="noopener"&gt;jthi-jmp-tools/JMP-Tools/releases (github.com)&lt;/A&gt; and you should be able to download and install them from there. Some can also be found from JMP Community. The add-ins do include some stand-alone functions you can use in your own scripts by including correct scripts / copying them over to your code, so if you are interested in that, I suggest you take a look at the source codes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Add-Ins are structured with some basic idea I had long ago about how to structure them, so they have mostly same directory structure and some common files. For example some settings which can be saved have been saved to settings.json file. The add-ins are put together by using &lt;LI-MESSAGE title="Add-In Manager" uid="43736" url="https://community.jmp.com/t5/JMP-Add-Ins/Add-In-Manager/m-p/43736#U43736" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; as it makes managing multiple add-ins much much easier than the native tools JMP provides.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Most of the Add-ins will be added to Add-Ins menu under JMP-Tools:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_16-1647510346770.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40902i50B25EF9A1F085DF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_16-1647510346770.png" alt="jthi_16-1647510346770.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There is also an addin for toolbar. This can be found from "main-repositorys" releases page. Mostly useful if you have installed the (all/most) addins described here.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_14-1647510245167.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40900iE13CAB6B9540C3F9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_14-1647510245167.png" alt="jthi_14-1647510245167.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below is a quick overview of the addins I have created, &lt;STRONG&gt;do note that there are couple which are heavily work in progress.&lt;/STRONG&gt; The scripts which can be found from community should have this "book" link in the title&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_18-1647511299921.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40904iE35D4D06E05A3D4A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_18-1647511299921.png" alt="jthi_18-1647511299921.png" /&gt;&lt;/span&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;1. Analyse Columns&amp;nbsp;&lt;LI-MESSAGE title="Analyse Columns" uid="460329" url="https://community.jmp.com/t5/JMP-Add-Ins/Analyse-Columns/m-p/460329#U460329" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp; (&lt;A href="https://github.com/jthi-jmp-tools/analyse-columns" target="_blank" rel="noopener"&gt;analyse-columns (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;Idea is to provide user quick summary statistics and quick actions they can perform on columns. This can be used as the first tool you ran when you get a new data set to get an overview of the data you are working with (inspired partially by &lt;A href="https://github.com/pandas-profiling/pandas-profiling" target="_blank" rel="noopener"&gt;pandas-profiling (github.com)&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_0-1647506413997.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40886i615DC8EE25FE0582/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_0-1647506413997.png" alt="jthi_0-1647506413997.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;2. Character Columns to Numeric (&lt;A href="https://github.com/jthi-jmp-tools/character-columns-to-numeric" target="_blank" rel="noopener"&gt;character-columns-to-numeric (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;From time to time you will data that has been wrongly coded and have wrong data type. In JMP when you change data type from Character to Numeric you might fairly easily end up with loosing some data due to how conversion works. Purpose of this tool is to convert selected character columns (which can be safely converted) to numeric columns.The tool gets the values in columns and then checks if they can be converted to numeric. And if all of them (or enough of them)&amp;nbsp; can be converted it will change the data type to numeric. It allows you to select the columns you want to convert, allows using threshold for conversion and sampling rate.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_2-1647506584553.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40887i332ED79DD7319CFD/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_2-1647506584553.png" alt="jthi_2-1647506584553.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;3. Create Order Column (&lt;A href="https://github.com/jthi-jmp-tools/create-order-column" target="_blank" rel="noopener"&gt;create-order-column (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;This tool will create Ordering column to data table with current row numbers. This is useful when you are starting analysis and want to sort the data, but still have possibility to roll-back to original order. The column will be created in the start of data table and if multiple ordering columns are created, indexing is added. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_4-1647507326694.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40889i330C078CAEB35A62/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_4-1647507326694.png" alt="jthi_4-1647507326694.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I have also created wish list item hoping that something a bit similar could be found directly from JMP (for columns this already exists but not for rows)&lt;LI-MESSAGE title="Add Original order property/columm to JMP datatables on open/creation" uid="440991" url="https://community.jmp.com/t5/JMP-Wish-List/Add-Original-order-property-columm-to-JMP-datatables-on-open/m-p/440991#U440991" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;4. Delete Missing Value Columns (&lt;A href="https://github.com/jthi-jmp-tools/delete-missing-value-columns" target="_blank" rel="noopener"&gt;delete-missing-value-columns (github.com)&lt;/A&gt;&amp;nbsp;&lt;/H4&gt;
&lt;P&gt;Tool allows user to easily delete multiple columns which have more than specified amount (threshold) of missing values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_3-1647507297094.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40888iE37DECE15ABA385B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_3-1647507297094.png" alt="jthi_3-1647507297094.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;5. Fill Missing Cells &lt;LI-MESSAGE title="Fill Missing Cells" uid="460326" url="https://community.jmp.com/t5/JMP-Add-Ins/Fill-Missing-Cells/m-p/460326#U460326" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; (&lt;A href="https://github.com/jthi-jmp-tools/fill-missing-cells" target="_blank" rel="noopener"&gt;fill-missing-cells (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;This tool allows user to fill missing values based on previous/next/nearest found value.There are already tools which can do this in a way or another (even JMP has fill rows), but the ones I have used/seen are missing at least the grouping option this Add-in you to do, also this shouldn't require you to have data table sorted if you use Order column.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_5-1647507496902.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40891i5EAB49DA38A1EC9E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_5-1647507496902.png" alt="jthi_5-1647507496902.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;6. Get Unique Values &lt;LI-MESSAGE title="Get Unique Values" uid="460331" url="https://community.jmp.com/t5/JMP-Add-Ins/Get-Unique-Values/m-p/460331#U460331" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; (&lt;A href="https://github.com/jthi-jmp-tools/get-unique-values" target="_blank" rel="noopener"&gt;get-unique-values (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;Purpose of the tool is to provide user-interface with unique values listed from selected column (nominal, ordinal) in different formats from selected datatable. From this list user can either directly copy-paste values to clipboard or use specific buttons for copying.&lt;/P&gt;
&lt;P&gt;Tool also provides an option to paste values directly to the box and get the values in different formats. This is handy when you copy paste values from excel for example. You can also format values from clipboard directly to SQL list.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_6-1647507654472.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40892i695AF6129F71A4A4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_6-1647507654472.png" alt="jthi_6-1647507654472.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;7. Group Listagg Columns &lt;LI-MESSAGE title="Group Listagg Columns" uid="460335" url="https://community.jmp.com/t5/JMP-Add-Ins/Group-Listagg-Columns/m-p/460335#U460335" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; (&lt;A href="https://github.com/jthi-jmp-tools/group-listagg-columns" target="_blank" rel="noopener"&gt;group-listagg-columns (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;Purpose of this addin is to provide a way for user to create new table with a column(s) of grouped values in similar manner as SQL's listagg. In best case this option would be in JMP's Summary and Split platforms as from time to time I would like to keep some values even if I split or aggregate with Summary.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_7-1647507882436.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40893iE8C45118D6713B31/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_7-1647507882436.png" alt="jthi_7-1647507882436.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I have created wish list items for both of those &lt;LI-MESSAGE title="Allow Split to create Multiple Response columns" uid="440972" url="https://community.jmp.com/t5/JMP-Wish-List/Allow-Split-to-create-Multiple-Response-columns/m-p/440972#U440972" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; and&lt;LI-MESSAGE title="Add Listagg/Concatenate/GROUP_CONCAT to Summary platform" uid="441070" url="https://community.jmp.com/t5/JMP-Wish-List/Add-Listagg-Concatenate-GROUP-CONCAT-to-Summary-platform/m-p/441070#U441070" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; table.&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;8. Join Nearest Rows &lt;LI-MESSAGE title="Join Nearest Rows - Join tables by using continuous columns and nearest values" uid="460321" url="https://community.jmp.com/t5/JMP-Add-Ins/Join-Nearest-Rows-Join-tables-by-using-continuous-columns-and/m-p/460321#U460321" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; (&lt;A href="https://github.com/jthi-jmp-tools/join-nearest-rows" target="_blank" rel="noopener"&gt;join-nearest-rows (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;Join two datatables with continuous column. Can do join backwards, forwards, nearest/closest. Supports using tolerance / max distance for join and usage of grouping column. Data doesn't have to be sorted but it does speed up the tool execution. Inspiration partially from &lt;A href="https://pandas.pydata.org/docs/reference/api/pandas.merge_asof.html" rel="nofollow" target="_blank"&gt;Python Pandas - Merge Asof&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_8-1647508201729.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40894iC83AF7EF4CAEA57F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_8-1647508201729.png" alt="jthi_8-1647508201729.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I have created Wish List item which is partially linked to this &lt;LI-MESSAGE title="Add fuzzy join / asof merge / join by columns which do not have exact matches" uid="462354" url="https://community.jmp.com/t5/JMP-Wish-List/Add-fuzzy-join-asof-merge-join-by-columns-which-do-not-have/m-p/462354#U462354" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;9. Order Selected Columns &lt;LI-MESSAGE title="Order Selected Columns" uid="451761" url="https://community.jmp.com/t5/JMP-Add-Ins/Order-Selected-Columns/m-p/451761#U451761" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; (&lt;A href="https://github.com/jthi-jmp-tools/order-selected-columns" target="_blank" rel="noopener"&gt;order-selected-columns (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;Most of the column ordering options found from JMP's Cols/Reorder Columns -menu do not offer possibility to order only selected columns. This add-in provides those options to JMP users.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_9-1647508447055.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40895i836333514B0B18DB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_9-1647508447055.png" alt="jthi_9-1647508447055.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;There is a wish list item related to this (and it is the reason why I wrote this Add-in) &lt;LI-MESSAGE title="Column reorder &amp;amp;gt; Sort by Name / Data Type / Role &amp;amp;gt; SELECTED COLUMNS ONLY" uid="262266" url="https://community.jmp.com/t5/JMP-Wish-List/Column-reorder-gt-Sort-by-Name-Data-Type-Role-gt-SELECTED/m-p/262266#U262266" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;10. Replace X with Y (&lt;A href="https://github.com/jthi-jmp-tools/replace-x-with-y" target="_blank" rel="noopener"&gt;replace-x-with-y (github.com)&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;Replaces full matches with other value in selected columns.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_10-1647508667886.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40896i96EC41A97B893F7A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_10-1647508667886.png" alt="jthi_10-1647508667886.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;11. Split and Set Spec Limits &lt;LI-MESSAGE title="Split and Set Spec Limits" uid="460340" url="https://community.jmp.com/t5/JMP-Add-Ins/Split-and-Set-Spec-Limits/m-p/460340#U460340" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; (&lt;A href="https://github.com/jthi-jmp-tools/split-and-set-spec-limits" target="_blank" rel="noopener"&gt;split-and-set-spec-limits (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;Purpose of this tool is to let JMP users split long (stacked) data and set specification limits directly from the original data if data is in correct format.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_11-1647510041833.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40897iEFA9B120A52FE8F4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_11-1647510041833.png" alt="jthi_11-1647510041833.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;12. Script Launcher (&lt;A href="https://github.com/jthi-jmp-tools/script-launcher" target="_blank" rel="noopener"&gt;script-launcher (github.com)&lt;/A&gt;)&lt;/H4&gt;
&lt;P&gt;Tool to provide quick-access to user defined scripts (pre-configured for jthi-jmp-tools). Provides also access to launching scripts, modifying their settings.json file and opening the directory. Also allows changing current datatable.&lt;/P&gt;
&lt;P&gt;Strongy suggested to add as shortcut with easy access, for example mine is Ctrl+Shift+Z. If the script is already open, launching it again will bring it to front.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_12-1647510135970.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40898i97C394007951DA65/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_12-1647510135970.png" alt="jthi_12-1647510135970.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;13. File Indexer (&lt;A href="https://github.com/jthi-jmp-tools/file-indexer" target="_blank" rel="noopener"&gt;file-indexer (github.com)&lt;/A&gt;&amp;nbsp;)&lt;/H4&gt;
&lt;P&gt;This is still very much work in progress but the idea is to provide file listing of the user specified directories and allow opening files/directories.&lt;/P&gt;
&lt;DIV id="tinyMceEditorjthi_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jthi_1-1647530182004.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40913i760763FC8122F0AF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_1-1647530182004.png" alt="jthi_1-1647530182004.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That's it for now, I'll try to finish the still badly unfinished add-ins at somepoint and fix bugs I encounter. Most up-to-date versions of the add-ins can be found GitHub.&lt;/P&gt;</description>
      <pubDate>Sat, 10 Jun 2023 23:46:01 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/470836#M71500</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2023-06-10T23:46:01Z</dc:date>
    </item>
    <item>
      <title>Re: JMP-Tools Add-in overview - JMP addins written by jthi</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/471110#M71537</link>
      <description>No. 5 !!!!!!</description>
      <pubDate>Thu, 17 Mar 2022 23:19:50 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/471110#M71537</guid>
      <dc:creator>Dongjin</dc:creator>
      <dc:date>2022-03-17T23:19:50Z</dc:date>
    </item>
    <item>
      <title>Re: JMP-Tools Add-in overview - JMP addins written by jthi</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/471243#M71559</link>
      <description>&lt;P&gt;Feel free to download it from &lt;LI-MESSAGE title="Fill Missing Cells" uid="460326" url="https://community.jmp.com/t5/JMP-Add-Ins/Fill-Missing-Cells/m-p/460326#U460326" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;and install the add-in and try it out.&lt;/P&gt;
&lt;P&gt;Some similar things can be done directly in JMP with Fill:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1647607412144.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/40948iBEBBB1E3AB5EDF3E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_0-1647607412144.png" alt="jthi_0-1647607412144.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;and with&lt;LI-MESSAGE title="Data Table Tools Add-in" uid="28582" url="https://community.jmp.com/t5/JMP-Add-Ins/Data-Table-Tools-Add-in/m-p/28582#U28582" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt; . The Add-in I have written does have some additional benefits such as grouping columns and not requiring you to have data table sorted IF you have some column for sorting (if no sorting column is provided, it will use Row order).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Mar 2022 16:11:12 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/471243#M71559</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2022-03-18T16:11:12Z</dc:date>
    </item>
    <item>
      <title>Re: JMP-Tools Add-in overview - JMP addins written by jthi</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/475595#M72009</link>
      <description>&lt;P&gt;Thanks to JTHI for providing so many efficient tools.&lt;BR /&gt;Is it possible to make a plug-in that can quickly change Excel's VBA to JSL?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Sun, 03 Apr 2022 09:56:11 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/475595#M72009</guid>
      <dc:creator>lala</dc:creator>
      <dc:date>2022-04-03T09:56:11Z</dc:date>
    </item>
    <item>
      <title>Re: JMP-Tools Add-in overview - JMP addins written by jthi</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/475599#M72013</link>
      <description>&lt;P&gt;VBA can do so much and it can be written in so many different ways that I don't see it being feasible to convert VBA directly to JSL with "simple" addin. Conversion can maybe done for some simple cases but otherwise it has to be done case by case. You could also use JMP to run excel macros using Run Program().&lt;/P&gt;</description>
      <pubDate>Sun, 03 Apr 2022 14:01:48 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/475599#M72013</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2022-04-03T14:01:48Z</dc:date>
    </item>
    <item>
      <title>Re: JMP-Tools Add-in overview - JMP addins written by jthi</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/475704#M72020</link>
      <description>&lt;P&gt;Yes, it would be too much work to automatically convert all VBA to JSL.Is not realistic.&lt;BR /&gt;I want to see if VBA about downloading data from web pages can automatically convert the core syntax to JSL and keep the variables used by VBA.&lt;/P&gt;&lt;P&gt;Thank jthi!&lt;/P&gt;</description>
      <pubDate>Mon, 04 Apr 2022 05:41:53 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/475704#M72020</guid>
      <dc:creator>lala</dc:creator>
      <dc:date>2022-04-04T05:41:53Z</dc:date>
    </item>
    <item>
      <title>Re: JMP-Tools Add-in overview - JMP addins written by jthi</title>
      <link>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/479779#M72427</link>
      <description>&lt;P&gt;Quickly convert browser copy to JSL code with EmEditor's replacement feature&lt;BR /&gt;CURL (CMD) is copied from the browser F12 and quickly converted to JSL code with the EmEditor replacement function.&lt;BR /&gt;Of course, this process should also be implemented with JSL.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2022-04-18_15-31-05.png" style="width: 604px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/41796iFC737CF6173DBA03/image-size/large?v=v2&amp;amp;px=999" role="button" title="2022-04-18_15-31-05.png" alt="2022-04-18_15-31-05.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;cURL(cmd)&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;curl "http://excalc" -H "Connection: keep-alive" -H "Origin: http://excalc.icfqs.com:7616" -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36" -H "Content-Type: text/plain" -H "Accept: */*" -H "Referer: http://excalc.icfqs.com:7616/site/tdx-zbfx/page-ddlj.html?setcode=1^&amp;amp;code=xxxxxx^&amp;amp;name=ssssss^&amp;amp;color=0" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7" -H "Cookie: ASPSessionID=" --data-binary "^[^{^\^"funcId^\^":2,^\^"offset^\^":0,^\^"count^\^":200,^\^"cond^\^":^\^"time,11700,33600^|amount,14^\^",^\^"modname^\^":^\^"TickAly^\^"^}^]" --compressed --insecure&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EmEditor&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;document.selection.Replace("\\r","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\\n\\n","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace(" -H ","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("curl \"(.{0,})$","u=\"\\1;h=[=&amp;gt;];//h[\"Content-Type\"]=\"application/json\";",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);


document.selection.Replace(" --compressed","\\n--compressed",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace(" --data(.[^\"]{0,})(.{0,})$","\\njj=\\2;",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
//document.selection.Replace("\"cookie: (.{0,})$","h[\"cookie\"]=\"\\1;",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"cookie: (.{0,})$","h[\"cookie\"]=\"\\1;\\nzzzrs=New HTTP Request(URL(u),Method(\"GET\"),Headers(h));//rs=New HTTP Request(URL(u),Method(\"POST\"),JSON(jj),Headers(h));\\nr=rs&amp;lt;&amp;lt;Send;txt=(Blob To Char(r));t1=\"[{\";off1=Contains(txt,t1);If(off1,tx=SubStr(txt,off1,Length(txt)));t2=\"}]\";off2=Contains(tx,t2,-1);If(off2,tx=SubStr(tx,1,off2+1));\\ndt=jsontodatatable(tx);",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Accept: (.{0,})$","//h[\"ac\"]=\"\\1;",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"User-Agent: (.{0,})$","//h[\"User-Agent\"]=\"\\1;",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);

document.selection.Replace("\"Connection:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Origin:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Connection:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Origin:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"X-Requested-With:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Content-Type:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Sec-Fetch-Site:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Sec-Fetch-Mode:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Referer:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Accept-Encoding:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"Accept-Language:(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("--compressed(.{0,})$","",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);

document.selection.Replace("\\n\\n","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\\n\\n","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\\n\\n","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\\n\\n","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("zzz","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);


document.selection.Replace("^[","[",eeReplaceAll,0);
document.selection.Replace("^{","{",eeReplaceAll,0);

document.selection.Replace("^]","]",eeReplaceAll,0);
document.selection.Replace("^}","}",eeReplaceAll,0);
document.selection.Replace("^\\^\"","\\!\"",eeReplaceAll,0);
document.selection.Replace("^|","|",eeReplaceAll,0);
document.selection.SelectAll();
document.selection.Copy(eeCopyUnicode);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;JSL(&lt;SPAN&gt;Not finishing&lt;/SPAN&gt;)&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;u="http://excalc";h=[=&amp;gt;];//h["Content-Type"]="application/json";
//h["User-Agent"]="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36";
//h["ac"]="*/*";
h["cookie"]="ASPSessionID=";

rs=New HTTP Request(URL(u),Method("GET"),Headers(h));//rs=New HTTP Request(URL(u),Method("POST"),JSON(jj),Headers(h));
r=rs&amp;lt;&amp;lt;Send;txt=(Blob To Char(r));t1="[{";off1=Contains(txt,t1);If(off1,tx=SubStr(txt,off1,Length(txt)));t2="}]";off2=Contains(tx,t2,-1);If(off2,tx=SubStr(tx,1,off2+1));
dt=jsontodatatable(tx);
jj="[{\!"funcId\!":2,\!"offset\!":0,\!"count\!":200,\!"cond\!":\!"time,11700,33600|amount,14\!",\!"modname\!":\!"TickAly\!"}]";&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 18 Apr 2022 07:48:12 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JMP-Tools-Add-in-overview-JMP-addins-written-by-jthi/m-p/479779#M72427</guid>
      <dc:creator>lwx228</dc:creator>
      <dc:date>2022-04-18T07:48:12Z</dc:date>
    </item>
  </channel>
</rss>

