Christo Madizo

Christo Madizo ACC sis, CME

Temat: Sprawdzanie zduplikowanych rekordów.

Cześć,

od kilku dni męczę się z takim oto zadaniem:

Jest w uproszczeniu tabela, która zwraca:

NrDok Wartosc
dok.1 100
dok.2 200
dok.3 300
dok.4 400

Potrzebuję sprawdzić dla każdego rekordu, czy wśród pozostałych
rekordów jest co najmniej jeden o takiej samej wartości.

W moich poszukiwaniach poszedłem w stronę podraportu, gdzie
chciałem stworzyć "shared array", która by przechowywała wszystkie
wartości, które zwraca tabela i której bym użył w głównym raporcie.

Niestety nie udało mi się zbudować tej tablicy, a więc i sprawdzić mojego
warunku.

KM.

Będę wdzięczny za wskazanie właściwego kierunku.

KM.
Krzysztof Wojtal

Krzysztof Wojtal Specjalista ds
systemu ERP, PL/SQL,
Crystal rep., Power
B...

Temat: Sprawdzanie zduplikowanych rekordów.

Cześć,

Rozumiem, że chcesz znaleźć pozycje w tej samej cenie.
Możesz to zrobić przy użyciu podraportu, do którego przekażesz 2 parametry - z symbolem pozycji oraz z jego ceną. W tym podraporcie odszukuj pozycje, które będą miały tą samą cenę i o innym symbolu pozycji niż ten przekazany w parametrze.

Mam nadzieję, że właśnie o to Ci chodzi. Jeżeli masz dużo pozycji, to trochę może się kręcić taki raport. Ja szczerze mówiąc, starałbym się zrobić to za pomocą zapytani SQL, gdyż każde wywołanie podraportu to kolejne odpytanie serwera, co znacznie wydłuży czas wykonywania się raportu.

Pozdrawiam
Krzysiek.
Christo Madizo

Christo Madizo ACC sis, CME

Temat: Sprawdzanie zduplikowanych rekordów.

Z zapytaniem SQL już próbowałem, ale pierwszy problem napotkałem, kiedy chciałem odwołać się do parametru, który w głównym raporcie służy do filtrowania okresu, z którego pobierają się dokumenty.

Z tego co wiem, nie można w wyrażeniach SQL odwołać się do parametru.

Pozycji nie jest specjalnie dużo, myślę, że maksymalnie ok. 500-700.
Krzysztof Wojtal

Krzysztof Wojtal Specjalista ds
systemu ERP, PL/SQL,
Crystal rep., Power
B...

Temat: Sprawdzanie zduplikowanych rekordów.

Cześć,

Pisząc o SQL, miałem na myśli stworzenie raportu opartego o zapytanie SQL, a nie wyciąganie informacji przy pomocy SQL Expresion.
W SQL jest taka funkcja DISTINCT, która eliminuje nam zdublowane rekordy. Niestety, jeżeli są to pozycje o różnych symbolach, ale o tych samych wartościach, to nie są to duble, lecz różne rekordy.
Mażesz również użyć funkcji COUNT (SQL), która policzy ci ilość tych samych rekordów z tą samą ceną.
Z tego co są zorentowałem, to raport masz oparty na bezpośrednim podpięciu do bazy, skoro chciałeś używać SQL Expression, bo w raportach w których dane pobierasz bezpośrednio przy użyciu zapytania SQL, to tej opcji nie masz dostępnej.
Trudno jest mi Ci pomóc, gdyż ja robię raporty tylko przy użyciu SQL i jedynym sensownym rozwiązaniem jakie widzę, to zastosowanie podraportu.

Pozdrawiam
Krzysiek.
Andrzej Curyło

Andrzej Curyło konsultant,
freelancer

Temat: Sprawdzanie zduplikowanych rekordów.

Cześć,
1. Pogrupuj raport wg pola Wartosc
2. Do stopki lub nagłówka grupy wstaw podsumowanie;
ustaw:
- Wybierz pole podsumowania: Wartosc
- Oblicz to podsumowanie: Count
- Lokalizacja podsumowania: Grupa ....
3. W ekspercie sekcji:
- Szczegóły: Ukryj
Dla wartości które się nie powtarzają możesz ukryć stopkę i(lub) nagłówek grupy
- Nagłówek(stopka): Ukryj - wpisz warunek
Count ({tabela.wartosc}, {tabela.wartosc}) = 1

pozdrawiam
Andrzej



Wyślij zaproszenie do