Schnittstelle CampusOnline (TU Graz) zu SuperX-Modul COSTAGE
http://www.superx-projekt.de/doku/costage_modul/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
237 lines
6.9 KiB
237 lines
6.9 KiB
3 years ago
|
43000^Studierende (Zeitreihe) CO Basisdaten^--Freemarker Template\
|
||
|
<#include "SQL_lingua_franca"/>\
|
||
|
<#include "SuperX_general"/>\
|
||
|
<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung") != -1 ||"<<Köpfe oder Fälle ?>>"?index_of("gew") != -1 || "<<Köpfe oder Fälle ?>>"?index_of("vzae") != -1 || "<<Köpfe oder Fälle ?>>"?index_of("ffaelle") != -1>\
|
||
|
<#assign feldtyp="decimal(21,9)" />\
|
||
|
<#else>\
|
||
|
<#assign feldtyp="integer" />\
|
||
|
</#if>\
|
||
|
\
|
||
|
<#assign lehr_stg_ab="lehr_stg_ab"/>\
|
||
|
<#assign quelltabelle='sos_stg_aggr'/>\
|
||
|
<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")!=-1>\
|
||
|
<#assign lehr_stg_ab="lehr_stg_ab_gew"/>\
|
||
|
<#assign quelltabelle='sos_stud_gewichtung'/>\
|
||
|
</#if>\
|
||
|
\
|
||
|
/* <#assign extension= <<Trennen nach>> > */\
|
||
|
\
|
||
|
create temp table tmp_studis1 \
|
||
|
(semester integer,\
|
||
|
semester_bezeichnung varchar(255),\
|
||
|
semester_sort varchar(10),\
|
||
|
m_1fs ${feldtyp}, \
|
||
|
w_1fs ${feldtyp},\
|
||
|
gesamt_1fs ${feldtyp},\
|
||
|
m_gesamt ${feldtyp},\
|
||
|
w_gesamt ${feldtyp},\
|
||
|
gesamt ${feldtyp}\
|
||
|
)\
|
||
|
<@informixnolog/>;\
|
||
|
\
|
||
|
create temp table tmp_studis2\
|
||
|
(semester integer,\
|
||
|
semester_bezeichnung varchar(255),\
|
||
|
semester_sort varchar(10),\
|
||
|
m_1fs ${feldtyp}, \
|
||
|
w_1fs ${feldtyp},\
|
||
|
gesamt_1fs ${feldtyp},\
|
||
|
m_gesamt ${feldtyp},\
|
||
|
w_gesamt ${feldtyp},\
|
||
|
gesamt ${feldtyp}\
|
||
|
)\
|
||
|
<@informixnolog/>;\
|
||
|
\
|
||
|
--zun. temp. Tabelle\
|
||
|
SELECT\
|
||
|
val('20' || replace(replace(SEM.semester_id,'S','1'),'W','2')) as semester,\
|
||
|
SEM.semester_id as semester_sort,\
|
||
|
SEM.semester_bezeichnung,\
|
||
|
G.stp_stp_nr as studeingang_nr ,--substr(F.stgnr,1,1), TODO paßt das?\
|
||
|
F.st_stdfach_nr as fach_nr,--substr(F.stgnr,length(F.stgnr),1),\
|
||
|
ST.studienstatustyp as status,\
|
||
|
FS.fachsemester as fach_sem_zahl,\
|
||
|
H.hoererstatus_kb as hrst,\
|
||
|
V.studienform_statistik_code as stufrm,\
|
||
|
ST.gueltig_ab as ruebeudat, --TODO: jeweils letzten Datensatz pro Semester\
|
||
|
ST.gueltig_ab as endedat,--TODO: jeweils letzten Datensatz pro Semester\
|
||
|
ST.gueltig_ab as anfdat,--TODO: jeweils letzten Datensatz pro Semester\
|
||
|
'H' as primaerfach,\
|
||
|
F.unikey,\
|
||
|
S.geschlecht,\
|
||
|
count(*) as summe\
|
||
|
into temp tmp_studien\
|
||
|
from \
|
||
|
costage_st_hoererstatus H,\
|
||
|
costage_st_studierendenstammdaten S,\
|
||
|
costage_st_studienstatus ST,\
|
||
|
costage_st_studiengaenge G,\
|
||
|
costage_st_studienkennzahlen F,\
|
||
|
costage_st_abschlussziele_lokal A,\
|
||
|
costage_st_fachsemester FS,\
|
||
|
costage_st_semester SEM,\
|
||
|
costage_st_studien V ,\
|
||
|
costage_st_hauptstudien K\
|
||
|
where \
|
||
|
K.st_studium_nr=V.st_studium_nr\
|
||
|
and SEM.st_sem_nr=K.st_sem_nr\
|
||
|
and F.st_skz_nr=G.st_skz_nr\
|
||
|
and V.st_studiengang_nr=G.st_studiengang_nr\
|
||
|
and FS.st_studium_nr=V.st_studium_nr\
|
||
|
and SEM.st_sem_nr=FS.st_sem_nr\
|
||
|
and FS.fachsemestertyp='FS' --TODO: klin.Semester=KS\
|
||
|
and G.st_absz_nr=A.st_absz_nr\
|
||
|
and S.st_studstamm_nr=V.st_studstamm_nr\
|
||
|
and H.st_studstamm_nr=S.st_studstamm_nr\
|
||
|
and H.st_sem_nr=SEM.st_sem_nr\
|
||
|
and ST.st_studium_nr=V.st_studium_nr\
|
||
|
and ST.st_sem_nr=SEM.st_sem_nr\
|
||
|
and date(SEM.semester_anfang) >= date_val('01.01.2000')\
|
||
|
--and S.matrikelnummer='7344750'\
|
||
|
--and SEM.st_sem_nr=178\
|
||
|
and val('20' || replace(replace(SEM.semester_id,'S','1'),'W','2')) >= <<Seit Semester>>\
|
||
|
/* and val('20' || replace(replace(SEM.semester_id,'S','1'),'W','2')) <= <<Bis Semester>> */\
|
||
|
\
|
||
|
group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15\
|
||
|
\
|
||
|
--AND F.semester >= $start_stud_sem\
|
||
|
;\
|
||
|
\
|
||
|
insert into tmp_studis1(semester ,\
|
||
|
semester_bezeichnung,\
|
||
|
semester_sort,\
|
||
|
m_1fs, \
|
||
|
w_1fs,\
|
||
|
gesamt_1fs,\
|
||
|
m_gesamt ,\
|
||
|
w_gesamt ,\
|
||
|
gesamt)\
|
||
|
\
|
||
|
select semester,\
|
||
|
semester_bezeichnung,\
|
||
|
semester_sort,\
|
||
|
(case when geschlecht='M' and fach_sem_zahl=1 then summe else 0 end) as m_1fs,\
|
||
|
(case when geschlecht='W' and fach_sem_zahl=1 then summe else 0 end) as w_1fs,\
|
||
|
(case when fach_sem_zahl=1 then summe else 0 end) as gesamt_1fs,\
|
||
|
(case when geschlecht='M' then summe else 0 end) as m_gesamt,\
|
||
|
(case when geschlecht='W' then summe else 0 end) as w_gesamt,\
|
||
|
summe\
|
||
|
from tmp_studien S\
|
||
|
--group by semester,semester_bezeichnung,semester_sort, geschlecht,fach_sem_zahl\
|
||
|
; \
|
||
|
\
|
||
|
\
|
||
|
\
|
||
|
insert into tmp_studis2(semester ,\
|
||
|
semester_bezeichnung,\
|
||
|
semester_sort,\
|
||
|
m_1fs , \
|
||
|
w_1fs ,\
|
||
|
gesamt_1fs,\
|
||
|
m_gesamt ,\
|
||
|
w_gesamt,\
|
||
|
gesamt)\
|
||
|
\
|
||
|
select semester ,\
|
||
|
semester_bezeichnung,\
|
||
|
semester_sort,\
|
||
|
sum(m_1fs ), \
|
||
|
sum(w_1fs ),\
|
||
|
sum(gesamt_1fs),\
|
||
|
sum(m_gesamt) ,\
|
||
|
sum(w_gesamt),\
|
||
|
sum(gesamt)\
|
||
|
from tmp_studis1\
|
||
|
group by 1,2,3;\
|
||
|
\
|
||
|
\
|
||
|
update tmp_studis2\
|
||
|
set gesamt = null where gesamt = 0;\
|
||
|
update tmp_studis2\
|
||
|
set gesamt_1fs = null where gesamt_1fs = 0;\
|
||
|
update tmp_studis2\
|
||
|
set w_gesamt = null where w_gesamt = 0;\
|
||
|
\
|
||
|
\
|
||
|
<@selectintotmp \
|
||
|
select="semester ,\
|
||
|
semester_bezeichnung,\
|
||
|
semester_sort,\
|
||
|
m_1fs , \
|
||
|
w_1fs ,\
|
||
|
gesamt_1fs,\
|
||
|
m_gesamt ,\
|
||
|
w_gesamt,\
|
||
|
gesamt"\
|
||
|
source="tmp_studis2"\
|
||
|
target="tmp_studis">\
|
||
|
order by semester_sort desc\
|
||
|
</@selectintotmp>\
|
||
|
<@informixnolog/>;\
|
||
|
\
|
||
|
\
|
||
|
-- insert into tmp_studis (eintrag)\
|
||
|
-- values ("");\
|
||
|
\
|
||
|
\
|
||
|
drop table tmp_studis1;\
|
||
|
drop table tmp_studis2;\
|
||
|
drop table tmp_studien;\
|
||
|
\
|
||
|
-- Falls Division durch 0 vorkommen sollte, Division durch NULL ist möglich\
|
||
|
\
|
||
|
select semester_bezeichnung, \
|
||
|
gesamt,\
|
||
|
gesamt_1fs, \
|
||
|
round((100*gesamt_1fs)::decimal(21,9)/gesamt,2),\
|
||
|
'',\
|
||
|
w_gesamt, round((100*w_gesamt)::decimal(21,9)/gesamt,2),\
|
||
|
w_1fs, round((100*w_1fs)::decimal(21,9)/gesamt_1fs,2)\
|
||
|
from tmp_studis \
|
||
|
order by semester_sort desc \
|
||
|
;^--Freemarker Template\
|
||
|
/* <#assign extension= <<Trennen nach>> > */\
|
||
|
\
|
||
|
XIL List\
|
||
|
sizable_columns horizontal_scrolling\
|
||
|
white_space_color=COLOR_WHITE fixed_columns=1\
|
||
|
drop_and_delete movable_columns\
|
||
|
min_heading_height=55\
|
||
|
Column CID=0 heading_text="@@sos_semester@@" explanation="@@@sos_semester@@@" center_heading\
|
||
|
row_selectable heading_platform readonly\
|
||
|
width=10\
|
||
|
Column CID=1 heading_text="Gesamt-\
|
||
|
zahl" explanation="@@@sos_gesamtzahl@@@" center_heading\
|
||
|
row_selectable col_selectable rightJust heading_platform\
|
||
|
readonly\
|
||
|
width=8\
|
||
|
Column CID=2 heading_text="1. @@FS@@\
|
||
|
gesamt" explanation="@@@sos_1fs_ges@@@" center_heading\
|
||
|
row_selectable col_selectable rightJust heading_platform readonly\
|
||
|
width=8\
|
||
|
Column CID=3 heading_text="1. @@FS@@\
|
||
|
in %" explanation="@@@sos_1fs_proz@@@" center_heading\
|
||
|
row_selectable col_selectable rightJust heading_platform readonly\
|
||
|
width=8\
|
||
|
Column CID=6 heading_text=" " explanation="" center_heading\
|
||
|
row_selectable col_selectable rightJust heading_platform readonly\
|
||
|
width=1\
|
||
|
Column CID=7 heading_text="dar.\
|
||
|
Frauen" explanation="@@@sos_frauen_sem@@@" center_heading\
|
||
|
row_selectable col_selectable rightJust heading_platform readonly\
|
||
|
width=8\
|
||
|
Column CID=8 heading_text="Frauen\
|
||
|
in %" explanation="@@@sos_frauen_proz@@@" center_heading\
|
||
|
row_selectable col_selectable rightJust heading_platform readonly\
|
||
|
width=8\
|
||
|
Column CID=9 heading_text="1. @@FS@@\
|
||
|
Frauen" explanation="@@@sos_frauen_1fs@@@" center_heading\
|
||
|
row_selectable col_selectable rightJust heading_platform readonly\
|
||
|
width=8\
|
||
|
Column CID=10 heading_text="1. @@FS@@\
|
||
|
Frauen\
|
||
|
in %" explanation="@@@sos_frauen_1fs_proz@@@" center_heading\
|
||
|
row_selectable col_selectable rightJust heading_platform readonly\
|
||
|
width=8\
|
||
|
@@@^Semester^Anzahl^Zeitreihe zur Anzeige des Datenbestandes aus CO^drop table tmp_studis;^-leer-^2^700^360^0^1^^
|