Concat fonksiyonları örnekleri
CONCAT() fonksiyonu, CONCATENATE kod anahtar sözcüğüyle karıştırılmamalıdır.
En sade şekliyle, Concat(), değerleri/sözcükleri/seçimlerini dizmek/birleştirmek için kullanılır. Bununla birlikte, farklı problemleri çözmenize yardımcı olacak bir dizi yolla da kullanılabilir. Tüm örnekler aşağıdaki tabloyu temel alır:
Table | MyColumn | Date | Value |
---|---|---|---|
Data | JKL | 01/01/2012 | 11 |
Data1 | WVX | 01/02/2012 | 13 |
Data | GHI | 01/03/2012 | 13 |
Data | ABC | 01/04/2012 | 15 |
Data1 | STU | 01/05/2012 | 18 |
Data1 | PQR | 01/06/2012 | 10 |
Data1 | MNO | 01/07/2012 | 25 |
Data | DEF | 01/08/2012 | 11 |
Basit Dize Birleştirmesi
Daha önce de bahsedildiği gibi, concat fonksiyon bir değerler listesinden dize oluşturmanızı sağlar. Bu değerler, sabit kodlanmış veya seçimlere/verilere göre olabilir.
=CONCAT(MyColumn,',')
=CONCAT(DISTINCT MyColumn,',')
Bu basit concat deyimi, MyColumn sütunundaki tüm olası değerlerden bir dize oluşturur. DISTINCT anahtar sözcüğünü eklemek isteyebilirsiniz. Bu, her bir değerin dizede sadece bir defa görüntülenmesini sağlar.
ABC,DEF,GHI,JKL,MNO,PQR,STU,VWX
Basit concat deyimini kullanırken, dize değerlerini istediğiniz bir sütuna göre sıralamak için fonksiyona bir sıralama ağırlığı ekleme seçeneğine sahipsinizdir. Aşağıdaki örnekte değerleri sıralamak için tarih sütunu eklenmiştir.
=CONCAT(MyColumn, ',', Date)
Sonuç: JKL,VWX,GHI,ABC,STU,PQR,MNO,DEF
İfade/Küme İfadesi İçinde Concat()
Örnek: Çoklu dinamik değerleri küme analiz ifadesine aktarma
Değerlerin dinamik seçimini küme deyimine aktarmak istediğiniz durumlar vardır. Bunu yapmak için, CONCAT() fonksiyonun örneğin 'JKL','VWX' sonucunu döndürebilmesi için dizeye birkaç tekli tırnak işaretli koymanız gerekir. Ancak, küme ifadesinin değerlendirildiği zaman yerine, Concat değerlendirildiği zamanda yorumlandığından, tekli tırnaklara oldukları gibi sahip olmazsınız. Bunun yerine, Chr () fonksiyonunu kullanın:
=CONCAT(Chr(39)&MyColumn&Chr(39),',')
Ardından bu concat deyimi bir ifadenin içine aktarabilirsiniz.
=Sum({<MyColumn={$(=CONCAT(Chr(39)&MyColumn&Chr(39),','))}>} Value)
Çoğu örnekte, bu teknik, veri adalarının mevcut olduğu yerde kullanılır. Veri adası tablosu veri modeliyle birleştirilmediğinden, bu, değerleri veri modelinin herhangi bir bölümünü etkilemeyen bir ifadeye aktarmanızı sağlar.
Kod İçinde Concat()
Concat, herhangi bir toplama işlevi gibi, birden fazla satırı tek bir sütun değerine dönüştürmek için kod içinde de kullanılabilir.
Daha önce kullanılan kaynak verilerini hatırlarsak, CONCAT fonksiyonunun kod tarafındaki sonucu aşağıdaki gibi olur:
Bu kod fonksiyonunun sonucu aşağıdadır:
Table | CombinedData |
---|---|
Data | ABC,DEF,GHI,JKL |
Data1 | MNO,PQR,STU,WVX |
Concat() deyimini etkilemek için Rank() deyimini kullanma
Diğer fonksiyonları concat() ile birlikte kullanmaya başladığınızda, daha akıllıca sonuçlar elde edebilirsiniz. Bu örnekte, Rank() fonksiyonu, en üstteki üç öğeyi (Değerlerine göre) alıp, bunlardan bir dize oluşturmak için kullanılmıştır.
=CONCAT(IF(aggr(Rank(sum(Value)),MyColumn)<=3,MyColumn),',')
Sonuç: ABC,MNO,STU