Adam B.

Adam B. Senior PHP
developer, BI
developer

Temat: Parametry kaskadowe vs bardzo duża tabela w sql

Witam,

Mam następujący problem z Crystal Reports.
Mam tabele w sql która ma ponad 40 000 wierszy.

Parametrami "ograniczam" wiersze do 1 wartości
wcześniej ustawiłem po prostu dynamiczne kaskadowe parametry,
które to ograniczały wynik krok po kroku np:

-Country_id
-City_id
-User_id

Czyli jeżeli dobrze rozumiem to idzie automatycznie przez DISTINCT

- 1 parametr "SELECT DISTINCT Country_id FROM BigTable"
- 2 parametr "SELECT DISTINCT City_id FROM BigTable WHERE Country_id='{?Country_id}'"
- 3 parametr "SELECT DISTINCT User_id FROM BigTable WHERE Country_id='{?Country_id}' AND City_id='{?City_id}'"

Na początku działało OK - dopóki tabela nie urosła do 40 000 wierszy :/
wtedy pojawiły się problemy:

Jeżeli chodzi o wyświetlanie parametrów w CR-designer
to pomogło ustawienie w rejestrze wartości MaxRowsetRecords w
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12\Crystal Reports\DatabaseOptions\LOV

Tyle że w CR-server (InfoView) przy tak dużej ilości wierszy
wyświetlane są puste parametry, bez drop down list.

Chciałem zmodyfikować parametry w ten sposób, że nie odwołuję się
bezpośrednio do tej dużej tabeli tylko poprzez "sql commands"
to podzielić na inne tabele mniejsze np:

- 1 parametr to "select Country_id from Country"
- 2 parametr to "select City_id from City WHERE Country_id='{?Country_id}'"
- 3 parametr to "select User_id from BigTable WHERE City_id='{?City_id}' AND Country_id='{?Country_id}'"

Tylko to chyba tak się nie da w CR? :(

Może ktoś z grupy wie jak rozwiązać ten problem?
Adam B.

Adam B. Senior PHP
developer, BI
developer

Temat: Parametry kaskadowe vs bardzo duża tabela w sql

Jeżeli ktoś by miał podobny problem to chciałem dodać jak tymczasowo problem rozwiązałem:

1. Log into the CMC
2. Go to the "Servers" tab or page
3. Right-click on the "CrystalReportsProcessingServer" entry
4. About half-way down the page on the "Database Records Read When Previewing or Refreshing" parameter. domyslnie jest to ustawione na 20 000 można ustawić się na 0-unlimited
5. Save and close
6. Restart the "CrystalReportsProcessingServer"
7. Mamy nowy limit ustawiony i jeżeli mamy do czynienia z kaskadowym dynamicznym filtrowaniem bardzo dużej tabeli to parametry działają prawidłowo.

Pozdrawiam.

Następna dyskusja:

Raport na Commandzie, kaska...




Wyślij zaproszenie do