Bu makale, veri kümeleri oluşturma ile ilgili sıkça sorulan soruları yanıtlar.
-
Veri kümesi hataları
-
Veri kümesi oluşturma
-
Veri kümesi alanlarını işleme
-
Veri kümesi izinleri
-
Veri kümesi görüntüleme
-
Veri kümesi ilişkileri
-
Veri kümesi performansı
Özel SQL hataları
Özel SQL'inizi çalıştırdığınızda veya kaydettiğinizde hata alıyorsanız aşağıdaki yaygın nedenleri kontrol edin.
1. Yanlış özel SQL sözdizimi
Quick BI, özel SQL'i veritabanına göndermeden önce ön işleme tabi tutar; yer tutucuları ayrıştırır, bir limit yan tümcesi ekler ve SQL yorumları ekler. Bir sözdizimi hatası nedeniyle veritabanı bu aşamada hata döndürür.
Sözdizimini doğrulamak için deyimi doğrudan veritabanınızda çalıştırın. Geçmiş'te daha önce çalıştırılan deyimleri görüntüleyebilirsiniz.

2. SELECT deyiminden önceki deyimler
Quick BI, özel SQL'i çalıştırdığınızda veya kaydettiğinizde limit 200 yan tümcesini ekler; bu nedenle sorgu bir SELECT deyimiyle başlamalıdır. SELECT'den önce herhangi bir deyim (HINT deyimleri dahil) yerleştirmek sorgunun başarısız olmasına neden olur.
Bir HINT deyimi kullanmak için bunu satır içine yazmak yerine HINT Deyimini Ayarla seçeneğini belirleyin.
HINT deyimlerini destekleyen veri kaynakları için bkz. Veri kaynağı özellik listesi.

3. Varsayılan değerler olmadan kullanılan yer tutucular
Özel SQL, yer tutucular aracılığıyla parametre geçişini destekler. Bir raporu görüntülerken, sorgu denetimleri esnek filtreleme için alttaki SQL'e yer tutucu değerlerini aktarır. Yer tutucu kullanım durumları ve sözdizimi için bkz. Yer tutucular.
Bir SELECT deyimi içinde kullanılan her yer tutucunun bir varsayılan değeri olmalıdır. Bu değer olmadığında, SQL çalışma zamanında eksik kalır ve hata döndürür.
Aşağıdaki örnekte, Order Level alanı başarısız olur çünkü değer yer tutucusu $val{profit_range} için bir varsayılan değer yoktur. 100'lük bir varsayılan değer atamak ve SQL'i yeniden çalıştırmak sorunu çözer.
Kullanıcılar panoyu açtığında bir filtre değeri ayarlamazsa hataları önlemek için SELECT deyimlerindeki yer tutucular için yalnızca veri kümesi düzeyinde değil, genel bir varsayılan değer ayarlayın.
SELECT report_date, order_level, shipping_type,price,order_number,area,
case when profit_amt< $val{profit_range} then'Loss'
when profit_amt> $val{profit_range} then'Profit'
else 'Break-even'
end 'Order Level'
from company_sales_record
where $expr{report_date :report_date}
and $expr{order_level :order_level}
and $expr{order_number :order_number}


4. Diğer sorunlar
Özel SQL'de yorumlar ve takma adlar için standart kuralları kullanın. Standart olmayan kullanım, veritabanının beklenmeyen alan adları döndürmesine, yer tutucu ayrıştırma hatalarına veya diğer hatalara neden olabilir.
Özel SQL'inizin sonuna noktalı virgül (;) eklemeyin.
Hesaplanan alan hataları
Hesaplanan alanlar, fiziksel tablodaki sütunlara başvurur. Bir alanın veri türünü dönüştürmek için uygun dönüştürme işlevini kullanın; kullanıcı arayüzünde türü değiştirmek, alttaki fiziksel alanın türünü değiştirmez ve hata oluşmasına neden olabilir.
Boyut hesaplanan alanları SUM veya AVG gibi toplama işlevleri içeremez. Toplama yapmak için alanı bunun yerine bir ölçü olarak kaydedin.
Metin alanları yalnızca COUNT ve COUNTD toplamalarını destekler. SUM, MAX ve benzeri işlevler metin alanları için kullanılamaz. Bu hesaplamaları yapmadan önce alanı sayısal bir türe dönüştürün.
Yerel dosyalardan veri kümeleri oluşturma
Yüklenen yerel bir dosyadan bir veri kümesi oluştururken hedef veri kaynağının SQL sözdizimini kullanın. Örneğin, bir dosyanın keşif alanına yüklenmesi, veri kümesi oluştururken ve sorgularken ClickHouse sözdizimi gerektirir.
Bir dosyanın keşif alanına yüklenmesinin iki sınırlaması vardır: özel SQL desteklenmez ve kaynaklar arası birleştirmeler kullanılamaz. Bu özellikleri kullanmak için dosyayı, kaynaklar arası birleştirmeleri destekleyen bir grup alanında bulunan bir veri kaynağına yükleyin.
Bir dosyayı bir veritabanı veri kaynağına yüklerseniz ve özel SQL kullanırsanız, orijinal dosya adını değil, veritabanında otomatik olarak oluşturulan fiziksel tablo adına başvurun. Fiziksel tablo adını bulmak için veri kaynağı dosya listesini açın, dosya için ayarlar simgesine tıklayın ve düzenleme sayfasında adı arayın.

