Marek Blecharz

Marek Blecharz Konsultant ds.
wdrożeń ERP, CDN
Partner

Temat: Sumowanie danych jednego typu

Witam

Raport zwraca mi takie dane:

Kolor Auto Ilość
Green BMW 2
Green Audi 1
Green VW 7
Red BMW 3
Red VW 1
Yellow Opel 6

Chciałbym dodać kolumnę, wyliczającą narastająco ilość aut tej samej marki, czyli:

Kolor Auto Ilość Łącznie
Green BMW 2 2
Green Audi 1 1
Green VW 7 7
Red BMW 3 5
Red VW 1 8
Yellow Opel 6 6
Yellow BMW 3 8

Zrobiłem funkcję jak poniżej ale musiałbym ją stworzyć dla każdego auta z osobna i kombinować z ukrywaniem dla innych aut ale to jest bez sensu, jeśli wciąż pojawiają się nowe marki i jest ich ponad 200

whileprintingrecords;
Global NumberVar BMW;

if Car = 'BMW' then
BMW:= BMW + Amount
else
BMW:= BMW;

Czy macie jakiś inny pomysł? Próbowałem to również rozwiązać za pomocą running total ale nie dałem rady.
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Sumowanie danych jednego typu

Proponuję użyć cross-tab

1. Wybierz z menu opcję Insert | Cross-tab
2. W kolumnach wstawiasz kolor, w wierszach markę pojazdu, a na przecięciu sumę ilości.
Marek Blecharz

Marek Blecharz Konsultant ds.
wdrożeń ERP, CDN
Partner

Temat: Sumowanie danych jednego typu

Dzięki, tyle że ta wyliczana kolumna jest jedną z kilkunastu kolumn, więc to chyba nie wchodzi w rachubę?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Sumowanie danych jednego typu

OK. Jeśli chcesz pozostać przy zwykłym grupowaniu z sumowaniem i chcesz dodać kolumnę narastająco to możesz skorzystać z mechanizmu Running Total.

1. Zaznacz w Field Explorer gałąź Running Total Fields
2. Wybierz opcję New
3. Nadaj nazwę, np. Łącznie
4. Wybierz pole do sumowania, np. Ilość
5. Określ warunek kiedy ma być obliczania wartość (Evaluate)
6. Określ warunek kiedy ma być zerowana wartość, np. przy zmianie grupy z marką pojazdu

Najlepiej jeśli napiszesz jak wyglądają twoje dane wejściowe i jaki dokładnie wynik chcesz uzyskać.
Jadwiga Nowak

Jadwiga Nowak Programista Baz
Danych/Analityk

Temat: Sumowanie danych jednego typu

Wg mnie bez wprowadzenia grupowania po marce pojazdów w ogóle tego nie zrobisz. Potem faktycznie można wykorzystać Running Total Fields wg opisu Pana Marcina.
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Sumowanie danych jednego typu

Tak, jeśli ilość kolumn jest stała (ilość, ilość narastająco, itd) a zmienia się tylko ilość marek w wierszach to najlepiej wykorzystać grupowanie + Running Totals.

Cross-tab sprawdza się w przypadkach gdy ilość kolumn i wierszy jest zmienna, na przykład sprzedaż marek pojazdów w podziale miesiące, albo sprzedaż marek w poszczególnych klasach pojazdów.

Następna dyskusja:

Sumowanie danych przekazany...




Wyślij zaproszenie do