Michał K.

Michał K. Analityk Biznesowy

Temat: Pomoc z samochodami ;)

W bazie danych samochody mam tabele zawierającą markę samochodu, kolor i cenę radia do niego.

http://wyslijplik.pl/download.php?sid=mvTvnlLI

1.Chciałbym podzielić te samochody na klasy ze względu na kolor i markę. Np dodatkowa kolumna Klasa i gdy (AlfaRomeo,zielony) to klasa 1 gdy (Polonez, czerwony) to 2 itd.. Niestety jedyny sposób w jaki to potrafię zrobić to ręcznie wklepanie wszystkich możliwości (coś około 8*5 kombinacji) + tabela aktualizująca, co by było bardzo czasochłonne. Czy możliwe jest zrobienie tego przy użyciu kwerend w szybszy sposób ewentualnie przy użyciu SQL/VB?

2. Dla poszczególnych klas chciałbym posortować ceny radio rosnąco i przypisać im identyfikator w zależności od tercyla w którym się znajdują( 1 dla pierwszych 33% / 2 dla kolejnych i 3 dla reszty).

Jeżeli ktoś byłby w stanie mi pomóc z tym problemem byłbym zobowiązany.
Monika M.

Monika M. PROGRAMISTA VBA,
Excel, Access,
Outlook, Word -
SZKOLENIA

Temat: Pomoc z samochodami ;)

A od czego zależałoby przypisanie do klasy?
Bo jeśli to miałby być schemat bez żadnej logiki dającej opisać się jakąś zależnością, wzorem, to tylko klepanie ręczne.
Jeśli jednak zakładamy, że np. wszystkie AlfaRomeo automatycznie lądują w 1. klasie, a Polonezy - w 2., to da się to zrobić.
Michał K.

Michał K. Analityk Biznesowy

Temat: Pomoc z samochodami ;)

Rozróżnienie klas jest ze względu na markę i kolor. Np. BMW zielony - 1 BMW pomarańczowy 2 itd. dla wszystkich kolorów i marek.

Zrobić się da jestem pewien :). W Excelu nie było by problemu. Tylko ze względu na naprawdę duża liczbę rekordów jestem skazany na Accessa.Michał Korzeń edytował(a) ten post dnia 06.01.11 o godzinie 15:55
Monika M.

Monika M. PROGRAMISTA VBA,
Excel, Access,
Outlook, Word -
SZKOLENIA

Temat: Pomoc z samochodami ;)

Nie zrozumieliśmy się.

Czy istnieje ustalona lista, gdzie jest określone, że do:

klasy 1 należą, np.:
AlfaRomeo, zielony
BMW, zielony
...

klasy 2 należą, np.:
Polonez, czerwony
BMW, pomarańczowy
...

i klasy są z góry ustalone, a poszczególne pary z określoną klasą opisane w jakiejś liście. Wtedy nie ma tu żadnej logiki, prawidłowości, na której podstawie moglibyśmy ustalić schemat przyznawania klasy, tylko posługujemy się listą.
Czy to jest tak? Bo przecież musimy wiedzieć, jakie pary powinny być przyporządkowane do konkretnej klasy, według czego następuje to przyporządkowanie.
Stwierdzenie, że "Rozróżnienie klas jest ze względu na markę i kolor" nic przecież nie mówi, bo jak zakwalifikować poszczególne marki i kolory?
Według jakiego SCHEMATU?

Chyba że chodzi Panu o coś innego (to tylko domniemanie), tzn. chodzi o utworzenie par dla wszystkich marek i kolorów, wszystkich ich kombinacji, a następnie przypisanie kolejnego numeru (klasy) do takich par, np. mamy trzy marki:
M1) AlfaRomeo,
M2) Polonez,
M3) VW

i kolory:

K1) zielony,
K2) czerwony,
K3) pomarańczowy.

