Ga naar hoofdinhoud Ga naar aanvullende inhoud

Som van rijen in draaitabellen

In QlikView kunt u als totalen voor een standaard tabel kiezen tussen een eenvoudige som van de rijen en een totaal door middel van een berekende uitdrukking. Voor draaitabellen biedt QlikView deze keuze niet. Draaitabeltotalen worden altijd berekend als uitdrukkingstotaal.

Dit is gewoonlijk geen probleem, omdat bij een verschil van de twee soorten totalen de som van de rijen maar zelden relevant is.

WaarschuwingWees uiterst voorzichtig bij het gebruik van sommen van rijen bij andere typen aggreraties dan zuivere sommen.

Met deze waarschuwing in het achterhoofd behandelen we in de volgende sectie een voorbeeld waarbij het totaal op basis van de som van de rijen toch het gewenste resultaat oplevert.

Voorbeeld:  

In dit voorbeeld is er een schoolwedstrijd waarbij teams van drie personen punten krijgen op basis van hun cijfers voor drie verschillende vakken. Het team mag de hoogste score binnen de groep kiezen voor elk individueel vak en de drie hoogste scores vervolgens optellen voor een totaal. De volgende gegevens zijn gelezen door het script:

Example table data with Class, Name, and Score fields

Een strakke tabel met Class als dimensie en Max(Score) als uitdrukking levert de volgende som van rijen op:

Example straight table with sum of rows

Als de strakke tabel werd geconverteerd naar een draaitabel die altijd wordt berekend als uitdrukkingstotaal in plaats van som van rijen, zou er een probleem zijn:

Example pivot table with expression total

In dit specifieke geval wordt het totaal 12 verwacht en is 5 niet geschikt. In dit geval kan de functie Aggr in de uitdrukking worden gebruikt, niet in de dimensie.

De oorspronkelijke uitdrukking is ingesloten in een Aggr-functie en de omliggende diagramdimensie wordt ook als dimensie in de Aggr-functie gebruikt. Nu wordt deze bundel gebruikt als argument in een Sum-aggregatie. De tabel toont nu het verwachte totaal:

Example pivot table with sum of rows

Het mooie van de geavanceerde functie is dat in de afzonderlijke rijen slechts één waarde wordt geëvalueerd. Dat komt doordat de dimensie maar één mogelijke waarde heeft in elke gewone gegevensrij. Daar de inwendige dimensie en uitdrukking gelijk zijn aan die voor de grafiek er omheen, is elke waarde natuurlijk precies gelijk aan het resultaat zonder de omsluitende Sum- en geavanceerde aggregatiefuncties.

Voor de rij met totalen levert de geavanceerde aggregatiefunctie echter drie waarden op, een voor elke waarde van het dimensieveld. Deze worden op hun beurt weer opgeteld door de Sum-aggregatie. Hoewel het formeel een uitdrukkingstotaal betreft, is het resultaat gelijk aan dat van de som van de rijen.

Meer informatie

 

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!

Neem deel aan het Analytics Modernization Program

Remove banner from view

Moderniseer zonder uw waardevolle QlikView-apps op het spel te zetten met het Analytics Modernization Program. Klik hier voor meer informatie of om contact op te nemen: ampquestions@qlik.com