<?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: Calculo entre Linhas in Forum em português</title>
    <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/892393#M1346</link>
    <description>Pessoal, obrigado desde ja pela ajuda&lt;BR /&gt;Li o material sugerido mas nao consegui evoluir aqui, entao melhorei a minha explicacao pra saber se ainda conseguem me ajudar&lt;BR /&gt;( Coloquei uma imagem em anexo pra melhor explicar e ilustrar )&lt;BR /&gt;&lt;BR /&gt;Se puderem ajudar denovo fico grato &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;</description>
    <pubDate>Fri, 01 Sep 2023 23:16:08 GMT</pubDate>
    <dc:creator>Henriquemont</dc:creator>
    <dc:date>2023-09-01T23:16:08Z</dc:date>
    <item>
      <title>Calculo entre Linhas</title>
      <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/890020#M1341</link>
      <description>Pessoal, espero que estejam bem&lt;BR /&gt;Uma duvida, queria saber como eu posso fazer um calculo entre Linhas da mesma coluna, segue exemplo abaixo:&lt;BR /&gt;&lt;BR /&gt;Coluna 1. Coluna 2&lt;BR /&gt;Receita. 1.000&lt;BR /&gt;Despesa. 500&lt;BR /&gt;&lt;BR /&gt;Queria agora Fazer um calculo entre as duas Linhas e trazer um terceira linha chamando ela de TOTAL&lt;BR /&gt;&lt;BR /&gt;ficando assim&lt;BR /&gt;&lt;BR /&gt;Coluna 1. Coluna 2&lt;BR /&gt;Receita. 1.000&lt;BR /&gt;Despesa. 500&lt;BR /&gt;TOTAL. 500&lt;BR /&gt;&lt;BR /&gt;Depois eu faria uma outra linha na sequencia tipo IMPOSTO de 10%&lt;BR /&gt;&lt;BR /&gt;Coluna 1. Coluna 2&lt;BR /&gt;Receita. 1.000&lt;BR /&gt;Despesa. 500&lt;BR /&gt;TOTAL. 500&lt;BR /&gt;IMPOSTO (500*10%)&lt;BR /&gt;&lt;BR /&gt;Seria possivel Fazer esse calculo entre Linhas da mesma coluna?&lt;BR /&gt;&lt;BR /&gt;Obrigado desde ja pela ajuda e atencao!!&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sat, 19 Aug 2023 02:19:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/890020#M1341</guid>
      <dc:creator>Henriquemont</dc:creator>
      <dc:date>2023-08-19T02:19:07Z</dc:date>
    </item>
    <item>
      <title>Re: Calculo entre Linhas</title>
      <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/890080#M1342</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Se você pretende criar uma tabela, é melhor adicionar colunas adicionais em vez de linhas. Se você está buscando gerar um relatório, considere usar uma ferramenta como Proc Report.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;(above translated from English via chatGPT).&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 20 Aug 2023 02:54:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/890080#M1342</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2023-08-20T02:54:04Z</dc:date>
    </item>
    <item>
      <title>Re: Calculo entre Linhas</title>
      <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/890199#M1343</link>
      <description>&lt;P&gt;Ola&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/446330"&gt;@Henriquemont&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;É possível utilizar o SAS Language para procedimentos transacionais do tipo OLTP (On-line Transacional Processing) conforme você deseja, embora o SAS Language seja voltado para OLAP (ON-line Analytical Processing).&amp;nbsp;Segue um exemplo de código que faz o que está procurando utilizando o DATA-STEP e você poderia também utilizar de PROC SQL para fazer isso.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://sasexamplecode.com/5-simple-ways-to-insert-a-row-into-a-sas-dataset/#google_vignette" target="_blank" rel="noopener"&gt;5 Simple Ways to Insert a Row into a SAS Dataset - SAS Example Code&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data contab;
input tipo $  valor;
datalines;
receita 700
despesa 500
;
run;

proc sort data=contab;
by descending tipo;
run;

data contab;
  set contab end=eof;
by descending tipo;
  retain total 0;    

    total = lag1(valor)-valor;
    output;

if eof then do;
   tipo = "TOTAL";
   valor = lag1(total);  
   output;
