Kayıtlar

Nisan, 2018 tarihine ait yayınlar gösteriliyor

SSIS TOKEN Ve TOKENCOUNT Kullanımı

Resim
Merhabalar , Bu yazımda size SSIS 'te string fonksiyonlarından olan TOKEN ve TOKENCOUNT fonksiyonlarını açıklayacağım. Token fonksiyonu 3 farklı parametre alır ilk parametrede işlem yapmak istediğimiz stringi veririz. İkinci parametre olarak verdiğimiz stringi hangi ifadeye göre böleceğini veriririz. ve son parametre olarak böldüğü verilerden kaçıncısını döndürmesini istediğimizi veririz. Örnek olarak;                         TOKEN("Zülal US"," ",1) yazdığımızda bize döndürdüğü çıktı yandaki gibidir.   Tokencount ise 2 parametre alır. İlki işlem yapılmasını istediğimiz string veri ikincisi ise string ifadeyi neye göre böleceğimizi ayarladığımız parametredir. Ve bize verdiğimiz paramereye göre stringi bölüp kaç parça oluştuğunu döndürür. Örnek olarak;                    TOKENCOUNT("Zülal US"," ") yazdığımızda bize verdiği çıktı yandaki gibidir .

SSRS ile Excele Aktardığım Raporlara VBA ile Otomatik Sayfa Adı Vermek

Merhabalar, Bu yazımda excel sayfalarımıza dinamik olarak sayfanın istediğimiz hücresindeki değeri nasıl vereceğimizi açıklayacağım. Benim tüm sayfalarımın A1 hücresinde fatura numaraları bulunuyor.ben de sayfa isimlerini düzenlemek adına her bir sayfanın adında bu numaraları kullanmak istedim. ve Excel Macro ile aşağıdaki kodu yazım. Sub sayfa() Dim sayfa As Worksheet 'kaç sayfa varsa bu kadar döngü oluşturmak için For Each sayfa In Worksheets 'sayfa adını A1 hücresinden alıyor ActiveSheet.Name = ActiveSheet.Range("a1").Value son sayfaya geldiysek kodu bitiriyor If ActiveSheet.Index = Worksheets.Count Then Worksheets(1).Select Exit Sub 'eğer henüz son sayfaya gelmediysek ActiveSheet olarak bir sonraki sayfayı seçiyor Else ActiveSheet.Next.Select End If Next sayfa End Sub

SSRS ile Fatura Oluşturma

Resim
merhabalar, bu yazımda northwind database'indeki verileri kullanarak fatura oluşturma işleminin ssrs ile nasıl yaptığımı anlatacağım oluşan faturamızın görüntüsü bu şekilde sağ üstte fatura no ve fatura tarihi,solda fatura işlemini yapan çalışan,tabloda ise firma adı aldığı ürünler, ürün sayısı fiyatı ve toplam fiyat bilgileri bulunmaktadır. bu raporu elde edebilmek için öncelikle SSRS ile SQL veri tabanımıza bağlanıyoruz ve kullanacağımız verileri çekiyoruz. SQL serverdan verileri almak için yazacağımız SQL statement aşağıdaki gibidir. eğer farklı verileri de göstermek istiyorsanız select ve from arasında bu kolonları ekleyebilirsiniz. SELECT   Employees.FirstName+' '+Employees.LastName,ProductName,Orders.OrderID,Orders.OrderDate,[Order Details].UnitPrice,[Order Details].Quantity,Customers.CompanyName  FROM            Customers INNER JOIN                         ...

SSIS ile Tekrar Eden Verileri Teke Düşürmek

Resim
merhabalar, bu yazımda kaynaktan aldığımız verilerden tekrar eden satırları nasıl tek satıra dönüştürebileceğimizi açıklayacağım. Görseldeki işlemler tamamlandığında union all komutundan çıkan satırlar tekarsız verilerimizden oluşuyor. Şimdi adım adım işlemlerimizi yapıyoruz. Aggregate içerisinde alttaki şeklimizdeki işlemleri yapıyoruz. öncelikle tüm kolonlara göre group by yapıyoruz ve sonrasında * kolonuna countall yapıyoruz Sonraki adımda conditional split ile 1 tane olan kayıtları (DT_UI1)[Count all] == 1 case'ini yazarak ayırıyoruz.  Sonra =1 olanları ayrı yere 1'den fazla olanları farklı yerlere gönderiyoruz. NOT:bu aşama geçilip direkt Union All ' a geçilebilir. ben verilerin doğruluğunu görebilmek adına multicast ekledim. 1satırdan farklı olanlar group by ile tek satıra düştüğü için union all yaptığımızda tek satır olarak eklenecek. Umarım faydalı bir yazı olmuştur. Sorularınız varsa yazabilirsiniz :)

