|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : décembre 2007 Messages : 30 ![]() |
Bonjour,
Je dispose d'un objet de type caractère et j'aurai souhaité s'il serait possible lors de la création d'une requete s'il contient que des chiffre. Ex: l'objet Nom ne doit pas contenir des chiffre, c'est pour cette raison je voulais lister ces noms erronés dans le fournisseur et non pas dans le rapport vu le nombre important de données. |
|
|
00
|
|
|
#2 | |
![]() ![]() |
Citation:
@+ |
|
|
|
00
|
|
|
#3 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Bonjour,
Quoi qu'il se passe, tu n'auras de fonction toute faite pour les identifier, car même si seuls des nombres sont saisis dans un champ texte, ils seront considérés comme du texte. Donc, il faudra plutôt utiliser une imbrication de fonctions Comparer() : Code :
=Si(Comparer(<Dimension>,"*0*") Ou Comparer(<Dimension>,"*1*") Ou Comparer(<Dimension>,"*2*") etc...) Alors "Oui" Sinon "Non"
__________________
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
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 73 ![]() |
Bonjour à tous,
Je met une ptite question sur la réponse de TomDuBouchon, l'utilisation du "*" est comparable au "%" dans un "like" en sql avec BO ? Si oui, c'est le même usage dans DeskI ou WebI ? Merci d'avance pour la précision. ======================================================= Sinon pour spopo69, si tu sais touché modifié le SQL des requêtes, une intervention à ce niveau serait préférable, ton besoin est assez spécifique. Après pour la fonction, cela dépend de ton SGBD, mais avec une requête imbriquée, tu devrais pouvoir retirer les lignes qui te posent problème. Exemple : (ici c est ta dimension contenant du texte et des chiffres) Select a, b, c from (select a, b, c, isnumeric(c) as estNum from table) where estNum=1 |
|
|
00
|
|
|
#5 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Effectivement le "*" correspond au "%".
Néanmoins, les deux sont utilisés dans BO selon la fonction utilisée (je sais c'est débile mais c'est comme ça) Et probablement selon la version aussi. Donc si la formule avec "*" renvoie une erreur, il faut essayer de les remplacer par des "%".
__________________
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
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 73 ![]() |
Alors pour le coup, en bossant sur un rapport, j'ai retrouvé la fonction "EstChaîne" qui te permet d'identifier si une chaîne de caractère est composé de chiffre ou pas.
Si je ne me trompe pas, ca devrait te solutionner ton problème. Tu n'auras plus qu'à mettre un filtre ect... |
|
|
00
|
|
|
#7 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Cette fonction est malheureusement bancale... Et si le champ d'origine est en varchar, elle te renverra toujours 1.
__________________
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
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 73 ![]() |
Bon à savoir !
Pour info et si tu le sais, quel genre de champ fonctionne dans ce cas (en vocabulaire de BDD) ? Pour rappel : les chaines de caractères : Char : Chaîne de caractères de taille fixe Varchar : Chaîne de caractères compris entre 1 et 255 caractères Tinyblob : Stocke des chaînes de 255 caractères maximum. Ce champ est sensible à la casse Tinytext : Stocke des chaînes de 255 caractères maximum. Ce champ est insensible à la casse Blob : Stocke des Chaînes de 65535 caractères maximum. Ce champ est sensible à la casse. Text : Stocke des chaînes de 65535 caractères maximum. Ce champ est insensible à la casse. Mediumblob : Stocke des chaînes de 16777215 caractères maximum. Mediumtext : Chaîne de 16 777 215 caractères maximum. Ce champ est insensible à la casse. Longblob : Stocke des chaînes de 4 294 967 295 caractères maximum. Ce champ est sensible à la casse. Longtext : Stocke des chaînes de 4 294 967 295 caractères maximum. Bien que franchement, à part Char, varchar et text, j'ai jamais vu les autres utilisées... NB : Et si il utilise un cast pour changer le type du champ ? |
|
|
00
|
|
|
#9 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
J'ai dit varchar mais en fait il s'agit de tous les champs texte.
En effet, la formule teste le type de champ, et non pas les données à l'intérieur. Donc même si un champ texte ne contient que des chiffres, il sera quand même considéré comme un champ texte. Et le cast n'est pas une mauvaise idée, mais si tu cherches à transformer ta chaîne en nombre et qu'il y a bien des caractères, BO te renverra une erreur. Après, je ne sais pas s'il te renvoie une erreur sur toutes les lignes ou uniquement sur celles contenant des caractères. Dans ce deuxième cas, on pourrait donc utiliser la fonction EstErreur() englobant le cast. (malgré que d'autres erreurs, #VALEURMULTI par exemple, pourrait du coup passer à l'as)
__________________
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
|
Copyright © 2000-2012 - www.developpez.com