Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements

Breathe easy -- you now have more time to plan your next steps with Qlik!
QlikView 11.2 Extended Support is now valid through December 31, 2020. Click here for more information.

chesterluck
Contributor II

Larger Nr of rows after applying of business logic.

Hello

im doing the following in the script:

 

Result1:

LOAD lMacStaRef,
     ShiftID as lMacStaRefSplitNr,
     //TZStart,
     //TZEnd,
     TZ as Schicht,
     Start as Beginn,
     End as Ende,
     Duration as [Dauer Zustand],
     Schichtdatum,
     //iPState,
     //lGrpState,
     //sText,
     //lMacRef,
     dActQuant as [Gutmenge Auftrag IST],
     dActScrap as [Ausschussmenge Auftrag IST],
     dActShots,
     //iMState,
     lJobRef as Abrufnummer,
     //tBegin,
     //tEnd,
     Zustand,
     Auftragsnummer as Auftragsnummer_Original,
     Auftragsnummer_NEU as Auftrag,
     //lTolRefArt,
     bZusatz,
     dSetQuant as [Auftragsmenge Soll],
     dSetShots as [Schussmenge Soll],
     dSetSpeed as [Zyklus Soll],
     iActCavity as [Kavität Ist],
     iSetCavity as [Kavität Soll],
     //sType,
     tActBegin as [Beginn Auftrag],
     tActEnd as [Ende Auftrag],
     tReleaseDate as [Freigabe Datum],
     Artikelbeschreibung as [Artikel Bezeichnung],
     Artikel as [Artikel-Nr],
     //Werkzeuglagerort,
     Werkzeugbeschreibung as [Werkzeug Bezeichnung],
     Werkzeug as [Werkzeug-Nr],
     Maschinenplatz as Halle,
     Maschinenbeschreibung as [Maschinen Bezeichnung],
     Maschine as [Maschinen-Nr],
     Zustandsgruppe,
    
     If(sType = 'Production','Produktion','Bemusterung') as Auftragsart,
     tActEnd - tActBegin as [Auftragsdauer Ist],
     Week(Schichtdatum) as Woche,
     If (Zustand = 'Bruttolaufzeit',dActShots, 0) as [Schussmenge Bruttolaufzeit Ist],
     If (Zustand = 'Bruttolaufzeit',dActScrap, 0) as [Ausschussmenge Bruttolaufzeit Ist],
     If (Zustandsgruppe = 'Rüsten', (End-Start)*24,0) as [Dauer Rüsten/Optimieren],
     If (Zustandsgruppe = 'Bruttolaufzeit', (End-Start)*24,0) as [Bruttolaufzeit Ist],
     If (Zustandsgruppe = 'Rüsten', (End-Start)*24,0) as [Rüstdauer Ist],
     If ((DayName(Start)='Sa' and Time#(Start) > '14:00:00'), 0,
      if((DayName(Start)='So'and Time#(Start) < '22:00:00'),0, (End-Start)*24 )) as [Auslastung 100%],
     //[Auftragsdauer IST] - [Bruttolaufzeit Ist] as [Stillstandsdauer IST]
     (tActEnd - tActBegin) - If (Zustandsgruppe = 'Bruttolaufzeit', (End-Start)*24,0) as [Stillstandsdauer IST]

FROM
..\..\02_Data\Result.qvd
(qvd);


Store Result1 into ..\..\02_Data\Result1.qvd;

----------------------

when I load the data I get the following status:

RESULT << Load_Zustand 11'466'861 Sätze erhalten

Result << AfterSplit 11'466'861 Sätze erhalten

Maschinenstatus_Zustand_Zustandsgruppe (qvd optimized) 10'627'766 Sätze enthalten

Result1 << Result 45'541'785

I do not understand why I get so many results.

Can smb. explain this case to me.

Thanks in advance

//chesterluck

5 Replies
Not applicable

Re: Larger Nr of rows after applying of business logic.

Hey chesterluck,

Could it be that all your tables are concatenated below the first table?

Try using noconcatenate load and drop tables.

Hope this helps.

gr.

frank

chesterluck
Contributor II

Re: Larger Nr of rows after applying of business logic.

Hi frankcrezee

I dont think that this is the case as before executing the code (my first post) Im doing the following

let numTables = NoOfTables();

for i=1 to $(numTables)

let tt = TableNAme(0);

drop table [$(tt)];

next

So I clear all the tables before loading the final table...

cheers

chesterluck

sujeetsingh
Honored Contributor III

Re: Larger Nr of rows after applying of business logic.

Buddy actually while applying business logics and Calculation It seems that qlikview perform it to all the data ...

chesterluck
Contributor II

Re: Larger Nr of rows after applying of business logic.

Elaborate please

sujeetsingh
Honored Contributor III

Re: Larger Nr of rows after applying of business logic.

As to i mean ...

Actualyy is we are using a lenghthy calculation and thed aliase it asABSC...

then it throughs,,such count of calculation for each record()