Unix zaman damgalarını tarih/saate dönüştürme
Bir saat alanı data type Text veya Number olan bir Unix zaman damgası olarak depolanıyorsa, bunu standart bir tarih/saat alanına dönüştürmek için from_unixtime/@parmname işlevini kullanın.
Veri kümesi düzenleme sayfasında, aşağıda gösterildiği gibi hesaplanan bir alan oluşturun.

Veri kümesini kaydedin ve yenileyin.

Boş veya null değerlerin görüntülenmesini yapılandırma
Veri kümesi ayarlarında boş değerler için görüntüleme stilini yapılandırın.

Pano ayarlarında boş değerler için görüntüleme stilini yapılandırın.

Oran hesaplamaları için parametreli SQL kullanma
Quick BI, oran hesaplamalarını yerel olarak desteklemez; ancak bunları özel bir veri kümesinde parametreli SQL ile uygulayabilirsiniz.
Aşağıdaki örnek, kullanıcı tarafından seçilebilen tarih aralığı ve il/şehir filtreleriyle her şehrin eyaletindeki toplam satışlardaki payını hesaplar. Veri kümesinin dört alanı vardır: tarih (date), il (province), şehir (city) ve satış tutarı (order_amt).
select a.city,sum(fenzi)/sum(fenmu) as ratio
from
(select province,city,sum(order_amt) fenzi
from zhanbi_test
where $expr{date:date_para}
and $expr{province:province_para}
and $expr{city:city_para}
group by province,city
)a
left join
(select province,sum(order_amt) fenmu
from zhanbi_test
where $expr{date:date_para}
and $expr{province:province_para}
and $expr{city:city_para}
group by province
)b on a.province=b.province
Bu sorgu city alanına göre toplama yapar; diğer alanlara göre toplama yapmak üzere uyarlayabilirsiniz. SQL'i oluşturduktan sonra, veri kümesinin parametre ayarlarında tarih alanını bir tarih türüne dönüştürün, ardından veri kümesini oluşturun ve bir panoya ekleyin.
Kümülatif hesaplamalar için parametreli SQL kullanma
Quick BI'nin birkaç yerleşik kümülatif hesaplama türü vardır: Yıl Başından Bugüne, Tarihsel Kümülatif, Ay Başından Bugüne, Çeyrek Başından Bugüne ve Özel. Veri kümesinde yapılandırılmış bir mali yıl varsa ve tarih alanı bir mali yıl alanıysa, gün düzeyindeki granülarite Mali Yıl Başından Bugüne ve Mali Çeyrek Başından Bugüne'yi de destekler. Ayrıntılar için bkz. Tarih Birikimi.
Yerleşik kümülatif hesaplamalar için boyutlarda aşağıda gösterildiği gibi tarih türünde bir day alanı seçin.
Özel bir zaman dilimi üzerinde kümülatif değerleri hesaplamak için parametreli SQL kullanın. Aşağıdaki örnek aylık bir kümülatif toplamı hesaplar:
select a.mon_date,avg(a.order_num) order_num,sum(b.order_num) add_num
from (
select date_format(report_date,'%Y/%m') mon_date,count(distinct order_id) order_num,max(date_format(report_date,'%Y/%m')) max_mon_date
from company_sales_record_copy
where $expr{report_date:month_date}
group by date_format(report_date,'%Y/%m')
)a
left join(
select date_format(report_date,'%Y/%m') mon_date,count(distinct order_id) order_num
from company_sales_record_copy
where $expr{report_date:month_date}
group by date_format(report_date,'%Y/%m')
)b on a.max_mon_date>=b.mon_date
group by a.mon_date
Sorgu denetimi panodaki parametre alanına bağlandığında, bir ay aralığına göre filtreleme, aralığın ilk ayından başlayarak her ay için kümülatif değeri döndürür.
Tek bir tarihle son N günü sorgulama
Varsayılan olarak, Quick BI'de tek bir tarih seçmek yalnızca o güne ait verileri gösterirken, bir aralık seçmek tam aralık için verileri gösterir. İki ayrı grafikte hem belirli bir günü hem de ona kadar geçen N günü görüntülemek için tarih ofset ifadeleriyle parametreli SQL kullanın:
select report_date,area,product_type,count(distinct order_id) order_num
from company_sales_record
where area in ('Southwest','Northwest','North China')
and ( $expr{dateadd(report_date,1,'dd'):date1}
or $expr{dateadd(report_date,2,'dd'):date1}
or $expr{dateadd(report_date,3,'dd'):date1})
group by area,product_type,report_date
Satır düzeyinde güvenlik
Evet. Daha fazla bilgi için bkz. Satır düzeyinde güvenlik.
Varsayılan satır görüntüleme limiti
Varsayılan olarak 100 satır görüntülenir.
Veri görünümünde sayfalama
Hayır.
Yeni alanların görüntülenmemesi
Toplanmış hesaplanan alanlar veri önizlemesinde gösterilmez.