I że chodzi o to, aby stworzyć pary oraz przypisać im kolejne numery:
1) AlfaRomeo, zielony;
2) AlfaRomeo, czerwony;
3) AlfaRomeo, pomarańczowy;
4) Polonez, zielony;
5) Polonez, czerwony;
6) Polonez, pomarańczowy;
7) VW, zielony;
8) VW, czerwony;
9) VW, pomarańczowy?
Michał K.

Michał K. Analityk Biznesowy

Temat: Pomoc z samochodami ;)

Chyba że chodzi Panu o coś innego (to tylko domniemanie), tzn. chodzi o utworzenie par dla wszystkich marek i kolorów, wszystkich ich kombinacji, a następnie przypisanie kolejnego numeru (klasy) do takich par, np. mamy trzy marki:

Właśnie o to chodzi
Monika M.

Monika M. PROGRAMISTA VBA,
Excel, Access,
Outlook, Word -
SZKOLENIA

Temat: Pomoc z samochodami ;)

Trochę się zastanawiam, do czego miałoby służyć takie złożenie par, bo czy nie próbuje Pan powielić niepotrzebnie danych.
Ale nie znam całości i koncepcji, to odpowiem na Pana pytanie.

Takie pary można zrobić w ten sposób:

1) Utworzyć tabelę z jednym polem - MARKA i wpisać wszystkie marki samochodów.
2) Utworzyć tabelę z jednym polem - KOLOR i wpisać wszystkie kolory.
3) Utworzyć kwerendę, gdzie dodamy pole MARKA z tblMarka i KOLOR z tblKolor.
4) Przełączyć na kwerendę tworzącą tabelę i uruchomić (ikona z wykrzyknikiem).
5) W widoku projektu utworzonej tabeli dodać pole KLASA, typu autonumerowanie.
6) W zależności od potrzeb można zmienić teraz typ pola KLASA na "Liczba" albo zostawić.
7) Gotowe! ;)

Mam nadzieję, że o to chodziło.
Paweł D.

Paweł D. Programista Analityk
- Firmowe Bazy
Danych

Temat: Pomoc z samochodami ;)

Nic prostszego:

Jeśli mammy dwie tabele z polami:
T1.wspKolor,kolor
T2.wspMarka,marka

gdzie ustala pan współczynnik np. wg zasady
max(wspKolor)+max(wspMarka)<min(wspMarka)
max(wspKolor)<min(wspMarka)

wystarczy :
SELECT IIF(T1.wspKolor+T2.wspMarka<100;1;IIF(T1.wspKolor+T2.wspMarka<250;2;3) AS klasa,
T1.wspKolor+T2.wspMarka AS Wsp, T1.kolor, T2.marka

Można teraz dodać na końcu: INTO T3 FROM T1,T2;
i otrzymujemy gotową tabelę T3 z 4ma wypełnionymi polami
T3.klas,wsp,kolor,marka

Jeśli dane w tabeli T1 i T2 są jakoś posortowane w kolejności wg. której mają przyjąć daną klasę to możliwe, że to wystarczy. Jeśli nie, trzeba by tylko zmyślnie ustalić sposób liczenia współczynnika i w zależności od niego wykonać operację.

PS.
Jeśli udało się rozwiązać problem pod excelem, to nie widzę też problemu przykleić dane z accessa do xls rozwiązać problem i wkleić do pustej tabeli accessa :]
Michał K.

Michał K. Analityk Biznesowy

Temat: Pomoc z samochodami ;)

PD: Dzięki za pomoc posiedzę nad tym dzisiaj.

Co do przyklejania to tylko mała wizualizacja problemu z jakim się zmagam. Z powodu dużej ilości rekordów nie jest możliwe wykonanie tego w Excelu.
Paweł D.

Paweł D. Programista Analityk
- Firmowe Bazy
Danych

Temat: Pomoc z samochodami ;)

Najczęściej małe problemy składką się na jeden skomplikowany :]

Następna dyskusja:

prośba o pomoc




Wyślij zaproszenie do