Date: prev next · Thread: first prev next last
2021 Archives by date, by thread · List index




bonjour à tous,et encore merci pour toutes vos contributions.Oui, ici aussi on a profité du soleil 
hier ;-) et on recommence
      aujourd'hui, donc pas de souci Jean-Michel !pour répondre à la question "d'où viennent ces 
données ? "C'est un script Python que j'ai programmé, qui vient
      quotidiennement extraire d'un site web en ligne les données
      prix/promotions sur 250 produits. Le script constitue une base de
      données (le fichier CSV), qui grossit donc tous les jours.Oui : je pourrais  modifier mon 
script pour ajouter cette fameuse
      colonne PromotionExists, mais j'avais envie d'apprendre à me
      servir de LibreOffice, que je n'ai jamais vraiment utilisé, donc
      je ne voulais pas faire un constat d'échec dès le début ;-)Force est de constater que BASE + 
table CSV, ça ne marche pas.
      Tant pis.


Initialement, j'étais parti sur cette idée de faire un lien de
      données externes dans CALC comme proposé par Yves. Mais le fait de
      devoir manuellement "prolonger" les formules jusqu'à la dernière
      ligne pour que le graphique final soit à jour ne m'allait pas.
      C'est pourquoi je m'étais rabbattu sur l'idée d'une requête dans
      BASE (dont la formule n'a pas besoin d'être corrigée
      quotidiennement).Donc je reviens à mon idée initiale, mais avec cette fois-ci comme
      problématique de prolonger automatiquement les formules jusqu'à la
      dernière ligne. Je vais partir sur une macro je pense.A ce stade, je devrais pouvoir me 
débrouiller (il faut juste que
      je comprenne quels sont les objets accessibles par macro en
      LibreOffice, ansi que leurs attributs et méthodes)Merci à tous pour votre aide,


et profitez bien de la journée !
Le 29/05/2021 à 14:25, yves dutrieux a
      écrit :
bonjour,


supposons ton fichier .csv avec 3 champs dont le dernier
          est le champ "promotion".
A partir de calc,
Feuilles - lien vers données externes -choisir ton
          fichier .csv
le fichier sera importé dans ta feuille,
dans la colonne D1 : =SI(C1="";0;1)  


indiquera 1 si promotion different de zéro (tu
          copies/colles cette formule sur toutes les lignes).
Si ensuite, fon fichier csv venait à être modifié : Editon
          - liens de données externes- [actualiser]


idée rapide et à l'arrache. A voir si ça peut convenir.
nb: ton problème avec la requêtes est sql est probablement
          du à ce que base ne considère pas un fichier .csv comme une
          table "standard" sql de base.
Si tu importes ton fichier normalement et le transforme
          comme une table, probablement que cela fonctionnera.


Yves


Le sam. 29 mai 2021 à 09:44,larb@lette.hopto.orga
          écrit :
Merci
          à tous les deux.Concernant le forumhttps://ask.libreoffice.org/fr/questions/,
          jel'avais vu, mais il ne m'a pas semblé très actif autour de
          Base, etcomme sur la page officielle de LibreOffice, ils mentionnent
          que lecanal officiel pour demander de l'aide, c'est la liste...je
          suis allépar là.Concernant ma version (obsolète) de LibreOffice, c'est
          parceque jetravaille sous Linux, distribution non compilée Gentoo, qui du
          coup atoujours un peu de retard dans la mise à disposition de
          paquets stables,pour privilégier la stabilité des versions officiellement
          stables (mêmesi je peux installer la nouvelle version de LibreOffice en
          "forçant" lepaquet jugé instable sous Gentoo)Merci Jean-Michel (COSTE) pour le lien vers 
la documentation
          (dont ilsemble que vous êtes le traducteur ? Merci pour ça !).J'y apprends qu'il y a 2 
manières de se connecter à un fichier
          CSV :1) Tables de texte dans une base de données HSQLDB interne2)Les tables texte comme 
base d’une base de données autonomeJ'ai utilisé la 2ème méthode. Et dans ce cas, la documentation
          indique"L’accès aux tables par requêtes est également limité à une
          table à lafois et sans l’utilisation defonctions. De même, les relations ne sont pas 
prises en
          charge"...Si on ne peut pas utiliser de fonctions, ça explique donc
          pourquoi macolonne reste toujours vide !Donc j'ai testé la méthode 1). Mais elle ne 
convient pas non
          plus, carje n'ai pas de clé primaire numérique dans mon fichier
          CSV...doncimpossible de lier la table (je peux créer le squelette vide à
          l'aide del'instruction SQL, mais pas faire la liaison)Je suis donc un peu coincé...A 
