Régression linéaire dans les graphiques de table
On peut afficher des courbes de tendance de régression linéaire dans les graphiques bitmap de QlikView au moyen de l'option Courbes de tendance disponible sous l'onglet Expressions de la boîte de dialogue Propriétés du graphique. Il est aussi possible d'afficher l'équation de régression.
Si vous voulez afficher les données de régression dans le graphique d'un tableau, par exemple, la régression doit être calculée. Les fonctions d'agrégation LINEST_M et LINEST_B vous donneront les valeurs de la pente et de l'ordonnée à l'origine de la régression linéaire. Les fonctions d'agrégation LINEST_M et LINEST_B correspondent toujours à un axe des abscisses continu, ce qui signifie que vous devez définir ce paramètre sous l'onglet Axes des propriétés du graphique.
Pour que le calcul soit exact, ces fonctions doivent posséder l'entière agrégation du graphique (l'expression itérée suivant la dimension) en argument d'entrée. Ceci peut être réalisé en définissant une fonction d'agrégation avancée contenant les mêmes expression et dimensions que celles contenues dans le graphique. La fonction d'agrégation avancée est alors utilisée en tant que paramètres des agrégations LINEST. L'expression résultante est de la forme :
linest_M(total aggr(TransVal,TransID),TransID)*TransID + linest_b(total aggr(TransVal,TransID),TransID)
La fonction Only est impliquée dans toutes les occurrences de TransVal et de TransID. Les agrégations LINEST doivent être réalisées avec le qualificateur TOTAL, sinon, les paramètres de régression seraient calculés par point de données plutôt que pour l'ensemble complet de données. Le résultat peut être visualisé dans le graphique combiné ci-dessous dans lequel la régression est affichée comme l'expression d'une courbe normale.
Notez que la ligne de tendance n'est pas ici une ligne de tendance QlikView traditionnelle, mais une expression régulière dessinée linéairement. Cette différence résulte du fait que l'expression affichée, par opposition à une ligne de tendance traditionnelle, n'est pas extrapolée au delà des premiers et derniers points.
Ce graphique peut être converti en tableau simple :
Les expressions suivantes sont utilisées, par ordre d'apparition :
Round(Sum(TransVal),'0.1')
Round(LINEST_M(TransVal,TransID,TransID),'0,1')
Round(LINEST_B(TransVal,TransID,TransID),'0,1')