Jump to content

portal: veld kan worden geindexeerd.


Arnoud

Recommended Posts

Posted

Bij het maken van een interne relatie krijg ik bovenstaande melding.

Mijn dochter veld is een calculatie met daarin een if statement.

De voorwaarde bevat bovendien een zgn. dependente waarde.

Bij meer simpele calcaties gaat alles goed.

Om de portal toch te laten werken moet ik de uitkomsten van de calcuatle (0 of 1) eerst middels een loop overpompen in een normaal rekenveld.

Hoe krijg ik de portal werkend?

  • 2 weeks later...
Posted
portal: veld kan worden geindexeerd

Je bedoelt waarschijnlijk dat het NIET kan worden geïndexeerd?

Dat gebeurt inderdaad in een aantal gevallen: als je key-veld afhangt van een unstored calculation, van een global, of van een relationele waarde. Je zal dus eventueel je calculatie en relatie moeten herzien. Kan dat niet, dan is de oplossing die je zelf voorstelt een haalbaar alternatief, hoewel je "database integrity" daardoor bedreigd wordt.

Posted

Intussen ben ik eruit maar ik zal toch even vertellen wat het probleem was.

In de calculatie (veld) zat een status(currentdate).

Aan de hand van de huidige datum werd zo getest of een ingestelde datum was overschreden en zo ja, dan werd dat in het veld als "aktie" gemeld.

Nu wilde ik alle records waarvan dat veld "aktie' aangaf, in een portal weergeven, teneinde zo makkelijk records te kunnen selecteren (dus een selfjoin).

De keys waren dus afhankelijk van de genoemde calculatie.

Op zich geen probleem ware het niet dat dit alleen werkte als ik calculatie op STORED zette. En daar zat nu juist het probleem: dan werd de Status(currentdate) bij het opstarten niet meer ververst met de aktuele datum.

Ik heb het opgelost door de verguisde Today te gebruiken in plaats van Status(Currentdate).

De calculatie is nu stored, en dus kunnen de keys worden geindexeerd.

Het zijn slechts honderden records, dus dat is goed te doen.

Een net zo goed (lees: net zo snel) alternatief is een nieuw unstored calcuatlieveld met status(currentdate) bij het opstarten via een replace een datumveld te laten verversen zodat de cuculatie waarin laatsgenoemd veld zou staan weer stored kan worden en dus als key is te gebruiken.

Van een loop heb ik afgezien omdat dit traag is.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...