Chugach Consumers

Chugach Electric Association

All salary information is provided to Chugach Consumers by Chugach Electric Association 
under the Member Information Bylaw passed overwhelmingly by co-op members

Payroll Item Description      Chugach Electric 55% above national average<% '----------------- connections stuff --------------------------- 'Dimension variables Dim adoCon 'Holds the database Connection Object Dim objRS 'Holds the recordset for the records in the database Dim strSQL 'Holds the SQL query to query the database Dim strConnect 'Create an ADO connnection object Set adoCon=Server.CreateObject("ADODB.Connection") 'Create an ADO recordset object Set objRS = Server.CreateObject("ADODB.Recordset") 'Set an active connection to the Connection object using a DSN-less connection adoCon.Open strConnect '----------------- Setting up Variables ------------------------------- 'Declare variables Dim i 'for use in counting Dim FldCount Dim myOrder Dim OrderDesc Dim mySort Dim myFile Dim myYear Dim myTable Dim myGraph Dim A(5,7) FldCount=7 myFile="CEAWages.asp" myGraph="CEAWagesgraph.asp" 'Populate arrays -- could even have a table in the database of these that is read in!! 'Fields A(1,1)="Job_Title" A(1,2)="Total_Cost" A(1,3)="Total_Hours" A(1,4)="Hourly_Cost" A(1,5)="OT_Percent" A(1,6)="Total_Wages" A(1,7)="All_Benefits" 'Headings A(2,1)="Job Title" A(2,2)="Total Cost" A(2,3)="Hrs PAID" A(2,4)="Cost/Hour" A(2,5)="OT Percent" A(2,6)="Total Wages" A(2,7)="Benefits" 'Align A(3,1)="left" A(3,2)="right" A(3,3)="right" A(3,4)="right" A(3,5)="right" A(3,6)="right" A(3,7)="right" 'Rounding A(4,1)="" A(4,2)=0 A(4,3)=0 A(4,4)=2 A(4,5)=1 A(4,6)=0 A(4,7)=0 'Formatting A(5,1)="text" A(5,2)="redcurrency" A(5,3)="number" A(5,4)="currency" A(5,5)="percent" A(5,6)="currency" A(5,7)="currency" myYear=request.querystring("Yr") Select Case myYear Case 2001,2002,2004,2005,2006,2007,2008,2009 Case else myYear=2010 End Select mySort=request.querystring("SortVar") Select Case mySort Case 1,2,3,4,5,6,7 Case else mySort=2 End Select myOrder=request.querystring("OrderVar") Select Case myOrder Case "ASC", "DESC" CASE else myOrder="DESC" end Select If myOrder="DESC" then OrderDesc="Descending" else OrderDesc="Ascending" end if '------------------------------Ready to Roll! -------------------------- RESPONSE.WRITE ("
") SELECT CASE myYear Case 2001 RESPONSE.WRITE ("See also: 2002") RESPONSE.WRITE (" 2004") RESPONSE.WRITE (" 2005") RESPONSE.WRITE (" 2006") RESPONSE.WRITE (" 2007") RESPONSE.WRITE (" 2008") RESPONSE.WRITE (" 2009") RESPONSE.WRITE (" 2010") Case 2002 RESPONSE.WRITE ("See also: 2001") RESPONSE.WRITE (" 2004") RESPONSE.WRITE (" 2005") RESPONSE.WRITE (" 2006") RESPONSE.WRITE (" 2007") RESPONSE.WRITE (" 2008") RESPONSE.WRITE (" 2009") RESPONSE.WRITE (" 2010") Case 2004 RESPONSE.WRITE ("See also: 2001") RESPONSE.WRITE (" 2002") RESPONSE.WRITE (" 2005") RESPONSE.WRITE (" 2006") RESPONSE.WRITE (" 2007") RESPONSE.WRITE (" 2008") RESPONSE.WRITE (" 2009") RESPONSE.WRITE (" 2010") Case 2005 RESPONSE.WRITE ("See also: 2001") RESPONSE.WRITE (" 2002") RESPONSE.WRITE (" 2004") RESPONSE.WRITE (" 2006") RESPONSE.WRITE (" 2007") RESPONSE.WRITE (" 2008") RESPONSE.WRITE (" 2009") RESPONSE.WRITE (" 2010") Case 2006 RESPONSE.WRITE ("See also: 2001") RESPONSE.WRITE (" 2002") RESPONSE.WRITE (" 2004") RESPONSE.WRITE (" 2005") RESPONSE.WRITE (" 2007") RESPONSE.WRITE (" 2008") RESPONSE.WRITE (" 2009") RESPONSE.WRITE (" 2010") Case 2007 RESPONSE.WRITE ("See also: 2001") RESPONSE.WRITE (" 2002") RESPONSE.WRITE (" 2004") RESPONSE.WRITE (" 2005") RESPONSE.WRITE (" 2006") RESPONSE.WRITE (" 2008") RESPONSE.WRITE (" 2009") RESPONSE.WRITE (" 2010") Case 2008 RESPONSE.WRITE ("See also: 2001") RESPONSE.WRITE (" 2002") RESPONSE.WRITE (" 2004") RESPONSE.WRITE (" 2005") RESPONSE.WRITE (" 2006") RESPONSE.WRITE (" 2007") RESPONSE.WRITE (" 2009") RESPONSE.WRITE (" 2010") Case 2009 RESPONSE.WRITE ("See also: 2001") RESPONSE.WRITE (" 2002") RESPONSE.WRITE (" 2004") RESPONSE.WRITE (" 2005") RESPONSE.WRITE (" 2006") RESPONSE.WRITE (" 2007") RESPONSE.WRITE (" 2008") RESPONSE.WRITE (" 2010") Case 2010 RESPONSE.WRITE ("See also: 2001") RESPONSE.WRITE (" 2002") RESPONSE.WRITE (" 2004") RESPONSE.WRITE (" 2005") RESPONSE.WRITE (" 2006") RESPONSE.WRITE (" 2007") RESPONSE.WRITE (" 2008") RESPONSE.WRITE (" 2009") End Select '------------------------ prepare to launch the graph ------------------------------- If mySort <>1 then myGraph=myGraph&"?Yr="&myYear&"&SortVar="&mySort&"&OrderVar="&myOrder RESPONSE.WRITE ("

Display Graph
") end if '------------------------ populate the database ------------------------------- RESPONSE.WRITE ("
Click on any column heading to sort in ascending order. Click again for descending.
") 'Initialize the strSQL variable with an SQL statement to query the database strSQL="SELECT " for i=1 to FldCount-1 strSQL=strSQL&A(1,i)&", " next strSQL=strSQL&A(1,FldCount) strSQL=strSQL&" FROM CEAComp" &myYear& " ORDER BY " & A(1,mySort)&" "& myOrder&";" 'Open the recordset with the SQL query objRS.Open strSQL, adoCon 'Open the table and assign titles. RESPONSE.WRITE ("") For i=1 to FldCount If i-mySort=0 then 'dont know why i=mysort doesn't work but this does If i=1 then If myOrder="ASC" then myOrder="DESC" else myOrder="ASC" end if else If request.querystring("OrderVar")="ASC" then myOrder="DESC" else myOrder="ASC" end if end if Else myOrder="ASC" End if RESPONSE.WRITE ("") Next 'Loop through the recordset to fill the table Do While not objRS.EOF 'Write the HTML to display the current record in the recordset RESPONSE.WRITE ("") For i=1 to FldCount RESPONSE.WRITE ("") Next RESPONSE.WRITE ("") 'Move to the next record in the recordset objRS.MoveNext Loop '---- now for the totals --- objRS.Close Set objRS = Server.CreateObject("ADODB.Recordset") strSQL="SELECT Count(Job_Title) AS JT, Sum(Total_Cost) AS TC, Sum(Total_Hours) AS TH, Sum(Total_Cost)/Sum(Total_Hours) AS HC, Sum(OT_Wages)/Sum(Total_Wages) AS OTP, Sum(Total_Wages) AS TW, Sum(All_Benefits) AS AB FROM CEAComp" &myYear&";" objRS.Open strSQL, adoCon RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") '---- now for the averages --- objRS.Close Set objRS = Server.CreateObject("ADODB.Recordset") strSQL="SELECT Count(Job_Title) AS JT, Sum(Total_Cost) AS TC, Sum(Total_Hours) AS TH, Sum(Total_Cost)/Sum(Total_Hours) AS HC, Sum(OT_Wages)/Sum(Total_Wages) AS OTP, Sum(Total_Wages) AS TW, Sum(All_Benefits) AS AB FROM CEAComp"&myYear&" WHERE Total_Hours>2000;" objRS.Open strSQL, adoCon RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") RESPONSE.WRITE ("") 'Close the table RESPONSE.WRITE ("
" &myYear& " Salaries sorted by "&OrderDesc&" "&A(2,mySort)&"
"&A(2,i)&"
") Select Case A(5,i) Case "number" RESPONSE.WRITE formatnumber(objRS(A(1,i)),A(4,i)) Case "percent" RESPONSE.WRITE formatpercent(objRS(A(1,i)),A(4,i)) Case "redcurrency" RESPONSE.WRITE ("")&formatcurrency(objRS(A(1,i)),A(4,i)) Case "currency" RESPONSE.WRITE formatcurrency(objRS(A(1,i)),A(4,i)) Case else RESPONSE.WRITE objRS(A(1,i)) end select RESPONSE.WRITE ("
Total for ")& objRS("JT")&(" Employees:")& formatcurrency(objRS("TC"),A(4,2))&("")& formatnumber(objRS("TH"),A(4,3))&("")& formatcurrency(objRS("HC"),A(4,4))&("")& formatpercent(objRS("OTP"),A(4,5))&("")& formatcurrency(objRS("TW"),A(4,6))&("")& formatcurrency(objRS("AB"),A(4,7))&("
Average for ")& objRS("JT")&(" with over 2000 hours:")& formatcurrency(objRS("TC")/objRS("JT"),A(4,2))&("")& formatnumber(objRS("TH")/objRS("JT"),A(4,3))&("")& formatcurrency(objRS("HC"),A(4,4))&("")& formatpercent(objRS("OTP"),A(4,5))&("")& formatcurrency(objRS("TW")/objRS("JT"),A(4,6))&("")& formatcurrency(objRS("AB")/objRS("JT"),A(4,7))&("

") objRS.Close Set objRS = Nothing Set adoCon = Nothing %>