end;

run;

data contab;
 set contab end=eof;
if tipo="TOTAL" then valor=total;
output;
run;


data contab;
set contab end=eof;
output;
if eof then do;
tipo = "Imposto";
total = lag1(total);
output;
end;
run;

data contab (drop=total);
 set contab;
if tipo="Imposto" then valor=valor*0.1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;E o resultado, imagino que seja o,&amp;nbsp; desejado logo abaixo.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="wilkoba_0-1692624364149.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/86860i81C3FA395190225E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="wilkoba_0-1692624364149.png" alt="wilkoba_0-1692624364149.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Como verá no código abaixo caso queira utilizar Data-Step é necessário a utilização da declaração RETAIN, da função LAG e tem também o END=eof na declaração SET;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Outra forma que pensei faça mais sentido, é verificar que as entradas de receita e despesa sejam por item contábil e você pode utilizar um PROC TRANSPOSE para transpor estes valores. Segue um código exemplo:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data contab;
input item $ tipo $  valor;
datalines;
VendasXYZ receita 700
VendasXYZ despesa 300
;
run;

proc sort data=contab;
by tipo;
run;

PROC TRANSPOSE data=contab out=contab1;

by item;
id tipo;
var valor;
run;

data contab1 (drop=_NAME_);
  set contab1;
total = receita-despesa;
imposto = (receita-despesa)*0.1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;O resultado ficará como você deseja, porém em cada linha terá seu total e imposto por item.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="wilkoba_1-1692625666334.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/86861iD794098A1B7E4963/image-size/medium?v=v2&amp;amp;px=400" role="button" title="wilkoba_1-1692625666334.png" alt="wilkoba_1-1692625666334.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sucesso na sua programação SAS. E espero ter ajudado&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Aug 2023 13:53:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/890199#M1343</guid>
      <dc:creator>wilkoba</dc:creator>
      <dc:date>2023-08-21T13:53:40Z</dc:date>
    </item>
    <item>
      <title>Re: Calculo entre Linhas</title>
      <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/892393#M1346</link>
      <description>Pessoal, obrigado desde ja pela ajuda&lt;BR /&gt;Li o material sugerido mas nao consegui evoluir aqui, entao melhorei a minha explicacao pra saber se ainda conseguem me ajudar&lt;BR /&gt;( Coloquei uma imagem em anexo pra melhor explicar e ilustrar )&lt;BR /&gt;&lt;BR /&gt;Se puderem ajudar denovo fico grato &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;</description>
      <pubDate>Fri, 01 Sep 2023 23:16:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/892393#M1346</guid>
      <dc:creator>Henriquemont</dc:creator>
      <dc:date>2023-09-01T23:16:08Z</dc:date>
    </item>
    <item>
      <title>Re: Calculo entre Linhas</title>
      <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/893739#M1348</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/446330"&gt;@Henriquemont&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Acho que você precisa ter uma coluna adicional para resolver tal cálculo, por exemplo, tipo_operacao, para saber se está fazendo uma operação de crédito, débito, etc. com isto você conseguir colocar os valores acumulados em seus devidos lugares e no final realizar operação final de subtrair os débitos dos créditos para sua margem líquida.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Pelo seu exemplo, somente pela descrição, na vida real pode incorrer a erros, pois existem descrições que serão iguais sendo débito ou c´redito. Na hora de compor do relatório depois você "esconde" a coluna "tipo_operacao".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Sep 2023 11:03:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/893739#M1348</guid>
      <dc:creator>wilkoba</dc:creator>
      <dc:date>2023-09-12T11:03:35Z</dc:date>
    </item>
    <item>
      <title>Re: Calculo entre Linhas</title>
      <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/898908#M1364</link>
      <description>&lt;P&gt;Para tratamento dos dados, eu converteria cada linha em coluna, isso vai facilitar o entendimento e tratamento, depois de realizados os cálculos necessários, é possível montar o relatório.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Oct 2023 12:25:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Calculo-entre-Linhas/m-p/898908#M1364</guid>
      <dc:creator>RxJunior</dc:creator>
      <dc:date>2023-10-17T12:25:51Z</dc:date>
    </item>
  </channel>
</rss>

