Ana içeriğe geç Tamamlayıcı içeriğe geç

Türetilmiş alanlar

İlişkili bir grup alanınız varsa ya da alanlar boyutlar veya hesaplamalar oluşturulurken ilişkili küçük parçalara bölünebilecek bilgiler taşıyorsa, türetilmiş alanlar oluşturmak için kullanılabilecek alan tanımları oluşturabilirsiniz. Bunun bir örneği, yıl, ay, hafta numarası veya gün adı gibi birkaç öznitelik türetebileceğiniz tarih alanıdır. Tüm bu öznitelikler, Qlik Sense tarih fonksiyonları kullanılarak boyut ifadesinde oluşturulabilir, ancak bunun alternatifi tarih türünden tüm alanlarda ortak olan bir takvim tanımı oluşturmaktır. Alan tanımları, veri kod dosyasında depolanır.

Bilgi notuQlik Sense için varsayılan takvim alanı tanımları, Veri yöneticisi kullanılarak yüklenen veri alanlarında autoCalendar öğesine dahildir.Daha fazla bilgi için bk. Otomatik takvimi kullanarak veri alanlarını otomatik olarak türetme ve Bağlantılardan ve yeni dosyalardan uygulamaya veri ekleme.

Takvim alanı tanımlarını bildirme

Türetilen alanların tanımını oluşturmak için Declare deyimini kullanırsınız. Bu, alanın farklı özniteliklerini tanımladığınız (bu durumda tarihle ilgili öznitelikler) yerdir. Her alanı <expression> As field_name tagged tag olarak tanımlanır. Bir veya daha fazla etiketin ayarlanması isteğe bağlıdır; ancak bu, türetilmiş alanın sıralama düzenini etkileyebilir. Türetilen alanların oluşturulması gereken veri alanına referansta bulunmak için $1 öğesini kullanın.

Uyarı notu Kendi otomatik takviminizi oluşturmuyor veya Veri yöneticisi tarafından oluşturulan otomatik olarak yapılandırılmış [autoCalendar] ile çalışmıyorsanız takvim alanı tanımları için ad olarak autoCalendar kullanmayın. Bu ad, otomatik olarak oluşturulan takvim şablonları için ayrılmıştır. Bk. Otomatik takvimi kullanarak veri alanlarını otomatik olarak türetme.
Calendar: DECLARE FIELD DEFINITION TAGGED '$date' Parameters first_month_of_year = 1 Fields Year($1) As Year Tagged ('$numeric'), Month($1) as Month Tagged ('$numeric'), Date($1) as Date Tagged ('$date'), Week($1) as Week Tagged ('$numeric'), Weekday($1) as Weekday Tagged ('$numeric'), DayNumberOfYear($1, first_month_of_year) as DayNumberOfYear Tagged ('$numeric');
 

Daha fazla bilgi için bk. Declare.

Derive ile veri alanlarını takvimle eşleme

Bir sonraki adım, Derive deyimini kullanarak mevcut veri alanlarını takvimle eşlemektir. Bu, türetilmiş alanları oluşturacaktır. Bunu, veri kod dosyasında üç alternatif yolla yapabilirsiniz:

  • Belirli alanları alan adına göre eşleyin.

    DERIVE FIELDS FROM FIELDS OrderDate,ShippingDate USING Calendar;
  • Tüm alanları, bir veya daha fazla belirli alan etiketiyle eşleyin.

    DERIVE FIELDS FROM EXPLICIT TAGS ('$date') USING Calendar;
  • Etiketlenen tüm alanları alan tanımının etiketlerinden biriyle (yukarıdaki örnekte $date) eşleyin.

    DERIVE FIELDS FROM IMPLICIT TAG USING Calendar;

Bu durumda, buradaki üç örnekten herhangi birini kullanabilirsiniz.

Daha fazla bilgi için bk. Derive.

Otomatik takvimi kullanarak veri alanlarını otomatik olarak türetme

Uygulamanızı oluşturmak ve verileri yüklemek için Veri yöneticisi kullanıyorsanız [autoCalendar] adlı bir takvim, varsayılan takvim tanımları sağlamak üzere komut dosyasına otomatik olarak eklenir. Bunlar uygulamanın iş mantığında görünür.

Veri alanları içeren komut dosyalarını kullanarak oluşturulan uygulamalar için tüm geçerli tarih alanlarını yükledikten sonra aşağıda gösterilen bu [autoCalendar] kodunu, bir bölümdeki komut dosyanıza ekleyebilirsiniz. Bu, uygulama kullanıcılarının akıllı sayfalar oluşturabilenler dahil olmak üzere tüm mevcut döneme dayalı analiz türlerini kullanmasına izin verir. Takvim dönemlerinin iş mantığına doğru şekilde eklenmesi için takvimin [autocalendar] olarak adlandırılması gerektiğini unutmayın.

