Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
lmasson43
Contributor III
Contributor III

Comparaison Campagne Maketing N / N-1

Bonjour,

Je dois réaliser un tableau me permettant de comparer l'efficacité des campagnes marketing par rapport au Chiffre d'affaire généré

La comparaison doit prendre en compte les périodes durant lesquelles, les campagnes se sont déroulées :


Magasin: CA N-1; CA N; Evolution par rapport les periodes ci dessous

Exemple de 2 campagnes avec leurs périodes respectives:

- NOEL2018 : du 05/12/2018 au 31/12/2018

- NOEL2017:  du 01/12/2018 au 27/12/2018

Dans mon script, j'ai

- un fichier QVD pour mes ventes: NumFac;Client;Article;Qté;Punet;CA;Date_Facturation

- un fichier Excel avec le code de la campagne, le cout, le nombre de catalogue envoyé, la date de début, la date de fin de la campagne

- un calendrier qui a été généré  selon le modèle ci dessous (voir en bas de page):

Ma question est donc la suivante: Quand je sélectionne 2 campagnes, j'aimerai pouvoir visualiser le CA facturé généré durant ces deux campagnes? En l'occurence, le CA généré entre le 01/12/2017 et 27/12/2017 et entre le du 05/12/2018 et 31/12/2018

Merci de votre aide car je sèche... 😉

Loic M.

--------------------------------------------------------------------------------

//CALENDRIER
PERIODE_FISCALE:
LOAD * INLINE [
    MIN, MAX, PERIODE
01/03/2016, 28/02/2017, 2017
01/03/2017, 28/02/2018, 2018
01/03/2018, 28/02/2019, 2019];

CALENDRIER:
LOAD 
  
Date($(vDateMin)+RecNo()) as Date_Facturation,
  
month($(vDateMin)+RecNo()) as [Mois_fiscal],
  
num(Month($(vDateMin)+RecNo()))-3 as FiscalMonthNum,
  
Day($(vDateMin)+RecNo()) as [Jour],
   'T'&
ceil(month($(vDateMin)+RecNo())/3) as [Trimestre],
  
WeekDay($(vDateMin)+RecNo()) as [Jour semaine]
  
AUTOGENERATE($(vNbJours));

LEFT Join
IntervalMatch(Date_Facturation)
LOAD
MIN,
MAX
Resident PERIODE_FISCALE;
JOIN
LOAD *
Resident PERIODE_FISCALE;
DROP TABLE PERIODE_FISCALE;

15 Replies
Aurelien_Martinez
Partner - Specialist II
Partner - Specialist II

Bonjour,

--------------------------------------------------------------------------------

//CALENDRIER
PERIODE_FISCALE:
LOAD * INLINE [
    MIN, MAX, PERIODE
01/03/2016, 28/02/2017, 2017
01/03/2017, 28/02/2018, 2018
01/03/2018, 28/02/2019, 2019];

CALENDRIER:
LOAD 
 
Date($(vDateMin)+RecNo()) as Date_Facturation,
 
month($(vDateMin)+RecNo()) as [Mois_fiscal],
 
num(Month($(vDateMin)+RecNo()))-3 as FiscalMonthNum,
 
Day($(vDateMin)+RecNo()) as [Jour],
  'T'&
ceil(month($(vDateMin)+RecNo())/3) as [Trimestre],
 
WeekDay($(vDateMin)+RecNo()) as [Jour semaine]
 
AUTOGENERATE($(vNbJours));

LEFT Join (PERIODE_FISCALE)
IntervalMatch(Date_Facturation)
LOAD
MIN,
MAX
Resident PERIODE_FISCALE;
JOIN(CALENDRIER)
LOAD *
Resident PERIODE_FISCALE;
DROP TABLE PERIODE_FISCALE;



Aurélien

Help users find answers! Don't forget to mark a solution that worked for you!
lmasson43
Contributor III
Contributor III
Author

Bonjour Aurélien,

Merci pour la réponse mais ce n'est pas exactement ce que je veux.

En fait je voudrais associer une campagne (avec une date de début et de fin) à une période de mon calendrier pour en réalité comparer cette campagne (cout, nombre de catalogue envoyé, nombre de personnes ciblées, etc) au chiffre d'affaires dégagé durant la période de cette campagne...

Est ce que tu as une idée?

MErci d'avance.

Aurelien_Martinez
Partner - Specialist II
Partner - Specialist II

Bonjour,

En faisant la même chose que pour le calendrier fiscale :

CAMPAGNE:

Load * Inline [

Campagne, debut_campagne, fin_campagne

NOEL2018, 05/12/2018, 31/12/2018

NOEL2017, 01/12/2018, 27/12/2018

];

