Zadanie: 

Na podstawie listy ścieżek do plików, którą pobraliśmy z określonego folderu (opis zadania we wcześniejszym wpisie), tworzymy kolejną kolumnę, będącą ilustracją ikonki rozszerzenia pliku + tworzymy link do tego pliku

 

Rozwiązanie

1) wgraj folder ICONS (załącznik poniżej) tam gdzie masz aplikację

2) w oknie skryptów zdefiniuj ścieżkę do jakiegoś folderu, z którego pobierzemy listę plików (także z podfolderów)

set vSciezkaZalacznikow = 'C:\moje_pliki';

3) w oknie skryptów w sekcji LOAD listy plików dopisujemy kolumnę „Rozszerzenie” plików będącą wycinkiem czterech końcowych znaków z ścieżki do pliku i pozbyciem się kropki (w przypadku trójznakowych rozszerzeń).

PurgeChar( right('$(File)',4) , '.') as Rozszerzenie

4) na nowej karcie skryptów dodajemy sekcję ładowania naszych ikonek:

Ikonki: 
BUNDLE LOAD * INLINE [ 
Rozszerzenie, Sciezka 
doc, icons/doc.png 
docx, icons/doc.png
xls, icons/xls.png
xlsx, icons/xls.png
ppt, icons/ppt.png
pptx, icons/ppt.png 
pps, icons/ppt.png 
pdf, icons/pdf.png
txt, icons/txt.png 
];

Używamy aliasu takiego samego jak w kolumnie, którą utworzyliśmy dla głównego LOAD. W innym przypadku nasza tabelka w przeglądzie tabel będzie oznaczona jako tabelka „sierota” (orphan).

5) RELOAD – przeładuj dane, ok. 1 sekundy trwa załadowanie 1 tysiąca ścieżek do plików. 

6) Tabelka – zakładka Expressions – dodajemy kolejną miarę z definicją wyświetlania obrazków „qmem” w zależności od rozszerzenia pliku.

='qmem://Rozszerzenie/' & Rozszerzenie

 Pierwsza wartość QMEM odnosi się do aliasu kolumny zdefiniowanej w BUNDLE LOAD, druga do wierszy (screen poniżej)

Ważne! Ustaw w polu Representation: image oraz w polu Image Formatting: keep aspect

 

Linkowanie do pliku na dysku / udziale sieciowym

Tworzymy nową miarę z definicją:

=Plik & '<url>'&Sciezka

 Ustawiamy pole Representation: Link

 

 

Download

 QlikBlog-linkowanie-do-plikow.qvw

 icons.zip

Dodanie grafiki do tabeli, linkowanie do plików zewnętrznych