Du kunde, men honestly jag föredrar att göra så mycket data förbereder som möjlighetbaksida på serveren. Ditåt jag kan behandla ibland, utan att måste att skriva om rapporter, och försök att ta kontrollerar över volymen av data som omkring kastas hit och dit, och, pröva att ta fördel av något som den kan serveren är kompetent att erbjuda in, benämner av kapacitet.
I detta fall jag skulle skapar antagligen en beskåda och därefter väljer enkelt från beskåda.
En beskåda är lik ett faktiskt bordlägger. Det är egentligen mer något liknande per lagrad query, med fördelen som du kan se till en något liknande för beskåda precis, någon som annan bordlägger. Det rymmer inte dataitelf, utan vet var att få den från, och serveren gör för så att ska försök att använda alla kapacitetsstatistik från de bakomliggande sagorna, när se query planerar.
Att skapa beskåda är en gång av ett processaa, när där, använder det precis något liknande en bordlägga. Några uppdateringar till data göras på det faktiskt bordlägger och reflekteras ögonblickligen i beskåda. De är nätt kyler saker, och idealt passat till dessa typer av fall, var queryen äger rum, a bet involverat/a bet otympligt för att använda direkt.
Första tid in, du ”skapar” beskåda, följande ändringar göras using ”förändrar sig”,
-- REKO låter för att skapa beskåda…., namnge reglar kan vara viktiga, och den är inte ovanlig att finna de få få teckenen som reflekterar typen av databas, anmärker.
-- I detta fall using prefixVWEN som ska betecknas, BESKÅDA
SKAPA BESKÅDAR vw_Jobs_Budget_vs_Actual SOM
VÄLJ job_noen
, cost_code_no
, summa (Labor_Budget) som labor_budget
, summa (Material_Budget) Material_Budget
, summa (Subcontract_Budget) Subcontract_Budget
, summa (Mileage_Budget) Mileage_Budget
, summa (Burden_Budget) Burden_Budget
, summa (Labor_cost) Labor_cost
, summa (Material_cost) Material_cost
, summa (Subcontract_cost) Subcontract_cost
, summa (Mileage_cost) Mileage_cost
, summa (Burden_cost) Burden_cost
, summa (total_budget) som total_budget
, summa (total_cost) som total_cost
, summa (total_budget) - summa (total_cost) som variance
FRÅN (
välj job_noen
, cost_code_no
, fall, när cost_class_noen = 1 orig_est_dollars annars 0 avslutar därefter som Labor_Budget
, fall, när cost_class_noen = 2 orig_est_dollars annars 0 avslutar därefter som Material_Budget
, fall, när cost_class_noen = 3 orig_est_dollars annars 0 avslutar därefter som Subcontract_Budget
, fall, när cost_class_noen = 4 orig_est_dollars annars 0 avslutar därefter som Mileage_Budget
, fall, när cost_class_noen = 6 orig_est_dollars annars 0 avslutar därefter som Burden_Budget
, orig_est_dollars som total_budget
, 0.00 som Labor_cost
, 0.00 som Material_cost
, 0.00 som Subcontract_cost
, 0.00 som Mileage_cost
, 0.00 som Burden_cost
, 0.00 som total_cost
Från Job_Budgets
ALL UNION
välj job_noen
, cost_code_no
, 0.00 som Labor_budget
, 0.00 som Material_budget
, 0.00 som Subcontract_budget
, 0.00 som Mileage_budget
, 0.00 som Burden_budget
, 0.00 som total_budget
, fallet, när cost_class_noen = 1 kostar därefter annars 0, avslutar som Labor_Cost
, fallet, när cost_class_noen = 2 kostar därefter annars 0, avslutar som Material_Cost
, fallet, när cost_class_noen = 3 kostar därefter annars 0, avslutar som Subcontract_Cost
, fallet, när cost_class_noen = 4 kostar därefter annars 0, avslutar som Mileage_Cost
, fallet, när cost_class_noen = 6 kostar därefter annars 0, avslutar som Burden_Cost
kosta som total_cost,
Från Job_History
) src
GRUPP AV Job_No, cost_code_no
-- BESTÄLLA VID Job_No, cost_code_no
-- inkludera inte BESTÄLLER BY i en beskåda, om inte du använder också den BÄSTA bestämningen
-- minns precis att göra ditt eget beställer vid, när du väljer från beskåda.
GÅ
-- Nu har det gjorts…,
-- Vi kan starta att använda det. Se till den precis något liknande någon annan bordlägger (nätt mycket… som vi kan välja, sammanfogar, använder, var, bruk beställer by, förenat etc. etc.),
välj * från vw_Jobs_Budget_vs_Actual
-- och det är vad du använder nu i dina crystal rapporter som din datakälla…,