Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-30 Par sujet yves dutrieux
Bonjour,

dépendant de la source (je connais pas le site, donc pas possible de savoir
si faisable),
1) calc peut lire des flux web pour les intégrer via : Données - flux
(ça éviterait peut-être le script python),
2) Il y a aussi la possibilité de développer le script python comme
"plugin" calc,
3) la recopie manuelle se fait très facilement : (une fois que la cellule
D1 est faite, se positionner dessus, puis :
Ctrl-C + Ctrl-Shift-End + Ctrl-V:)
4) script Libreoffice via un bouton associé au script,

bref, y'a plein de moyen d'y arriver ;)
Bon dimanche
Yves

Le dim. 30 mai 2021 à 10:01,  a écrit :

> 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 - 
> 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,  a écrit :
>
>> Merci à tous les deux.
>>
>> Concernant le forum https://ask.libreoffice.org/fr/questions/, je
>> l'avais vu, mais il ne m'a pas semblé très actif autour de Base, et
>> comme sur la page officielle de LibreOffice, ils mentionnent que le
>> canal 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 je
>> travaille sous Linux, distribution non compilée Gentoo, qui du coup a
>> toujours un peu de retard dans la mise à disposition de paquets stables,
>> pour privilégier la stabilité des versions officiellement stables (même
>> si je peux installer la nouvelle version de LibreOffice en "forçant" le
>> paquet jugé instable sous Gentoo)
>> Merci Jean-Michel (COSTE) pour le lien vers la documentation (dont il
>> semble 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 interne
>> 2)Les tables texte comme base d’une base de données autonome
>> J'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 à la
>> fois et sans l’utilisation de
>> fonctions. De même, les relations ne sont pas prises en charge"...
>> Si on ne peut pas utiliser de fonctions, ça explique donc pourquoi ma
>> colonne reste toujours vide !
>> Donc j'ai testé la méthode 1). Mais elle ne convient pas non plus, car
>> je n'ai pas de clé primaire numérique dans mon fichier CSV...donc
>> impossible de lier la table (je peux créer le squelette vide à l'aide de
>> l'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 graphiques
>> depuis les données sources du 

Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-30 Par sujet Patrick Auclair

Bonjour à toutes et tous,

Le 30/05/2021 à 10:01, l...@lette.hopto.org a écrit :

..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.
    Si cela fonctionne, mais d'une façon limitée, un CSV n'est en 
aucune manière une base de données.
    La méthode utilisée n'est effectivement pas satisfaisante. Comme le 
conseille Jean-Michel voir le guide Base - chapitre 2 - page 26.
    L'assistant Bases de données - Paramétrer une connexion aux 
fichiers texte indique :
    Sélectionnes le dossier où les fichiers CSV sont stockés. 
LibreOffice ouvrira ces fichiers en mode lecture seule."

    Comme dirait Mercotte "Lisez bien la recette" 

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.
    Effectivement tirer la cellule contenant la formule jusqu'à la fin 
des données est fastidieux et inadapté.
    Mais, si la colonne "PromotionExists" se trouve à droite de la 
colonne "Prix" par exemple (il n'y a aucun prix vide je suppose), et non 
à droite de
    la colonne "Promotion" (Il y a des cellules vides), il existe une 
solution simplissime pour recopier la formule jusqu'à la fin :
    Il faut sélectionner la cellule contenant la formule et faire un 
double clic sur le petit carré (poignée) en bas à droite et hop c'est 
magique.

   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)

    Une macro sous Calc me semble être la meilleure solution.

Merci à tous pour votre aide,

et profitez bien de la journée !

    Soleil en Haute-Vienne et donc jardinage !
    .. Après la sieste bien sur. 
    Bien cordialement Patrick.

--
Envoyez un mail à users+unsubscr...@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


Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-30 Par sujet larb


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,l...@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 

Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-29 Par sujet Stéphane Santon

Bonjour,

Ouh là la... le moteur de requêtes LibreOffice sur les fichiers CSV est 
très pauvre, je crois qu'il ne faut pas lui en demander tant.


Voir s'il n'y a pas un autre moyen de résoudre le problème d'origine.

Le 28/05/2021 à 19:23, l...@lette.hopto.org a écrit :

J'utilise LibreOffice 6.4.7.2

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.



--
Stéphane
17 Charente-Maritime

--
Envoyez un mail à users+unsubscr...@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


Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-29 Par sujet Jean-Michel COSTE

Le 29/05/2021 à 09:42, l...@lette.hopto.org a écrit :

Merci à tous les deux.

Concernant le forum https://ask.libreoffice.org/fr/questions/, je 
l'avais vu, mais il ne m'a pas semblé très actif autour de Base, et 
comme sur la page officielle de LibreOffice, ils mentionnent que le 
canal 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 je 
travaille sous Linux, distribution non compilée Gentoo, qui du coup a 
toujours un peu de retard dans la mise à disposition de paquets 
stables, pour privilégier la stabilité des versions officiellement 
stables (même si je peux installer la nouvelle version de LibreOffice 
en "forçant" le paquet jugé instable sous Gentoo)
Merci Jean-Michel (COSTE) pour le lien vers la documentation (dont il 
semble 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 interne
2)Les tables texte comme base d’une base de données autonome
J'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 à la 
fois et sans l’utilisation de

fonctions. De même, les relations ne sont pas prises en charge"...
Si on ne peut pas utiliser de fonctions, ça explique donc pourquoi ma 
colonne reste toujours vide !
Donc j'ai testé la méthode 1). Mais elle ne convient pas non plus, car 
je n'ai pas de clé primaire numérique dans mon fichier CSV...donc 
impossible de lier la table (je peux créer le squelette vide à l'aide 
de l'instruction SQL, mais pas faire la liaison)


Bonjour,

Pourquoi ne pas créer une colonne avec Calc pour numéroter les lignes ?


Je suis donc un peu coincé...
A l'origine, mon vrai besoin était de créer des analyses graphiques 
depuis les données sources du fichier CSV, et j'avais besoin de 
simplifier le champ "Promotion" par une simple information "présence 
ou absence : 1 ou 0. Et de restituer, pour 1 produit au choix, un 
historique de prix sous forme de graphique "courbe" et des batons 
lorsqu'une période est sous promotion (bâtons à 1 lors d'une période 
sous 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 ?

Par curiosité, d'où proviennent ces données ?
Il est aussi possible de poser la question ici  : 
https://forum.openoffice.org/fr/forum/ 
, mais bien lire les conditions 
avant de s'inscrire, les règles sont très strictes 


Pas le temps ce week end (le beau temps encourage les balades en vélo), 
mais je vois ça plus tard.


Cordialement,


--


   Jean-Michel COSTE


--
Envoyez un mail à users+unsubscr...@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


Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-29 Par sujet yves dutrieux
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 - 
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,  a écrit :

> Merci à tous les deux.
>
> Concernant le forum https://ask.libreoffice.org/fr/questions/, je
> l'avais vu, mais il ne m'a pas semblé très actif autour de Base, et
> comme sur la page officielle de LibreOffice, ils mentionnent que le
> canal 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 je
> travaille sous Linux, distribution non compilée Gentoo, qui du coup a
> toujours un peu de retard dans la mise à disposition de paquets stables,
> pour privilégier la stabilité des versions officiellement stables (même
> si je peux installer la nouvelle version de LibreOffice en "forçant" le
> paquet jugé instable sous Gentoo)
> Merci Jean-Michel (COSTE) pour le lien vers la documentation (dont il
> semble 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 interne
> 2)Les tables texte comme base d’une base de données autonome
> J'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 à la
> fois et sans l’utilisation de
> fonctions. De même, les relations ne sont pas prises en charge"...
> Si on ne peut pas utiliser de fonctions, ça explique donc pourquoi ma
> colonne reste toujours vide !
> Donc j'ai testé la méthode 1). Mais elle ne convient pas non plus, car
> je n'ai pas de clé primaire numérique dans mon fichier CSV...donc
> impossible de lier la table (je peux créer le squelette vide à l'aide de
> l'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 graphiques
> depuis les données sources du fichier CSV, et j'avais besoin de
> simplifier le champ "Promotion" par une simple information "présence ou
> absence : 1 ou 0. Et de restituer, pour 1 produit au choix, un
> historique de prix sous forme de graphique "courbe" et des batons
> lorsqu'une période est sous promotion (bâtons à 1 lors d'une période
> sous 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 PIERRE
> > Tél : 05.49.255.333
> > Tél : 06.19.55.73.22
> >
> >> Le 29 mai 2021 à 00:53, Jean-Michel COSTE  a
> écrit :
> >>
> >> Bonjour,
> >>
> >>> Le 28/05/2021 à 19:23, l...@lette.hopto.org a é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.2
> >> Cette 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.
> >>>
> 

Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-29 Par sujet Jean-Michel PIERRE
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 PIERRE 
Tél : 05.49.255.333
Tél : 06.19.55.73.22

> Le 29 mai 2021 à 00:53, Jean-Michel COSTE  a écrit :
> 
> Bonjour,
> 
>> Le 28/05/2021 à 19:23, l...@lette.hopto.org a é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.2
> Cette 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_Base 
> 
> 
> Il 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 1
> 
> Cordialement,
> 
> 
> -- 
> 
> 
>   Jean-Michel COSTE
> 
> 
> -- 
> Envoyez un mail à users+unsubscr...@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

-- 
Envoyez un mail à users+unsubscr...@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


Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-29 Par sujet larb

Merci à tous les deux.

Concernant le forum https://ask.libreoffice.org/fr/questions/, je 
l'avais vu, mais il ne m'a pas semblé très actif autour de Base, et 
comme sur la page officielle de LibreOffice, ils mentionnent que le 
canal 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 je 
travaille sous Linux, distribution non compilée Gentoo, qui du coup a 
toujours un peu de retard dans la mise à disposition de paquets stables, 
pour privilégier la stabilité des versions officiellement stables (même 
si je peux installer la nouvelle version de LibreOffice en "forçant" le 
paquet jugé instable sous Gentoo)
Merci Jean-Michel (COSTE) pour le lien vers la documentation (dont il 
semble 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 interne
2)Les tables texte comme base d’une base de données autonome
J'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 à la 
fois et sans l’utilisation de

fonctions. De même, les relations ne sont pas prises en charge"...
Si on ne peut pas utiliser de fonctions, ça explique donc pourquoi ma 
colonne reste toujours vide !
Donc j'ai testé la méthode 1). Mais elle ne convient pas non plus, car 
je n'ai pas de clé primaire numérique dans mon fichier CSV...donc 
impossible de lier la table (je peux créer le squelette vide à l'aide de 
l'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 graphiques 
depuis les données sources du fichier CSV, et j'avais besoin de 
simplifier le champ "Promotion" par une simple information "présence ou 
absence : 1 ou 0. Et de restituer, pour 1 produit au choix, un 
historique de prix sous forme de graphique "courbe" et des batons 
lorsqu'une période est sous promotion (bâtons à 1 lors d'une période 
sous 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 PIERRE
Tél : 05.49.255.333
Tél : 06.19.55.73.22


Le 29 mai 2021 à 00:53, Jean-Michel COSTE  a écrit :

Bonjour,


Le 28/05/2021 à 19:23, l...@lette.hopto.org a é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.2

Cette 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_Base 


Il 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 1

Cordialement,


--


   Jean-Michel COSTE


--
Envoyez un mail à 

Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-28 Par sujet Jean-Michel PIERRE
Bonjour,
Je tenterais 0 entre guillemets. 

Jean-Michel PIERRE 
Tél : 05.49.255.333
Tél : 06.19.55.73.22

> Le 28 mai 2021 à 19:24, l...@lette.hopto.org a é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.2
> 
> 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.
> 
> J'ai testé  CASEWHEN ("Promotion"= "", 0, 1 ), mais j'ai un message d'erreur 
> "la fonction n'est pas supportée", bien que j'ai trouvé cette info dans la 
> doc officielle 
> https://wiki.documentfoundation.org/Chapter1_Introduction_to_Base
> 
> J'ai testé CASE WHEN "Promotion" = "" THEN 0 ELSE 1 END : la nouvelle colonne 
> reste vide.
> 
> J'ai testé CASE WHEN "Promotion" IS EMPTY THEN 0 ELSE 1 END : la nouvelle 
> colonne reste vide.
> 
> J'ai testé IFNULL("Promotion",0) bien que ça ne réponde pas au besoin, mais 
> pour vérifier si je comprenais bien le fonctionnementmême cette fonction 
> simple ne fait rien : la nouvelle colonne reste vide (pourtant, j'ai appliqué 
> ce que j'ai trouvé ici https://wiki.documentfoundation.org/Faq/Base/125/fr 
> mais ça ne fonctionne pas)
> 
> Avez-vous une idée de ce qu'il faut faire ? Pourquoi ça ne marche pas ?
> 
> Merci,
> 
> 
> 
> 
> -- 
> Envoyez un mail à users+unsubscr...@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


-- 
Envoyez un mail à users+unsubscr...@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


Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-28 Par sujet Jean-Michel COSTE

Bonjour,

Le 28/05/2021 à 19:23, l...@lette.hopto.org a é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.2
Cette 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_Base 



Il 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 1

Cordialement,


--


   Jean-Michel COSTE


--
Envoyez un mail à users+unsubscr...@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


Re: [fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-28 Par sujet larb

Bonjour,
Merci pour votre réponse.
J'ai re-testé toutes les formules en remplaçant 0 par "0" et 1 par "1", 
mais rien n'y fait. Le résultat est toujous une colonne complètement vide.


Le 28/05/2021 à 21:21, Jean-Michel PIERRE a écrit :

Bonjour,
Je tenterais 0 entre guillemets.

Jean-Michel PIERRE
Tél : 05.49.255.333
Tél : 06.19.55.73.22


Le 28 mai 2021 à 19:24, l...@lette.hopto.org a é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.2

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.

J'ai testé  CASEWHEN ("Promotion"= "", 0, 1 ), mais j'ai un message d'erreur "la 
fonction n'est pas supportée", bien que j'ai trouvé cette info dans la doc officielle 
https://wiki.documentfoundation.org/Chapter1_Introduction_to_Base

J'ai testé CASE WHEN "Promotion" = "" THEN 0 ELSE 1 END : la nouvelle colonne 
reste vide.

J'ai testé CASE WHEN "Promotion" IS EMPTY THEN 0 ELSE 1 END : la nouvelle 
colonne reste vide.

J'ai testé IFNULL("Promotion",0) bien que ça ne réponde pas au besoin, mais 
pour vérifier si je comprenais bien le fonctionnementmême cette fonction simple ne 
fait rien : la nouvelle colonne reste vide (pourtant, j'ai appliqué ce que j'ai trouvé 
ici https://wiki.documentfoundation.org/Faq/Base/125/fr mais ça ne fonctionne pas)

Avez-vous une idée de ce qu'il faut faire ? Pourquoi ça ne marche pas ?

Merci,




--
Envoyez un mail à users+unsubscr...@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




--
Envoyez un mail à users+unsubscr...@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


[fr-users] [LibreOffice BASE] REQUÊTE problème de colonne calculée

2021-05-28 Par sujet larb

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.2

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.


J'ai testé  CASEWHEN ("Promotion"= "", 0, 1 ), mais j'ai un message 
d'erreur "la fonction n'est pas supportée", bien que j'ai trouvé cette 
info dans la doc officielle 
https://wiki.documentfoundation.org/Chapter1_Introduction_to_Base


J'ai testé CASE WHEN "Promotion" = "" THEN 0 ELSE 1 END : la nouvelle 
colonne reste vide.


J'ai testé CASE WHEN "Promotion" IS EMPTY THEN 0 ELSE 1 END : la 
nouvelle colonne reste vide.


J'ai testé IFNULL("Promotion",0) bien que ça ne réponde pas au besoin, 
mais pour vérifier si je comprenais bien le fonctionnementmême cette 
fonction simple ne fait rien : la nouvelle colonne reste vide (pourtant, 
j'ai appliqué ce que j'ai trouvé ici 
https://wiki.documentfoundation.org/Faq/Base/125/fr mais ça ne 
fonctionne pas)


Avez-vous une idée de ce qu'il faut faire ? Pourquoi ça ne marche pas ?

Merci,




--
Envoyez un mail à users+unsubscr...@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