Announcements
The way to achieve your own success is the willingness to help somebody else. Go for it!
cancel
Showing results for
Did you mean:
Contributor III

## Peek function 3rd parameter issue

Hello Everyone!

Can't we use variable in Peek() function at the place where we write table name (3rd parameter)?

If yes, then what is the problem in following code (please refer to the screenshot below)?

The purpose is to get (26/01/2016 - 25/02/2016) for fieldname '1' (as per total number of days in January)

(26/02/2016 - 25/03/2016) for fieldname '2' (for feb) and so on.

As far as I know, the table name must be written in single quotes.

When I replace the darkened part in screenshot with

if(\$(i)=2,'FisTab',if(\$(i)=3,'FisTab-1',if(\$(i)=4,'FisTab-2','further if conditions'))) ,

I get the desired output. But then the if condition becomes too lengthy to be likely used.

I am attaching the .qvw file.

Regards.

1 Solution

Accepted Solutions
MVP

Try this:

[FisTab-1]:

AutoGenerate(Day(MonthEnd(MakeDate(Year(Today()),1,1))));

Let tNum=1;

LET tName = 'FisTab-'&\$(tNum);

LET tName1 = 'FisTab-'&(\$(tNum)+1);

FOR i=2 to 12

[\$(tName1)]:

LOAD Date(MakeDate(Year(Today()), \$(i), Day(Peek(\$(i)-1,-1,'\$(tName)'))) + RecNo(),'DD/MM/YYYY') as \$(i)

AutoGenerate(Day(MonthEnd(MakeDate(Year(Today()),\$(i),1))));

tNum=\$(i)-1;

LET tName = 'FisTab-'&(\$(tNum)+1);

LET tName1 = 'FisTab-'&(\$(tNum)+2);

NEXT i

4 Replies
MVP

Try this:

[FisTab-1]:

AutoGenerate(Day(MonthEnd(MakeDate(Year(Today()),1,1))));

Let tNum=1;

LET tName = 'FisTab-'&\$(tNum);

LET tName1 = 'FisTab-'&(\$(tNum)+1);

FOR i=2 to 12

[\$(tName1)]:

LOAD Date(MakeDate(Year(Today()), \$(i), Day(Peek(\$(i)-1,-1,'\$(tName)'))) + RecNo(),'DD/MM/YYYY') as \$(i)

AutoGenerate(Day(MonthEnd(MakeDate(Year(Today()),\$(i),1))));

tNum=\$(i)-1;

LET tName = 'FisTab-'&(\$(tNum)+1);

LET tName1 = 'FisTab-'&(\$(tNum)+2);

NEXT i

As Sunny has pointed out, the tablename parameter cannot be a calculated parameter. It must be a literal string. So doing the calculation into a variable as Sunny suggested should work.

-Rob

Contributor III
Author

Thanks Sunny... putting the third parameter variable in single quotes in my solution is working too...

But I got to learn about dynamically naming tables with alphanumeric values through your solution... I did not know that

Thanks a lot buddy...

Regards...

Contributor III
Author

Yeah, I was unaware of that... it being variable, I did not think of putting it in quotes...

Thanks buddy...

Regards...

Community Browser