SSIS İle İsimleri Düzenleme

Merhabalar , bu yazımda size etl ile verileri düzenlerken yine karmaşık gözüken ama  işinizi çok çok kolaylaştıran bir komut açıklayacağım. öncelikle bazı veriler  isim 2.isim soyisim bazıları ise isim soyisim şeklindeydi. ve benden istenen format isimlerin ilk harfi soyismi tamamı büyük şeklindeydi. ikisi için farklı işlemler yapılacağından conditional(?:) operatörünü kullandım. TOKENCOUNT([Öğrenci]," ") komutuyla verinin kaç kelimeli olduğunu buldum ve sonrasında 2 kelimeliyse ilk kelimenin ilk harfi büyük diğerleri küçük olacak şekilde birleştirdim. 3 kelimeliyse ise ilk iki kelimenin ilk harflerini büyük diğer harfleri küçük son kelimenin tamamı büyük olacak şekilde işlemi yaptım TOKENCOUNT([Öğrenci]," ") == 2 ? UPPER(SUBSTRING(SUBSTRING(TRIM([Öğrenci]),1,FINDSTRING(LOWER([Öğrenci])," ",1)),1,1)) + LOWER(SUBSTRING(SUBSTRING(TRIM([Öğrenci]),1,FINDSTRING(LOWER([Öğrenci])," ",1)),2,LEN(SUBSTRING(TRIM([Öğrenci]),1,FINDSTRING(LOWER([Öğre...

SSIS ile Telefon Numarası Formatı Düzenleme

Merhabalar, Bugünkü yazımda size farklı veya aynı  data sourcelardan gelen düzenli olmayan telefon numarası verilerini düzenleyebileceğimiz komutu paylaşacağım. Benim istediğim format şu (xxx)-xxx-xx-xx Elimdeki verilerden birkaçı ise aşağıdaki gibi +XX-XXXX-XX-XXXX (XXX)/XXX-XX XX XXXX XXX XX XX bu verileri düzenlerken önce replace komutunu kullarak -,+,(,)/,  , gibi verileri sildim. REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE([Telefon Numarasi]," ",""),"+",""),"(",""),")",""),"-",""),"/","") Sonrasında ise elde ettiğim temiz verinin sağdan 10 karakterini aldım.(baştaki 0 veya 90 olan kısmı almamak için.) RIGHT(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE([Telefon Numaras�]," ",""),"+",""),"(",""),")",""),"-",""),"/",""),10...

Excel Macro İle Girdiğimiz Sayıdan Küçük En Büyük Asal Sayıyı Bulma

Merhabalar, bu yazımda size Excel VBA ile girdiğimiz input değerinden küçük en büyük asal sayıyı bulan macroyu açıklayacağım. Sub asal() Dim say As Integer git: 'input ile klavyeden sayı alıyoruz say = InputBox("sayı giriniz") 'girdiğimiz değerin sayı olup olmadığının kontrolünü yapıyoruz If (IsNumeric(say) = True) Then 'girdiğimiz değerden küçük dediği için öncelikle 1 azaltırız say = say - 1 ' For-Next döngüsü ile sayıyı azalta azalta ilerleriz For i = say To 1 Step -1  Dim sonuc As Boolean     'sayımızı asal sayı kontrolü yapan functionımıza gönderiyoruz ve gelen boolean sonuca göre işlem yapıyoruz     sonuc = asalmi(say)  If (sonuc = True) Then 'eğer sayı asalsa msgBox üzerinde sonucu gösteriyoruz ve for-next döngüsünden çıkıyoruz     MsgBox "girdiğiniz değerden en küçük asal sayı=" & say     Exit For      End If  'sayı asal değilse bir azaltılıp tekrar döngüye girer     ...