cancel
Showing results for 
Search instead for 
Did you mean: 

Crosstab reset

Former Member
0 Kudos

Hi all,

when I'm retrieve a crosstab datawindow with rows then everything works great. (attach 1)

When I'm retrieve a crosstab datawindow without rows then everything works great.. So far OK.

But why the crosstab group remains. I have already set the reset. No success. The Crosstab group remains. (attach 2)

How can I reset it without crosstab group remains?

See attach 1+2

Thanks for help.

Regards

André Rust

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Andre

I'm not quite sure I understand, but have you got this option on the Design, Crosstab menu ticked?

You need to have rebuild columns at runtime to have them dynamically created.

If I have got the wrong end of the stick, then please give some more information and I'll try and help.

Thanks

David

Former Member
0 Kudos

Hi David,

It's true, you've understood differently.

I'm doing a retrieve, get back a set. Attach 1.

Now I change some in the where clause, make a Retrieve, can not get a sentence and the Crosstab group remains as the Retrieve previously. Attach 2

The Retrieve happened during the term not in DW!

Even with a DW.reset () will not be reset it.

André Rust

Former Member
0 Kudos

I think I understand your problem now and I still think that the Rebuild columns tick box should have fixed it. I guess that you are modifying the DW where clause and then doing the next retrieve and perhaps PB is not seeing this as a change so is fixing the columns on the first retrieve.

If you can humour me and assuming that you have Rebuild columns ticked, After the first retrieve can you change the dw.dataobject to something else and then change it back again. Then modify the SQL where and see if that is enough to force the refresh. Just a thought....

Former Member
0 Kudos

You may use

dw_1.dataobject = dw1.dataobject

to force reset. It's a hard form but sometimes for crosstabs slower.

Former Member
0 Kudos

Hi René,

Thanks for the tip. But our base is not the optimum. Do you have another tip?

André Rust

Former Member
0 Kudos

Hi David,

Unfortunately this does not work as it should be in the GUI as I said,

it all happens at runtime. Do you have another tip?

André Rust

Former Member
0 Kudos

Hi

It was my suggestion that you do this at runtime...

"After the first retrieve can you change the dw.dataobject to something else and then change it back again. Then modify the SQL where and see if that is enough to force the refresh."

Use something like this....

dw_1.dataobject='d_dummydw'

dw_1.reset()

dw_1.dataobject='d_myactualdw'

..... modify the where clause

dw_1.retrieve(....)

Former Member
0 Kudos

Hi David;

  Along your theme, I would suggest the following code sequence ...

dw_1.SetReDraw (FALSE)

dw_1.reset ( )

dw_1.dataobject = '""

Yield ( )

dw_1.dataobject = "d_myactualdw"

..... modify the where clause

dw_1.retrieve (....)

dw_1.GroupCalc ( )

dw_1.SetReDraw (TRUE)

Regards ... Chris

Former Member
0 Kudos

Indeed Chris

I was being slightly lazy this morning

Former Member
0 Kudos

Hi Chris

Thanks for the addition "of slow David".

I will check this.

André Rust

Former Member
0 Kudos

Hi Andre;

  I hope that works for you. Its just a suggestion that might work a little more effectively.

BTW: Here is a little known tip for CrossTab DWO's. When they encounter a Retrieve ( ), they fire a user event "pbm_dwnmessagetext" that informs the DW Control that a CrossTab operation is underway. You can add this as a "mapped" User Event and then utilize that to inform your application users that a CrossTab operation is proceeding ... "please wait" for example.

HTH

Regards ... Chris