Допустим, мой результат выглядит так (упрощенный пример):
UserName | ProfileCreation | PurchasePrice | PurchaseDate |
---|---|---|---|
Alice | Dec 21 2019 6:00AM | 120.00 | Dec 21 2019 8:00AM |
Alice | Dec 21 2019 6:00AM | 90.00 | Dec 25 2019 9:00AM |
Alice | Dec 21 2019 6:00AM | 150.00 | Jan 02 2020 10:00AM |
Bob | Jan 01 2020 9:00PM | 50.00 | Jan 03 2020 11:00PM |
Bob | Jan 01 2020 9:00PM | 70.00 | Jan 07 2020 11:00PM |
Код для этого вывода, я думаю, будет выглядеть так (не так важно):
SELECT
UserName, ProfileCreation, PurchasePrice, PurchaseDate
FROM Some_Random_Database
Но желаемый результат должен выглядеть так:
UserName | ProfileCreation | PurchasePrice | FirstPurchaseDate | NumberOfPurchases | AvgOfPurchasePrice |
---|---|---|---|---|---|
Alice | Dec 21 2019 | 120.00 | Dec 21 2019 | 3 | 120.00 |
Bob | Jan 01 2020 | 50.00 | Jan 03 2020 | 2 | 60.00 |
Надеюсь, моя цель понятна - иметь уникального пользователя с датой его / ее самой старой покупки и с некоторыми расчетными показателями для всех покупок. Цена первой покупки может остаться, но это не обязательно.
Я пишу на диалекте SOQL - Salesforce Marketing Cloud.
Очевидно, у меня есть некоторые идеи, как внести некоторые из намеченных настроек в мой код, но я хотел бы увидеть решение от любого эксперта, который захочет показать мне наилучший из возможных способов. Я правда просто новичок :-)
Благодарю за любую помощь, ребята!
MAX(fieldname) OVER(ORDER BY datefield)
илиMIN(fieldname) OVER(ORDER BY datefield)
? - person Maciej Los   schedule 11.02.2021