4D v16

Utiliser des fonctions statistiques

Accueil

 
4D v16
Utiliser des fonctions statistiques

Utiliser des fonctions statistiques  


 

 

Les fonctions statistiques permettent d'effectuer des calculs sur des séries de valeurs. Le SQL contient de nombreuses fonctions d'agrégation telles que MIN, MAX, AVG, SUM, etc. A l'aide de fonctions d'agrégation, nous souhaitons effectuer des statistiques sur le nombre total d'entrées par an. Le résultat devra être trié par année. Pour cela, nous devons effectuer la somme des entrées pour chaque film puis trier le résultat par année.
Voici le code 4D correspondant à cette requête :

 C_ENTIER LONG($vMin;$vMax;$vSum)
 C_REEL($vAverage)
 C_TEXTE($AlertTxt)
 
 REDUIRE SELECTION([MOVIES];0)
 $vMin:=0
 $vMax:=0
 $vAverage:=0
 $vSum:=0
 TOUT SELECTIONNER([MOVIES])
 $vMin:=Min([MOVIES]Sold_Tickets)
 $vMax:=Max([MOVIES]Sold_Tickets)
 $vAverage:=Moyenne([MOVIES]Sold_Tickets)
 $vSum:=Somme([MOVIES]Sold_Tickets)
 $AlertTxt:=""
 $AlertTxt:=$AlertTxt+"Nombre minimum d'entrées : "+Chaine($vMin)+Caractere(13)
 $AlertTxt:=$AlertTxt+"Nombre maximum d'entrées : "+Chaine($vMax)+Caractere(13)
 $AlertTxt:=$AlertTxt+"Moyenne des entrées : "+Chaine($vAverage)+Caractere(13)
 $AlertTxt:=$AlertTxt+"Total des entrées : "+Chaine($vSum)+Caractere(13)
 ALERTE($AlertTxt)

  • En utilisant du code SQL :

     C_ENTIER LONG($vMin;$vMax;$vSum)
     C_REEL($vAverage)
     C_TEXTE($AlertTxt)
     
     $vMin:=0
     $vMax:=0
     $vAverage:=0
     $vSum:=0
     Debut SQL
        SELECT MIN(Sold_Tickets),
        MAX(Sold_Tickets),
        AVG(Sold_Tickets),
        SUM(Sold_Tickets)
        FROM MOVIES
        INTO :$vMin, :$vMax, :$vAverage, :$vSum;
     Fin SQL
     $AlertTxt:=""
     $AlertTxt:=$AlertTxt+"Nombre minimum d'entrées : "+Chaine($vMin)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Nombre maximum d'entrées : "+Chaine($vMax)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Moyenne des entrées : "+Chaine($vAverage)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Total des entrées : "+Chaine($vSum)+Caractere(13)
     ALERTE($AlertTxt)
  • En utilisant les commandes SQL génériques :

     C_ENTIER LONG($vMin;$vMax;$vSum)
     C_REEL($vAverage)
     C_TEXTE($tQueryTxt)
     C_TEXTE($AlertTxt)
     
     $vMin:=0
     $vMax:=0
     $vAverage:=0
     $vSum:=0
     SQL LOGIN(SQL_INTERNAL;"";"")
     $tQueryTxt:=""
     $tQueryTxt:=$tQueryTxt+"SELECT MIN(Sold_Tickets), MAX(Sold_Tickets), AVG(Sold_Tickets), SUM(Sold_Tickets)"
     $tQueryTxt:=$tQueryTxt+" FROM MOVIES"
     SQL EXECUTER($tQueryTxt;$vMin;$vMax;$vAverage;$vSum)
     SQL CHARGER ENREGISTREMENT(SQL tous les enregistrements)
     SQL LOGOUT
     $AlertTxt:=""
     $AlertTxt:=$AlertTxt+"Nombre minimum d'entrées : "+Chaine($vMin)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Nombre maximum d'entrées : "+Chaine($vMax)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Moyenne des entrées : "+Chaine($vAverage)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Total des entrées : "+Chaine($vSum)+Caractere(13)
     ALERTE($AlertTxt)
  • En utilisant la commande SQL dynamique EXECUTE IMMEDIATE :

     C_ENTIER LONG($vMin;$vMax;$vSum)
     C_REEL($vAverage)
     C_TEXTE($tQueryTxt)
     C_TEXTE($AlertTxt)
     
     $vMin:=0
     $vMax:=0
     $vAverage:=0
     $vSum:=0
     $tQueryTxt:=""
     $tQueryTxt:=$tQueryTxt+"SELECT MIN(Sold_Tickets), MAX(Sold_Tickets), AVG(Sold_Tickets), SUM(Sold_Tickets)"
     $tQueryTxt:=$tQueryTxt+" FROM MOVIES"
     $tQueryTxt:=$tQueryTxt+" INTO :$vMin, :$vMax, :$vAverage, :$vSum;"
     Debut SQL
        EXECUTE IMMEDIATE :$tQueryTxt;
     Fin SQL
     $AlertTxt:=""
     $AlertTxt:=$AlertTxt+"Nombre minimum d'entrées : "+Chaine($vMin)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Nombre maximum d'entrées : "+Chaine($vMax)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Moyenne des entrées : "+Chaine($vAverage)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Total des entrées : "+Chaine($vSum)+Caractere(13)
     ALERTE($AlertTxt)

Pour tester ces exemples, lancez la base "4D SQL Code Samples" et affichez la boîte de dialogue principale. Choisissez le mode d'interrogation du moteur de 4D et cliquez sur le bouton Utilisation de requêtes statistiques.

 
PROPRIÉTÉS 

Produit : 4D
Thème : Prise en main
Nom intl. : Using Statistical functions

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Référence SQL ( 4D v16)