Sie sind auf Seite 1von 4

ABTRETUNG

Fallstudie -1: Operation Analytics

• Zu berücksichtigende Punkte:
o Was bedeutet das Ereignis? Was ist bei der Überprüfung zu beachten?
o Der Kandidat sollte einige Zeit damit verbringen, den Tisch zu
verstehen

QA: Berechnen Sie die Anzahl der überprüften Jobs pro Stunde und Tag für
November 2020? FB: Nehmen wir an, die obige Metrik wird als Durchsatz
bezeichnet. 7 Tage gleitenden Durchschnitt des Durchsatzes berechnen?
Bevorzugen Sie für den Durchsatz eine tägliche Metrik oder ein 7-Tage-Rolling
und warum?
QC: Berechnen Sie den prozentualen Anteil jeder Sprache in den letzten 30
Tagen?
FD: Nehmen wir an, Sie sehen einige doppelte Zeilen in den Daten. Wie werden
Sie Duplikate aus der Tabelle anzeigen?

QS.
WÄHLEN SIE ds,
ROUND(1.0*COUNT(job_id)*3600/SUM(time_spent),2) als Durchsatz VON
job_data WHERE Event IN (‘Transfer’,’Decision’)
UND ds ZWISCHEN ‘2020-11-01- UND -2020-11-30’ GRUPPE von ds

QB.
MIT CTE AS ( SELECT ds, COUNT(job_id) AS num_Jobs, SUM(time_spent) AS
total_time FROM job_Data WHERE Event IN(‘Transfer;,’Decision’)
UND ds ZWISCHEN "2020-11-01" UND "2020-11-30" GRUPPE von ds ) WÄHLEN
SIE ds,
RUND(1,0*

SUM(num_Jobs) ÜBER (REIHENFOLGE nach ds ZEILEN ZWISCHEN 6


VORHERGEHENDEN UND AKTUELLEN ZEILEN) / SUM(total_time) ÜBER
(REIHENFOLGE nach ds ZEILEN ZWISCHEN 6 VORHERGEHENDEN UND AKTUELLEN
ZEILEN),2) als Durchsatz_7d VON CTE

