Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x

Statistical Analysis System (SAS)

107

Solutions

122

Contributors

The Statistical Analysis System (SAS) programs consist of two steps, the DATA step and the PROC step. The DATA step reads data and prepares it for use by subsequent DATA or PROC steps. A SAS procedure (PROC) is a collection of statements that execute a certain task. SAS procedures have their own statements and commands, but many are shared among procedures. JMP is the graphical user interface for SAS, and is used in applications such as Six Sigma, quality control and engineering, design of experiments and scientific research.

Share tech news, updates, or what's on your mind.

Sign up to Post

I need to create a matrix type calendar query that will replace rows that have zero value with 2 as the value in the summary column. This query is based on a file that runs monthly and daily. The file doesn't run on weekends or holidays.  In my query, The max_month column values are compared with the summary column values. If there are missing months in the summary column than the missing values are replaced with zeros. The last step is to output the data set to a text file.  My query isn't  outputting any results.
 
In the attachment, there is a text file name tran_sumary and an excel file name month.xls.  The tran_sumary file is a data file and month.xls is an example of what my query results need to print
 
 
create table xxx as 
select  * from connection to teradata
   (SELECT
       FROM
       b.LD_T,
       b.K_KY

/* create derived table b  and select the columns– extracts K_KY dates in the format of example SEP and print the K_KY largest count - b(<column list>)*/

    (select
       b.LD_T,
       b.K_KY
        cast(cast( b.K_KY as char(3)) as date format 'MMM')  AS MAX_MNTH,
        cast(cast(b.K_KY as char(8)) as date format 'yyyymmdd')  AS tran_dt
        from dy b
        Group BY 1,2
         Having Count(*) >1;)  AS b(LD_T,  MAX_MNTH, tran_dt)

/* create derived table c and select the columns – extracts sumary_end-dt dates in the format for example SEP and print the sumary_end-dt largest  count b(<column list>)*/ */

       (SELECT
          FROM
   

Open in new window

0
How to Use the Help Bell
LVL 10
How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

sas date in teradata

date1
20171101
20171101
How do you convert a date column stored as sas date value in teradata to a sas date format using proc sql? I am getting an error message.

Here is my code:

   
  proc sql;
  Create table test
   AS
   select cast(cast(date1 as date format 'YYYY/MM/DD') as char(10)) as 'date_d'
   from td2.db;

Open in new window

0
Hey, All,

Can you give me some good web links to where it has some very good Data Scientist Resume samples? Also, those samples are one-pagers (everyone desire one page resumes)

Thanks
0
Does anyone have experience integrating Google Analytics tracking code into a SAS Web Portal? It seems that SAS doesn't really have the granularity to tell me exactly what my users are doing on each portal page and how they are interacting with each. Was hoping someone out there has had a whack at this previously.

I've found this which works on version 9.4M4 http://blogs.sas.com/content/sasdummy/2017/04/14/using-sas-to-access-google-analytics-apis/

I have 9.3 M2 and would rather just have the data pipe directly in to GA instead of having it come back to SAS as shown in the previous blog post

Thanks in advance for any help you can provide
0
Why Statistics is important for Data Analysis?
What is the role of Statistics in Data Analysis?

*Please share a real life example.*
0
I want to be data analyst.
but i don't know, what should i learn first?

what are basic capabilities  should i have ?
0
I am trying to embed automatically today's date (DDMMYYD10.) and XML records counts in the XML data file header. Is there an automatic way in SAS how to do that?

This is where today's date and record counts would go:
 
put &tab2. '<SampleDate>2017-06-27</SampleDate>';
 put &tab2. '<CaseCount>10</CaseCount>';

Open in new window


Full SAS code:
filename DirectX  "&basepath\examples\XMLData2.xml";
filename Complete "&basepath\examples\XMLComplete2.xml";

libname xmldir xmlv2 xmlfileref=DirectX xmltype=generic;

/* Macro variables to provide appropriate tab spacing */
%let tab="    ";
%let tab2="        ";

/* Writing two SAS datsets to xmldir library and creating XMLData.xml data file */ 
data xmldir.class(label="dataset class from sashelp library");
       set sashelp.class(obs=10);
run;

data xmldir.cars(label="dataset cars from sashelp library");
       set sashelp.cars(obs=10); 
run; 

libname xmldir clear;

/*  XML file information and header and XML File End*/
data _null_;
 infile	DirectX end=last;
file	Complete;

input;				
 
if _N_ = 1 then
    do;  
	put _infile_;	
    put '<Schema Name="CarsAndClass">';
    put &tab. '<Header>';
    put &tab2. '<SampleDate>2017-06-27</SampleDate>';
    put &tab2. '<CaseCount>10</CaseCount>';
    put &tab2. '<Action>Initial</Action>';
    put &tab2. '<YearPeriod>2017</YearPeriod>';
    put &tab. '</Header>';
    put &tab. '<Payload>';
    end;
else
	put &tab2 _infile_;	
 
if last then
    do;
    put &tab'</Payload>';		
    put '</Schema>';
    end;    
run;

Open in new window

0
Hello All Experts,
I am a student enthusiast in learning "Data Analytics" , which is the best platform to learn for FREE?
I want to Learn 'Data Science (Statistics)' & 'SAS/R' from scratch?
Any videos? Any websites? Any Blogs?

Thanks,

Regards,
Satish Kumar G N
0
Experts,

Does anyone know how to export a pipe delimited text file from a SAS dataset?
0
Hello,
I am trying to add a header and tabs with info about the XML data file to .xml file in SAS code. How exactly this can be done? Please see what I have currently I have for my SAS code. I can see the XML data file as my output but the Header (tab and tab2) with all info about the XML file does not show up yet in the XML file.
 
libname xmldir xmlv2 '/basepath/examples/XMLData.xml' xmltype=generic;

/* Req. 1: Macro variables to provide appropriate tab spacing. */
%let tab="    ";
%let tab2="        ";

/* Req. 2: XML file information and header*/
data _null_;
   file xmldir;
  
    put '<?xml version="1.0" encoding="UTF-8"?>';
    put '<Schema Name>';
    put &tab. '<Header>';
    put &tab2. '<SampleDate>2017-06-14</SampleDate>';
    put &tab2. '<CaseCount>30</CaseCount>';
    put &tab2. '<Action>Initial</Action>';
    put &tab2. '<YearPeriod>2017</YearPeriod>';
    put &tab. '</Header>';
    put &tab. '<Payload>';
run;

/* Req. 3: Writing two SAS datsets to xmldir library and creating XMLData.xml data file*/ 
data xmldir.dataname1(label="dataset name1 from sashelp library");
       set sashelp.dataset1(obs=10);
run;

data xmldir.dataname2(label="dataset name2 from sashelp library");
       set sashelp.dataset2(obs=20 keep=var1 var2); 
run; 

libname xmldir clear;

/* Req. 4: XML File End*/
data _null_;
   file xmldir mod;

    put &tab'<Payload>';
    put '</Schema Name>';
run;

Open in new window


So, currently only Req. 3 is working.
Any comments or suggestions will be greatly appreciated!
0
Ask an Anonymous Question!
LVL 10
Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Hello,
For testing and verification purposes, I am trying to compute the count of good duplicates found in both Data1 and Data2  and in Data3, and in one or the other. These are the steps I am trying to accomplish to get to my final results:

#1.  Create a list (Data4) of unique Data1 and Data2 where variable rec_flag=A, B, C, D.
#2.  Build a duplicate (Data5) file from the list in #1 by generating a record linking each two records where Var3 and Var4 are linked to the same Var6 and Var7.
#3.  Match Data5 file with Data3 where variable rec_flag=B, C, D using key variables Var3, Var4, Var6, and Var7.
#4.  Display in the output .lis the number of records in:
     #4.1 Both Data5 and Data3
     #4.2 Data5 only
     #4.3 Data3 only
 
The issue that I am having is with #2 where I need to build a duplicate file Data5.

Here is my SAS code below with missing step #2:

libname mydir "/home/myprofile/links"; 
%macro cnt_lnks;

 /*  #1 */
proc sort data=mydir.Data1
          out=Data1out(where=(rec_flag='A', 'B', 'C', 'D') keep=Var3 Var4 Var6 Var7 rec_flag);
          by Var3 Var4 Var6 Var7;
run;

proc sort data=mydir.Data2
          out=Data2out(where=(rec_flag='A', 'B', 'C', 'D') keep=Var3 Var4 Var6 Var7 rec_flag);
          by Var3 Var4 Var6 Var7;
run;

/*********************************************
 Datastep: merge Data1 & Data2
           by Var3 Var4 Var6 Var7
 ********************************************/
data all_links1;
  merge 

Open in new window

0
Hello everyone,
In my organization we are currently in a process transferring from using ASCII files to using XML data files when working (importing and exporting) with SAS datasets.  

So, my question is:  what would be a proper way to export multiple ( two or more) SAS datasets (dataset1, dataset2) to one XML data file (XMLData) and at the same time to make sure that XML data file actually has those multiple SAS datasets in it as tables.

The only way that I was able to export multiple SAS datasets to one  XML data file is by appending one SAS dataset to another but that's not what I want because at the end the XML data file does not have multiple tables in it - all data from multiple SAS datasets look as just one big table.  Below is working code but again it only appends multiple SAS datasets and it does not create tables in the XML data file.

libname xmldir xmlv2 '/home/profile1/xml/XMLData.xml' xmltype=generic;
libname mydir '/home/profile/sas';

data xmldir.XMLData;
       set mydir.dataset1
             mydir.dataset2; 
run; 

Open in new window


If you know how tackle this problem from any angle please let me know.  Any help would be very appreciated!
0
hi,

both SAS and IBM Cognos is analytical SW, any diff between them? I am wondering why company use both?
0
hi  i have code like this  File inputFile = new File(templateDownloadRequestDto.getTemplateName().trim() + ".xlsx");
this line is showing as path manipulation issue HP fotify scanning, from UI level i select a drop down value to download a file, then i hits a spring controller, from spring service we prepare xlsx sheet using apache poi ,here we are not validating any file names, because those are predefined names, so no need to validate file, how can i resolve this issue ?
0
Experts,

Can someone tell me what this SAS code doing.  It appears to be a macro in a macro.
CDPS.txt
0
Does anyone know that what would be used in SAS for LOGEST Function in Excel?
0
Experts,

I currently have my password assigned in a process that executes when SAS Enterprise Guide comes up.  I also have my libraries which require my password assigned in the same process.

This works fine for me, but I am concerned that those who may have access to the SAS tables in the background may be able to see my password.  In the past I have used the encrypted password, but the Teradata tables that require my password will not accept the encrypted SAS password.  

Is there a way I can be prompted to enter my password and then it is passed to the library assignments that are now in the "submit SAS code when server is connected"
0
Experts,

I have a column DOB which is on TableA   one of the tables I am reading into my Oracle query.  The query has multiple tables.  Can someone tell me how to calculate the age as of Dec 01, 2016.

I am using a pass-through query in SAS to read the Oracle tables.
0
The curve on the tab "Curve fitting graphic" in the Excel "Distansomräkningstider" attached here is almost perfect. It is only the last part that is pointing too sharply upwards. It should be more flattened out (but never turn townwards, always continue to pointing slightly upwards) from around 2500 metres or 2600 metres, which seems to be a "breaking point" for two different curves.

The context is harness racing track times for different lengths of the races with the purpose of calculating re-calulation coefficients for different lengths of the races. Index is 2140 metres (x). The software I use is CurveExpert. I received help here at EE earlier at this thread:

Is there any online tool where I can enter x and y values to get a curve diagram displayed, and then enter more x values to get exact y values calculated?

In essence, this graph consists of 2 curves, and they cross each other at around 2500 or 2600 metres. The first curve is more favouring the speed of the horse (shorter distance, which means the horse is able to run much faster due to a short distance where strength and stamina is not required), whereas the second curve is more favouring the strength, or stamina, of the horse (longer distance, which means the horse can not run so much faster the more the curve moves to the right and the distance gets longer and longer).

My reliable five values I have now are these:

x=1640; y=0.913999
x=2140; y=1
x=2640; y=1.048999
x=3140; y=1.110999
x=4000; …
0
Tech or Treat!
LVL 10
Tech or Treat!

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Hey all,
I am trying to get my feet wet in R programming for statistical analysis. '

Can anyone of you, tell me what is the basic differences and similarities between a list and vector, in a simple  layman’s terms…
What is a  data frames?

Thank you
0
Experts,
I know there is a way to find all of the tables in a directory in SAS the contain a certain column using Dictionary.columns

Does anyone know the syntax for this.  I remember doing it a while back, but cannot find the code.

Column = SRC_GRP_NBR
Directory = PROD

Can someone give me the syntax
0
Hello,
I am trying to simplify the following already working SAS code. Is there way how to do that in easier/sufficient SAS code?  Right now the processing is taking very long time because datasets are large (over million records).  
Any suggestions/comments will be appreciated!

 
/* Creating a record for each combination of the two duplicates */

data data2 data3;
  set data1;
      by var4;
  retain x 0;

  if first.var4 then do;
     x=1;
     output data2;
  end;
  else do;
     x=x+1;
     output data3;
  end;
run;

data data2 data4;
  merge data3(in=a) data2(in=b);
     by var4;

  if (a and b) and x=1 then output data2; /* If primary and duplicate */
  if b and not a then output data4; /* If primary with no duplicate */
run;

data data5 (keep= var4 var1 var2 var3 x); /*Keep needed variables*/
  set data2 data3;
run;

proc sort data=data5; 
  by var4; 
run;

/* Create var1 and var2 from combination of clerical duplicates */
proc sql;
create table data6 as
   select b.var2 as var1, a.var2, a.var3
     from data5 as a, data5 as b   /* Setting a and b */               
     where a.var1=b.var1 and b.x > a.x; /* Select variables with the same combination from*/
quit;                                     /* dataset and where there is a match */
 
/* Set var3=FOX */
proc sql;
  update data6
  set var3='FOX'; 
quit;     

Open in new window

0
We utilize a web based freight rate tool and i am trying to figure out how do i really know if the freight rate tool has helped us or are we paying for a tool that hasnt helped us gain more business, increase revenue and/or lost us?

I cant just look at yr over yr or month over month and assume its all due to our using the rate tool because of the many variables involved.

For example, say in 2015 we didnt use a rate tool and 2016 we do use a rate tool. In 2015 demand for truckload capacity was much higher than demand 2016 so numbers could be down in 2016 compared to 2015 so we couldnt blame that on rate tool being a failure. How do you contribute the success or failure to increase business revenue or profits...to our using a rate tool, so i can decide if its worth it to continue paying for it in 2017?

info on rate tool
rate tool takes our historic data and some other variables and it gives us what we should expect to pay for trucks that we service our shipping customers with.

demand for trucks needed to haul freight increased
0
First of all thank you for your help in advance. My question is regarding Matlab and non-linear Least Square curve fitting in Matlab - in both I am not familiar with.

I have this type of data:

x = [600, 800, 1000, 1200, 1400]; 
y = [0, 02, 04, 0.7, 1];

Open in new window


I am trying to use the following algorithms:

f = @(p,x) (p(3)-p(4))./(1+exp(-(x-p(2))/p(1)))+p(4); 
opts = optimset('Display','off','MaxFunEvals',1000); 
sigfit = lsqcurvefit(f, starting_value, intervals,problong,[],[],opts); 
bisection_point= sigfit(2)-sigfit(1)*log((sigfit(3)-0.5)/(0.5-sigfit(4)))

Open in new window


The only problem I have is the starting value in sigfit variable. What would be the best starting values given the above numbers? Any help please would be extremely appreciated.

The above algorithms are based on lsqcurvefit function found in Matlab. Here is the link: http://uk.mathworks.com/help/optim/ug/lsqcurvefit.html

The X vector is time intervals in milliseconds, whereas the Y vector represents responses some participant made whether those intervals where perceived as close to a short (400ms) or long (1600ms) interval.

I don't understand what starting points mean. Ultimately what I need to do is find the 0.5 point in the Y axis and the corresponding value on the X axis. The solution will be somewhere between 600ms to 1400 ms and probably around the 1200ms mark. I have put the starting value as a vector from 600 to 1400 but, I have no idea whether that is right or what that means. I was hoping someone better equipped than me can help answer this problem precisely :).

Thank you again,
Dritan
0
Experts,

Can someone tell me how to extract the last character from a text field.  Below is an example of a text fieldA and I would like to extract the last character which in this case is '5'.  Field A can be any length

 Field A = 'BY CHIP, KY R5'
0

Statistical Analysis System (SAS)

107

Solutions

122

Contributors

The Statistical Analysis System (SAS) programs consist of two steps, the DATA step and the PROC step. The DATA step reads data and prepares it for use by subsequent DATA or PROC steps. A SAS procedure (PROC) is a collection of statements that execute a certain task. SAS procedures have their own statements and commands, but many are shared among procedures. JMP is the graphical user interface for SAS, and is used in applications such as Six Sigma, quality control and engineering, design of experiments and scientific research.

Top Experts In
Statistical Analysis System (SAS)
<
Monthly
>