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