QK.
MIT CTE AS ( SELECT Language, COUNT(job_id) AS num_Jobs FROM Job_Data
WHERE Event IN(‘Transfer’,’Decision’) AND ds BETWEEN ‘2020-11-01’ AND
‘2020-11-30’ GROUP BY Language ), total AS ( SELECT COUNT(job_id) AS
total_Jobs FROM Job_Data WHERE Event IN(‘Transfer’,’Decision’) AND ds
BETWEEN ‘2020-11-01’ AND ‘2020-11-30’ GROUP BY Language ) SELECT
Language,
RUNDE(100.0*num_Jobs/total_Jobs,2) als Perc_Jobs VON CTE ÜBER
GESAMTREIHENFOLGE von Perc_Job DESC
QD.
MIT CTE AS ( SELECT *,
ROW_NUMBER() OVER (PARTITION BY ds, job_id, actor_id) AS rownum FROM
job_data

LÖSCHEN
VON
CTE
WO rownum > 1

Fallstudie – 2: Untersuchung der metrischen Spitze


QA : Berechnen Sie das wöchentliche Benutzerengagement?
QB : Berechnen Sie das Nutzerwachstum für das Produkt?
QC : Berechnen Sie die wöchentliche Bindung von Benutzern - melden Sie sich als
Kohorte an?
QD : Berechnen Sie das wöchentliche Engagement pro Gerät?
QE : Berechnen Sie die E-Mail-Engagement-Metriken?

QS.
SELECT DATE_TRUNC(‘Woche’, e.occurred_at),
COUNT(DISTINCT e.user_id) AS Weekly_ACTIVE_Users VON Events e
WOBEI e.event_type = ‘engagement’
UND e.event_name = ‘login’
GRUPPIEREN NACH 1
SORTIEREN NACH 1

QB.
WÄHLEN SIE DATE_TRUNC(‘day’, created_at) als Tag,
ANZAHL(*) als all_Users,
COUNT(CASE WHEN activated_at IS NOT NULL THEN u.user_id ELSE
NULL ENDE) AS activated_Users
VON Benutzern u
WHERE created_at >= ‘2021-04-01’
UND created_at < ‘2021-04-30’
GRUPPIEREN NACH 1
SORTIEREN NACH 1

QK.
WÄHLEN SIE DATE_TRUNC(‘week’, z.occurred_at) als "week",
AVG(z.age_at_event) als "Average age durig week",
ZÄHLUNG(EINDEUTIGER FALL, WENN z.user_age > 70 DANN z.user_id SONST
NULL ENDE) als "10+ Wochen",
COUNT(EINDEUTIGER FALL, WENN z.user_age < 70 UND
z.user_age >=63
DANN z.user_id SONST NULL ENDE) AS ‘9 Wochen”,
COUNT(EINDEUTIGER FALL, WENN z.user_age < 63 UND
z.user_age >=56
DANN z.user_id SONS NULL ENDE) AS wochen",
COUNT(DISTINCT T WANN z.user_age < 56 UND z.user_age >=49
THEN Z.USER_ID FALL NULL ENDE) AS wochen",
SONS ‘7
FALL z.user_age
COUNT(DISTINCT WANN < 49 UND z.user_age >=42
SONS ENDE) AS
THEN Z.USER_ID NULL wochen",
T ‘6
FALL z.user_age
COUNT(DISTINCT WANN < 42 UND z.user_age >=35
SONS ENDE) AS
THEN Z.USER_ID NULL wochen",
T ‘5
FALL z.user_age
COUNT(DISTINCT WANN < 35 UND z.user_age >=28
SONS ENDE) AS
THEN Z.USER_ID NULL wochen",
T ‘4
FALL z.user_age
COUNT(DISTINCT WANN < 28 UND >=21
SONS ENDE) AS z.user_age
THEN Z.USER_ID NULL wochen",
T ‘3
FALL z.user_age
COUNT(DISTINCT WANN < 21 UND z.user_age >=14
SONS ENDE) AS
THEN Z.USER_ID NULL wochen",
T ‘2
FALL z.user_age
COUNT(DISTINCT WANN < 14 UND z.user_age >=7
SONS ENDE) AS
THEN Z.USER_ID NULL wochen",
T ‘1
ANZAHL(VERSCHI .user_age
FALL WANN z.user_age < 7 UND Z =63
EDENE >
DANN Z.USER_ID SONS NULL ENDE) AS ‘Weniger woche",
VON( T als ein
WÄHLEN SIE e.occurred_at, u.user_id, DATE_TRUNC("Woche",
u.activated_at) als Aktivierungswoche, EXTRAKT(‘Tag’ AUS E.OCCURRED_AT
– u.activated_at) als Age_at_Event, EXTRAKT(‘Tag’ AUS ‘201-09-
01’::TIMESTAMP – u.activated_at) als User_Age
VON tutorial.yammer_users u
AN TUTORIAL.YAMMER_EVENTS E TEILNEHMEN
ON e.user_id = u.user_id
UND e.event_type = ‘engagement’
UND e.evnetn_name= ‘Login’
UND e.occurred_at >= ‘2014-05-01’
UND e.occurred_at < ‘2014-09-01’
WO u.activated_at NICHT NULL IST ) z
GRUPPE Von1
SORTIEREN NACH 1
LIMIT VON 100

QD.
WÄHLEN SIE DATE_TRUNC(‘week’, occurred_at) als Woche, COUNT(DISTINCT
e.user id) als wöchentlich aktive Benutzer, COUNT(DISTINCT CASE WHEN
e.device IN(‘macbook pro’,’lenovo thinkpad’,’macbook air’,’’Dell
inspiron notebook’,’asus
chromebook’,’dell inspiron desktop’,’acer aspire notebook’,’hp
pavilion desktop’,’acer aspire desktop’,’Mac Mini’)
DANN e.user id SONST NULL-END) als Rechner,
COUNT(EINDEUTIGER FALL, WENN E.DEVICE IN(‘iphone
5’,’Samsung Galaxy
s4’,’Nexus 5’,’iPhone 5s ’,’ iPhone 4s ’,’ nokia lumia
635’,’htc
one’,’Samsung Galaxy Note’,’Amazon Fire phone’) THEN e.user id ELSE
NULL ENDE) als Telefon,
COUNT(EINDEUTIGER FALL, WENN E.DEVICE IN(‘iPad Air’,’Nexus 7’,’iPad
mini’,’nexus 10’,’kindle fire’,’windows surface’,’Samsung Galaxy
ABTRETUNG................................................................................................................................1
QS................................................................................................................................................1
QB...............................................................................................................................................1
QK...............................................................................................................................................1
QD...............................................................................................................................................2
QD...............................................................................................................................................3

LIMIT VON 100

QE.
WÄHLEN SIE DATE_TRUNC(‘week’, occurred_at) als Woche, ANZAHL(FALL WANN
e.action = ‘gesendet wochenübersicht’
DANN e.user id
ANSONSTEN NULL ENDE) als wöchentliche E-Mails, ZÄHLUNG(FALL WANN
e.action = ‘gesendet reengagement-E-
Mail ’ DANN
e. User ID SONST NULL ENDE) als Reengagement E-Mails, ZÄHLUNG(FALL
WANN e.action = ‘E-Mail open’ THEN E.USER
id ELSE
NULL ENDE) als E-Mail wird geöffnet, ANZAHL(FALL WANN e.action =
‘E-Mail durchklicken’ DANN e.user id
SONST NULL ENDE) AS e-Mail-Klicks
VON E-MAIL-EREIGNISSEN e
GRUPPIEREN NACH 1

Das könnte Ihnen auch gefallen