OVH Cloud OVH Cloud

Requete avec critère calculé

9 réponses
Avatar
pjm
Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES 2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les charges 2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui représentent
80% de l'écart total de la région ( ce total a déjà été calculé et apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave

9 réponses

Avatar
Richard_35
Bonjour,

Si j'ai bien compris, personnellement, je ferai comme suit :

- modifier la requête dont tu parles (0) en ajoutant ECART_REG_CLI=CHARGES
2005-CHARGES 2004.
- créer une requête (1) sélection, à partir de la requête dont tu parles
(0), avec un regroupement sur REGION avec C2005=somme(CHARGE 2005),
C2004=somme(CHARGE 2004) et ECART_REGÂ005-C2004 : cela donnera un
enregistrement par REGION.
- créer une requête sélection (2), à partir de la requête dont tu parles (0)
liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.

A tester.
Le principe est de passer par une requête intermédiaire (ou une table) :
tout ne peut pas être résolu en une seule "passe" (si j'ose dire) !

Bon courage.
Richard.


"pjm" a écrit dans le message de news:

Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES 2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les charges
2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui représentent
80% de l'écart total de la région ( ce total a déjà été calculé et
apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave




Avatar
pjm
Merci richard,

Et comment fais-tu pour lui dire que tu souhaites :
Sélectionner ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.
Je n'arrive pas à trouver la bonne synthaxe


Bonjour,

Si j'ai bien compris, personnellement, je ferai comme suit :

- modifier la requête dont tu parles (0) en ajoutant ECART_REG_CLI=CHARGES
2005-CHARGES 2004.
- créer une requête (1) sélection, à partir de la requête dont tu parles
(0), avec un regroupement sur REGION avec C2005=somme(CHARGE 2005),
C2004=somme(CHARGE 2004) et ECART_REGÂ005-C2004 : cela donnera un
enregistrement par REGION.
- créer une requête sélection (2), à partir de la requête dont tu parles (0)
liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.

A tester.
Le principe est de passer par une requête intermédiaire (ou une table) :
tout ne peut pas être résolu en une seule "passe" (si j'ose dire) !

Bon courage.
Richard.


"pjm" a écrit dans le message de news:

Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES 2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les charges
2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui représentent
80% de l'écart total de la région ( ce total a déjà été calculé et
apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave









Avatar
Richard_35
Re-bonjour,

Là, tu exagères, je trouve !
Il faudrait chercher un peu, pour la partie purement arithmétique !...
Mais bon :
(ECART_REG_CLI / ECART_REG) * 100 ==> pourcentage de ECART_REG_CLI par
rapport à ECART_REG
A tester.
Bon courage,
Richard.


"pjm" a écrit dans le message de news:

Merci richard,

Et comment fais-tu pour lui dire que tu souhaites :
Sélectionner ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.
Je n'arrive pas à trouver la bonne synthaxe


Bonjour,

Si j'ai bien compris, personnellement, je ferai comme suit :

- modifier la requête dont tu parles (0) en ajoutant
ECART_REG_CLI=CHARGES
2005-CHARGES 2004.
- créer une requête (1) sélection, à partir de la requête dont tu parles
(0), avec un regroupement sur REGION avec C2005=somme(CHARGE 2005),
C2004=somme(CHARGE 2004) et ECART_REGÂ005-C2004 : cela donnera un
enregistrement par REGION.
- créer une requête sélection (2), à partir de la requête dont tu parles
(0)
liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.

A tester.
Le principe est de passer par une requête intermédiaire (ou une table) :
tout ne peut pas être résolu en une seule "passe" (si j'ose dire) !

Bon courage.
Richard.


"pjm" a écrit dans le message de news:

Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES 2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les charges
2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui
représentent
80% de l'écart total de la région ( ce total a déjà été calculé et
apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave











Avatar
pjm
Mais non, ça j'y suis arrivé et j'ai donc un pourcentage par ligne, par code
client.
Mais c'est après... Comment filtrer pour n'avoir que les lignes qui
repésentent 80% ( % cumulé) du total Ecart_Reg ? C'est ici que je bloque...
D'avance merci Richard


Re-bonjour,

Là, tu exagères, je trouve !
Il faudrait chercher un peu, pour la partie purement arithmétique !...
Mais bon :
(ECART_REG_CLI / ECART_REG) * 100 ==> pourcentage de ECART_REG_CLI par
rapport à ECART_REG
A tester.
Bon courage,
Richard.


"pjm" a écrit dans le message de news:

Merci richard,

Et comment fais-tu pour lui dire que tu souhaites :
Sélectionner ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.
Je n'arrive pas à trouver la bonne synthaxe


Bonjour,

Si j'ai bien compris, personnellement, je ferai comme suit :

- modifier la requête dont tu parles (0) en ajoutant
ECART_REG_CLI=CHARGES
2005-CHARGES 2004.
- créer une requête (1) sélection, à partir de la requête dont tu parles
(0), avec un regroupement sur REGION avec C2005=somme(CHARGE 2005),
C2004=somme(CHARGE 2004) et ECART_REGÂ005-C2004 : cela donnera un
enregistrement par REGION.
- créer une requête sélection (2), à partir de la requête dont tu parles
(0)
liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.

A tester.
Le principe est de passer par une requête intermédiaire (ou une table) :
tout ne peut pas être résolu en une seule "passe" (si j'ose dire) !

Bon courage.
Richard.


"pjm" a écrit dans le message de news:

Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES 2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les charges
2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui
représentent
80% de l'écart total de la région ( ce total a déjà été calculé et
apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave
















Avatar
Richard_35
Donc, 80% du cumul ECART_REG de toutes les REGIONS confondues ?


"pjm" a écrit dans le message de news:

Mais non, ça j'y suis arrivé et j'ai donc un pourcentage par ligne, par
code
client.
Mais c'est après... Comment filtrer pour n'avoir que les lignes qui
repésentent 80% ( % cumulé) du total Ecart_Reg ? C'est ici que je
bloque...
D'avance merci Richard


Re-bonjour,

Là, tu exagères, je trouve !
Il faudrait chercher un peu, pour la partie purement arithmétique !...
Mais bon :
(ECART_REG_CLI / ECART_REG) * 100 ==> pourcentage de ECART_REG_CLI par
rapport à ECART_REG
A tester.
Bon courage,
Richard.


"pjm" a écrit dans le message de news:

Merci richard,

Et comment fais-tu pour lui dire que tu souhaites :
Sélectionner ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.
Je n'arrive pas à trouver la bonne synthaxe


Bonjour,

Si j'ai bien compris, personnellement, je ferai comme suit :

- modifier la requête dont tu parles (0) en ajoutant
ECART_REG_CLI=CHARGES
2005-CHARGES 2004.
- créer une requête (1) sélection, à partir de la requête dont tu
parles
(0), avec un regroupement sur REGION avec C2005=somme(CHARGE 2005),
C2004=somme(CHARGE 2004) et ECART_REGÂ005-C2004 : cela donnera un
enregistrement par REGION.
- créer une requête sélection (2), à partir de la requête dont tu
parles
(0)
liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de
ECART_REGÂ005-C2004.

A tester.
Le principe est de passer par une requête intermédiaire (ou une table)
:
tout ne peut pas être résolu en une seule "passe" (si j'ose dire) !

Bon courage.
Richard.


"pjm" a écrit dans le message de news:

Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES
2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les
charges
2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui
représentent
80% de l'écart total de la région ( ce total a déjà été calculé et
apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave


















Avatar
pjm
Non 80 % d'1 région.
Dans ma requete
REGIONECART_REG


Donc, 80% du cumul ECART_REG de toutes les REGIONS confondues ?


"pjm" a écrit dans le message de news:

Mais non, ça j'y suis arrivé et j'ai donc un pourcentage par ligne, par
code
client.
Mais c'est après... Comment filtrer pour n'avoir que les lignes qui
repésentent 80% ( % cumulé) du total Ecart_Reg ? C'est ici que je
bloque...
D'avance merci Richard


Re-bonjour,

Là, tu exagères, je trouve !
Il faudrait chercher un peu, pour la partie purement arithmétique !...
Mais bon :
(ECART_REG_CLI / ECART_REG) * 100 ==> pourcentage de ECART_REG_CLI par
rapport à ECART_REG
A tester.
Bon courage,
Richard.


"pjm" a écrit dans le message de news:

Merci richard,

Et comment fais-tu pour lui dire que tu souhaites :
Sélectionner ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.
Je n'arrive pas à trouver la bonne synthaxe


Bonjour,

Si j'ai bien compris, personnellement, je ferai comme suit :

- modifier la requête dont tu parles (0) en ajoutant
ECART_REG_CLI=CHARGES
2005-CHARGES 2004.
- créer une requête (1) sélection, à partir de la requête dont tu
parles
(0), avec un regroupement sur REGION avec C2005=somme(CHARGE 2005),
C2004=somme(CHARGE 2004) et ECART_REGÂ005-C2004 : cela donnera un
enregistrement par REGION.
- créer une requête sélection (2), à partir de la requête dont tu
parles
(0)
liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de
ECART_REGÂ005-C2004.

A tester.
Le principe est de passer par une requête intermédiaire (ou une table)
:
tout ne peut pas être résolu en une seule "passe" (si j'ose dire) !

Bon courage.
Richard.


"pjm" a écrit dans le message de news:

Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES
2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les
charges
2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui
représentent
80% de l'écart total de la région ( ce total a déjà été calculé et
apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave























Avatar
pjm
non 80% du ECART_REG d'1 région:
Dans ma requête, j'ai :

REGION ECART_REG ECART REG_CLIENT
centre 250000 12
centre 250000 10
centre 250000 5

Je suis qu'on approche du but


Donc, 80% du cumul ECART_REG de toutes les REGIONS confondues ?


"pjm" a écrit dans le message de news:

Mais non, ça j'y suis arrivé et j'ai donc un pourcentage par ligne, par
code
client.
Mais c'est après... Comment filtrer pour n'avoir que les lignes qui
repésentent 80% ( % cumulé) du total Ecart_Reg ? C'est ici que je
bloque...
D'avance merci Richard


Re-bonjour,

Là, tu exagères, je trouve !
Il faudrait chercher un peu, pour la partie purement arithmétique !...
Mais bon :
(ECART_REG_CLI / ECART_REG) * 100 ==> pourcentage de ECART_REG_CLI par
rapport à ECART_REG
A tester.
Bon courage,
Richard.


"pjm" a écrit dans le message de news:

Merci richard,

Et comment fais-tu pour lui dire que tu souhaites :
Sélectionner ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004.
Je n'arrive pas à trouver la bonne synthaxe


Bonjour,

Si j'ai bien compris, personnellement, je ferai comme suit :

- modifier la requête dont tu parles (0) en ajoutant
ECART_REG_CLI=CHARGES
2005-CHARGES 2004.
- créer une requête (1) sélection, à partir de la requête dont tu
parles
(0), avec un regroupement sur REGION avec C2005=somme(CHARGE 2005),
C2004=somme(CHARGE 2004) et ECART_REGÂ005-C2004 : cela donnera un
enregistrement par REGION.
- créer une requête sélection (2), à partir de la requête dont tu
parles
(0)
liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de
ECART_REGÂ005-C2004.

A tester.
Le principe est de passer par une requête intermédiaire (ou une table)
:
tout ne peut pas être résolu en une seule "passe" (si j'ose dire) !

Bon courage.
Richard.


"pjm" a écrit dans le message de news:

Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES
2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les
charges
2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui
représentent
80% de l'écart total de la région ( ce total a déjà été calculé et
apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave























Avatar
Richard_35
C'est ce que je te disais avant.
Tu lies les 2 requêtes dans une requête.
"- créer une requête sélection (2), à partir de la requête dont tu parles
(0) liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004."
La liaison REGION/CLIENT (ton fichier initial) et REGION (nouvelle requête
groupée) te donne, pour chaque REGION/CLIENT, les résultats de la REGION
correspondante.
Il suffit, alors, de ne sélectionner QUE les enregistrements dont
(ECART_REG_CLI / ECART_REG) * 100 supérieur ou égal à 80.
Est-ce OK ?


"pjm" a écrit dans le message de news:

non 80% du ECART_REG d'1 région:
Dans ma requête, j'ai :

REGION ECART_REG ECART REG_CLIENT
centre 250000 12
centre 250000 10
centre 250000 5

Je suis qu'on approche du but


Donc, 80% du cumul ECART_REG de toutes les REGIONS confondues ?


"pjm" a écrit dans le message de news:

Mais non, ça j'y suis arrivé et j'ai donc un pourcentage par ligne, par
code
client.
Mais c'est après... Comment filtrer pour n'avoir que les lignes qui
repésentent 80% ( % cumulé) du total Ecart_Reg ? C'est ici que je
bloque...
D'avance merci Richard


Re-bonjour,

Là, tu exagères, je trouve !
Il faudrait chercher un peu, pour la partie purement arithmétique !...
Mais bon :
(ECART_REG_CLI / ECART_REG) * 100 ==> pourcentage de ECART_REG_CLI
par
rapport à ECART_REG
A tester.
Bon courage,
Richard.


"pjm" a écrit dans le message de news:

Merci richard,

Et comment fais-tu pour lui dire que tu souhaites :
Sélectionner ECART_REG_CLI représentant 80% de
ECART_REGÂ005-C2004.
Je n'arrive pas à trouver la bonne synthaxe


Bonjour,

Si j'ai bien compris, personnellement, je ferai comme suit :

- modifier la requête dont tu parles (0) en ajoutant
ECART_REG_CLI=CHARGES
2005-CHARGES 2004.
- créer une requête (1) sélection, à partir de la requête dont tu
parles
(0), avec un regroupement sur REGION avec C2005=somme(CHARGE 2005),
C2004=somme(CHARGE 2004) et ECART_REGÂ005-C2004 : cela donnera un
enregistrement par REGION.
- créer une requête sélection (2), à partir de la requête dont tu
parles
(0)
liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de
ECART_REGÂ005-C2004.

A tester.
Le principe est de passer par une requête intermédiaire (ou une
table)
:
tout ne peut pas être résolu en une seule "passe" (si j'ose dire) !

Bon courage.
Richard.


"pjm" a écrit dans le message de
news:

Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES
2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les
charges
2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui
représentent
80% de l'écart total de la région ( ce total a déjà été calculé
et
apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave

























Avatar
pjm
Bonsoir Richard,

Je me suis peut être mal expliqué (en même temps, c'est pas facile...)
En tous les cas, un grand merci pour tes réponses.
Je fais une dernière tentative.

Je n'ai pas besoin des enregistrements <= à 80 % mais des enregistrements
dont la somme des écarts est <= à 80% du Ecart_Reg

Bonne soirée à toi



C'est ce que je te disais avant.
Tu lies les 2 requêtes dans une requête.
"- créer une requête sélection (2), à partir de la requête dont tu parles
(0) liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de ECART_REGÂ005-C2004."
La liaison REGION/CLIENT (ton fichier initial) et REGION (nouvelle requête
groupée) te donne, pour chaque REGION/CLIENT, les résultats de la REGION
correspondante.
Il suffit, alors, de ne sélectionner QUE les enregistrements dont
(ECART_REG_CLI / ECART_REG) * 100 supérieur ou égal à 80.
Est-ce OK ?


"pjm" a écrit dans le message de news:

non 80% du ECART_REG d'1 région:
Dans ma requête, j'ai :

REGION ECART_REG ECART REG_CLIENT
centre 250000 12
centre 250000 10
centre 250000 5

Je suis qu'on approche du but


Donc, 80% du cumul ECART_REG de toutes les REGIONS confondues ?


"pjm" a écrit dans le message de news:

Mais non, ça j'y suis arrivé et j'ai donc un pourcentage par ligne, par
code
client.
Mais c'est après... Comment filtrer pour n'avoir que les lignes qui
repésentent 80% ( % cumulé) du total Ecart_Reg ? C'est ici que je
bloque...
D'avance merci Richard


Re-bonjour,

Là, tu exagères, je trouve !
Il faudrait chercher un peu, pour la partie purement arithmétique !...
Mais bon :
(ECART_REG_CLI / ECART_REG) * 100 ==> pourcentage de ECART_REG_CLI
par
rapport à ECART_REG
A tester.
Bon courage,
Richard.


"pjm" a écrit dans le message de news:

Merci richard,

Et comment fais-tu pour lui dire que tu souhaites :
Sélectionner ECART_REG_CLI représentant 80% de
ECART_REGÂ005-C2004.
Je n'arrive pas à trouver la bonne synthaxe


Bonjour,

Si j'ai bien compris, personnellement, je ferai comme suit :

- modifier la requête dont tu parles (0) en ajoutant
ECART_REG_CLI=CHARGES
2005-CHARGES 2004.
- créer une requête (1) sélection, à partir de la requête dont tu
parles
(0), avec un regroupement sur REGION avec C2005=somme(CHARGE 2005),
C2004=somme(CHARGE 2004) et ECART_REGÂ005-C2004 : cela donnera un
enregistrement par REGION.
- créer une requête sélection (2), à partir de la requête dont tu
parles
(0)
liée, par REGION, à la requête que tu viens de créer (1) et de ne
sélectionner que ECART_REG_CLI représentant 80% de
ECART_REGÂ005-C2004.

A tester.
Le principe est de passer par une requête intermédiaire (ou une
table)
:
tout ne peut pas être résolu en une seule "passe" (si j'ose dire) !

Bon courage.
Richard.


"pjm" a écrit dans le message de
news:

Bonjour à tous et joyeuses paques ;-),

Dans une requête, j'ai 4 champs : REGION - CODE CLIENT - CHARGES
2005 -
CHARGES 2004.
Je calcule à l'aide d'un champ calculé la différence entre les
charges
2005
et charges 2004
Mon problème : J'aimerais n'afficher que les code client qui
représentent
80% de l'écart total de la région ( ce total a déjà été calculé
et
apparait
dans un champ Total région)

D'avance merci pour votre aide, je sèche grave