Na czym to polega w sklepie
Funkcja USERELATIONSHIP aktywuje nieaktywną relację między tabelami w obrębie jednego wyrażenia DAX. W modelach atrybucji e-commerce rozdziela datę sesji/kliknięcia od daty konwersji - obie powiązane z tabelą Calendar.
Przykład ze sklepu internetowego
Model ma relację Orders[OrderDate] → Calendar (aktywna) i GA4_Events[ClickDate] → Calendar (nieaktywna). Chcesz przychód wg daty kliknięcia w kampanii:
Revenue by Click Date =
CALCULATE(
SUM( Orders[Revenue] ),
USERELATIONSHIP(
GA4_Events[ClickDate],
'Calendar'[Date]
),
Traffic[Medium] = "cpc"
)
// W jednym wyrażeniu tylko jedna relacja Calendar jest aktywna
Spend by Order Date = SUM( Campaigns[Spend] )
// domyślnie używa aktywnej relacji OrderDate
Co zrobić po stronie biznesu
- Porównanie last-click vs first-click przez przełączanie relacji daty touchpoint.
- Raport opóźnienia konwersji: kliknięcie w D, zakup w D+7 na różnych osiach.
- Łączenie ShipDate i
OrderDatew analizie fulfillment vs marketing.
W skrócie
USERELATIONSHIP rozwiązuje problem wielu dat w jednym modelu. Bez niego musiałbyś duplikować tabelę kalendarza lub rozbijać model - oba rozwiązania są gorsze w utrzymaniu.