N
NeoFax
I have a crosstab query that takes about 5 minutes to run. I would
like to speed it up or take the hit once and write the data to a table
and base subsequent queries of the table. How would I go about
speeding this crosstab query:
TRANSFORM Sum(nz([percentagestage],0)) AS Percentage
SELECT tblPDPStation_PercentComplete.[HELO#],
IIf([STATION]="6PAINT","5CUSTOM",IIf([STATION]="INT","5CUSTOM",
[STATION])) AS STA, ((DAvg("hours","tblHelo_Summary")*27)/12)/
(MyCountWorkDays(dhFirstWorkdayInMonthA(Date()),dhLastWorkdayInMonthA(Date())))
AS DailyAVG,
MyCountWorkDays(dhFirstWorkdayInMonthA(Date()),dhLastWorkdayInMonthA(Date()))
AS Workdays, Sum(tblPDPStation_PercentComplete.PercentageStage) AS
Total
FROM tblPDPStation_PercentComplete
WHERE
(((IIf([STATION]="6PAINT","5CUSTOM",IIf([STATION]="INT","5CUSTOM",
[STATION]))) Not Like "RWK"))
GROUP BY tblPDPStation_PercentComplete.[HELO#],
IIf([STATION]="6PAINT","5CUSTOM",IIf([STATION]="INT","5CUSTOM",
[STATION])), ((DAvg("hours","tblHelo_Summary")*27)/12)/
(MyCountWorkDays(dhFirstWorkdayInMonthA(Date()),dhLastWorkdayInMonthA(Date()))),
MyCountWorkDays(dhFirstWorkdayInMonthA(Date()),dhLastWorkdayInMonthA(Date()))
PIVOT Format([Date],"yy-mm") In
("07-12","08-01","08-02","08-03","08-04","08-05","08-06","08-07","08-08","08-09","08-10","08-11","08-12");
It is ran on a table that has only 14,778 records currently but rises
every day by roughly 200 records. Thanks!
Terry
like to speed it up or take the hit once and write the data to a table
and base subsequent queries of the table. How would I go about
speeding this crosstab query:
TRANSFORM Sum(nz([percentagestage],0)) AS Percentage
SELECT tblPDPStation_PercentComplete.[HELO#],
IIf([STATION]="6PAINT","5CUSTOM",IIf([STATION]="INT","5CUSTOM",
[STATION])) AS STA, ((DAvg("hours","tblHelo_Summary")*27)/12)/
(MyCountWorkDays(dhFirstWorkdayInMonthA(Date()),dhLastWorkdayInMonthA(Date())))
AS DailyAVG,
MyCountWorkDays(dhFirstWorkdayInMonthA(Date()),dhLastWorkdayInMonthA(Date()))
AS Workdays, Sum(tblPDPStation_PercentComplete.PercentageStage) AS
Total
FROM tblPDPStation_PercentComplete
WHERE
(((IIf([STATION]="6PAINT","5CUSTOM",IIf([STATION]="INT","5CUSTOM",
[STATION]))) Not Like "RWK"))
GROUP BY tblPDPStation_PercentComplete.[HELO#],
IIf([STATION]="6PAINT","5CUSTOM",IIf([STATION]="INT","5CUSTOM",
[STATION])), ((DAvg("hours","tblHelo_Summary")*27)/12)/
(MyCountWorkDays(dhFirstWorkdayInMonthA(Date()),dhLastWorkdayInMonthA(Date()))),
MyCountWorkDays(dhFirstWorkdayInMonthA(Date()),dhLastWorkdayInMonthA(Date()))
PIVOT Format([Date],"yy-mm") In
("07-12","08-01","08-02","08-03","08-04","08-05","08-06","08-07","08-08","08-09","08-10","08-11","08-12");
It is ran on a table that has only 14,778 records currently but rises
every day by roughly 200 records. Thanks!
Terry