niedziela, 5 września 2010

Pobieranie wszystkich kategorii występujących w widoku

Czasem potrzeba wiedzieć jakie w widoku występują kategorie.

Najstarszym sposobem dowiedzenia się tego, jest oczywiście wykorzystanie @Formuł:
@Unique(@DBColumn("":""; "":""; "Widok", n))

n = Numer kolumny z kategorią
W skrypcie można powyższą formułę umieścić w komendzie Evaluate

Problem się pojawia, gdy wynik @DBColumn przekroczy 64KB.
Można wtedy sobie poradzić na dwa sposoby:
  1.  Pobrać kolekcję wszystkich entries z widoku i przeglądać je w pętli, zbierając w jakiejś tablicy nazwy tych, które mają isCategory ustawione na True. Niestety, w przypadku, gdy widok zawiera tysiące dokumentów, to rozwiązanie z oczywistych powodów odpada.
  2.  Zrobić drugi widok, z identyczną formułą selekcji, który będzie zawierał tylko jedną kolumnę - tę kategoryzowaną. We właściwościach widoku należy jeszcze zaznaczyć opcję Generate unique keys in index. W efekcie otrzymamy widok, który będzie zawierał tylko listę kategorii występujących w widoku oryginalnym.

Brak komentarzy:

Prześlij komentarz