Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je crée les variables dont j'ai besoin à partir du chargement d'un fichier qvd (lui-même chargé depuis un fichier Excel où sont définies les variables). Or j'ai des variables qui sont mal créées et pour lesquelles QlikView génère une erreur interne (voir dans l'exemple joint la variable V_Taux_conso_CRR_année_préc_même_mois). Or si je crée la variable en allant dans le menu Paramètres, celle-ci se crée correctement (cf. V_Taux_conso_CRR_vérification.
Avez-vous une idée sur la cause du problème ?
Merci
Thierry
Bonjour Thierry,
Votre erreur lors de la création des variables est due à la syntaxe $(=...).
Si vous souhaitez stocker ce genre de formules en variables et créer cette variable à chaque execution de script (ce qui est une très bonne habitude), vous devez contourner ce problème en utilisant plusieurs chaînes de texte concaténées.
Pour la formule de votre exemple, voici comment la déclarer dans le script :
LET V_Taux_conso_CRR_année_préc_même_mois = '$(V_Coût_total_CRR_mois( ={"$' & '(=A0_ANNEE_COURANTE-1)"}, ={"<$' & '(M0_MOIS_COURANT_NUM)"}, ={'Réel'}, -={'Emploi Financé'}))
/ $(V_Coût_total_CRR( ={"$' & '(=A0_ANNEE_COURANTE-1)"}, ={'Réel'}, -={'Emploi Financé'}))';
Pour faire plus simple, si votre formule doit donner :
vSetAnalysis : {<Année={$(=Year(Today()))}>}
Vous devez le déclarer dans le script de cette manière :
LET vSetAnalysis = '{<Année={$' & '(=Year(Today()))}>}';
J'espère avoir été clair,
Martin Favier
Je suis absent(e) du bureau jusqu'au 16/11/2012
I am out of the office and get back to you when I return.
Remarque : ceci est une réponse automatique à votre message "[Groupe des
Utilisateurs Francophones] - Variables créées via le script" envoyé le
15/11/12 12:09:46.
C'est la seule notification que vous recevrez pendant l'absence de cette
personne.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the internet
cannot guarantee the integrity of this message which may not be reliable, BNP PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed or falsified.
Do not print this message unless it is necessary,consider the environment.
bonjour,
pouvez vous joindre votre fichier excel avec les formules que j'essaie de le charger
Merci
Je suis absent(e) du bureau jusqu'au 16/11/2012
I am out of the office and get back to you when I return.
Remarque : ceci est une réponse automatique à votre message "[Groupe des
Utilisateurs Francophones] - Re: Variables créées via le script" envoyé le
15/11/12 13:33:30.
C'est la seule notification que vous recevrez pendant l'absence de cette
personne.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the internet
cannot guarantee the integrity of this message which may not be reliable, BNP PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed or falsified.
Do not print this message unless it is necessary,consider the environment.
Bonjour Thierry,
Votre erreur lors de la création des variables est due à la syntaxe $(=...).
Si vous souhaitez stocker ce genre de formules en variables et créer cette variable à chaque execution de script (ce qui est une très bonne habitude), vous devez contourner ce problème en utilisant plusieurs chaînes de texte concaténées.
Pour la formule de votre exemple, voici comment la déclarer dans le script :
LET V_Taux_conso_CRR_année_préc_même_mois = '$(V_Coût_total_CRR_mois( ={"$' & '(=A0_ANNEE_COURANTE-1)"}, ={"<$' & '(M0_MOIS_COURANT_NUM)"}, ={'Réel'}, -={'Emploi Financé'}))
/ $(V_Coût_total_CRR( ={"$' & '(=A0_ANNEE_COURANTE-1)"}, ={'Réel'}, -={'Emploi Financé'}))';
Pour faire plus simple, si votre formule doit donner :
vSetAnalysis : {<Année={$(=Year(Today()))}>}
Vous devez le déclarer dans le script de cette manière :
LET vSetAnalysis = '{<Année={$' & '(=Year(Today()))}>}';
J'espère avoir été clair,
Martin Favier
Bonjour Martin,
Merci pour la solution, ça marche. Il faut juste faire attention aux ' et les remplacer par " dans mon passage de valeur de paramètre pour le set analysis, comme par exemple
={'Réel'}
que j'ai remplacé par
={"Réel"}
Salutations
Thierry
Je suis absent(e) du bureau jusqu'au 16/11/2012
I am out of the office and get back to you when I return.
Remarque : ceci est une réponse automatique à votre message "[Groupe des
Utilisateurs Francophones] - Re: Variables créées via le script" envoyé le
15/11/12 14:53:19.
C'est la seule notification que vous recevrez pendant l'absence de cette
personne.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the internet
cannot guarantee the integrity of this message which may not be reliable, BNP PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed or falsified.
Do not print this message unless it is necessary,consider the environment.
Je suis absent(e) du bureau jusqu'au 16/11/2012
I am out of the office and get back to you when I return.
Remarque : ceci est une réponse automatique à votre message "[Groupe des
Utilisateurs Francophones] - Re: Variables créées via le script" envoyé le
15/11/12 15:13:58.
C'est la seule notification que vous recevrez pendant l'absence de cette
personne.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the internet
cannot guarantee the integrity of this message which may not be reliable, BNP PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed or falsified.
Do not print this message unless it is necessary,consider the environment.
Oui c'est vrai pardon, je n'avais pas fait attention à celà.
Sinon, lorsqu'il n'y a qu'un seul mot sans caractère spécial (espace, tiret...), les apostrophes ou guillemets sont facultatifs.
Dans votre cas,
={'Réel'}
aurait aussi pu être remplacé par
={Réel}
Tout simplement
Martin FAVIER
Je suis absent(e) du bureau jusqu'au 16/11/2012
I am out of the office and get back to you when I return.
Remarque : ceci est une réponse automatique à votre message "[Groupe des
Utilisateurs Francophones] - Re: Variables créées via le script" envoyé le
15/11/12 15:35:42.
C'est la seule notification que vous recevrez pendant l'absence de cette
personne.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the internet
cannot guarantee the integrity of this message which may not be reliable, BNP PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed or falsified.
Do not print this message unless it is necessary,consider the environment.