LEFT Join (CAMPAGNE)
IntervalMatch(Date_Facturation)
LOAD
debut_campagne,
fin_campagne
Resident CAMPAGNE

;

Help users find answers! Don't forget to mark a solution that worked for you!
lmasson43
Contributor III
Contributor III
Author

Merci bcp, je vais essayer de suite du coup.

lmasson43
Contributor III
Contributor III
Author

Aurélie,

C'est mieux mais j'ai une clé synthétique sur K_CAMPAGNE et Date:

voici mon script plus détaillé


//CALENDRIER DES VENTES

PERIODE_FISCALE:

LOAD * INLINE [

    MIN, MAX, PERIODE

01/03/2016, 28/02/2017, 2017

01/03/2017, 28/02/2018, 2018

01/03/2018, 28/02/2019, 2019];


CALENDRIER:

LOAD 

   Date($(vDateMin)+RecNo()) as Date,

   month($(vDateMin)+RecNo()) as [Mois_fiscal],

   num(Month($(vDateMin)+RecNo()))-3 as FiscalMonthNum,

   Day($(vDateMin)+RecNo()) as [Jour],

   'T'&ceil(month($(vDateMin)+RecNo())/3) as [Trimestre],

   WeekDay($(vDateMin)+RecNo()) as [Jour semaine]

   AUTOGENERATE($(vNbJours));


LEFT Join

IntervalMatch(Date)

LOAD

MIN,

MAX

Resident PERIODE_FISCALE;

JOIN

LOAD *

Resident PERIODE_FISCALE;

DROP TABLE PERIODE_FISCALE;

CALENDRIER_CAMPAGNE:

LOAD K_CAMPAGNE,

     Date_Début_Campagne,

     Date_Fin_Campagne

FROM

(ooxml, embedded labels, table is Feuil1);



LEFT Join (CAMPAGNE)

IntervalMatch(Date)

LOAD

Date_Début_Campagne,

Date_Fin_Campagne

Resident CAMPAGNE;

////DETAILS DES VENTES + DETAILS DES CAMPAGNES

LOAD K_Depot,

     Cat_Dépot,

     K_Sous_Famille,

     K_Client,

     K_Article,

     Date,

     Nom_Client,

     AD1,

     AD2,

     AD3,

     Ville,

     CP,

     Abrege_Article,

     Quantite,

     PUNET,

     CANET,

     Prix_achat,

     Numfac,

     PV.HT,

     Frn,

     [Nom Fournisseur],

     Type_Document,

     Num_Cde, 

     Lib_Article,

     K_Fournisseur,

     Nom_Fournisseur,

     Exlusion_Stat,

     Lib_Famille,

     Lib_Sous_Famille,

     Lib_CSP,

     Date_Création_Client,

     K_Campagne,

     Prix_Campagne,

     TYPE_FAITS,

     K_CAMPAGNE,

     Nb_Exemplaire,

     Cout_Campagne,

     Lib_Dépot

    

FROM

(qvd);


EXIT SCRIPT;


Si tu as une idée... 😉 Merci!

lmasson43
Contributor III
Contributor III
Author

Aurélien pardon!!! (faute de frappe)

Autre chose,

Dans le calendrier_campagne, j'ai corrigé l'erreur

CALENDRIER_CAMPAGNE:

LOAD K_CAMPAGNE,

     Date_Début_Campagne,

     Date_Fin_Campagne

FROM

(ooxml, embedded labels, table is Feuil1);



LEFT Join (CALENDRIER_CAMPAGNE)

IntervalMatch(Date)

LOAD

Date_Début_Campagne,

Date_Fin_Campagne

Resident CALENDRIER_CAMPAGNE;

Aurelien_Martinez
Partner - Specialist II
Partner - Specialist II

Loïc,

Il faut peut-être retirer K_CAMPAGNE (ou le renommer) dans la table des ventes.

Help users find answers! Don't forget to mark a solution that worked for you!
lmasson43
Contributor III
Contributor III
Author

Salut Aurélien,

J'y ai pensé mais si je fais çà, je ne peux plus faire le lien avec mes campagnes et donc comparé mon CA sur la période de la campagne sélectionnée...

Je suis donc bloqué!;-)

Aurelien_Martinez
Partner - Specialist II
Partner - Specialist II

Salut Loïc,

Le lien (entre vente et calendrier des campagne) sur le date ne suffit pas ?

Par associativité si l'on sélectionne une campagne cela va automatiquement filtrer les ventes par rapport aux dates de la campagne.

Help users find answers! Don't forget to mark a solution that worked for you!