<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Formation SAS - Stage SAS - BI - Data warehouse - Datamart &#187; programmeur sas</title>
	<atom:link href="http://www.formations-sas.fr/tag/programmeur-sas/feed" rel="self" type="application/rss+xml" />
	<link>http://www.formations-sas.fr</link>
	<description>SAS : Formation &#38; Stage &#124; Systèmes Decisionnels</description>
	<lastBuildDate>Wed, 23 Jun 2010 09:33:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Extraction Aléatoire sans Doublon</title>
		<link>http://www.formations-sas.fr/formation-programmeur-sas/000276/extraction-aleatoire-sans-doublon.html</link>
		<comments>http://www.formations-sas.fr/formation-programmeur-sas/000276/extraction-aleatoire-sans-doublon.html#comments</comments>
		<pubDate>Fri, 01 May 2009 08:12:06 +0000</pubDate>
		<dc:creator>SAS BI</dc:creator>
				<category><![CDATA[Autoformation SAS]]></category>
		<category><![CDATA[Exemple programme SAS]]></category>
		<category><![CDATA[Formation Programmeur SAS]]></category>
		<category><![CDATA[aléatoire]]></category>
		<category><![CDATA[doublon]]></category>
		<category><![CDATA[exemple]]></category>
		<category><![CDATA[exemple sas]]></category>
		<category><![CDATA[extraction]]></category>
		<category><![CDATA[Formation SAS]]></category>
		<category><![CDATA[programme sas]]></category>
		<category><![CDATA[programmeur sas]]></category>
		<category><![CDATA[sans]]></category>

		<guid isPermaLink="false">http://www.formations-sas.fr/?p=276</guid>
		<description><![CDATA[Afin d'appliquer un modèle prédictif sur une représentation limitée d'une population, afin d'optimiser les performance lors de l'écriture de programme en effectuant des tests sur une petite portion d'un base de données, nous avons la possibilité avec le système SAS de réaliser très simplement une extraction de données, de type aléatoire et bien sur, cerise sur le gâteau : sans doublons.]]></description>
			<content:encoded><![CDATA[<style type="text/css">
<!--
.Style1 {font-family: Georgia, "Times New Roman", Times, serif}
.Style3 {
	font-family: "Courier New", Courier, monospace;
	font-weight: bold;
	font-size: 14px;
}
.Style4 {font-size: 16px}
-->
</style>
<h1 class="Style1">Programme Exemple SAS : Extraction Aléatoire sans Doublon</h1>
<p class="Style1">&nbsp;</p>
<p class="Style1">La problématique est la suivante, réaliser une <strong>pannélisation</strong>, pour des raisons de performance.</p>
<p align="justify" class="Style1">&nbsp;</p>
<p align="justify" class="Style1">Afin d&#8217;appliquer un <strong>modèle</strong> <strong>prédictif</strong> sur une <strong>représentation limitée</strong> de population, ou afin d&#8217;<strong>optimiser les performance</strong> lors de l&#8217;<strong>écriture de programme</strong> <strong>SAS</strong> en effectuant des tests sur une petite portion d&#8217;une base de données, nous avons la possibilité avec <strong>le système SAS</strong> de réaliser très simplement une <strong>extraction de données</strong>, de type <strong>aléatoire</strong> et bien sur, cerise sur le gâteau : sans <strong>doublons</strong>.</p>
<p align="justify" class="Style1">&nbsp;</p>
<p align="justify" class="Style1">Dans le <strong>programme SAS</strong> suivant, il vous suffit de renseigner les <strong>macros variables</strong>, entre le signe &#8216;=&#8217; et le signe &#8216;;&#8217; : <strong>PCT</strong>, contenant le pourcentage de lignes de la table à extraire et  <strong>DS1</strong>, donnez lui le nom complet de la table SAS source, soit libname.tablename, ensuite lancer le <strong>programme SAS</strong> et voilà c&#8217;est tout.</p>
<p align="justify" class="Style1">&nbsp;</p>
<pre>
<h3 align="justify" class="Style1"><strong>Programme exemple SAS : Extraction aléatoire sans doublon.</strong></h3>

<span id="more-276"></span>
<p class="Style3 Style4">/***  Pourcentage d'observations à garder ***/
<p class="Style3">* - - - - - - - - - - A modifier - - - - - - - - *
<p class="Style3">%let pct=20;	           /***  &lt;=== PCT A modifier       ***/
%let ds1=ia.employee_data; /***  &lt;=== Table SAS A modifier ***/
<p class="Style3">* - - - - - - - - - - A garder - - - - - - - - - *
<p class="Style3">data extraction(drop=nombre_aleatoire indice_depl nb_ligne_out d1 pct nb rc);
/* Combien d'observations dans la table sas. */
  if _n_ = 1 then do;
    d1=open(&quot;&amp;ds1&quot;);
    nb=attrn(d1,'nobs');
    if d1 then rc=close(d1);
  end;
<p class="Style3">
/* Préparation à l'extraction des données SAS */
  pct=input(symget('pct'),2.2);
  pointer=0;
  nb_ligne_out=nb * pct;

/* Boucle d'extraction */
  do while(nb_ligne_out &gt; 0);
    pointer+1;
    nombre_aleatoire=ranuni(0);
    indice_depl=nb_ligne_out / (nb - pointer);
    if nombre_aleatoire &lt; indice_depl then do;
      set &amp;ds1 point=pointer;
      output;
      nb_ligne_out=nb_ligne_out-1;
    end;
  end;
stop;
run;
</pre>
<p><strong>Ce code SAS, peut être utilisé avec <a href="/000211/programmation-sas-base-prog1.html" target="_self">SAS BASE</a>, avec <a href="/000216/le-langage-sas-macro-macr.html" target="_self">SAS Macro</a>, avec <a href="/formation-sas/000258/sas-enterprise-guide.html" target="_self">SAS enterprise Guide (SEG)</a>.</strong> Des exemples (outils) comme celui-ci sont fournis lors de nos formations/stages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.formations-sas.fr/formation-programmeur-sas/000276/extraction-aleatoire-sans-doublon.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

