CREATE OR REPLACE VIEW ikon.vw_monprov_lraloneraca 
AS SELECT b.kd_provinsi AS kdprovinsi,b.kd_pemda,b.tahun,c.id_jnslaporan,c.idbas,c.ref_periode_kode,
f.name AS namaprovinsi,count(b.kd_provinsi) AS count 
FROM ikon.ref_periode a 
JOIN ikon.raw_data b ON b.periode_id = a.kode::integer
JOIN ikon.header_data c ON b.header_data_id = c.id
JOIN ikon.ref_pemda f ON f.province_id::text = b.kd_provinsi::text
WHERE split_part(f.id::text, '.'::text, 2) = '00'::text
GROUP BY b.kd_pemda, b.kd_provinsi, a.nama, f.name,b.tahun,c.id_jnslaporan,c.idbas,c.ref_periode_kode
ORDER BY b.kd_pemda, (b.kd_provinsi::integer);


CREATE OR REPLACE VIEW ikon.vw_monwil_lraloneraca 
AS SELECT g.kode as kdwilayah,b.kd_pemda as kdpemda, g.nama as namawilayah,  count(b.kd_provinsi) as jmldata,
b.tahun,c.id_jnslaporan,c.idbas,c.ref_periode_kode
from ikon.ref_periode a 
inner join ikon.raw_data b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.jenis_bas d on d.id=c.idbas 
inner join ikon.ref_pemda f on f.province_id = b.kd_provinsi 
inner join ikon.ref_wilayah g on g.kode = f.wilayah_id 
GROUP BY g.kode,g.nama,kdpemda,b.tahun,c.id_jnslaporan,c.idbas,c.ref_periode_kode 
order by kdwilayah asc,kdpemda asc;

CREATE OR REPLACE VIEW ikon.vw_monnas_lraloneraca 
AS SELECT e.id as id,e.deskripsi as nama, b.kd_pemda,b.tahun,
c.idbas,c.ref_periode_kode,d.nama as namabas,  count(b.kd_provinsi) as jmldata  
from ikon.ref_periode a 
inner join ikon.raw_data b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.jenis_bas d on d.id=c.idbas 
inner join ikon.ref_jlaporan e on c.id_jnslaporan=e.id 
GROUP BY e.deskripsi,namabas,b.kd_pemda,b.tahun,
c.idbas,c.ref_periode_kode,e.id order by e.id asc;

CREATE OR REPLACE VIEW ikon.vw_monprov_lak 
AS SELECT b.kd_provinsi as kdprovinsi,b.kd_pemda,
b.tahun,c.id_jnslaporan,c.ref_periode_kode,f.name as namaprovinsi, 
a.nama as namaperiode,count(b.kd_provinsi) as jmldata  from ikon.ref_periode a 
inner join ikon.raw_data_lak b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.ref_pemda f on f.province_id = b.kd_provinsi  
where split_part(f.id, '.', 2)='00' 
GROUP BY b.kd_provinsi,b.kd_pemda,a.nama,namaprovinsi,b.tahun,c.id_jnslaporan,
c.ref_periode_kode 
order by b.kd_provinsi::int  asc;


CREATE OR REPLACE VIEW ikon.vw_monwil_lak 
AS SELECT g.kode as kdwilayah,b.kd_pemda,b.tahun,c.id_jnslaporan,
c.ref_periode_kode,g.nama as namawilayah,count(b.kd_provinsi) as jmldata  
from ikon.ref_periode a 
inner join ikon.raw_data_lak b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.ref_pemda f on f.province_id = b.kd_provinsi 
inner join ikon.ref_wilayah g on g.kode = f.wilayah_id
GROUP BY g.kode,g.nama,b.kd_pemda,b.tahun,c.id_jnslaporan,
c.ref_periode_kode order by kdwilayah asc;


