Berichtsassistent
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.
 
 
 
 
 

202 lines
6.8 KiB

48310^Übergang Bachelor-Master bzw. vorheriger Abschluss bei Master-Studienbeginn^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
--\
--Autor D. Quathamer 2024\
<sqlvars>\
<sqlvar name="my_base_rs"><![CDATA[\
select R.uniquename\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and L.uniquename=<<Spaltenlayout>>;]]>\
</sqlvar>\
<sqlvar name="basetable" type="hash"><![CDATA[\
SELECT distinct T.name,\
R.is_virtual,\
name as runtime_tablename\
from sx_tables T, rpta_resultset R \
where T.name=R.uniquename\
and T.name='${my_base_rs}'\
and R.is_virtual=0\
\
union\
select R.uniquename,\
R.is_virtual,\
'tmp_' || R.uniquename as runtime_tablename\
from rpta_resultset R where R.uniquename='${my_base_rs}'\
and R.is_virtual=1\
;\
]]>\
</sqlvar>\
<sqlvar name="rpta_resultset" type="hash"><![CDATA[\
select caption,\
uniquename,\
fieldclause,\
joinclause,\
whereclause,\
systeminfo_id\
from rpta_resultset\
where uniquename='${basetable.name}';\
\
]]></sqlvar>\
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\
select L.uniquename,\
L.caption,\
L.whereclause,\
R.is_virtual,\
L.sortclause\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and R.uniquename='${basetable.name}'\
and L.uniquename=<<Spaltenlayout>>;\
\
]]></sqlvar>\
<sqlvar name="columns" type="hashsequence"><![CDATA[\
SELECT C.srcfieldname,\
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,\
T.uniquename as coltype,\
C.is_aggregate,\
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\
CL.is_visible,\
CL.visible_size as visible_width,\
F.sql_code as format_sql,\
F.uniquename as format_uniquename,\
C.col_function as colfunction,\
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\
FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL \
left outer join rpta_format_code F on (F.tid=CL.format_code_id)\
where L.tid=CL.layout_id\
and C.tid=CL.column_id\
and T.tid=C.column_type\
and L.uniquename=<<Spaltenlayout>>\
/* and C.uniquename in (<<Spalten>>) */\
order by CL.sortnr\
;\
]]></sqlvar>\
<sqlvar name="endsemester"><![CDATA[\
SELECT max(tid)\
from semester \
where 1=1\
/* and tid >= <<Seit Semester>> */\
/* and tid <= <<Bis Semester>> */\
<#if "<<Semestertyp>>"="1" || "<<Semestertyp>>"="2">\
and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
</#if>\
;\
\
]]></sqlvar>\
<sqlvar name="SOS_MTKNR_EXT">\
select 1 from xdummy where 0 != (select \
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\
and apnr=1)\
union select 0 from xdummy where 0 = (select \
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\
and apnr=1)\
;\
</sqlvar>\
\
</sqlvars>\
\
<#assign richtung="" />\
/* <#assign richtung=<<Richtung>> />*/\
<#if richtung="" && rpta_column_layout.whereclause?index_of("gw") != -1>\
<#assign richtung="gw" />\
<#elseif richtung="" && rpta_column_layout.whereclause?index_of("wg") != -1>\
<#assign richtung="wg" />\
<#else>\
<#assign richtung="gw" />\
</#if>\
\
\
<#assign mtknr_filter=basetable.name+".matrikel_nr::varchar(255)" />\
<#if SOS_MTKNR_EXT=1>\
<#assign mtknr_filter=basetable.name+".pseudonym" />\
</#if>\
<#if richtung="gw" >\
<#assign tid_stg_col="abschluss_vorher_tid_stg" />\
<#assign stg_col="abschluss_vorher_stg" />\
<#assign abschluss_col="abschluss_vorher_abschluss" />\
<#assign semester_col="abschluss_vorher_semester" />\
</#if>\
<#if richtung="wg" >\
<#assign tid_stg_col="einschr_nachher_tid_stg" />\
<#assign stg_col="einschr_nachher_stg" />\
<#assign abschluss_col="einschr_nachher_abschluss" />\
<#assign semester_col="einschr_nachher_semester" />\
</#if>\
<#assign filter="1=1" />\
/* <#assign filter=filter+" and richtung='"+richtung+"'" /> --<<Richtung>> */\
\
<#assign studiengang_filter = "" />\
/* <#assign studiengang_filter = Studiengang.allNeededKeysList /> --<<Studiengang>> */ \
<#if studiengang_filter != "" >\
<#assign filter=filter + " and ('s_' || erfolg_ba_ma_uebergang."+tid_stg_col+"_1 in "+ studiengang_filter/> \
<#list 2..5 as fachnr>\
<#assign filter=filter + " or 's_' || erfolg_ba_ma_uebergang."+tid_stg_col+"_"+fachnr+" in "+ studiengang_filter /> \
</#list>\
<#assign filter=filter + ")" />\
</#if>\
\
<#assign fach_filter = "" />\
/* <#assign fach_filter = Fächer.allNeededKeysList /> --<<Fächer>> */ \
<#if fach_filter != "" >\
<#assign filter=filter + " and (erfolg_ba_ma_uebergang."+stg_col+"_1 in "+ fach_filter/> \
<#list 2..5 as fachnr>\
<#assign filter=filter + " or erfolg_ba_ma_uebergang."+stg_col+"_"+fachnr+" in "+ fach_filter /> \
</#list>\
<#assign filter=filter + ")" />\
</#if>\
\
/* \
<#assign filter = filter + " and " +abschluss_col+" in "+Studienabschluss.allNeededKeysList /> --<<Studienabschluss>> */\
\
\
/* <#assign filter=filter+" and "+ semester_col+" >=" + "<<Seit Semester>>" /> */\
/* <#assign filter=filter+" and "+ semester_col+" <=" + "<<Bis Semester>>" /> */\
\
<#assign filter=filter+" \
/* and geschlecht = <<Geschlecht>> */\
/* and einschr_nachher_<<Hörerstatus>>*/\
/* and <<Matrikel-Nr.>>=${mtknr_filter} */\
" />\
\
\
/* \
<#assign filter = filter + " and '' || "+basetable.name+".ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<<Staatsangehörigkeit>> */\
\
<#if columns?has_content>\
\
<#if basetable.is_virtual==1>\
\
create temp table ${basetable.runtime_tablename} as\
select ${rpta_resultset.fieldclause} \
from ${rpta_resultset.joinclause} \
where 1=1\
<#if rpta_resultset.whereclause != ""> \
${rpta_resultset.whereclause} </#if>\
and ${filter}\
;\
</#if>\
\
\
<@rpta_interpret_column_layout nonvirtualTableFilter=filter />\
\
</#if> --wenn columns?has_content^--Freemarker Template\
XIL List\
sizable_columns horizontal_scrolling\
drop_and_delete movable_columns \
white_space_color=COLOR_WHITE fixed_columns=1\
min_heading_height=55\
<#foreach column in columns>\
<#if column.is_visible!=0>\
Column CID=0 heading_text="${column.caption}" center_heading explanation="${column.description}"\
row_selectable heading_platform readonly\
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
<#if 1=0>\
Column CID=0 heading_text="sortnr" center_heading explanation=""\
row_selectable heading_platform readonly\
width=5 text_size=60\
</#if>\
@@@^Studienfach^Anzahl bzw. Anteil^Übergang nach Abschluss zu einem neuen Studiengang oder vorheriger Abschluss bei Studienbeginn^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^