<?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: Where clause generator in a stored process using SAS Prompting Manager? in Microsoft Integration with SAS</title>
    <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93643#M1174</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;To create the table is the first step. &lt;BR /&gt;Making it dynamic is the next one. This is requiring all the registrations within the metadata (tabels/fields). Information map studio etc.&lt;/P&gt;&lt;P&gt;That part can be given and is needed as the dynamic prompts.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By the way, Is te usage of information maps not giving something usuable for you?&lt;/P&gt;&lt;P&gt;It is meant to deal defining views on data. Limiting views on tables/colums looks something you are needing. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks that you are trying to rebuild the query manager as available in EGuide but has additional limiting requirements. &lt;/P&gt;&lt;P&gt;Compared to SAS/AF the application building has moved to adding a&amp;nbsp; lot of metadata definitons. It means thinking developing aside from coding flow-diagrams and processing also with object/properties views and adding security at an other way.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 29 Jul 2013 08:41:36 GMT</pubDate>
    <dc:creator>jakarman</dc:creator>
    <dc:date>2013-07-29T08:41:36Z</dc:date>
    <item>
      <title>Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93638#M1169</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SAS 9.3&lt;/P&gt;&lt;P&gt;AMO 5.1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Summary:&amp;nbsp; Can I create a robust, flexible where clause generator in a stored process using the SAS Prompting Manager?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Details:&amp;nbsp; I wasn't sure whether to post this in this group or the stored process group.&amp;nbsp; I decided to post here, since the solution is using AMO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my business process/design criteria:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* The end users of this "application" (really just a set of canned queries) are not "power users", nor do I want them to be.&amp;nbsp; The solution must be simple and easy to use.&lt;/P&gt;&lt;P&gt;* The "landing zone" for the data is Excel, so I will be using AMO.&lt;/P&gt;&lt;P&gt;* The main purpose of the application is to select desired columns and create a filter (where clause) against large fact tables (SPDE engine with indexes).&lt;/P&gt;&lt;P&gt;* Once the data is queried, sometimes that is enough, so the built-in "Open SAS data source" and "Filter and Sort" functionality would work fine in this scenario.&lt;/P&gt;&lt;P&gt;* Other times, we need to join additional dimension tables to the query results (so will need to use stored processes/AMO "Reports") or apply more complete post-processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In summary, the solution needs to be:&amp;nbsp; easy to use, select columns and rows, sometimes post-processing, sometimes not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ideally, I would like to mimic the Filter and Sort functionality using the SAS Prompting Manager, i.e.:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* User selects a source dataset&lt;/P&gt;&lt;P&gt;* A &lt;SPAN style="text-decoration: underline;"&gt;dynamic&lt;/SPAN&gt; list of columns is available in a dropdown list &lt;SPAN style="text-decoration: underline;"&gt;based on the chosen data source&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;* A static list of operators is available&lt;/P&gt;&lt;P&gt;* A "Get Values" functionality is available for the data values&lt;/P&gt;&lt;P&gt;* Proper quoting/no quoting for character/numeric data&lt;/P&gt;&lt;P&gt;* An "And/Or" dropdown to link the statement elements together.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In summary, I don't know how to do this using the SAS Prompting Manager, or even if it's possible.&amp;nbsp; (And if it is, and your wheel is perfectly round, can you share your invention with me &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt; )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I see it, I have several design approaches:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Use the built-in functionality of "Add SAS Data Source" and "Filter and Sort" to subset the fact table and return the rows to Excel, perhaps in a hidden worksheet.&amp;nbsp; (I sure wish there was a way to save the results of that query in a SAS dataset on the server session.)&amp;nbsp; Use a separate stored process with an input stream to send that data back to SAS as an input stream (Yuck, re: performance and proper data typing).&amp;nbsp; From there, I can use that to post process the filtered data as required.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Use the SAS Prompting Manager to create prompts for hardcoded columns, i.e. the ones most used for filtering.&amp;nbsp; I could augment that with a text entry field where they could add additional, free form where criteria.&amp;nbsp; Not ideal, since they aren't power users.&amp;nbsp; Nor does it address the stated design criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) Try to do something with VBA and VBA form elements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) (It doesn't look like AMO supports custom plugins, like EG, so I can't roll my own UI)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) (In the good old days, I'd use SAS/AF, but the end users don't have Base SAS on their machines.&amp;nbsp; I sure wish the SAS Prompting Manager was more full-featured...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6) Write my own .Net application and IOM.&amp;nbsp; A bit overkill for this simple task, although it would be fun &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;.&amp;nbsp; But, I don't know how to "drive" AMO from a .Net application, and for various reasons want to use AMO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm hoping there's some bright idea I'm missing here.&amp;nbsp; So, in conclusion, using Excel and AMO as a starting point, is there a way to write a stored process that has a generic, full featured where clause generator based on a data source that the user has dynamically chosen at run time?&amp;nbsp; Otherwise, how would you approach this from a design and architecture perspective?_&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Scott&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jul 2013 01:17:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93638#M1169</guid>
      <dc:creator>ScottBass</dc:creator>
      <dc:date>2013-07-29T01:17:30Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93639#M1170</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have no answer to this question, as my exposure to Stored Processes is limited.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just wanted to say thank you for including so much information in your post, I am sure someone will have an answer for you soon.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jul 2013 01:52:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93639#M1170</guid>
      <dc:creator>Scott_Mitchell</dc:creator>
      <dc:date>2013-07-29T01:52:36Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93640#M1171</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks...and thanks too to your parents for giving you such a great name :smileygrin:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I err, I often err on the side of too much information, rather than not enough.&amp;nbsp; So, perhaps sometimes my messages won't get read, or only skimmed.&amp;nbsp; But, with the time zone difference between Sydney and the US (where most of the answers usually originate), I take the chance of too much detail.&amp;nbsp; Otherwise, it can be days going back and forth clarifying the problem statement.&amp;nbsp; Or else I'm sending real time updates at 2AM my time...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jul 2013 04:24:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93640#M1171</guid>
      <dc:creator>ScottBass</dc:creator>
      <dc:date>2013-07-29T04:24:52Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93641#M1172</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For the first part:&lt;/P&gt;&lt;P&gt;&amp;nbsp; * User selects a source dataset&lt;/P&gt;&lt;P&gt;&amp;nbsp; * A &lt;SPAN style="text-decoration: underline;"&gt;dynamic&lt;/SPAN&gt; list of columns is available in a dropdown list &lt;SPAN style="text-decoration: underline;"&gt;based on the chosen data source&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;With 9.3 it is possible te create a prompt based on a input-table.&lt;/P&gt;&lt;P&gt;You need to define the table and all fields of it before able to use it. That part won't be too difficult.&lt;/P&gt;&lt;P&gt;Afterwards you can use it in your Stored process prompt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is some behavior to deal with.&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;If you want to use a StoredProcess Server for you prompt you have to imagine that the prompt will not use that instead it is the WorkspaceServer.&lt;/LI&gt;&lt;LI&gt;Do you want to use this at several "app-server contexts" (different departments / security). And a user (power-user) has access to several of them. You can not trust wich app-server context will open. It can be quite different to the expected one. As long the content of the tabel is exactly equal you will not notice that.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not really helpfull for a working solution or maybe it works for you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://analytics.ncsu.edu/sesug/2011/BB11.Droogendyk.pdf" title="http://analytics.ncsu.edu/sesug/2011/BB11.Droogendyk.pdf"&gt;http://analytics.ncsu.edu/sesug/2011/BB11.Droogendyk.pdf&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jul 2013 06:51:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93641#M1172</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2013-07-29T06:51:05Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93642#M1173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jaap,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&amp;nbsp; Let me restate to make sure I understand:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* create a table of metadata.&amp;nbsp; For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc contents data=sashelp._all_ out=work.columns (keep=libname memname name type) noprint;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=work.columns (keep=libname memname) out=work.tables nodupkey;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by libname memname;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* then, use dynamic prompts plus dependencies to allow the user to select the library --&amp;gt; table --&amp;gt; columns&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just had a play with data source item prompts, multiple items (or multiple ordered items).&amp;nbsp; I had not used these prompts before.&amp;nbsp; They appear to meet my needs re: selecting a column, but the entire architecture is a far cry from the where clause generator I need to create.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd like to create the same interface as the Filter and Sort functionality, i.e. (excuse the ASCII art):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;variable name&amp;gt; V (dynamic dropdown list)&amp;nbsp; || &amp;lt;operator&amp;gt; V (dropdown static list)&amp;nbsp; ||&amp;nbsp; &amp;lt;value(s)&amp;gt;&amp;nbsp; ||&amp;nbsp; [...] (get values)&amp;nbsp; ||&amp;nbsp; &amp;lt;AND|OR&amp;gt; V (dropdown)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;all on one line, combining each line to make a syntactically correct where statement.&amp;nbsp; And if not that, then something just as simple for the end user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Right now, all I can think of is hard coding the UI components to the "main" variables in each of the datasets to be filtered.&amp;nbsp; But I can see it now:&amp;nbsp; "End User:&amp;nbsp; Can you add this variable to the query?"&amp;nbsp; Pretty soon I've hard coded 50 or so UI elements to the dataset, times X number of datasets to query &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://communities.sas.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can do all the behind-the-scenes macro gyrations if I can somehow get the Prompting Mangler to generate my desired user interface.&amp;nbsp; (Which was oh so easy in "old" SAS/AF)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Scott&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jul 2013 08:11:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93642#M1173</guid>
      <dc:creator>ScottBass</dc:creator>
      <dc:date>2013-07-29T08:11:30Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93643#M1174</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;To create the table is the first step. &lt;BR /&gt;Making it dynamic is the next one. This is requiring all the registrations within the metadata (tabels/fields). Information map studio etc.&lt;/P&gt;&lt;P&gt;That part can be given and is needed as the dynamic prompts.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By the way, Is te usage of information maps not giving something usuable for you?&lt;/P&gt;&lt;P&gt;It is meant to deal defining views on data. Limiting views on tables/colums looks something you are needing. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks that you are trying to rebuild the query manager as available in EGuide but has additional limiting requirements. &lt;/P&gt;&lt;P&gt;Compared to SAS/AF the application building has moved to adding a&amp;nbsp; lot of metadata definitons. It means thinking developing aside from coding flow-diagrams and processing also with object/properties views and adding security at an other way.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jul 2013 08:41:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93643#M1174</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2013-07-29T08:41:36Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93644#M1175</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;
