Mit DAX, das Kundenalter zum Zeitpunkt des Kaufes ermitteln

Immer wieder gibt es die Anforderung die Verkaufszahlen, nach Altersklassen der Kunden auszuwerten. Dabei ist es wichtig, das Alter zum Zeitpunkt des Kaufes zu ermitteln und nicht das aktuelle Alter des Kunden zu verwenden. In diesem Blogbeitrag zeige ich dir, wie du mit DAX das Kundenalter zum Zeitpunktes Kaufes ermittelst und in Power BI auswerten kannst.

Dieser Betrag basiert auf dem Blogartikel von Lars Schreiber “Das Kundenalter zum Zeitpunkt des Kaufes ermitteln”. Da aber viele Power BI Benutzer gerne mit DAX arbeiten, beschreibe ich hier diesen Lösungsweg.

Als Basis verwende ich die Beispieldaten von Lars, diese können nach einer Newsletter-Anmeldung auf seinem Blog heruntergeladen werden. Das Datenmodell beinhaltet eine Kundentabelle mit 2 Kunden und eine Umsatztabelle mit jeweils 4 Einträgen je Kunde.

Ausgangsmodell

Im ersten Schritt bestimmen wir das Kundenalter zum Zeitpunktes des Kaufes. Hierfür fügen wir eine Neue (DAX) Spalte in die Umsatztabelle ein und berechnen die Differenz zwischen Kaufdatum und Geburtsdatum des zugeordneten Kunden.

Alter =
ROUNDDOWN (
    DIVIDE (
        DATEDIFF ( RELATED ( Kunden[Geburtstag] ), Umsaetze[Datum], DAY ),
        365
    ),
    0
)

Zur Ermittlung der Altersklassen, erweitern wir das Datenmodell um die Tabelle Altersklassifizierung. Diese können wir über diesen DAX Ausdruck generieren lassen.

Altersklassifizierung = 
ADDCOLUMNS (
    SELECTCOLUMNS (
        GENERATESERIES ( 0, MAX ( Umsaetze[Alter] ), 1 ),
        "Alter", [Value]
    ),
    "5-Jahresintervall",
        ROUNDDOWN ( DIVIDE ( [Alter], 5 ), 0 ) * 5 & " - "
            & ROUNDDOWN ( DIVIDE ( [Alter], 5 ), 0 ) * 5 + 5,
    "10-Jahresintervall",
        ROUNDDOWN ( DIVIDE ( [Alter], 10 ), 0 ) * 10 & " - "
            & ROUNDDOWN ( DIVIDE ( [Alter], 10 ), 0 ) * 10 + 10
)

DAX Altersklassifizierung

Die zuvor in der Umsatztabelle erstellte Spalte Alter dient als Schlüsselspalte, um die Tabelle Altersklassifizierung mit der Umsatztabelle zu verbinden.

Tabellen Beziehung

Über die Spalten 5-Jahresintervall und 10-Jahresintervall, aus der Tabelle Altersklassifizierung, kann nun der Umsatz in den entsprechenden Altersklassen angezeigt werden.

Bericht nach Altersklassen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.