Desktop productivity for business analysts and programmers

Excel data as input for Custom Tasks

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 91
Accepted Solution

Excel data as input for Custom Tasks

Hi all,

This is probably more of a question for Chris, but if anyone knows, I am not sure how to implement custom tasks so that they can read in data from Excel as input. The usual call in C# is to use:

SasData data = new SasData(this.Consumer.InputData[0] as ISASTaskData2

but this assumes the data is SAS based from a library. When you run the task in Excel, and the user chooses Excel data, a window appears that allows the user to select the cells that contain the data of interest, but when the variable selector appears, no data variables appear in the selection, presumably because the Excel data was not able to be read in. A workaround is for the user to first copy the Excel data to the work library, and to run the task on this, but there must be a way of reading in the data as part of the custom task.

Any help appreciated.

Nick

                    );


Accepted Solutions
Solution
‎10-01-2013 08:39 AM
Community Manager
Posts: 2,889

Re: Excel data as input for Custom Tasks

Nick,

In this case, you will need to rely on a different API to get to information about this "unrealized data" -- data that is in the spreadsheet but not yet copied to SAS.  The Office Add-In supports these APIs (as does EG) to surface information about data sources independent of the easier-to-use SasData classes.

The technique uses ISASTaskDataAccessor and ISASTaskDataColumn APIs, which are shown in the Top N Report example in my Custom Tasks book (see Chapter 9).  You can access the sample code in my GitHub repository - see the TopNReportForm.cs file.

Hope this helps,

Chris

View solution in original post


All Replies
Solution
‎10-01-2013 08:39 AM
Community Manager
Posts: 2,889

Re: Excel data as input for Custom Tasks

Nick,

In this case, you will need to rely on a different API to get to information about this "unrealized data" -- data that is in the spreadsheet but not yet copied to SAS.  The Office Add-In supports these APIs (as does EG) to surface information about data sources independent of the easier-to-use SasData classes.

The technique uses ISASTaskDataAccessor and ISASTaskDataColumn APIs, which are shown in the Top N Report example in my Custom Tasks book (see Chapter 9).  You can access the sample code in my GitHub repository - see the TopNReportForm.cs file.

Hope this helps,

Chris

Frequent Contributor
Posts: 91

Re: Excel data as input for Custom Tasks

Thanks Chris, that worked.

Although the SaSData class is a bit easier to use, the API you mentioned has the advantage of allowing Excel data to be used, without much extra effort.

Nick

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 228 views
  • 0 likes
  • 2 in conversation