QlikView 11.2 går i graven, säg hej till QlikView 12.1 (och här är vad du kan tänka på vid uppgradering)

QlikView 11.2 har varit en riktig trotjänare och varit starkt bidragande till att ha tagit Qlik som bolag och QlikView som produkt till att bli en stabil spelare på BI marknaden. Under QlikView 11.2 livstid har Qlik gått från att vara ett en-produktsbolag till att idag ha en portfölj av produkter där främst Qlik Sense är den stora revolutionerande plattformen. Förutom denna har produkter som Qlik Nprinting, Qlik Connectors samt Qlik GeoAnalytics sett dagens ljus.

Som alla trotjänare har de ett slut. QlikView 11.2 kommer sluta supporteras under december 2017 och därmed bör du som plattformsägare tänka på att under året (i god tid) uppgradera till en nyare version. (Dock släpptes QlikView 11.2 SR 16 så sent som den 5 januari 2017.) Om du uppgraderar till en ny version, QlikView 12.1 eller väljer att ta steget till Qlik Sense (vill du veta mer om Qlik Sense kan du läsa några av dessa poster, introduktion till licensiering, så gör du urval i Qlik Sense, samexistens mellan QlikView och Qlik Sense eller ladda ner det gratis här) kan du råka ut för ett par saker som kräver en eller flera justeringar av existerande kod.
Kort kan det beskrivas som om alla versioner innan QlikView 12.1 har varit mer förlåtande. Detta kan bli en otrevlig överraskning om det inte tas i beaktning vid en uppgradering för en stor miljö med många skript / utvecklare.

Det finns två identifierade skillnader (kommentera gärna i fältet om du känner till någon ytterligare). Det är dels hur QlikView 12.1 hanterar användningen av applymaps som inte existerar samt inläsningen med hjälp av *.* för filer.

Avsaknad av mappningstabell

Här nedan är ett exempel.
Kodbasen,

myTable:
LOAD
*,
ApplyMap('myMappingDoesnotExists',MyData) as MyField ;
LOAD * INLINE [
MyData
1
2
3
4
5
6
7
];

Som skriptet visas skapas en inline tabell med 7 rader varav en ApplyMap anropas, myMappingDoesnotExists som inte existerar. I versioner innan QlikView 12.1 sker följande,

Resultat QlikView 11.2

Skriptet går igenom och MyData skapas samt MyField (innehåller endast NULL).

Resultat QlikView 12.1

När vi exekverar skriptet i QlikView 12.1 får vi följande,

Ett tydligt fel om att ApplyMap inte existerar. För mig är detta en förbättring i exekveringen och ett korrekt sätt att hantera en icke existerande ApplyMap.

 

Inläsning av filer med hjälp av *.* ger ett annat resultat än tidigare QlikView versioner

I detta exempel används följande skript,

SET vL.Path = '.\DemoData\';
LOAD
*,
IF(FileExtension()>0,
FileBaseName() &'.'&FileExtension(),
FileBaseName()
) as File
FROM [$(vL.Path)*.*] (txt, codepage is 1252, embedded labels, delimiter is '\t', msq);

Dvs vi läser in samtliga filer i mappen DemoData med hjälp av *.* och skapar ett fält File som innehåller filnamnet dvs källan. Filerna i mappen heter MyData.txt samt endast MyData (utan extension/tillägg) och innehåller exakt samma information.
Detta är informationen som finns i filerna,

MyData
 1
 2
 3
 4
 5
 6
 7

Resultat i QlikView 11.2

Som resultatet visas laddas samtliga filer i mappen in även de som inte följer vårt mönster dvs *.* (där punkten är det avgörande).

Resultat i QlikView 12.1

I QlikView 12.1 får vi det förväntade resultatet dvs skriptet tar hänsyn till vår punkt i *.* och laddar således endast in MyData.txt. Om vi önskar alla filer får vi korrigera till endast *.
Vill Du och din organisation ha experter som hjälper er med uppgradering att gå från QlikView 11.2 till QlikView 12.1 eller Qlik Sense, kontakta mig eller någon av mina kollegor.

Share on LinkedInTweet about this on TwitterShare on Google+Share on FacebookEmail this to someone

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *