FlexCity'de SpagoBI için Rol Tanımı

SpagoBI'da

Roles Management ekranında yeni rol oluşturulur.

Functionalities Management ekranında ilgili klasör için
Yeni role okuma yetkisi verilir.
Diğer rollerin tüm yetkileri kaldırılır.
Admine tüm yetkiler tanımlanır.

Klasördeki raporlarda kullanılan Analytical Driverlar'da yeni rol etkinleştirilmelidir.

YBS'de

Rol Tanımı ekranında aynı isimde rol oluşturulur. Bu rolun tipi olarak SpagoBI seçilir.

Kullanıcı Tanım ekranında bu yeni rol kullanıcılara verilebilir.

Not 1: Yeni rolle YBS'ye login olunacaksa logout olduktan sonra browser kapatılır tekrar açılır.
Not 2: SpagoBI'da Login olabilmesi için /spagobi/user yetkisi kullanıcıya tanımlanması yeterli.


http://www.flexcity.com.tr/

SpagoBI Jasper Reports Maps

SpagoBI/webapps/SpagoBIJasperReportEngine/WEB-INF/lib

klasörü içine 

apache-velocity-velocity-1.5.jar

dosyası atılp SpagoBI restart edilir.


Jasper Reports Multiple Database Connection

Subreports kullanarak bu işlem yapılabilir. Subreport'un properties'inden aşağıdaki işlemler yapılalarak, subreport başka bir veri tabanına bağlanabilir.

connection type: use a connection expression
connection expression:
java.sql.DriverManager.getConnection("jdbc:sqlserver://1.1.1.1:1433;databaseName=xxx;user=xx;Password=xx")


Subreport hakkında bilgi için tıkla

Scheduled Email Reports in Spagobi 4.2

half-a-page.blogspot.com.tr/2014/09/scheduled-email-reports-in-spagobi-42.html

SpagoBI Cascading Parameters - Corelation

Rapor Detayından  (1)
İlişkilendirmek istediğiniz parametrenin sağ üst köşesindeki  ikonuna tıklanır.(2)
Birden çok ilişki (3) adımda "and , or " işlemleriyle kurulabilir.



Step 1: Report Detail


Step 2: Parameter Corelations

Step 3: Adding Condition for corelation

PLSQL UPDATE FROM ANOTHER TABLE

UPDATE ATS_ARAC_TAHSIS ATT set ATT.ID_KBS_SERVIS =(
SELECT a.id_kbs_servis
FROM ATS_ARAC_AKTARIM A 
WHERE  A.PLAKA = ATT.PLAKA 
) WHERE exists( SELECT a.id_kbs_servis FROM ATS_ARAC_AKTARIM A WHERE A.PLAKA = ATT.PLAKA )

PLSQL Row Birleştirme

SELECT LISTAGG(YORUM, ',') WITHIN GROUP (ORDER BY ID) AS XXX
FROM INB_YORUM
WHERE ID_INB_DOSYA = DOSYA.ID
GROUP BY ID_INB_DOSYA

PLSQL GET YEARS BETWEEN TWO DATES

SELECT
Y.YIL,            --year
Y.TARIH,          --date
T.BASLAMA_TARIHI, --startdate
T.AYRILMA_TARIHI  --enddate

FROM PBS_KIDEM_HESABI KB,  PBS_TARIHCE T,  PBS_PERSONEL P ,
KBB_YILLAR Y      --a table with year and date columns 

WHERE 1=1 

AND KB.PERSONEL_TURU = P.TURU
AND KB.TARIHCE_TURU = T.TURU
AND P.ID = T.ID_PBS_PERSONEL

AND KB.KIDEM_HESABI_ETKISI = 'ARTTIRIR'
AND KB.ID_PBS_KIDEM_HESABI_TURU = 4


---**---
AND (Y.TARIH BETWEEN TRUNC(T.BASLAMA_TARIHI,'YEAR') AND T.AYRILMA_TARIHI)
---**---

AND (P.ID=110947251)

ORDER BY T.BASLAMA_TARIHI,Y.YIL

--end of sql


KBB_YILLAR


SQL Resultset

Entity Framework Left Join

 var obj = (from k in Db.AracBakim_Parca
                       from t in k.AracBakim_IsEmri_DepoTemin_Parca.DefaultIfEmpty()                  
                       select new
                       {
                           MIKTAR               = t == null ? null : t.MIKTAR,
                           SECILDI              = t == null ? false : true,
                           ACIKLAMA             = t == null ? null : t.ACIKLAMA,

                           PARCA_ID = k.PARCA_ID,
                           PARCA_ADI = k.ADI,
                           PARCA_NO = k.KOD,
                           OLCU_BIRIMI = k.OlcuBirimi.Birim

                       });

Jasper Reports PDF Çıktı İpuçları



PDF çıktıda kalın harf için  ireports'ta  PDF Font Name olarak bold bir font seçmeliyiz.
PDF çıktıda Türkçe harf için  ireports'ta  PDF Encoding CP1254 (Turkish) seçilmeli yada webapps/SpagoBIJasperReportEngine/WEB-INF/classes/ klasöründe
jasperreports.properties dosyasına şu satırları ekledim.
#pdf'te default dili türkçe yapıyor. ireports'da ayar yapmaya gerek kalmıyor.
net.sf.jasperreports.default.pdf.encoding=Cp1254 

SpagoBI Jasper Engine Ayarları

webapps/SpagoBIJasperReportEngine/WEB-INF/classes/ klasöründe
jasperreports.properties dosyasına şu satırları ekledim.
#pdf'te default dili türkçe yapıyor. ireports'da ayar yapmaya gerek kalmıyor.
net.sf.jasperreports.default.pdf.encoding=Cp1254 
net.sf.jasperreports.export.xls.max.rows.per.sheet=0

#excelde boş satırları,kolonları siliyor. mesela sayfa arası boşluklar için.
net.sf.jasperreports.export.xls.remove.empty.space.between.rows=true
net.sf.jasperreports.export.xls.remove.empty.space.between.columns=true
#bu ikisinden umduğumu bulamadım. işe yaramıyor gibi gözüküyor.
net.sf.jasperreports.export.xls.auto.fit.column=true
net.sf.jasperreports.export.xls.auto.fit.row=true

bu linkte detaylar var:
 http://jasperreports.sourceforge.net/config.reference.html

engine-config.xml dosyasında da virtualizeri kapattım. ihtiyaç yok.
<VIRTUALIZER active="false"

jasperreports*.jar 4.0.0 dosyalarını 5.4.1 versiyonlarıyla değiştirdim.
5.4.1 i 4.0.0 olarak rename ederek.
6.0 versiyonuyla çalıştıramadım.

poi*.jar dosyasını 3.7 versiyonuyla değiştirdim.
iText*.jar dosyasını 4.2.1 versiyonuyla değiştirdim.