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_LONGINT($vMin;$vMax;$vSum)
 C_REAL($vAverage)
 C_TEXT($AlertTxt)
 
 REDUCE SELECTION([MOVIES];0)
 $vMin:=0
 $vMax:=0
 $vAverage:=0
 $vSum:=0
 ALL RECORDS([MOVIES])
 $vMin:=Min([MOVIES]Sold_Tickets)
 $vMax:=Max([MOVIES]Sold_Tickets)
 $vAverage:=Average([MOVIES]Sold_Tickets)
 $vSum:=Sum([MOVIES]Sold_Tickets)
 $AlertTxt:=""
 $AlertTxt:=$AlertTxt+"Nombre minimum d'entrées : "+String($vMin)+Caractere(13)
 $AlertTxt:=$AlertTxt+"Nombre maximum d'entrées : "+String($vMax)+Caractere(13)
 $AlertTxt:=$AlertTxt+"Moyenne des entrées : "+String($vAverage)+Caractere(13)
 $AlertTxt:=$AlertTxt+"Total des entrées : "+String($vSum)+Caractere(13)
 ALERT($AlertTxt)

  • En utilisant du code SQL :

     C_LONGINT($vMin;$vMax;$vSum)
     C_REAL($vAverage)
     C_TEXT($AlertTxt)
     
     $vMin:=0
     $vMax:=0
     $vAverage:=0
     $vSum:=0
     Begin SQL
        SELECT MIN(Sold_Tickets),
        MAX(Sold_Tickets),
        AVG(Sold_Tickets),
        SUM(Sold_Tickets)
        FROM MOVIES
        INTO :$vMin, :$vMax, :$vAverage, :$vSum;
     End SQL
     $AlertTxt:=""
     $AlertTxt:=$AlertTxt+"Nombre minimum d'entrées : "+String($vMin)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Nombre maximum d'entrées : "+String($vMax)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Moyenne des entrées : "+String($vAverage)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Total des entrées : "+String($vSum)+Caractere(13)
     ALERT($AlertTxt)
  • En utilisant les commandes SQL génériques :

     C_LONGINT($vMin;$vMax;$vSum)
     C_REAL($vAverage)
     C_TEXT($tQueryTxt)
     C_TEXT($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 EXECUTE($tQueryTxt;$vMin;$vMax;$vAverage;$vSum)
     SQL LOAD RECORD(SQL all records)
     SQL LOGOUT
     $AlertTxt:=""
     $AlertTxt:=$AlertTxt+"Nombre minimum d'entrées : "+String($vMin)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Nombre maximum d'entrées : "+String($vMax)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Moyenne des entrées : "+String($vAverage)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Total des entrées : "+String($vSum)+Caractere(13)
     ALERT($AlertTxt)
  • En utilisant la commande SQL dynamique EXECUTE IMMEDIATE :

     C_LONGINT($vMin;$vMax;$vSum)
     C_REAL($vAverage)
     C_TEXT($tQueryTxt)
     C_TEXT($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;"
     Begin SQL
        EXECUTE IMMEDIATE :$tQueryTxt;
     End SQL
     $AlertTxt:=""
     $AlertTxt:=$AlertTxt+"Nombre minimum d'entrées : "+String($vMin)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Nombre maximum d'entrées : "+String($vMax)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Moyenne des entrées : "+String($vAverage)+Caractere(13)
     $AlertTxt:=$AlertTxt+"Total des entrées : "+String($vSum)+Caractere(13)
     ALERT($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

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

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