|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : mai 2008 Messages : 134 ![]() |
Bonjour à tous,
J'ai une requête qui me ramène des ID et des dates (et d'autres champs, mais on s'en fout... ) <ID> et <Date> sont deux objets de type dimension. Pour faire simple, disons que je veux compter les ID dont la date est passée :
Si quelqu'un a une suggestion je suis prenneur... |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
Bonjour,
C'est logique, l'opérateur Où est un opérateur de contexte qui doit s'appliquer à un indicateur, pas une dimension. Je vois deux possibillités de résoudre ton problème
|
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : mai 2008 Messages : 134 ![]() |
Pour l'instant je ne requête pas sur un univers mais sur une table de donnée Excel.
Mais j'ai exactement le même problème si je remplace mon Compte(<ID>) par un indicateur... (je viens de tester avec un indicateur de montant) |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
Re,
Avec un indicateur, la fonction Nombre() ne fait pas vraiment sens, il faut plutôt utiliser une fonction d’agrégation comme un Somme() Attention aussi à la syntaxe du Où : cet opérateur s'applique à un indicateur et la condition qui suit doit être entre parenthèses. Par exemple Code :
=Somme(<Indicateur> Où (<Dimension>="oui") ) |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : mai 2008 Messages : 134 ![]() |
Je n'ai pas mis de fonction nombre devant mon indicateur.
A priori, avec un indicateur dont la fonction de projection par défaut est une somme, pas besoin de rajouter de fonction somme devant. Edit : par acquis de conscience je viens quand même d'essayer, ça marche pas mieux ! |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
OK, quelle est la syntaxe exacte qui te pose problème avec l'indicateur ?
|
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : mai 2008 Messages : 134 ![]() |
Code :
=<Montant> Où (<Date> < DateActuelle()) Par contre, ça fonctionne avec ceci : |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
OOps ! J'ai loupé ça... l'opérateur Où ne fonctionne qu'avec une égalité.
Le mieux est donc de définir une variable "Test" avec la formule Code :
=Si <Date> < DateActuelle() Alors 1 Sinon 0 |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : mai 2008 Messages : 134 ![]() |
ça marche !un grand merci à toi. Remarques subsidiaires :
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
Super ! Et merci à toi pour les remarques subsidiaires... j'en prends note, ça peut servir.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com