| | 1 | = AdvancedReports = |
| | 2 | |
| | 3 | Напредни извештаи од базата (PostgreSQL) |
| | 4 | Во продолжение следуваат корисни извештаи за пополнетост на часови, приходи и pivot-прегледи по тренинзи. Примерите користат нашата шема: User, Class, Instructor, Training, Class_Has_Training, User_Booked_Class, Event, User_Event, Package, User_Purchased_Package, Merch_Items, User_Purchased_Merch, Package_Includes_Class. |
| | 5 | |
| | 6 | |
| | 7 | |
| | 8 | == 1) Популарност и приходи: Пакети и Мерч == |
| | 9 | Пакети – број на купувања и бруто приход: |
| | 10 | {{{ |
| | 11 | #!sql |
| | 12 | SELECT |
| | 13 | p.package_name, |
| | 14 | COUNT(*) AS num_purchases, |
| | 15 | SUM(p.price) AS gross_revenue |
| | 16 | FROM "User_Purchased_Package" upp |
| | 17 | JOIN "Package" p ON p.package_id = upp.package_id |
| | 18 | GROUP BY p.package_name |
| | 19 | ORDER BY gross_revenue DESC, num_purchases DESC; |
| | 20 | }}} |
| | 21 | |
| | 22 | Мерч – број на продажби и бруто приход: |
| | 23 | (доколку имате колонa quantity во "User_Purchased_Merch", заменете COUNT() со SUM(COALESCE(upm.quantity,1)) и помножете со price)* |
| | 24 | |
| | 25 | {{{ |
| | 26 | #!sql |
| | 27 | SELECT |
| | 28 | m.item_name, |
| | 29 | COUNT(*) AS num_sales, |
| | 30 | SUM(m.price) AS gross_revenue |
| | 31 | FROM "User_Purchased_Merch" upm |
| | 32 | JOIN "Merch_Items" m ON m.merch_id = upm.merch_id |
| | 33 | GROUP BY m.item_name |
| | 34 | ORDER BY gross_revenue DESC, num_sales DESC; |
| | 35 | }}} |