l'origine, mon vrai besoin était de créer des analyses
          graphiquesdepuis les données sources du fichier CSV, et j'avais besoin
          desimplifier le champ "Promotion" par une simple information
          "présence ouabsence : 1 ou 0. Et de restituer, pour 1 produit au choix, unhistorique de 
prix sous forme de graphique "courbe" et des
          batonslorsqu'une période est sous promotion (bâtons à 1 lors d'une
          périodesous promotion, et à 0 (donc invisible) hors période de
          promotion).Je pensais donc faire le graphique dans CALC, grâce à un
          tableau croisédynamique dont la source aurait été une base de données BASE(enregistrée 
pour être utilisable dans CALC) qui elle-même
          aurait étéliée à mon fichier CSV.Manifestement, je ne peux pas faire ça.A tout hasard, 
auriez une idée pour contourner le problème ?En tout cas, merci de vos contributions fort utiles 
!Cordialement,Le 29/05/2021 à 08:09, Jean-Michel PIERRE a écrit :Il est aussi possible de poser les 
questions sur cette
          page :https://ask.libreoffice.org/fr/questions/Un fichier peut y être téléversé pour être 
testéJean-Michel PIERRETél : 05.49.255.333Tél : 06.19.55.73.22Le 29 mai 2021 à 00:53, Jean-Michel 
COSTEjeanmichel.coste@free.fra
          écrit :Bonjour,Le 28/05/2021 à 19:23,larb@lette.hopto.orga écrit :Bonjour à tous,C'est 
la 1ère fois que j'utilise une liste comme
          moyen de solliciter de l'aide. J'espère que j'ai bien saisi le
          principe, et que mon message n'est pas à côté de la plaque ;-)J'ai cherché sur Internet 
pour trouver une
          réponse à mon problème, mais aucune des solutions que j'ai
          trouvé ne fonctionne, bien qu'elles semblent pertinentes.J'utilise LibreOffice 
6.4.7.2Cette version est obsolète, la dernière version
          stable est la 7.06 (mais ce n'est pas la cause du problème)Le problème : j'ai une table 
HistoriquePromo (qui
          est un fichier CSV, la base de donnée est connectée à ce
          fichier CSV). J'ai un champ Promotion dans cette table, qui
          contient parfois une information (libellé de la promotion,
          c'est du texte). Le reste du temps, il est vide (il n'y a donc
          pas de promotion).Mon besoin : Dans une requête SELECT "Article"
          "Article", "Description" "Description", "Date" "Date", "Prix"
          "Prix", "Promotion" "Promotion" FROM "HistoriquePromo", je
          veux ajouter une colonne à la requête qui renvoit 1 si une
          promotion est présente (le champ est rempli avec du texte), 0
          sinon.J'ai testé : SELECT "Article" "Article",
          "Description" "Description", "Date" "Date", "Prix" "Prix",
          "Promotion" "Promotion", COALESCE ( "Promotion", 1, 0 )
          "PromotionExists" FROM "HistoriquePromo"mais la nouvelle colonne "PromotionExists" reste
          vide. Je n'ai, cependant, pas de message d'erreur.Attention, il y a deux manières de 
gérer une table
          texte, il est possible que ça ne fonctionne pas dans l'une des
          deux. Lire le chapitre 2 du Guide Base 
;https://wiki.documentfoundation.org/Documentation/Publications/fr#Guide_Basehttps://wiki.documentfoundation.org/Documentation/Publications/fr#Guide_BaseIl
 est précisé dans la documentation que pour qu'une
          base CSV soit modifiable, elle doit être munie d'un champ
          numérique à valeurs uniques.J'ai testé CASE WHEN "Promotion" = "" THEN 0 ELSE
          1 END : la nouvelle colonne reste vide.J’essaierais  CASE "Promotion" WHEN "" THEN 0 ELSE 
1Cordialement,--        Jean-Michel COSTE--Envoyez un mail 
àusers+unsubscribe@fr.libreoffice.orgpour vous désinscrireLes archives de la liste sont disponibles 
àhttps://listarchives.libreoffice.org/fr/users/Privacy 
Policy:https://www.documentfoundation.org/privacy--Envoyez un mail 
àusers+unsubscribe@fr.libreoffice.orgpour vous désinscrireLes archives de la liste sont disponibles 
àhttps://listarchives.libreoffice.org/fr/users/Privacy 
Policy:https://www.documentfoundation.org/privacy
--web site :http://www.molenbaix.com


-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.