Il est important de savoir par quelles colonnes vous souhaitez regrouper et comment vous souhaitez les regrouper. Vous devrez le savoir pour configurer le CASE STATEMENT
nous allons écrire sous forme de colonne dans notre instruction select. Dans notre cas, dans un groupe d'e-mails qui accèdent à notre site, nous voulons savoir combien de clics chaque fournisseur d'e-mail comptabilise depuis le début du mois d'août. Nous aimerions également comparer un fournisseur de services de messagerie individuel avec les autres. Pour cet exemple, nous allons utiliser Gmail comme fournisseur de services.
Dans notre SELECT
déclaration, nous aurons besoin de la DATE
, le PROVIDER
et la SUM
des CLICKS
à notre site. Nous pouvons les obtenir à partir des TEST E MAILS
table dans notre source de données.
La DATE
colonne est assez simple :
"Test E Mails"."Created_Date" AS "DATE
Et puisque nous cherchons le SUM
des CLICKS
, nous devrons lancer un SUM
fonction sur les CLICKS
colonne.
SUM("Test E Mails"."Clicks") AS "CLICKS"
Cela nous amène à notre CASE STATEMENT
. Nous savons, d'après la documentation PostgreSQL, qu'une CASE STATEMENT, ou une instruction conditionnelle, doit être organisée de la manière suivante :
CASE
WHEN condition THEN result
[WHEN ...]
[ELSE result]
END
Notre première condition, et dans ce cas uniquement, est que nous souhaitons que toutes les adresses e-mail fournies par Gmail soient séparées de tout autre fournisseur de messagerie. Donc le seul WHEN
est :
WHEN "Test E Mails"."Provider" = 'Gmail' THEN 'Gmail'
Et la déclaration else serait "Autre" pour tous les autres fournisseurs d'adresses e-mail. Le tableau résultant de ce CASE STATEMENT
avec les e-mails correspondants seuls. Ressemblerait à ceci :
Lorsque vous assemblez ces trois colonnes pour un SELECT STATEMENT
et ajoutez le reste des éléments nécessaires pour créer une requête SQL, tout prend forme ci-dessous.
Puis après avoir ajouté un PIVOT DATA
pas dans le pipeline de données, nous obtiendrons un tableau correctement organisé dans le format approprié pour configurer un graphique linéaire montrant comment les clics sont comparés au fil du temps.
En utilisant Chartio, nous pouvons faire tout ce qui précède sans écrire de code SQL, mais en tirant parti des fonctionnalités de l'explorateur de données et du pipeline de données. Après avoir construit notre requête sous-jacente pour extraire toutes les colonnes, nous aurons besoin de SUM OF CLICKS
, DATE
et EMAIL ADDRESS
nous pouvons utiliser le Data Pipeline pour manipuler ces données post-SQL. Commençons par créer la requête.
Faites glisser la "colonne de clics" vers la zone de mesures et agrégez-la par TOTAL SUM
de la colonne Clics, puis renommez-la "CLICS".
Ensuite, faites glisser « Date de création » et « Fournisseur » dans la zone des dimensions et renommez-les « Date » et « Fournisseur de messagerie ». Après cela, en utilisant la colonne « Date de création », vous pouvez définir l'intervalle de dates (ou créer votre WHERE
clause) pour être tout après le 2017-08-01. Cela construira efficacement tout ce dont nous avons besoin dans une requête sous-jacente pour créer le CASE STATEMENT
nous l'avons fait ci-dessus, dans le pipeline de données de Chartio.
Ajout d'un CASE STATEMENT
l'étape du pipeline nous permet de définir les conditions pour le WHEN
et le ELSE
comme nous le faisions auparavant, sans avoir à saisir toute la syntaxe SQL.
Ensuite, après avoir masqué la colonne "Provider" d'origine et utilisé un REORDER COLUMNS
étape et une PIVOT DATA
étape, nous obtiendrons le même arrangement de table que nous avons obtenu en mode SQL et pouvons présenter la même table que nous avons fait en mode SQL.
Bien que cela puisse prendre quelques clics et étapes de plus qu'en mode SQL, le graphique linéaire résultant réalisé en mode interactif ne nécessite aucune connaissance de la syntaxe SQL. Au lieu de cela, tout ce qu'il faut, c'est une compréhension de base des principes impliqués. Ceci est un autre exemple de la façon dont Chartio aide à mettre la puissance des données entre les mains de tous, indépendamment des connaissances SQL.