Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Max1984
Contributor III
Contributor III

Pivot- sum for current months

my tables with the relations are shown in the figure:
 
image10.jpg
the  table "Fatture_Passive" is created by the concatenation of two loaded qvd files:
 

 

Fatture_Passive:
LOAD Distinct 
 [Fatture Passive Admin.URL]	       as  [% Id Fatture Passive], 
 [Fatture Passive Admin.NumeroFattura] as  [Numero Fattura Passiva], 
 Num(Floor(Date#([Fatture Passive Admin.DataFattura],'dd/MM/yyyy hh:mm:ss')))		             as  [Master Calendar Date Calc],
Date(Date#([Fatture Passive Admin.DataFattura],'dd/MM/yyyy hh:mm:ss'),'dd/MM/yyyy')		     as  [Data Fattura],
Date(Date#([Fatture Passive Admin.DataFattura],'dd/MM/yyyy hh:mm:ss'),'dd/MM/yyyy')		     as  [Data Reg],
[Fatture Passive Admin.Fornitore.NAME]	 as [Nome Fornitore Fatture Passive], 
[Fatture Passive Admin.Fornitore.URL] 	as [% Id Fornitore],
[Fatture Passive Admin.Categoria.NAME]	as [Nome Categorie Fatture Passive], 
[Fatture Passive Admin.Categoria.URL] 	as [% Id Categorie], 
Num#([Fatture Passive Admin.TotaleImporto])	as [# Totale importo], 
Num#([Fatture Passive Admin.Squadre.Importo])	as [# Imponibile Squadra], 
[Fatture Passive Admin.Squadre.Squadra.NAME] 	as [Nome Squadra Fattura Passiva], 
[Fatture Passive Admin.Squadre.Squadra.URL] as [% Id Squadra/Subappaltatori]  
FROM
qvd\fatture.qvd
(qvd);
Concatenate(Fatture_Passive)
ScadenzePagamenti:
LOAD Distinct 
ElencoReportScadenzeA.URL                 as [% Id Scadenze Pagamenti], 
Num#(ElencoReportScadenzeA.Importo)       as [# Importo Scadenze Pagamenti], 
Num(Floor(Date#([ElencoReportScadenzeA.DataScadenza],'dd/MM/yyyy hh:mm:ss')))             as  [% Master Calendar Date Num], 
ElencoReportScadenzeA.Mezzo          as [Mezzo pagamento Scadenze Pagamenti],  
ElencoReportScadenzeA.Descrizione    as [Descrizione Scadenze Pagamenti],   
Num(Floor(Date#([ElencoReportScadenzeA.DataPagamento],'dd/MM/yyyy hh:mm:ss')))		             as  [Master Calendar Date Calc],
Date(Date#([ElencoReportScadenzeA.DataPagamento],'dd/MM/yyyy hh:mm:ss'),'dd/MM/yyyy')		as [Data Reg],
 ' '		as  [Data Fattura],
Num#(ElencoReportScadenzeA.ImportoPagato) as [# Importo Pagato Scadenze Pagamenti], 
ElencoReportScadenzeA.NumeroFattura       as [Numero Fattura Passiva], 
ElencoReportScadenzeA.Fattura.URL         as [% Id Fatture Passive], 
ElencoReportScadenzeA.Fornitore.NAME   as [Nome Fornitore Fatture Passive], 
ElencoReportScadenzeA.Fornitore.URL       as [% Id Fornitore]    
FROM
qvd\ScadenzePagamenti.qvd
(qvd);

 

 The calendar is created by the following script:

 

sub MasterCalendar

TRACE 'Loading master calendar';

tmp_minmaxdate:
load
    MIN([% Master Calendar Date Num]) as MinDate,
	MAX([% Master Calendar Date Num]) as MaxDate
resident Fatture_Passive;


LET vDateMin = peek('MinDate',0,'tmp_minmaxdate');
LET vDateMax = peek('MaxDate',0,'tmp_minmaxdate');
LET vDateToday = Num(Today());  

DROP TABLE tmp_minmaxdate;

TempCalendar:
LOAD 
$(vDateMin) + RowNo() - 1 AS DateNumber,  
$(vDateMin) + RowNo() - 1 AS TempDate  
AUTOGENERATE 1  
WHILE $(vDateMin) +IterNo()-1 <= $(vDateMax);  

Calendar:
LOAD
       Num(TempDate) as [% Master Calendar Date Num],
       Date(TempDate) as [Data Esatta],
       Month(TempDate) as Mese,
       MonthName(TempDate) as AnnoMese,
       Year(TempDate) as Anno,
       Day(TempDate) as Giorno,
       Week(TempDate) AS Settimana,  
       WeekDay(TempDate) AS GiornoSettimana,
       Year(TempDate) * 1000 + Week(TempDate) as AnnoSettimana
RESIDENT TempCalendar ORDER BY DateNumber ASC;
drop Table TempCalendar;

end sub

 

the remaining tables are created by the following script:

 

SquadraSubappaltatori:
LOAD Distinct 
[Squadra / Subappaltatori.URL] as [% Id Squadra/Subappaltatori], 
[Squadra / Subappaltatori.Name]as [Nome Squadra]
FROM
qvd\SquadraSubappaltatori.qvd
(qvd);

Produzione:
LOAD Distinct
[Elenco Produzione Admin.URL]as [% Id Produzione], 
Date(Date#([Elenco Produzione Admin.Mese],'dd/MM/yyyy hh:mm:ss'),'dd/MM/yyyy')as [Data Mese di produzione],  
Num(Floor(Date#([Elenco Produzione Admin.Mese],'dd/MM/yyyy hh:mm:ss'))) as [Mese di produzione], 
Num#([Elenco Produzione Admin.ImportoD])  as [# Benestari Dichiarati], 
Num#([Elenco Produzione Admin.BenestariC]) as [# Benestari Certificati], 
[Elenco Produzione Admin.Squadra.NAME]as [Nome Squadra Produzione],
[Elenco Produzione Admin.Squadra.URL] as [% Id Squadra/Subappaltatori]
FROM
qvd\Produzione.qvd
(qvd);

Emolumenti:
LOAD Distinct
Emolumenti.URL as [% Id Emolumenti], 
Num(Floor(Date#(Emolumenti.Mese,'dd/MM/yyyy hh:mm:ss'))) as [Mese Emolumenti], 
Date(Date#(Emolumenti.Mese,'dd/MM/yyyy hh:mm:ss'),'dd/MM/yyyy')as [Data Mese Emolumenti],  
Emolumenti.Lordo, 
Emolumenti.Inps, 
Emolumenti.Inail, 
Emolumenti.Inap, 
Emolumenti.Tfr, 
Emolumenti.ManodoperaE, 
Num#(Emolumenti.TotaleB) as [# Importo Emolumenti], 
Emolumenti.Squadra.NAME as [Nome Squadra Emolumenti], 
Emolumenti.Squadra.URL as [% Id Squadra/Subappaltatori]
FROM
qvd\Emolumenti.qvd
(qvd);

 

I would like to create a pivot table with two dimensions:

1) "Nome Squadra" from the table "SquadraSubappaltatori"

2) Date with format "MMM-YY"

The three expressions are:

 

1) "Produzione"
SUM({<[Mese di produzione]={">=$(=$(vInizioPC))<=$(=$(vFinePC))"}, Anno=,Mese=,Giorno=>} [# Benestari Certificati])
2)"Costi"
(SUM({<[Master Calendar Date Calc]={">=$(=$(vInizioPC))<=$(=$(vFinePC))"}, Anno=,Mese=>} [# Imponibile Squadra])
+ 
SUM({<[Mese Emolumenti]={">=$(=$(vInizioPC))<=$(=$(vFinePC))"}, Anno=,Mese=,Giorno=>} [# Importo Emolumenti]))
3)"Risultato economico"
difference between "Produzione" and "Costi"

 

How is it possible to have these sums by month and team despite the three interest tables have different dates?

 

image2019.jpg

the only selection possible:

1)From the two Calendar Object "Da: and A:" I have selected the dates of interest

the pivot table only displays the months for the selected period.

thanks

Labels (4)
1 Solution

Accepted Solutions
Max1984
Contributor III
Contributor III
Author

Good evening,

I did it by creating three tables linked with the following code:

ProduzioneSquadra:
LOAD Distinct
[Elenco Produzione Admin.URL]as [% Id ProduzioneSquadra], 
Num(Floor(Date#([Elenco Produzione Admin.Mese],'dd/MM/yyyy hh:mm:ss'))) as [Mese Squadra], 
Date(Date#([Elenco Produzione Admin.Mese],'dd/MM/yyyy hh:mm:ss'),'MMM/yyyy')as [Mese Mese Squadra],
Num#([Elenco Produzione Admin.BenestariC]) as [# Benestari Certificati Squadra], 
[Elenco Produzione Admin.Squadra.NAME]as [Nome Squadra Produzione Squadra],
[Elenco Produzione Admin.Squadra.URL] as [% Id Squadra/Subappaltatori]
FROM
qvd\Produzione.qvd
(qvd);
Concatenate(ProduzioneSquadra)
EmolumentiSquadra:
LOAD Distinct
Emolumenti.URL as [% Id ProduzioneSquadra], 
Num(Floor(Date#(Emolumenti.Mese,'dd/MM/yyyy hh:mm:ss'))) as [Mese Squadra], 
Date(Date#(Emolumenti.Mese,'dd/MM/yyyy hh:mm:ss'),'MMM/yyyy')as [Mese Mese Squadra],
Num#(Emolumenti.TotaleB) as [# Importo Emolumenti Squadra], 
Emolumenti.Squadra.NAME as [Nome Squadra Produzione Squadra], 
Emolumenti.Squadra.URL as [% Id Squadra/Subappaltatori]
FROM
qvd\Emolumenti.qvd
(qvd);
Concatenate(ProduzioneSquadra)
Fatture_PassiveSquadra:
LOAD Distinct 
[Fatture Passive Admin.URL]  as [% Id ProduzioneSquadra], 
Num(Floor(Date#([Fatture Passive Admin.DataFattura],'dd/MM/yyyy hh:mm:ss')))		             as  [Mese Squadra],
Date(Date#([Fatture Passive Admin.DataFattura],'dd/MM/yyyy hh:mm:ss'),'MMM/yyyy')               as [Mese Mese Squadra],
Num#([Fatture Passive Admin.Squadre.Importo]) as [# Imponibile Squadra Squadra], 
[Fatture Passive Admin.Squadre.Squadra.NAME] as [Nome Squadra Produzione Squadra], 
[Fatture Passive Admin.Squadre.Squadra.URL] as [% Id Squadra/Subappaltatori]
FROM
qvd\fatture.qvd
(qvd);
	

export.png

If you can achieve the same thing using the previous tables without changing the previous code, please.
thank you

View solution in original post

2 Replies
alex00321
Creator II
Creator II

Hi maybe you could attach your file as from the script, it's hard to check on your question. Thanks!

Max1984
Contributor III
Contributor III
Author

Good evening,

I did it by creating three tables linked with the following code:

ProduzioneSquadra:
LOAD Distinct
[Elenco Produzione Admin.URL]as [% Id ProduzioneSquadra], 
Num(Floor(Date#([Elenco Produzione Admin.Mese],'dd/MM/yyyy hh:mm:ss'))) as [Mese Squadra], 
Date(Date#([Elenco Produzione Admin.Mese],'dd/MM/yyyy hh:mm:ss'),'MMM/yyyy')as [Mese Mese Squadra],
Num#([Elenco Produzione Admin.BenestariC]) as [# Benestari Certificati Squadra], 
[Elenco Produzione Admin.Squadra.NAME]as [Nome Squadra Produzione Squadra],
[Elenco Produzione Admin.Squadra.URL] as [% Id Squadra/Subappaltatori]
FROM
qvd\Produzione.qvd
(qvd);
Concatenate(ProduzioneSquadra)
EmolumentiSquadra:
LOAD Distinct
Emolumenti.URL as [% Id ProduzioneSquadra], 
Num(Floor(Date#(Emolumenti.Mese,'dd/MM/yyyy hh:mm:ss'))) as [Mese Squadra], 
Date(Date#(Emolumenti.Mese,'dd/MM/yyyy hh:mm:ss'),'MMM/yyyy')as [Mese Mese Squadra],
Num#(Emolumenti.TotaleB) as [# Importo Emolumenti Squadra], 
Emolumenti.Squadra.NAME as [Nome Squadra Produzione Squadra], 
Emolumenti.Squadra.URL as [% Id Squadra/Subappaltatori]
FROM
qvd\Emolumenti.qvd
(qvd);
Concatenate(ProduzioneSquadra)
Fatture_PassiveSquadra:
LOAD Distinct 
[Fatture Passive Admin.URL]  as [% Id ProduzioneSquadra], 
Num(Floor(Date#([Fatture Passive Admin.DataFattura],'dd/MM/yyyy hh:mm:ss')))		             as  [Mese Squadra],
Date(Date#([Fatture Passive Admin.DataFattura],'dd/MM/yyyy hh:mm:ss'),'MMM/yyyy')               as [Mese Mese Squadra],
Num#([Fatture Passive Admin.Squadre.Importo]) as [# Imponibile Squadra Squadra], 
[Fatture Passive Admin.Squadre.Squadra.NAME] as [Nome Squadra Produzione Squadra], 
[Fatture Passive Admin.Squadre.Squadra.URL] as [% Id Squadra/Subappaltatori]
FROM
qvd\fatture.qvd
(qvd);
	

export.png

If you can achieve the same thing using the previous tables without changing the previous code, please.
thank you