Aracılığıyla paylaş


Ölçüm görünümlerinde birlenebilirlik

Bu sayfada, metrik görünümlerinde birleşebilirliğin nasıl çalıştığı açıklanır ve tek bir görünümde boyutlar, ölçüler ve ilişkilendirmeler oluşturarak mantık oluşturmayı gösteren örnekler sağlanır.

Genel Bakış

Ölçüm görünümleri birleştirilebilir, yani katmanlı, yeniden kullanılabilir mantık tanımlayabilirsiniz. Her tanımı sıfırdan yazmak yerine, mevcut boyut ve ölçüleri temel alan yenilerini oluşturabilirsiniz.

Oluşturulabilirlik ile şunları yapabilirsiniz:

  • Yeni boyutlarda önceden tanımlanmış boyutlara başvurma
  • Yeni ölçülerde herhangi bir boyuta veya önceden tanımlanmış ölçülere başvurma
  • Ölçüm görünümünde tanımlanan birleştirmelerden sütunlara başvuru yapma

Birleştirme, yinelenenleri önlemenize, ölçüm tanımlarını kolaylaştırmanıza ve her seferinde ham SQL gerektirmeden daha karmaşık analizi desteklemenize yardımcı olur.

Metriğin birleştirilebilirliği

Birleştirme , daha basit, temel ölçüleri yeniden kullanarak karmaşık ölçümler oluşturma ilkesidir. Türetilmiş her KPI için karmaşık, iç içe yerleştirilmiş SQL mantığı yazmak ve sürdürmek yerine, temel "atomik" ölçü birimlerini bir kez tanımlar ve daha sonra bu ölçülere diğer, daha karmaşık hesaplamalarda başvurursunuz. Bu yaklaşım semantik katmanınızın tutarlılığını, denetlenebilirliğini ve bakımını önemli ölçüde artırır.

Bileşenliğin temeli, bir ölçüm tanımının aynı metrik görünümünde tanımlanan diğer ölçümlere başvurmasını sağlayan MEASURE() işlevdir.

Birlenebilirlik ile ölçüleri tanımlama

Bileşenoluşturma ölçüm görünümü YAML bölümünde hayata geçirilir measures.

Ölçü Türü Description Example
Atomik Kaynak sütunda basit, doğrudan birleştirme. Bunlar yapı taşları oluşturur. SUM(o_totalprice)
Oluşan MEASURE() işlevini kullanarak bir veya daha fazla ölçüyü matematiksel olarak birleştiren ifade. MEASURE(Total Revenue) / MEASURE(Order Count)

Örnek: Ortalama Sipariş Değeri (AOV)

Ortalama Sipariş Değeri'nin (AOV) hesaplanması için iki ölçü gerekir: Total Revenue ve Order Count.

source: samples.tpch.orders

measures:
  # Total Revenue
  - name: total_revenue
    expr: SUM(o_totalprice)
    comment: The gross total value of all orders.
    display_name: 'Total Revenue'

  # Order Count
  - name: order_count
    expr: COUNT(1)
    comment: The total number of line items or orders.
    display_name: 'Order Count'

  # Composed Measure: Average Order Value (AOV)
  - name: avg_order_value
    # Defines AOV as Total Revenue divided by Order Count
    expr: MEASURE(total_revenue) / MEASURE(order_count)
    comment: Total revenue divided by the number of orders.
    display_name: 'Avg Order Value'

Bu örnekte, total_revenue tanım değişirse (örneğin, vergi hariç tutmak için bir filtre eklenirse), avg_order_value bu değişikliği otomatik olarak devralır ve AOV metriğinin yeni iş kuralıyla tutarlı kalmasını sağlar.

Koşullu mantık ile birlikte kullanılabilirlik

Basit dönem içi hesaplamalar için pencere işlevlerine bağlı kalmadan karmaşık oranlar, koşullu yüzdeler ve büyüme oranları oluşturmak için birleştirebilirsiniz.

Örnek: Karşılama Oranı

Karşılama Oranını (Karşılanan Siparişler / Toplam Siparişler) hesaplamak için önce bir FILTER yan tümce kullanarak tamamlanmış siparişlerin ölçüsünü tanımlarsınız.

source: samples.tpch.orders

measures:
  # Total Orders (denominator)
  - name: total_orders
    expr: COUNT(1)
    comment: Total volume of orders regardless of status.

  #  Fulfilled Orders (numerator)
  - name: fulfilled_orders
    expr: COUNT(1) FILTER (WHERE o_orderstatus = 'F')
    comment: Only includes orders marked as fulfilled.

  # Composed Measure: Fulfillment Rate (Ratio)
  - name: fulfillment_rate
    expr: MEASURE(fulfilled_orders) / MEASURE(total_orders)
    display_name: 'Order Fulfillment Rate'
    format:
      type: percentage # Using semantic metadata to format as a percent

Bestelenebilirliği kullanmak için en iyi yöntemler

  1. Önce atomik ölçüleri tanımlayın: Bunlara başvuran ölçüleri tanımlamadan önce her zaman temel ölçülerinizi (SUM, COUNT, AVG) oluşturun.
  2. Tutarlılık için şunu kullanınMEASURE(): bir MEASURE() içindeki başka bir ölçünün expr hesaplamasını referans alırken her zaman expr işlevini kullanın. Toplama mantığını el ile yinelemeyi denemeyin (örneğin, hem pay hem de payda için ölçülerin zaten mevcut olduğu durumda SUM(a) / COUNT(b) kullanmaktan kaçının).
  3. Okunabilirliğe öncelik verin: KPI için oluşturulan ölçüm, matematiksel bir formül gibi okunmalıdır. Örneğin, MEASURE(Gross Profit) / MEASURE(Total Revenue) tek bir karmaşık SQL ifadesinden daha net ve denetlenmek daha kolaydır.
  4. Anlam meta verileriyle birleştirin: Bir oran oluşturdıktan sonra, sonucu aşağı akış araçları için yüzde veya para birimi olarak otomatik olarak biçimlendirmek için semantik meta verileri (örnekte gösterildiği fulfillment_rate gibi) kullanın. Bkz . Ölçüm görünümlerinde anlam meta verilerini kullanma.