Tarih alanını otomatik takvim hesaplamalarına bağlayarak yeni türetilmiş tarih alanları oluşturmak için satır DERIVE FIELDS FROM FIELDS [My_Date_Field1], [My_Date_Field2] USING [autoCalendar] ; içindeki [My_Date_Field1] ve [My_Date_Field2] alan adlarını değiştirin. Otomatik takvimle bağlamak için sadece bir tarihiniz varsa [My_Date_Field2] öğesini kaldırın. Benzer şekilde, otomatik takvimi etkinleştirmek için birden fazla tarih alanınız varsa fazladan tarih alanları ekleyin.

[autoCalendar]:
  DECLARE FIELD DEFINITION Tagged ('$date')
FIELDS		
  Dual(Year($1), YearStart($1)) AS [Year] Tagged ('$axis', '$year'),
  Dual('Q'&Num(Ceil(Num(Month($1))/3)),Num(Ceil(NUM(Month($1))/3),00)) AS [Quarter] Tagged ('$quarter', '$cyclic'),
  Dual(Year($1)&'-Q'&Num(Ceil(Num(Month($1))/3)),QuarterStart($1)) AS [YearQuarter] Tagged ('$yearquarter', '$qualified'),
  Dual('Q'&Num(Ceil(Num(Month($1))/3)),QuarterStart($1)) AS [_YearQuarter] Tagged ('$yearquarter', '$hidden', '$simplified'),
  Month($1) AS [Month] Tagged ('$month', '$cyclic'),
  Dual(Year($1)&'-'&Month($1), monthstart($1)) AS [YearMonth] Tagged ('$axis', '$yearmonth', '$qualified'),
  Dual(Month($1), monthstart($1)) AS [_YearMonth] Tagged ('$axis', '$yearmonth', '$simplified', '$hidden'),
  Dual('W'&Num(Week($1),00), Num(Week($1),00)) AS [Week] Tagged ('$weeknumber', '$cyclic'),
  Date(Floor($1)) AS [Date] Tagged ('$axis', '$date', '$qualified'),
  Date(Floor($1), 'D') AS [_Date] Tagged ('$axis', '$date', '$hidden', '$simplified'),
  If (DayNumberOfYear($1) <= DayNumberOfYear(Today()), 1, 0) AS [InYTD] ,
  Year(Today())-Year($1) AS [YearsAgo] ,
  If (DayNumberOfQuarter($1) <= DayNumberOfQuarter(Today()),1,0) AS [InQTD] ,
  4*Year(Today())+Ceil(Month(Today())/3)-4*Year($1)-Ceil(Month($1)/3) AS [QuartersAgo] ,
  Ceil(Month(Today())/3)-Ceil(Month($1)/3) AS [QuarterRelNo] ,
  If(Day($1)<=Day(Today()),1,0) AS [InMTD] ,
  12*Year(Today())+Month(Today())-12*Year($1)-Month($1) AS [MonthsAgo] ,
  Month(Today())-Month($1) AS [MonthRelNo] ,
  If(WeekDay($1)<=WeekDay(Today()),1,0) AS [InWTD] ,
  (WeekStart(Today())-WeekStart($1))/7 AS [WeeksAgo] ,	
  Week(Today())-Week($1) AS [WeekRelNo] ;

DERIVE FIELDS FROM FIELDS [My_Date_Field1], [My_Date_Field2] USING [autoCalendar] ;

Doğru şekilde yapıldığında uygulamanın iş mantığında otomatik olarak birkaç takvim dönemi oluşturulur ve İçgörü Danışmanı içinde döneme dayalı analiz türlerini kullanabilirsiniz.

Daha fazla bilgi için bk. Döneme dayalı analizler için İçgörü Danışmanı içinde akıllı sayfaları kullanma.

Görselleştirmedeki türetilmiş tarih alanlarını kullanma

Qlik Sense, takvim tanımı oluşturduysanız ve alanları buradaki örnekte olduğu gibi eşlediyseniz türetilmiş tarih alanlarını algılamaya hazır olur. Alanlar varlık panelinin Tarih ve saat alanları bölümünde kullanılabilirler. Türetilmiş tüm alanları, ifade düzenleyicisinde ve boyutları oluşturduğunuz veya düzenlediğiniz zaman da bulacaksınız.

Daha fazla bilgi için bkz. Tarih ve saat alanları.

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!