Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka vysvětluje, jak kompozitovatelnost funguje v zobrazeních metrik, a poskytuje příklady, které vám ukážou, jak vytvořit logiku na základě dimenzí, měr a spojení v rámci jednoho zobrazení.
Přehled
Zobrazení metrik jsou kompozovatelná, což znamená, že můžete definovat vrstvenou a opakovaně použitelnou logiku. Místo psaní každé definice úplně od začátku můžete vytvořit nové, které vycházejí z existujících dimenzí a měr.
S modularitou můžete:
- Odkaz na dříve definované dimenze v nových dimenzích
- Odkazujte na jakoukoli dimenzi nebo dříve definované míry v nových mírách.
- Odkazované sloupce ze spojení definovaných v zobrazení metriky
Kompozibilita vám pomáhá vyhnout se duplikacím, zjednodušit definice metrik a podporovat složitější analýzu, aniž by pokaždé bylo potřeba použít nezpracovaný SQL.
Možnosti kompilace metrik
Kompozičnost je principem vytváření složitých metrik opětovným použitím jednodušších základních měr. Místo psaní a údržby složité, vnořené logiky SQL pro každý odvozený klíčový ukazatel výkonu definujete základní "atomické" míry jednou a pak na ně odkazujete v jiných složitějších výpočtech. Tento přístup výrazně zlepšuje konzistenci, auditovatelnost a údržbu sémantické vrstvy.
Základem kompozability je MEASURE() funkce, která umožňuje definici míry odkazovat na jakoukoli jinou míru definovanou ve stejném zobrazení metriky.
Definování měr s možností kompilace
Kompozability se implementuje v measures části zobrazení YAML pro metriky.
| Typ míry | Description | Example |
|---|---|---|
| Atomový | Jednoduchá přímá agregace ve zdrojovém sloupci. Ty tvoří stavební bloky. | SUM(o_totalprice) |
| Klidný | Výraz, který matematicky kombinuje jednu nebo více jiných měr pomocí MEASURE() funkce. |
MEASURE(Total Revenue) / MEASURE(Order Count) |
Příklad: Průměrná hodnota objednávky (AOV)
K výpočtu průměrné hodnoty objednávky (AOV) potřebujete dvě míry: Total Revenue a 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'
Pokud se v tomto příkladu definice total_revenue změní (např. přidáním filtru pro vyloučení daně), avg_order_value automaticky zdědí tuto změnu, takto se zajistí, že metrika AOV zůstane konzistentní s novým obchodním pravidlem.
Kompozability s podmíněnou logikou
Kompozičnost můžete použít k vytváření složitých poměrů, podmíněných procent a míry růstu, aniž byste museli spoléhat na funkce oken pro jednoduché výpočty v průběhu období.
Příklad: Míra plnění
K výpočtu sazby plnění (splněné objednávky / celkové objednávky) nejprve definujete míru pro dokončené objednávky pomocí FILTER klauzule.
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
Osvědčené postupy pro používání kompoziability
-
Nejprve definujte atomické míry: Před definováním jakýchkoli měr, které na ně odkazují, vždy vytvořte základní míry (
SUM,COUNTAVG, ). -
Použijte
MEASURE()pro konzistenci: Při odkazování na výpočet jiné míry v rámciMEASURE()vždy používejte funkciexpr. Nepokoušejte se ručně opakovat logiku agregace (například nepoužívejteSUM(a) / COUNT(b), pokud již existují míry pro čitatele i jmenovatele). -
Prioritizujte čitelnost: Složená
exprmíra může být čtena jako matematický vzorec pro KPI. Je napříkladMEASURE(Gross Profit) / MEASURE(Total Revenue)jasnější a jednodušší auditovat než jeden složitý výraz SQL. -
Zkombinujte sémantická metadata: Po vytvoření poměru použijte sémantická metadata (jak je znázorněno v příkladu
fulfillment_rate) k automatickému formátování výsledku jako procenta nebo měny pro podřízené nástroje. Viz Použití sémantických metadat v zobrazeních metrik.