Udostępnij przez


Możliwość komponowania w widokach metryk

Na tej stronie wyjaśniono, jak komponowanie działa w widokach metryk i zawiera przykłady pokazujące sposób tworzenia logiki przez tworzenie wymiarów, miar i sprzężeń w jednym widoku.

Przegląd

Widoki metryk są komponowalne, co oznacza, że można zdefiniować logikę warstwową wielokrotnego użytku. Zamiast pisać każdą definicję od podstaw, można tworzyć nowe, które opierają się na istniejących wymiarach i miarach.

Dzięki możliwości komponowania można wykonywać następujące czynności:

  • Odwołuj się do wcześniej zdefiniowanych wymiarów przy definiowaniu nowych wymiarów.
  • Odwołuj się do dowolnych wymiarów lub wcześniej zdefiniowanych miar w nowych miarach
  • Odwołania do kolumn pochodzących ze sprzężeń zdefiniowanych w widoku metryk

Komponowanie pomaga uniknąć duplikacji, usprawnić definicje metryk i obsługiwać bardziej złożoną analizę bez konieczności każdorazowego używania nieprzetworzonego kodu SQL.

Komponowalność metryk

Komposability to zasada tworzenia złożonych metryk przez ponowne używanie prostszych, podstawowych miar. Zamiast pisać i utrzymywać złożoną, zagnieżdżoną logikę SQL dla każdego pochodnego wskaźnika KPI, należy zdefiniować podstawowe "atomowe" miary raz, a następnie odwoływać się do nich w innych, bardziej zaawansowanych obliczeniach. Takie podejście znacznie poprawia spójność, możliwość audytu i konserwację warstwy semantycznej.

Podstawą komposowalności jest MEASURE() funkcja, która umożliwia definicji miary odwoływanie się do każdej innej miary zdefiniowanej w tym samym widoku metryki.

Definiowanie miar z komponowalnością

Implementacja komponowalności jest w sekcji measures widoku metryki YAML.

Typ miary Description Example
Atomowy Prosta, bezpośrednia agregacja w kolumnie źródłowej. Tworzą one bloki konstrukcyjne. SUM(o_totalprice)
Składający się Wyrażenie, które matematycznie łączy jedną lub więcej innych miar przy użyciu MEASURE() funkcji . MEASURE(Total Revenue) / MEASURE(Order Count)

Przykład: Średnia wartość zamówienia (AOV)

Aby obliczyć średnią wartość zamówienia (AOV), potrzebne są dwie miary: Total Revenue i 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'

W tym przykładzie, jeśli definicja total_revenue zmienia się (np. jeśli filtr wykluczający podatek zostanie dodany), avg_order_value automatycznie dziedziczy tę zmianę, zapewniając, że metryka AOV pozostaje spójna z nową regułą biznesową.

Kompozycyjność z logiką warunkową

Komponowanie umożliwia tworzenie złożonych współczynników, wartości procentowych warunkowych i współczynników wzrostu bez polegania na funkcjach okienkowych do prostych obliczeń z okresu na okres.

Przykład: Stopa realizacji

Aby obliczyć stawkę realizacji (zrealizowane zamówienia/łączne zamówienia), najpierw zdefiniuj miarę dla zakończonych zamówień przy użyciu klauzuli FILTER .

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

Najlepsze praktyki dotyczące używania komponowalności

  1. Najpierw zdefiniuj miary atomowe: Zawsze ustanów swoje podstawowe miary (SUM, COUNT, AVG) przed zdefiniowaniem jakichkolwiek miar, które się do nich odwołują.
  2. Użyj MEASURE() funkcji w celu zapewnienia spójności: zawsze używaj funkcji MEASURE() podczas odwoływania się do obliczeń innej miary w ramach elementu expr. Nie próbuj ręcznie powtarzać logiki agregacji (na przykład należy unikać SUM(a) / COUNT(b) , jeśli miary dla licznika i mianownika już istnieją).
  3. Określanie priorytetów czytelności: Element expr dla złożonej miary powinien być odczytywany jak formuła matematyczna kluczowego wskaźnika wydajności. Na przykład MEASURE(Gross Profit) / MEASURE(Total Revenue) jest jaśniejszy i łatwiejszy do przeprowadzenia inspekcji niż pojedyncze złożone wyrażenie SQL.
  4. Połącz z metadanymi semantycznymi: Po utworzeniu współczynnika użyj metadanych semantycznych (jak pokazano w przykładzie fulfillment_rate ), aby automatycznie sformatować wynik jako wartość procentową lub walutę dla narzędzi podrzędnych. Zobacz Używanie metadanych semantycznych w widokach metryk.