Harita grafiklerinde coğrafi verileri kullanma
Veri kümesi düzenleme sayfasında, coğrafi alanınızın boyut türünü uygun coğrafi bilgi türüne değiştirin.

Ayrıntılar için bkz. Veri kümesi oluşturma.
Alan adları olarak alan açıklamalarını kullanma
Çalışma alanı ayarlarında, o çalışma alanında veri kümeleri oluştururken tablo adlarının mı yoksa açıklamaların mı kullanılacağını yapılandırabilirsiniz.
Ayrıca veri kümesinin toplu alan yapılandırma panelinde birden çok alan seçebilir ve açıklamalarını alan adları olarak toplu şekilde uygulayabilirsiniz.

Bir alanın açıklaması boşsa, alan adı olarak kullanılamaz.
Özel SQL kullanarak bir veri kümesi oluşturursanız, ifadede alan takma adlarını ayarlayın. Bu takma adlar, görüntülenen alan adları olarak hizmet eder.
Tablo değişikliklerinden sonra veri kümelerini güncelleme
Fiziksel bir alan artık bulunamadığında, Quick BI onu otomatik olarak kaldırmaz; alan analizlerde veya yukarı akış panolarında hala referans alınabilir olabilir. Alandaki değişiklikleri sağ panelde görüntülemek için tuvaldeki tabloya tıklayın, ardından tüm geçersiz alanları tek bir tıklamayla silin.
Birden çok veritabanından veri kümeleri oluşturma
Her iki veri kaynağından da tabloları tuvale sürükleyin, aralarında bir ilişki yapılandırın. Quick Engine ile hızlandırmadan sonra veriler kullanıma hazırdır. Quick Engine'i destekleyen veri kaynakları için bkz. Veri kaynağı özellik listesi.
Veri kümelerini başka bir çalışma alanına kopyalama
Çalışma alanları arasında veri kümesi kopyalama özelliğini kullanın. Ayrıntılar için bkz. Çalışma alanları arasında bir veri kümesi kopyalama.
Çok tablolu analiz için veri modellerini yapılandırma
Daha fazla bilgi için bkz. Model oluşturma.
Bir veri modeli yapılandırmak, tablolar arasındaki JOIN ilişkilerini tanımlar. Bunu veri kümesi düzenleme sayfasında ayarlayın. Ayrıntılar için bkz. Model oluşturma.
Veri kümesi sorgu önbelleğinin faydaları
Sorgu sonucu önbelleğini etkinleştirmek rapor erişimini hızlandırır ve veritabanı yükünü azaltır. İlk istekten sonra, önbellek süresi içindeki sonraki sorgular önbellekten sunulur; veritabanı, önbellek süresi dolana kadar tekrar sorgulanmaz.
Yavaş SQL veri kümesi sorgularını optimize etme
SQL mantığını optimize edin: dizinlerin kullanıldığını doğrulayın ve karmaşık birleştirmeleri mümkün olduğunda veritabanı görünümleriyle değiştirin.
Filtre uygulanmadığında tam tablo taramalarını önlemek için SQL yer tutucuları için genel olarak etkili varsayılan değerler ayarlayın.