Forum QGIS

Pełna wersja: Atrybuty tekstowe
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam.
W tabeli chciałbym utworzyć nową kolumnę tekstową, której zawartość zależy od tego co wpisane jest w innej kolumnie. W 1 kolumnie mam nazwy powiatów, nowa kolumna miałaby zawierać nazwy podregionów (kilka powiatów), np. kolumna 1 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' itd, w drugiej kolumnie przydałoby się żeby wskazane atrybuty np 'a', 'c', 'e' miały wspólny atrybut tekstowy np. 'podregion'.
Ma koś pomysł jak to zrobić?
Jak na razie jestem na etapie (może trochę rozjaśni o co mi chodziSmile): "("Powiat" = 'Bialski')*1+("Powiat"='Biała Podlaska')*1+("Powiat"= 'Radzyński')*1+("Powiat"='Parczewski')*1+("Powiat"='Włodawski')*1+("Powiat"='Lublin)*2+("Powiat"='Świdnicki')*2+("Powiat" ='Łęczyński' )*2+("Powiat"='Lubartowski' )*2+("Powiat"='Chełm' )*3+("Powiat"='Chełmski' )*3+( "Powiat"='Hrubieszowski') *3+ ("Powiat"='Biłgorajski' )*3+ ("Powiat"='Tomaszowski')*3+("Powiat"='Krasnostawski' )*3+ ("Powiat"= 'Puławski')*4+("Powiat"= 'Rycki')*4+("Powiat"='Łukowski')*4+("Powiat"='Opolski' )*4+ ("Powiat" ='Kraśnicki')*4+("Powiat" = 'Janowski' )*4"
Czy można ją w jakiś sposób skrócić, tak żeby połączyć wszystkie warunki np. ("Powiat"='Chełm' i 'Chełmski' i 'Tomaszowski')*3? W jaki sposób zastąpić cyfry tekstem np. 3 na 'chełmsko-zamojski'?
Z góry dziękuję za pomoc!Smile
Może coś takiego:
Musisz utworzyć kolumnę i w Kalkulatorze pól zaktualizuj pole Podregion. W polu wpisz kod na ten wzór:
Kod:
CASE
WHEN
  "Powiat" = 'Bialski' OR
  "Powiat" = 'Biała Podlaska' OR
  "Powiat" = 'Radzyński' OR
  "Powiat" = 'Parczewski' OR
  "Powiat" = 'Włodawski'
THEN 'bialsko-radzyński'

WHEN
  "Powiat" = 'Lubartowski' OR  
  "Powiat" = 'Łęczyński' OR  
  "Powiat" = 'Świdnicki' OR
  "Powiat" = 'Lublin'  
THEN 'lubelsko-świdnicki'

WHEN
  "Powiat" = 'i tak dalej'
THEN 'wynik'
END

Zasadniczo każdy podregion musisz zamknąć w klamry WHEN-THEN oddzielając każde zapytanie operatorem OR, po THEN zaś wpisując wynik, czyli podregion dla danych powiatów.
O to mniej więcej mi chodziło, dzięki wielkie!Smile