CREATE OR REPLACE VIEW ikon.vw_monprov_lpe 
AS SELECT b.kd_provinsi as kdprovinsi,b.kd_pemda,b.tahun,c.id_jnslaporan,
c.ref_periode_kode,f.name as namaprovinsi, a.nama as namaperiode,  count(b.kd_provinsi) as jmldata  
from ikon.ref_periode a 
inner join ikon.raw_data_lpe b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.ref_pemda f on f.province_id = b.kd_provinsi  
where split_part(f.id, '.', 2)='00' 
GROUP BY b.kd_provinsi,a.nama,namaprovinsi,b.kd_pemda,b.tahun,c.id_jnslaporan,
c.ref_periode_kode 
 order by b.kd_provinsi::int  asc;

CREATE OR REPLACE VIEW ikon.vw_monwil_lpe 
AS SELECT g.kode as kdwilayah,b.kd_pemda,b.tahun,c.id_jnslaporan,
c.ref_periode_kode,g.nama as namawilayah,count(b.kd_provinsi) as jmldata  
from ikon.ref_periode a 
inner join ikon.raw_data_lpe b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.ref_pemda f on f.province_id = b.kd_provinsi 
inner join ikon.ref_wilayah g on g.kode = f.wilayah_id
GROUP BY g.kode,g.nama,b.kd_pemda,b.tahun,c.id_jnslaporan,
c.ref_periode_kode order by kdwilayah asc;

CREATE OR REPLACE VIEW ikon.vw_monprov_lpsal 
AS SELECT b.kd_provinsi as kdprovinsi,b.kd_pemda,b.tahun,c.id_jnslaporan, 
c.ref_periode_kode,f.name as namaprovinsi, a.nama as namaperiode,count(b.kd_provinsi) as jmldata  
from ikon.ref_periode a 
inner join ikon.raw_data_lpsal b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.ref_pemda f on f.province_id = b.kd_provinsi  
where split_part(f.id, '.', 2)='00' 
GROUP BY b.kd_provinsi,a.nama,namaprovinsi,b.kd_pemda,b.tahun,c.id_jnslaporan, 
c.ref_periode_kode 
order by b.kd_provinsi::int  asc;

CREATE OR REPLACE VIEW ikon.vw_monwil_lpsal 
AS SELECT g.kode as kdwilayah,b.kd_pemda,b.tahun,c.id_jnslaporan,
c.ref_periode_kode,g.nama as namawilayah, count(b.kd_provinsi) as jmldata  
from ikon.ref_periode a 
inner join ikon.raw_data_lpsal b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.ref_pemda f on f.province_id = b.kd_provinsi 
inner join ikon.ref_wilayah g on g.kode = f.wilayah_id
GROUP BY g.kode,g.nama,b.kd_pemda,b.kd_pemda,b.tahun,c.id_jnslaporan,
c.ref_periode_kode order by kdwilayah asc;

CREATE OR REPLACE VIEW ikon.vw_monnas_lak
AS SELECT e.id as id,e.deskripsi as nama,b.kd_pemda,b.tahun,c.ref_periode_kode,  count(b.kd_provinsi) as jmldata  
from ikon.ref_periode a 
inner join ikon.raw_data_lak b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.ref_jlaporan e on c.id_jnslaporan=e.id 
GROUP BY e.deskripsi,e.id,b.kd_pemda,b.tahun,c.ref_periode_kode 
		
union 
		
select e.id as id,e.deskripsi as nama,b.kd_pemda,b.tahun,c.ref_periode_kode,   count(b.kd_provinsi) as jmldata  
from ikon.ref_periode a 
inner join ikon.raw_data_lpe b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.ref_jlaporan e on c.id_jnslaporan=e.id 
GROUP BY e.deskripsi,e.id,b.kd_pemda,b.tahun,c.ref_periode_kode 
		
union
		
select e.id as id,e.deskripsi as nama,b.kd_pemda,b.tahun,c.ref_periode_kode,  count(b.kd_provinsi) as jmldata  
from ikon.ref_periode a 
inner join ikon.raw_data_lpsal b on b.periode_id=a.kode::int 
inner join ikon.header_data c on b.header_data_id=c.id
inner join ikon.ref_jlaporan e on c.id_jnslaporan=e.id 
GROUP BY e.deskripsi,e.id,b.kd_pemda,b.tahun,c.ref_periode_kode 
		
order by id asc;