|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
Bonjour à tous,
J'ai bien cherché partout, et j'ai lu tout bien ce qui avait écrit sur le sujet, mais je ne suis pas plus proche de la solution pour autant. Alors je fais appel à votre talent (et à la vile flatterie) pour m'éclairer sur la difficulté que je vous expose ci-dessous: Ma requête récupère une catégorie (disons A, B, ..., Z). Une pers. peut faire partie de 0 à toutes les catégories. Elle a une date d'entrée dans cette cat., et une date de sortie. A chaque date de sortie correspond un événement. Le souci c'est qu'elle peut y entrer à nouveau, avec donc un nouveau "dossier" comportant dates d'entrée et/ou de sortie. Je cherche à faire un tableau croisé, avec noms des pers. en axe vertical, catégories en axe horizontal (ne s'affichent que les non vides, donc parfait), et dans le corps: - dates d'entrée et de sortie (nickel, j'ai créé un indicateur "Si nonnul(date) Alors max(date)" qui me renvoie le bon résultat - événement. Et là ça bloque ! Je fais une formule du même type, puisque l'événement correspond à la dernière date de sortie. Et j'obtiens quand même VALEURMULTI, dès qu'il y a eu plusieurs sorties. J'espère que c'est un tout petit peu compréhensible... Sinon n'hésitez pas à me demander plus d'infos, et merci d'avance de vous pencher miséricordieusement sur mon souci ! |
|
|
00
|
|
|
#2 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Bonjour,
Vive la bidouille ! Code :
Si nonnul([date]) Alors souschaine(max(formatdedate([date];"ddmmyyyy")&"-"&[evenement]);10;200)
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
Alors c'est super sympa de me répondre déjà.
Par contre ça marche pas top bien, dans la mesure où ça me donne toujours des #VALEURMULTI, et pour celles qui passent, ça me donne juste l'événement (donc rien de neuf en clair). Je comprends ton approche (en gros tu proposes de feinter BO, ce qui est assez sympa), mais par contre je vois pas en quoi on n'aurait pas ce problème sur une chaîne de caractère, puisque c'est au moment d'aller chercher l'événement qu'il est confronté à son QCM impossible. Ce qui me dépasse, c'est pourquoi il trouve la date, mais pas l'événement qui y est rattaché.... |
|
|
00
|
|
|
#4 | |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Citation:
Mais ce n'est pas parce que tu fais ça à l'affichage que les autres dates, et par extension les autres évènements, n'existent plus. D'où le #VALEURMULTI. C'est pourquoi il faudrait faire également un max() sur l'évènement. Mais comme le max() d'un évènement ne correspondra pas nécessairement au max() de date, c'est pourquoi je proposais une concaténation avec la date pour obtenir véritablement l'évènement lié... En l'occurence, je ne comprends pas ce qui ne fonctionne pas dans ma formule... Si tu mets juste max(Evenement), comment réagit BO ?
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
(bon c'était le week-end de Pâques, j'ai préféré chercher des oeufs...)
Alors comme mon événement est une chaîne de caractères, il me récupère, parmi tous les dispos de cette personne, l'événement le plus grand... alphabétiquement parlant ! Autant te dire que ça m'intéresse moyen comme info. Pour ton explication, je comprends bien qu'il y a plusieurs événements. Mais même quand j'essaie de forcer la date max dans la définition de mon "evt_max", il ne saisit pas. Par exemple, j'ai tenté des "PourChaque date_max", des "In", plein de petits trucs sympas. Mais non ! Y a pas une fonction qui associe 2 objets ? (puisqu'ils sont liés dans ma base de données, il suffit de retranscrire leur lien à BO, non ?) |
|
|
00
|
|
|
#6 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Effectivement, tes objets sont liés en base. Mais à partir où tu utilises une fonction d'agrégation, ici max(), le lien ne se fait plus.
Ensuite, pour ce qui est des opérateurs contextuels, tu ne peux les utiliser qu'avec une valeur en dur... Donc, tout ce qui est : "Où <objet1> = <objet2>" ne fonctionnera pas. Si tu essaies juste la formule suivante, que te renvoie BO : Code :
Si nonnul([date]) Alors max(formatdedate([date];"ddmmyyyy")&"-"&[evenement])
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
J'avais déjà essayé: idem.
Et bien sûr, même en créant un objet qui contient la fonction d'agrégation (un indicateur max_date), ça ne le dupe pas, c'est ça ? Donc ça marcherait avec une dimension ? Il faudrait juste ne pas passer par un max ? |
|
|
00
|
|
|
#8 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Cette formule te renvoie #VALEURMULTI ? C'est bizarre puisqu'il s'agit d'un max()...
Et pour la dimension, en fait peu importe. Le problème venant du fait qu'il y ait plusieurs évènements et dates.
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
Au temps pour moi, j'avais pas appliqué le max à l'ensemble de la formule, donc évidemment...
Donc je n'ai plus de #VALEURMULTI !!!! Par contre le max, il voit pas trop ce que c'est, puisque pour lui 14022010 > 12112010 (logique, vu que 14>12). Je cherche, mais sais-tu comment transformer une date en nombre, pour qu'il les ordonne de la bonne manière ? A ce moment-là, je reprendrai ton idée de sous-chaîne, en enlevant la date. En tout cas ça avance !!! Merci |
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
ET CA MARCHE !!!!!
Avec Code :
=Si(Non(EstNul([Evt - Date]))) Alors SousChaîne(Max(FormatDeDate([Evt - Date];"yyyyMMdd") + "-" + [Evt - Libelle]);10;100) Merci beaucoup !!!!! |
|
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
Ah. Autre question (non je ne m'arrête pas):
j'essaie de combiner le résultat de la requête précédente avec une seconde. Celle-ci reprend les mêmes infos, mais seulement pour une catégorie particulière. Disons: req.A => date de la dernière sortie et événements pour toutes catégories de A à Y. req.B => date de la sortie pour un événement pour la catégorie Z. L'intersection devrait donc me donner tous les gens qui sont à la fois dans Z, et dans l'une des catégories de A à Y. Pourtant cette intersection ne me retourne rien.... Des idées ? (et encore merci hein... |
|
|
00
|
|
|
#12 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
A partir du moment où la personne a une date de sortie sur Z, oui.
Néanmoins, tout dépend de la façon dont tu montes tes requêtes... Peux-tu poster la façon dont tu les as construites ?
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#13 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
En fait ce que je n'arrive pas à évaluer, c'est si je dois combiner les 2 requêtes avec la relation d'intersection, ou faire 2 requêtes parallèles et fusionner les dimensions.
En même temps, si ça se trouve, c'est la même chose... Alors en fait c'est plus compliqué que ça. J'ai 2 contextes qui sont évidemment incompatibles. Pour la 1ère requête, je sors le nom de la personne, la catégorie dans laquelle elle apparaît (sauf Z), la dernière date de sortie, et l'événement (ça, ça marche bien maintenant, donc nickel). La 2ème requête me donne le nom de la personne (c'est là-dessus que je veux faire la fusion, sachant qu'il ne s'agit pas vraiment du nom, mais d'un identifiant, ce qui me garantit l'unicité) si elle est dans la catégorie Z, si elle a un événement particulier (c'est ça les contextes: n'importe quel événement Vs dernier événement), et la date de l'événement. Je ne sais pas si c'est suffisamment clair. N'hésite pas à me le dire sinon. |
|
|
00
|
|
|
#14 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Si j'ai bien compris... Le souci en fait c'est d'essayer de faire une intersection avec des colonnes à l'affichage qui varient.
En effet, même si on prend simplement le nom de la personne et la catégorie, tu n'auras aucune intersection possible puisque d'un côté les catégories iront de A à Y et de l'autre ce sera Z. Ca ne peut fonctionner que si les données sont parfaitement identiques, donc en l'occurrence qu'avec le nom de la personne... Quel est le but final de cette requête combinée ?
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#15 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
La catégorie Z, ce sont les personnes décédées. Je voudrais savoir dans quelles catégories elles sont, et à quelle dernière étape (avec la date correspondante).
J'ai essayé la sous-requête, mais l'ennui c'est que je ne peux du coup pas récupérer l'info de la date du décès (qui peut arriver à n'importe quel moment, et donc n'entre pas dans le cadre du "dernier événement" que l'on récupérait tout à l'heure). |
|
|
00
|
|
|
#16 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
As-tu un indicateur que tu pourrais ajouter sur ta requête portant sur Z ? (par exemple "Nb produits commandés", ou autre... Je ne connais pas le côté fonctionnel de ton entreprise)
Si oui, le mieux serait de faire deux requêtes, à lier ensuite par le nom de la personne. (Il y aura une manipulation à faire pour l'affichage des dates et des évènements) Ensuite, on pourra filtrer le résultat en trop (sans catégorie Z) à l'aide d'un filtre complexe :
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#17 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
Mais dans ce cas, une seule requête suffirait ?
Le truc c'est que ce dont j'ai besoin pour la catégorie Z, c'est d'un objet incompatible avec les dates et les libellés d'événements des autres catégories... J'ai quand même créé un indicateur sur Z. J'essaie de faire un tableau en fusionnant les id des personnes, mais BO n'a pas l'air de comprendre ce que je fais (ce sont des données administratives, de type "dossiers", "étapes du dossiers", etc...) |
|
|
00
|
|
|
#18 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
AAAAAAAAAAAAAAAAAHHHHHHHHH ça marche !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
![]() Merci beaucoup, je crois que c'est bon !!!! Vraiment sympa d'être dispo comme ça, c'est bien pratique d'avoir une réponse de suite !(perso, en 2 jours j'ai oublié de quoi je parlais) |
|
|
00
|
|
|
#19 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2008 Messages : 50 ![]() |
Bon faudrait que j'arrête de m'enflammer comme ça tout de suite...
![]() Comment se fait-ce ? (je peux joindre une capture d'écran si ça aide) Ok je retire tout, c'est bon: c'est juste qu'au moindre changement, les dimensions se refusionnent (quel boulet ce BO, lui aussi !). Avec seulement les id des personnes fusionnées, ça roule ! Encore merci ! (et adieu) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com