Power BI · मराठी आवृत्ती
1.7 या course मधला quick-commerce sample data
या page मध्ये
- Column आणि measure ची नावं कशी वाचायची?
- Orders — प्रत्येक row मध्ये एका order मधला एक product
- सर्वांत महत्त्वाचं: एका row चा अर्थ काय?
- Product — product ची माहिती
- Customer — customer ची माहिती
- DeliveryPartner — delivery partner ची माहिती
- DarkStore — store ची माहिती
- Date — तारखांची माहिती; Module 11 मध्ये पुढे शिकू
- महाराष्ट्रातल्या ओळखीच्या products ची examples
- Sample data मधले dark stores
- हे tables एकमेकांना कसे जोडले आहेत?
- स्वतः करून पाहा: rows वाढल्या म्हणजे orders वाढल्या का?
- आता तुमची practice
- रवींद्र बागले यांची tip
हा course शिकताना आपण quick-commerce म्हणजे काही मिनिटांत किराणा सामान deliver करण्याच्या business ची examples घेणार आहोत. Sample data मध्ये महाराष्ट्रातली सहा शहरं आहेत: Pune, Nashik, Nagpur, Kolhapur, Solapur आणि Sambhaji Nagar.
मुख्य example साठी Blinkit चा sample order data आहे. त्याच structure मधला Amazon Now चा sample data काही examples, append / merge lessons, exercises आणि final project मधल्या platform comparison साठी वापरला आहे.
हा पूर्णपणे काल्पनिक sample data आहे. तो फक्त practice साठी तयार केला आहे. त्यातले आकडे, customers, stores आणि performance ही कोणत्याही company ची खरी माहिती नाही. Company names फक्त examples ओळखीची वाटावीत म्हणून वापरली आहेत. व्यक्तींची नावंही sample आहेत.
Column आणि measure ची नावं कशी वाचायची?
Column लिहिताना Table[Column] ही पद्धत वापरतो. उदाहरणार्थ, Orders[Amount]. Measure लिहिताना फक्त square brackets वापरतो: [Total Sales]. त्यामुळे column आणि measure यातला फरक लगेच कळतो.
Raw files मध्ये OrderID, OrderDateTime अशी छोटी नावं आहेत. Power Query मध्ये त्यांना Order ID, Order DateTime अशी वाचायला सोपी नावं देतो. पुढच्या DAX examples मध्ये ही friendly names वापरली आहेत. याबद्दल Module 11 मध्ये अधिक शिकू.
Orders — प्रत्येक row मध्ये एका order मधला एक product
| Column चे मूळ नाव | वापरायला सोपं नाव | Data type | उदाहरण |
|---|---|---|---|
| OrderID | Order ID | Text | BLK-250314-0457 |
| OrderDateTime | Order DateTime (IST) | Date/Time | 14-03-2025 19:42 |
| – (Power Query मध्ये तयार करायचे) | Order Date, Order Hour | Date, Whole number | 14-03-2025, 19 |
| CustomerID | Customer ID | Text | C-0102 |
| StoreID | Store ID | Text | BLK-PUN-01 |
| ProductID | Product ID | Text | P-021 |
| Quantity | Quantity | Whole number | 2 |
| Amount | Amount | Fixed decimal (₹) | ₹ 54.00 (discount नंतर त्या order line ची रक्कम) |
| Discount | Discount | Fixed decimal (₹) | ₹ 6.00 |
| DeliveryFee | Delivery Fee | Fixed decimal (₹) | ₹ 25.00 |
| DeliveryTimeMins | Delivery Time Mins | Whole number | 9 |
| DeliveredDateTime | Delivered DateTime (and Delivered Date) | Date/Time | 14-03-2025 19:51 |
| DeliveryPartnerID | Delivery Partner ID | Text | DP-017 |
| OrderStatus | Order Status | Text | Delivered / Cancelled |
| PaymentMode | Payment Mode | Text | UPI / Card / Cash on Delivery / Wallet |
| Platform | Platform | Text | Blinkit / Amazon Now |
Sample data मधल्या सर्व वेळा Indian Standard Time — IST, UTC+5:30 मध्ये आहेत. Source system मध्ये वेळ UTC मध्ये असेल तर ती Power Query मध्ये IST मध्ये कशी आणायची ते Module 7.14 मध्ये पाहू.
सर्वांत महत्त्वाचं: एका row चा अर्थ काय?
Orders table मधली एक row म्हणजे एक पूर्ण order नाही. ती त्या order मधल्या एका product ची order line आहे. समजा, एका order मध्ये दूध, पोहे आणि साबण घेतला. तर त्याच Order ID च्या तीन rows असतील.
Delivery Fee, Delivery Time Mins, Delivered DateTime, Delivery Partner ID, Order Status आणि Payment Mode ही पूर्ण order ची माहिती प्रत्येक line वर पुन्हा दिसते. त्यामुळे orders मोजताना DISTINCTCOUNT(Orders[Order ID]) वापरतो. COUNTROWS वापरलं तर order lines मोजल्या जातील.
या sample data मध्ये cancelled orders साठी Amount, Discount आणि Delivery Fee हे 0 आहेत. Delivery Time रिकामा आहे.
आणखी एक गोष्ट: एका order ची delivery fee ₹२५ असेल आणि त्या order च्या तीन rows असतील, तर सरळ बेरीज केल्यावर ₹७५ येतील. पण fee प्रत्यक्षात ₹२५च आहे. म्हणून calculation लिहिण्याआधी field कोणत्या level ची आहे ते तपासा.
Product — product ची माहिती
| Column | उदाहरण |
|---|---|
| Product ID | P-021 |
| Product Name | Gokul Cow Milk 500 ml |
| Category | Dairy & Breakfast |
| Sub Category | Milk |
| Brand | Gokul |
| Unit Price | ₹ 30.00 |
| Unit Cost | ₹ 26.00 |
Customer — customer ची माहिती
| Column | उदाहरण |
|---|---|
| Customer ID | C-0102 |
| Customer Name | Ruhi Bagale |
| Gender | Female |
| City | Pune |
| Area | Baner |
| Signup Date | 05-08-2023 |
DeliveryPartner — delivery partner ची माहिती
| Column | उदाहरण |
|---|---|
| Delivery Partner ID | DP-017 |
| Partner Name | Salman |
| Vehicle Type | Bike / EV Scooter / Bicycle |
| Home Store ID | BLK-PUN-01 |
| Joining Date | 12-01-2024 |
DarkStore — store ची माहिती
| Column | उदाहरण |
|---|---|
| Store ID | BLK-PUN-01 |
| Store Name | Kothrud Hub |
| Platform | Blinkit |
| Area | Kothrud |
| City | Pune |
| State / Country | Maharashtra / India |
| City Manager | Ravindra Bagale |
| Manager Email | ravindra.bagale@example.com |
Date — तारखांची माहिती; Module 11 मध्ये पुढे शिकू
| Column | उदाहरण |
|---|---|
| Date | 14-03-2025 |
| Year / Quarter | 2025 / Q1 |
| Month Number / Name | 3 / March |
| Year Month | 2025-03 |
| Day Name | Friday |
| Festival | Diwali / Ganeshotsav / (blank) |
महाराष्ट्रातल्या ओळखीच्या products ची examples
| Product ID | Product Name | Category | Sub Category |
|---|---|---|---|
| P-001 | Nashik Grapes 500 g | Fruits & Vegetables | Fresh Fruits |
| P-002 | Nagpur Oranges 1 kg | Fruits & Vegetables | Fresh Fruits |
| P-021 | Gokul Cow Milk 500 ml | Dairy & Breakfast | Milk |
| P-022 | Amul Butter 100 g | Dairy & Breakfast | Butter & Cheese |
| P-031 | Thick Poha 1 kg | Dairy & Breakfast | Breakfast Staples |
| P-032 | Ladi Pav (6 pcs) | Dairy & Breakfast | Bread & Pav |
| P-041 | Kolhapuri Misal Masala 100 g | Snacks | Instant Mixes & Masala |
| P-042 | Bhakarwadi 250 g | Snacks | Namkeen |
| P-051 | Kokum Sharbat 750 ml | Beverages | Syrups & Sharbat |
| P-061 | Herbal Bath Soap 4 x 100 g | Personal Care | Bath & Body |
| P-071 | Solapuri Chaddar (Double) | Household | Home Linen |
| P-072 | Dishwash Liquid 500 ml | Household | Cleaning |
Categories: Fruits & Vegetables, Dairy & Breakfast, Snacks, Beverages, Personal Care आणि Household. Sample files मधल्या prices आणि costs फक्त practice साठी ठरवलेल्या आहेत.
Sample data मधले dark stores
| City | Blinkit dark stores (Store ID – Area) | Amazon Now dark stores (Store ID – Area) | City Manager |
|---|---|---|---|
| Pune | BLK-PUN-01 Kothrud · BLK-PUN-02 Baner · BLK-PUN-03 Hadapsar | AMN-PUN-01 Hinjewadi · AMN-PUN-02 Wakad | Ravindra Bagale |
| Nashik | BLK-NSK-01 College Road | AMN-NSK-01 Gangapur Road | Shraddha Bagale |
| Nagpur | BLK-NGP-01 Dharampeth | AMN-NGP-01 Sitabuldi | Shahrukh |
| Kolhapur | BLK-KOP-01 Rajarampuri | AMN-KOP-01 Tarabai Park | Zoya |
| Solapur | BLK-SLP-01 Hotgi Road | AMN-SLP-01 Murarji Peth | Amir |
| Sambhaji Nagar | BLK-SBN-01 CIDCO | AMN-SBN-01 Nirala Bazar | Raja |
सर्व stores महाराष्ट्रातले दाखवले आहेत. Data मध्ये Chhatrapati Sambhaji Nagar साठी Sambhaji Nagar हे छोटं नाव वापरलं आहे.
City managers: Ravindra Bagale — Pune, Shraddha Bagale — Nashik, Shahrukh — Nagpur, Zoya — Kolhapur, Amir — Solapur आणि Raja — Sambhaji Nagar. Ravina ही Pune आणि Solapur ची regional lead आहे. Rani ही state operations head आहे. Customers मध्ये Ruhi Bagale, Ravina, Rani आणि Salman ही sample names आहेत. Delivery partners मध्ये Salman, Amir आणि Raja ही नावं आहेत. सर्व email addresses मध्ये example.com हे example domain वापरलं आहे.
हे tables एकमेकांना कसे जोडले आहेत?
मध्यभागी Orders हा fact table आहे. त्याभोवती Customer, Product, DeliveryPartner, DarkStore आणि Date हे पाच dimension tables आहेत. या मांडणीला star schema म्हणतात. Fact table मध्ये व्यवहाराच्या नोंदी असतात. Dimension tables त्या व्यवहारातला customer, product किंवा store यांची ओळख सांगतात.
CustomerCustomer ID (key) Customer Name Area, City |
ProductProduct ID (key) Product Name Category, Brand |
DeliveryPartnerDelivery Partner ID (key) Partner Name Vehicle Type |
DarkStoreStore ID (key) Store Name, Platform Area, City, State Manager Email |
Orders (fact)Order ID Order Date, Delivered Date Customer ID, Store ID Product ID, Delivery Partner ID Quantity, Amount, Discount Delivery Fee, Delivery Time Mins Order Status, Payment Mode, Platform |
DateDate (key) Year, Quarter Month, Year Month Festival |
प्रत्येक dimension च्या key वरून Orders शी one-to-many — 1:* relationship आहे. म्हणजे एका product ची नोंद Product table मध्ये एकदा असते; पण तो product अनेक order lines मध्ये असू शकतो.
Date table साठी दोन relationships आहेत: Date[Date] → Orders[Order Date] ही active, आणि Date[Date] → Orders[Delivered Date] ही inactive. दुसरी relationship आवश्यक calculation मध्ये USERELATIONSHIP वापरून वापरता येते.
हा data structure एकदा नीट पाहून घ्या. पुढच्या modules मध्ये आपण हेच tables पुन्हा वापरणार आहोत.
या chapter मधलं लक्षात ठेवायचं
BI मध्ये data वापरून business decisions घेतो. Power BI मध्ये Desktop, Service आणि Mobile यांची वेगवेगळी कामं आहेत. आपला Orders data order-line level वर आहे. पुढे प्रत्येक measure बनवताना हे लक्षात ठेवायचं. आता पुढच्या chapter मध्ये installation आणि interface पाहू.
स्वतः करून पाहा: rows वाढल्या म्हणजे orders वाढल्या का?
एका customer ने एकाच order मध्ये किती वेगवेगळे products घेतले ते बदला. खाली rows आणि order count मध्ये काय फरक पडतो ते पाहा.
| Order ID | Product | Delivery Fee |
|---|---|---|
| ORD-101 | दूध | ₹25 |
| ORD-101 | पोहे | ₹25 |
| ORD-101 | साबण | ₹25 |
Rows: 3 · वेगळ्या orders: 1
Delivery Fee ची सरळ बेरीज: ₹75. पण या एकाच order ची खरी fee: ₹25.
COUNTROWS(Orders) rows मोजतं. DISTINCTCOUNT(Orders[Order ID]) वेगळे Order IDs मोजतं. म्हणून दोन्ही answers वेगळे येतात.
आता तुमची practice
- एका कागदावर दोन Order IDs लिहा: A101 आणि A102.
- A101 मध्ये दोन products आणि A102 मध्ये तीन products आहेत असं समजा. प्रत्येक product साठी स्वतंत्र row लिहा.
- एकूण rows किती आणि वेगळ्या orders किती ते मोजा.
- प्रत्येक order ची fee ₹20 असेल तर ती प्रत्येक row वर लिहा. सरळ sum आणि खरी total fee यातला फरक पाहा.
Answer आणि explanation पाहा
एकूण ५ rows आहेत; पण फक्त २ orders आहेत. Fee ची सरळ बेरीज ₹100 येईल. खरी total fee ₹40 आहे, कारण fee प्रत्येक order साठी एकदाच मोजायची आहे.