Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
aminehaddar
Contributor II
Contributor II

Help with set analysis

Hello,

I have this expression:

=SUM({<

P_DATE_PRODUCTION = {'<=$(DATE_EXTRACTION)'},

RIGHT(P_DATE_OUVERTURE,2) = {'=RIGHT($(ANNEE_EXTRACTION),2)'}

>}P_MONTANT_PRODUCTION)

When I delete  RIGHT(P_DATE_OUVERTURE,2) , the error is taken.

But I can't handle without the condition in red.


Any help please?

Regards.

10 Replies
jonathandienst
Partner - Champion III
Partner - Champion III

The LHS of set expressions must be a physical field name, so you cannot use Right(...) there. Options are

  • create a derived field using

          RIGHT(P_DATE_OUVERTURE,2) as Derived

          and use this field in the set expression

  • use this expression

        P_DATE_OUVERTURE = {"=$(=RIGHT(P_DATE_OUVERTURE,2) = RIGHT($(ANNEE_EXTRACTION),2)"}

         (success will depend on the data structure in your document)

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
qlik4asif
Creator III
Creator III

You can create a field in backend with RIGHT(P_DATE_OUVERTURE,2) as XXXXX,

Use this field the expression

=SUM({<

P_DATE_PRODUCTION = {'<=$(DATE_EXTRACTION)'},

XXXXX = {'=RIGHT($(ANNEE_EXTRACTION),2)'}

>}P_MONTANT_PRODUCTION)

aminehaddar
Contributor II
Contributor II
Author

Thanks for your answer.

I edited like this:

=SUM({<

P_DATE_PRODUCTION = {'<=$(DATE_EXTRACTION)'},

P_DATE_OUVERTURE = {'=$(RIGHT(P_DATE_OUVERTURE,2)

=RIGHT($(ANNEE_EXTRACTION),2)'}

>}P_MONTANT_PRODUCTION)

The expression is ok.

But when I press the apply button, I find this error: error in set modifier ad hoc element: ; or ') , strange no?

Regards

aminehaddar
Contributor II
Contributor II
Author

I tried it before posting my problem.

But the system doesn't accept a field in backend in the place of the attribut.

Regards

qlik4asif
Creator III
Creator III

If P_DATE_OUVERTURE is a field 

Then you can create new field in backend

RIGHT(P_DATE_OUVERTURE,2) as XXXXX,

aminehaddar
Contributor II
Contributor II
Author

syntax error bro

qlik4asif
Creator III
Creator III

can u share qvw or code which you used

jonathandienst
Partner - Champion III
Partner - Champion III

Corrected expression

SUM({<

P_DATE_PRODUCTION = {'<=$(DATE_EXTRACTION)'},

P_DATE_OUVERTURE = {'=$(=RIGHT(P_DATE_OUVERTURE, 2)

=RIGHT(ANNEE_EXTRACTION, 2))'}

>} P_MONTANT_PRODUCTION)

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
sunny_talwar

Try this may be

=Sum({<P_DATE_PRODUCTION = {"<=$(DATE_EXTRACTION)"}, P_DATE_OUVERTURE = {"=RIGHT(P_DATE_OUVERTURE, 2)

= RIGHT($(ANNEE_EXTRACTION), 2)"}>} P_MONTANT_PRODUCTION)

2 things I changed

1) Remove dollar sign expansion on top of RIGHT function for your P_DATE_OUVERTURE

2) Use double quotes for search string

Quotes in Set Analysis