<?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; doublon</title>
	<atom:link href="http://www.formations-sas.fr/tag/doublon/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>Détection des doublons avec SAS</title>
		<link>http://www.formations-sas.fr/formation-programmeur-sas/000471/detection-des-doublons-avec-sas.html</link>
		<comments>http://www.formations-sas.fr/formation-programmeur-sas/000471/detection-des-doublons-avec-sas.html#comments</comments>
		<pubDate>Tue, 12 Jan 2010 11:07:37 +0000</pubDate>
		<dc:creator>SAS BI</dc:creator>
				<category><![CDATA[Autoformation SAS]]></category>
		<category><![CDATA[BO programmeur SAS]]></category>
		<category><![CDATA[Exemple programme SAS]]></category>
		<category><![CDATA[Formation Programmeur SAS]]></category>
		<category><![CDATA[Tuyaux, Conseils SAS]]></category>
		<category><![CDATA[detection]]></category>
		<category><![CDATA[doublon]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.formations-sas.fr/?p=471</guid>
		<description><![CDATA[SAS &#8211; Détection des doublons. Le but ici est de vous fournir un programme simple pour vous permettre de rechercher les doublons que vous pourriez avoir dans une de vos table SAS.   Nous utilisons pour cela la proc SQL de SAS.   On commence par afficher les informations de la table avec deux petites particularités :   [...]]]></description>
			<content:encoded><![CDATA[<h1>SAS &#8211; Détection des doublons.</h1>
<p style="text-align: justify;">Le but ici est de vous fournir un programme simple pour vous permettre de <strong>rechercher les doublons</strong> que vous pourriez avoir dans une de vos table SAS.  </p>
<p>Nous utilisons pour cela la <strong>proc SQL de SAS</strong>.  </p>
<p>On commence par afficher les informations de la table avec deux petites particularités :  </p>
<p>On regroupe les observations sur un critère que vous devez déterminer, ici on à choisi : &laquo;&nbsp;<strong>Nom</strong>, <strong>prenom</strong>, <strong>ville</strong>, <strong>region</strong>, <strong>pays</strong>&nbsp;&raquo; c&#8217;est l&#8217;objet de la partie <strong>GROUP BY</strong>.  </p>
<p>Ensuite on demande à SAS de nous retourner toutes les lignes aggrégées de la table dont le nombre de tuples &laquo;&nbsp;Nom, prenom, ville, region, pays&nbsp;&raquo; est supérieur à 1. C&#8217;est la clause <strong>HAVING</strong>. <span id="more-471"></span>  </p>
<p>Le résultat renverra toutes les lignes possédant au moins <strong>un doublon</strong>, l&#8217;ensemble des variables de la table plus le &laquo;&nbsp;<strong>nombre</strong>&nbsp;&raquo; d&#8217;occurences pour chaque tuple.</p>
<p><code><br />
/* ****************************************** */<br />
/* Site : http://www.formations-sas.fr - 2010 */<br />
/*                                            */<br />
/* PGM = Détection des doublons sur Table SAS */<br />
/*                                            */<br />
/* Auteur : Pascal MAUBERT                    */<br />
/* ****************************************** */</code></p>
<p><strong>proc sql;<br />
   title &#8216;Recherche des doublons&#8217;;<br />
   select *, count(*) as nombre<br />
      from table_double_sas<br />
      group by Nom, prenom, ville, region, pays<br />
      having count(*) &gt; 1;<br />
quit;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.formations-sas.fr/formation-programmeur-sas/000471/detection-des-doublons-avec-sas.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<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>

