Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hello,
My question is related to showing the Status in a large database of different orders based on: same order number and Received / Shipped combinations?
I have included a sample below. Basically there can be dozens of same order numbers, with different quantities, but different Received / Shipped date combinations (Received and Shipped, Partially shipped, etc.)
The thing that throws me off is the "same order#", how could I group them, while still having different data on a row by row basis? What would be the best choice here?
Thank you!
Order# | Quantity | Received date | Shipped date | Status |
12345678 | 12 | 29/01/2024 | 30/01/2024 | Received and Shipped |
12345678 | 2 | 29/01/2024 | 30/01/2024 | Received and Shipped |
12345678 | 34 | 29/01/2024 | 30/01/2024 | Received and Shipped |
12345678 | 21 | 29/01/2024 | 30/01/2024 | Received and Shipped |
12345678 | 11 | 29/01/2024 | 30/01/2024 | Received and Shipped |
12345678 | 6 | 29/01/2024 | 30/01/2024 | Received and Shipped |
87654321 | 4 | 29/01/2024 | Only Received | |
87654321 | 37 | 29/01/2024 | Only Received | |
87654321 | 23 | 29/01/2024 | Only Received | |
87654321 | 2 | 29/01/2024 | Only Received | |
54321678 | 45 | Ordered | ||
54321678 | 32 | Ordered | ||
54321678 | 11 | Ordered | ||
54321678 | 7 | Ordered | ||
67854321 | 56 | 29/01/2024 | Partially received | |
67854321 | 3 | Partially received | ||
67854321 | 43 | 29/01/2024 | Partially received | |
67854321 | 21 | 29/01/2024 | Partially received | |
67854321 | 9 | Partially received |
Solved! Go to Solution.
Note that this is a calculated column, tagging each order line.
Status =
var o = [Order#]
var a = filter(all('Table'),[Order#]=o)
RETURN switch(TRUE(),
countrows(a)=sumx(a,if(ISBLANK([Received date]),0,1)) && countrows(a)=sumx(a,if(ISBLANK([Shipped date]),0,1)),"Received and Shipped",
countrows(a)=sumx(a,if(ISBLANK([Received date]),0,1)),"Only Received",
sumx(a,if(ISBLANK([Received date]),0,1))>0,"Partially Received",
"Ordered")
Note that this is a calculated column, tagging each order line.
Status =
var o = [Order#]
var a = filter(all('Table'),[Order#]=o)
RETURN switch(TRUE(),
countrows(a)=sumx(a,if(ISBLANK([Received date]),0,1)) && countrows(a)=sumx(a,if(ISBLANK([Shipped date]),0,1)),"Received and Shipped",
countrows(a)=sumx(a,if(ISBLANK([Received date]),0,1)),"Only Received",
sumx(a,if(ISBLANK([Received date]),0,1))>0,"Partially Received",
"Ordered")
User | Count |
---|---|
14 | |
9 | |
7 | |
7 | |
6 |
User | Count |
---|---|
21 | |
11 | |
10 | |
10 | |
8 |