Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
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