Bir hastane tuvaletinden…

The to_char function converts a number or date to a string.
The syntax for to_char function is: to_char( value, [ format_mask ], [ nls_language ] )
| Parameter | Explanation |
|---|---|
| YEAR | Year, spelled out |
| YYYY | 4-digit year |
| YYY YY Y |
Last 3, 2, or 1 digit(s) of year. |
| IYY IY I |
Last 3, 2, or 1 digit(s) of ISO year. |
| IYYY | 4-digit year based on the ISO standard |
| Q | Quarter of year (1, 2, 3, 4; JAN-MAR = 1). |
| MM | Month (01-12; JAN = 01). |
| MON | Abbreviated name of month. |
| MONTH | Name of month, padded with blanks to length of 9 characters. |
| RM | Roman numeral month (I-XII; JAN = I). |
| WW | Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year. |
| W | Week of month (1-5) where week 1 starts on the first day of the month and ends on the seventh. |
| IW | Week of year (1-52 or 1-53) based on the ISO standard. |
| D | Day of week (1-7; 1 = Sunday). |
| DAY | Name of day. |
| DD | Day of month (1-31). |
| DDD | Day of year (1-366). |
| DY | Abbreviated name of day. |
| J | Julian day; the number of days since January 1, 4712 BC. |
| HH | Hour of day (1-12). |
| HH12 | Hour of day (1-12). |
| HH24 | Hour of day (0-23). |
| MI | Minute (0-59). |
| SS | Second (0-59). |
| SSSSS | Seconds past midnight (0-86399). |
| FF | Fractional seconds. |
Google Trends istatistik meraklılarının olduğu kadar bitirim girişimciler için de oldukça kullanışlı bir servis.
Senaryo icabı girişimcimiz yeni bir blog açmayı planlıyor ancak “pırlanta” ve “dekorasyon” konuları arasında kararsız kalmış, hangisinin daha fazla trafik çekeceğini bulmak istiyor olsun.
http://trends.google.com/ adresine giriyoruz. Arama alanına “dekorasyon, pırlanta” yazıp aratıyoruz. Virgüllerle ayırmak şartıyla daha fazla kelime de girilebilir.
Ülke, yıl-ay kriterleri de girebilirsiniz. Bu örnekte ben Türkiye, 2011 seçtim.
Aşağıdaki grafikte kelimelerin trendini görebileceğiniz gibi il bazında sıralamayı da Google cömertçe sunuyor.


Altın değerindeki bu bilgileri ücretsiz olarak kullanabilmek büyük nimet, kıymetini bilene…

Yurtiçi Kargo’dan örnek bir davranış!
Tüm Yurtiçi Kargo şubelerine gelen yardım gönderilerini ücresiz olarak Van Afet Koordinasyon Merkezi aracılığı ile ihtiyaç sahiplerine ulaştırıyorlar.
Siz de evinizde fazla olan battaniye, elbise, pil vs ne aklınıza gelirse Yurtiçi Kargo ile ücretsiz olarak depremzedelere gönderebilirsiniz.
Yurtiçi Kargo’yu tebrik ediyorum…
Aggregator Transformation, kayıtlar üzerinde kümeleme (aggregate) hesaplama işlemlerini yapabilmemizi sağlar. Aggregate fonksiyonlarını hatırlayalım;
AVG: Ortalama
COUNT: NULL olmayan kayıt sayısı
FIRST: NULL olmayan ilk kayıt
LAST: NULL olmayan son kayıt
MAX: En büyük değer
MEDIAN: Sayısal serinin orta noktasındaki değer
Satır1= 2, Satır2=9, Satır3=15 –> MEDIAN(KOLON) = 9
Satır1= 2, Satır2=9, Satır3=15, Satır4=16 –> MEDIAN(KOLON) = (9+15)/2 = 12
MIN: En küçük değer
PERCENTILE
STDDEV
SUM: Toplam
VARIANCE
Bazı kümeleme fonksiyonlarının açıklamaları biraz karışık oldukları için yazmadım. Küçük bir araştırma ile bu fonksiyonların ne işe yaradığını ve nasıl kullanıldıklarını bulabilirsiniz.
Aşağıda ekran görüntülerini göreceğiniz Aggregator Transformation’da BAKIYE bilgisini SUBE kolonuna göre gruplayarak MAX, MIN, AVG ve SUM değerlerini buldum.


Info: Aggregate fonksiyonları filtreleyerek kullanabilirsiniz. Bakiyesi 1000′den büyük olan kayıtların ortalaması için; AVG(BAKIYE, BAKIYE>1000)
Son olarak, Aggregator Transformation GROUP BY özelliğini kullanarak kaynak tablodaki SUBE ve HES_NO kolonlarını DISTINCT olarak hedef tabloya nasıl atılabileceğini paylaşıyorum;

| << Filter Transformation |
Think that how many times you write “SELECT * FROM” a day.
You can select data from a table with one key Ctrl+5
Let’s create an SP under master DB. If this SP is under master DB, we can use shortcut property in all DBs.
USE master CREATE proc sp_select @TABLE_NAME VARCHAR(100), @COUNT VARCHAR(10) = NULL AS BEGIN IF EXISTS (SELECT NULL FROM sys.objects WHERE TYPE IN ('U','V') AND name=@TABLE_NAME) BEGIN IF @COUNT IS NULL SET @COUNT=1000 EXEC('select top ' + @COUNT + ' * from ' + @TABLE_NAME + '(nolock)') END ELSE print 'Table not found.' END GO
bbb
SP is created, now we have to assign shortcut to this Stored Procedure; Tools > Options > Environment > Keyboard

We assigned “Ctrl+5” to sp_select as seen in the picture above.
Now, just write table or view name, select the text and hit Ctrl+5.
MY_TABLE_NAME --Selects TOP 1000or
MY_TABLE_NAME, 50 --Selects TOP 50
Yesterday I met Mr. Pancha at Corporate Data Management Event in Istanbul which is sponsored by Informatica, Komtaş and Ereteam.

Rows are rejected and in the log detail, error message is;
WRT_8119 Target table [TARGET_TABLE_NAME] does not allow INSERT Row # in bad file
or
WRT_8119 Target table [TARGET_TABLE_NAME] does not allow UPDATE Row # in bad file
or
WRT_8119 Target table [TARGET_TABLE_NAME] does not allow DELETE Row # in bad file
I recommend to change “Treat source rows as” attribute to “Data driven”

This error occurs because of the incoordinate between “Treat source rows as” and target table’s relational writer properties

When Insert is selected, but Update is selected at “Treat source rows as” property, it will get the error;
WRT_8119 Target table [TARGET_TABLE_NAME] does not allow UPDATE Row # in bad file