Tente resolver essas questões sem utilizar o software, depois veja quantas acertou!
01) Quais os valores de x e y?
data exercício_um; x = 2ˆ2; y = 3**3; run;
02) Preencha o campo Coluna_3 da tabela Tabela_A:
data Tabela_A; set Tabela_B; Coluna_3 = Coluna_2/Coluna_1; run;
03) Preencha o campo Coluna_2 da tabela Tabela_D abaixo:
data Tabela_D; set Tabela_C; Coluna_2 = substrn(Coluna_1, 1, 3); run;
04) Há alguma diferença na saída dos dois códigos abaixo?
data Tabela_D; set Tabela_C; Coluna_2 = substrn(Coluna_1, 1, 3); run;
data Tabela_D; set Tabela_C; Coluna_2 = substr(Coluna_1, 1, 3); run;
05) Todas as alternativas abaixo podem ser utilizadas para renomear o campo Coluna_1?
data Tabela_D; set Tabela_C; rename Coluna_1 = Coluna_2; run;
data Tabela_D (rename =Coluna_1 = Coluna_2); set Tabela_C; run;
data Tabela_D; set Tabela_C; rename Coluna_1 Coluna_2; run;
data Tabela_D (rename Coluna_1 = Coluna_2); set Tabela_C; run;
06) Quais os problemas no código abaixo?
data tabela; coluna_nova = '03ABR2018'-'01ABR2018'; run;
07) Há alguma diferença entre os dois códigos abaixo?
data tabela_new; set tabela_old; coluna_nova = compress(" 01 FEV 2018 "); run;
data tabela_new; set tabela_old; coluna_nova = strip(" 01 FEV 2018 "); run;
08) Quantas linhas do campo coluna_nova na tabela Tabela_B são iguais a 0?
data tabela_A; input coluna_1; cards; 6.8 7.4 6.4 8.2 ; run; data tabela_B; set tabela_A; if int(coluna_1 / 2) > 3 then coluna_nova = 1; else coluna_nova = 0; run;
09) Utilizando a tabela_A do exercício anterior, quantas linhas do campo coluna_nova na tabela_C são iguais a 0?
data tabela_C; set tabela_A; if round(coluna_1) > 6 then coluna_nova = 1; else coluna_nova = 0; run;
10) Quais os valores da coluna_3 da tabela_nova definida pelo data step abaixo?
data null; coluna_nova = yrdif('03APR2018'd,'03APR2017'd); coluna_nova_2 = datdif('03APR2017'd,'03APR2018'd, 'act/act'); run;
11) O script abaixo, utilizado para gerar as tabelas tabela_B e tabela_C, funciona por completo? Se sim, qual a saída? Se não, o que precisaria ser ajustado?
data tabela_A; input coluna_1; cards; 9 16 5 4 ; run; data tabela_B; set tabela_A; if coluna_1 > 7 then coluna_2 = sqrt(coluna_1); else coluna_2 = 0; coluna_3 = coluna_2; rename coluna_1 = coluna_nova; run; data tabela_C; set tabela_A; rename coluna_1 = coluna_nova; if coluna_1 > 7 then coluna_2 = sqrt(coluna_1); else coluna_2 = 0; coluna_3 = coluna_2; run;
13) Qual valor retornará a coluna campo_novo?
data null; numero = 123429394; campo_novo = put(numero, z11.); run;
14) Quantas colunas possui a tabela tabela_C? Quais os valores da sua última coluna?
data tabela_A; input coluna_1 $ coluna_2; cards; ABC 10 DEF 5 GHI 12 ; run; data tabela_B; input coluna_1 $ coluna_3; cards; ABC 200 DEF 300 ; run; data tabela_C; merge tabela_A tabela_B; by coluna_1; coluna_4 = coluna_3 *2; run;
15) Por que os códigos abaixo não geraram a tabela_C?
a)
data tabela_A; input nome $; cards; Andre Daniela Igor Patricia ; run; data tabela_B; input nome nota; cards; Igor 7 Patricia 8 ; run; data tabela_C; merge tabela_A tabela_B; by nome; run;
b)
data tabela_A; input id $; cards; APEOEIQK BDJQOPEX BCAPEORP XRALPOED XAWPELOR ; run; data tabela_B; input id $ cep $; cards; APEOEIQK 03949503 BDJQOPEX 20495839 BCAPEORP 22222222 XRALPOED 33333333 XAWPELOR 00000009 ; run; data tabela_C; merge tabela_A tabela_B; by id; run;
Em breve eu posto as respostas (vocês também conseguem verificar no próprio SAS)!
Se este post te ajudou de alguma forma, curte o link ou deixe um comentário. E se tiver outros amigos que trabalham com esse material, não deixe de compartilhar com eles o site. Obrigado.