&lt;P&gt;Jaap Karman wrote:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;To create the table is the first step. &lt;BR /&gt;Making it dynamic is the next one. This is requiring all the registrations within the metadata (tabels/fields). Information map studio etc.&lt;/P&gt;
&lt;P&gt;That part can be given and is needed as the dynamic prompts. &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;By the way, Is te usage of information maps not giving something usuable for you?&lt;/P&gt;
&lt;P&gt;It is meant to deal defining views on data. Limiting views on tables/colums looks something you are needing.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;It looks that you are trying to rebuild the query manager as available in EGuide but has additional limiting requirements.&lt;/P&gt;
&lt;P&gt;Compared to SAS/AF the application building has moved to adding a&amp;nbsp; lot of metadata definitons. It means thinking developing aside from coding flow-diagrams and processing also with object/properties views and adding security at an other way. &lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;We don't have a full EBI license so we don't have Information Map Studio.&lt;/P&gt;&lt;P&gt;Yes, I'm trying to replicate the query manager as in EG/Filter and Sort in AMO.&amp;nbsp; The query needs to be &lt;SPAN style="text-decoration: underline;"&gt;&lt;EM&gt;&lt;STRONG&gt;dynamic&lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt;, not canned as in IMS or a hard coded stored process.&lt;/P&gt;&lt;P&gt;I want to build a UI that will allow me to 1) select a data source, 2) select desired columns, 3) generate a where clause, 4) generate proc sql code, all within a stored process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jul 2013 23:06:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93644#M1175</guid>
      <dc:creator>ScottBass</dc:creator>
      <dc:date>2013-07-29T23:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93645#M1176</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can see 1/2/ being possible.&lt;/P&gt;&lt;P&gt;1) Create a static prompt with the list of all datasources - one macro variable&lt;/P&gt;&lt;P&gt;2) Create a cascading prompt with the list of variables from the selected source - one macro variable (list)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is where I start to see some issues. &lt;/P&gt;&lt;P&gt;3) Create filter/where clause - Not sure what options you want in here, may want to be more specific. How will you allow the user to enter it?&lt;/P&gt;&lt;P&gt;4) You can use the macro variables to generate the code, except for the joins...that's where I can't quite see it...yet &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;.&amp;nbsp; I don't know what you're joining for though, perhaps formats may be a better solution somehow?&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's an interesting discussion though...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jul 2013 04:10:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93645#M1176</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-07-30T04:10:03Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93646#M1177</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class="j-status-levels"&gt; &lt;/SPAN&gt;&lt;SPAN class="j-post-author "&gt;&lt;STRONG&gt;&lt;A _jive_internal="true" class="jiveTT-hover-user jive-username-link" data-avatarid="-1" data-externalid="" data-presence="null" data-userid="336517" data-username="ScottBass" href="https://communities.sas.com/people/ScottBass" id="jive-33651775654224220411803"&gt;Scott Bass&lt;/A&gt;,&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author "&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author "&gt;As per your requirement look like you need to work with the VBA and SAS, since you have mentioned you dont have full EBI tool , so i searched and found one doc online which might help you to solve your issue at some extent, &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author "&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author "&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings11/012-2011.pdf"&gt;http://support.sas.com/resources/papers/proceedings11/012-2011.pdf&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author "&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author "&gt;and Apology incase if it is not at all helpful for your issue. &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author "&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author "&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author "&gt;Tushar J.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jul 2013 07:10:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93646#M1177</guid>
      <dc:creator>Tushar</dc:creator>
      <dc:date>2013-07-30T07:10:47Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93647#M1178</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Reeza,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) I created a data source prompt, but what I get in the SAS code is the metadata path.&amp;nbsp; For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATASOURCE_1=/Shared Data/CLASS(Table)&lt;/P&gt;&lt;P&gt; DATASOURCE_1_TYPE=1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Um, I'm gonna need sashelp.class somewhere in my code.&amp;nbsp; /Shared Data/CLASS(Table) is less than helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) I created a data source item prompt, multiple ordered values, allow users to select from multiple data sources.&amp;nbsp; The user interface looks pretty promising.&amp;nbsp; However, what I get in the SAS log is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5=Name&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_50=5&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_51=Name&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_52=Sex&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_53=Region&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_54=Product&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_55=Subsidiary&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_COUNT=5&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_PATH=/Shared Data/CLASS&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_PATH1=/Shared Data/CLASS&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_PATH2=/Shared Data/CLASS&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_PATH3=/Shared Data/SHOES&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_PATH4=/Shared Data/SHOES&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_PATH5=/Shared Data/SHOES&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_SOURCE_TYPE=1&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_SOURCE_TYPE1=1&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_SOURCE_TYPE2=1&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_SOURCE_TYPE3=1&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_SOURCE_TYPE4=1&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_SOURCE_TYPE5=1&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_TYPE=1&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt; DATASOURCEITEM_5_TYPE1=1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_TYPE2=1&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_TYPE3=1&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_TYPE4=1&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_5_TYPE5=1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Um, what I NEED is something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_51=SASHELP.CLASS.Name&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_52=SASHELP.CLASS.Sex&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_53=SASHELP.SHOES.Region&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_54=SASHELP.SHOES.Product&lt;/P&gt;&lt;P&gt; DATASOURCEITEM_55=SASHELP.SHOES.Subsidiary&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or something like that.&amp;nbsp; And isn't this rather like database column syntax that's been around forever?&amp;nbsp; It's not like SAS even needed to reinvent a new syntax.&amp;nbsp; THIS I could parse in macro code!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For the end programmer trying to actually DO something with the results (macro variables) of the prompting mangler, /Shared Data/CLASS is pretty useless.&amp;nbsp; Whoever dreamed up this syntax wasn't a SAS programmer, but I would have thought SAS would have done some usability testing before releasing this (prompting mangler) on their users.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If someone is aware of a way to translate a macro variable containing the metadata path to a table definition, to the libref and memname of the table that it references, please let me know.&amp;nbsp; A pointer to the doc example would be fantastic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, for now I've defined in metadata tables from the SASHELP dictionary views, i.e. VSLIB, VSTABLE, VTABLE, VCOLUMN, etc, and bound them to dynamic list text prompts.&amp;nbsp; VSTABLE depends on VSLIB.&amp;nbsp; VCOLUMN depends on VSLIB and VSTABLE, etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) I'm not sure how to make it clearer???&amp;nbsp; I want the same or similar functionality available to the end user of a stored process as that available in EG or AMO Filter &amp;amp; Sort task, Filter tab, i.e. a point and click, easy to use way to generate a dynamic, syntactically correct where clause based on the source dataset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) I'm happy to hard code the joins in the stored process. It's the where clause against the fact table that I want to be dynamic and flexible.&amp;nbsp; I'll probably use a hash object join to link in dimension data rather than SQL anyway, which is easier syntax to generate in the stored process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Finally, I have come up with something "interesting", but not sure if I'll use it or not.&amp;nbsp; Performance is a major consideration, especially with a large number of rows, as well as the overall user experience.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll describe it here.&amp;nbsp; If you have AMO, you may want to play along...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;In Excel, use the SAS Data task to drop a table on Sheet1.&amp;nbsp; I used SASHELP.PRDSALE.&lt;/LI&gt;&lt;LI&gt;Use the built-in Filter and Sort menu to drop columns, change their order, add a where clause, and sort the results.&amp;nbsp; Click OK and view the results.&amp;nbsp; Note:&amp;nbsp; This will create the Named Range Table1.&lt;/LI&gt;&lt;LI&gt;I've created a stored process "Create Dataset from Excel Table".&amp;nbsp; It has 5 text prompts:&amp;nbsp; InLib, InData, OutLib, OutData, and Return (return the dataset to Excel?&amp;nbsp; No=0, Yes=1)&lt;/LI&gt;&lt;LI&gt;InLib and InData MUST match the table selected for Sheet1, i.e. SASHELP.PRDSALE.&amp;nbsp; This is needed to create the correct variable attributes of the uploaded dataset.&amp;nbsp; (Hmmm...I may be able to get the dataset name from the DataView object name (SASApp:SASHELP.PRDSALE) and use VBA to set the parameter of the stored process (so perhaps make it a hidden parameter).&amp;nbsp; This would be an improved user experience.)&lt;/LI&gt;&lt;LI&gt;The stored process has an input stream defined as xl_data, text/xml, rewind.&lt;/LI&gt;&lt;LI&gt;Drop this stored process on Sheet2.&amp;nbsp; When you initially drop the stored process, it will ask for the input stream.&amp;nbsp; Enter =Table1[#ALL].&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the code for the stored process:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: #A0C0FF;"&gt;%macro&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;STRONG&gt;&lt;EM&gt;CreateDatasetFromExcelTable&lt;/EM&gt;&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;libname xl_data xmlv2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: teal; background: white;"&gt;* get variables from instream dataset ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;proc contents data=&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: #0000c0; background: white;"&gt;xl_data.&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;amp;_webin_sasname out=work.contents (keep=name varnum) noprint;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;proc sql noprint;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; select name into :vars separated by &lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;" "&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; from work.contents&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; order by varnum&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;data &amp;amp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: #0000c0; background: white;"&gt;outlib.&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;amp;outdata;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; format &amp;amp;vars; %&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: teal; background: white;"&gt;* set PDV order based on Excel table ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; if &lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; then set &amp;amp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: #0000c0; background: white;"&gt;inlib.&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;amp;indata (keep=&amp;amp;vars);&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: teal; background: white;"&gt;* set variable attrs based on source table ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;nbsp; set &lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: #0000c0; background: white;"&gt;xl_data.&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&amp;amp;_webin_sasname;&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: teal; background: white;"&gt;* set data values based on Excel table ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; background: white; font-size: 11.0pt; font-family: 'Courier New';"&gt;%if&lt;/STRONG&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; (&amp;amp;return) &lt;/SPAN&gt;&lt;STRONG style="color: navy; background: white; font-size: 11.0pt; font-family: 'Courier New';"&gt;%then&lt;/STRONG&gt; &lt;STRONG style="color: navy; background: white; font-size: 11.0pt; font-family: 'Courier New';"&gt;%do&lt;/STRONG&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&amp;nbsp; %* all of this is for debugging ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;proc print noobs;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;proc contents data=&amp;amp;syslast;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="line-height: 1.5em; color: navy; background: white; font-size: 11.0pt; font-family: 'Courier New';"&gt;%end&lt;/STRONG&gt;&lt;SPAN style="line-height: 1.5em; font-size: 11pt; font-family: 'Courier New'; color: black; background-color: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: #A0C0FF;"&gt;%mend&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: fuchsia; background: white;"&gt;options&lt;/SPAN&gt; &lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: fuchsia; background: white;"&gt;mprint&lt;/SPAN&gt; &lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: fuchsia; background: white;"&gt;nocenter&lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;%&lt;STRONG&gt;&lt;EM&gt;CreateDatasetFromExcelTable&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;This does an OK job of replicating the dataset that was filtered on the server by the SAS Data task and returned to Excel.&amp;nbsp; I could then "chain" a 2nd stored process to work with that "uploaded" dataset and join in additional data, summarize data, etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But again, if I could generate a decent where clause from the stored process prompting mangler I would skip the SAS Data process altogether.&amp;nbsp; Performance is a concern since 1) the query returns the result set to Excel (probably via XML under the covers, which gets parsed by the AMO addin, and 2) I turn right around and pass the result set back as XML for the stored process to create the same dataset on the server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If there was a way I could "trick" the SAS Data process to 1) create the result set as a dataset on the server, and 2) not download the result set back to Excel, I'd do that.&amp;nbsp; But, #2 defeats the purpose of the SAS Data functionality, so I can see why that's not baked into the product.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thoughts?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jul 2013 10:35:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93647#M1178</guid>
      <dc:creator>ScottBass</dc:creator>
      <dc:date>2013-07-30T10:35:16Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93648#M1179</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Scott,&amp;nbsp; &lt;/P&gt;&lt;P&gt;You are switching very fast, a real time traveller. asking with AF as background and than moving into the latest with office and VBA.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;The prompting framework is something generic, but has not an own documentation (or not found yet).&lt;/P&gt;&lt;P&gt;I remember to have seen something in the stpug. &lt;A href="http://support.sas.com/documentation/cdl/en/stpug/64882/HTML/default/viewer.htm#n1x5bwm15z6zcmn1jjzrschl4z90.htm" title="http://support.sas.com/documentation/cdl/en/stpug/64882/HTML/default/viewer.htm#n1x5bwm15z6zcmn1jjzrschl4z90.htm"&gt;SAS(R) 9.4 Stored Processes: Developer's Guide&lt;/A&gt; (Macro Variables That Are Generated from Prompts)&lt;/P&gt;&lt;P&gt;The chapter before that is telling someting about the contents and their meaning etc. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jul 2013 16:55:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93648#M1179</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2013-07-30T16:55:37Z</dc:date>
    </item>
    <item>
      <title>Re: Where clause generator in a stored process using SAS Prompting Manager?</title>
      <link>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93649#M1180</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What about using the native excel tools to query? If you created a bunch of views that had your predefined join and somehow passed those over?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jul 2013 17:05:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Microsoft-Integration-with-SAS/Where-clause-generator-in-a-stored-process-using-SAS-Prompting/m-p/93649#M1180</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-07-30T17:05:04Z</dc:date>
    </item>
  </channel>
</rss>

