Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
I’m having trouble to delete rows based on calcluted # number.
I have 3 tables.
1. A table that defines unique list of call (call)[List] per day (call)[Date]. each call has an answer status (call)[Status]. I created a column to have a unique field (call)[Key]
Call which appears as following :
2. A table a repository Status (Status )[Names] and (Status)[Status]; The join with the (Call)table is done with the (Status)[Status]
Status which appears as following :
2. A table Number with a calculated column (Number)[#drop] ; The join with the (Call)table is done with the (Call)[Key]
Number which appears as following :
I want to create a new table called NewDF by deleting the rows based on (Number)[#drop] and with (Status )[Names] = "drop out"
Desired result is the following:
Please, any help?
Thank's in advance
Solved! Go to Solution.
@SoufTC this was super super tricky.
Also, you had mistakes in your tables you copied (look at the first table you pasted), so make sure you test this with accurate data.
Attaching the file:
Delete Rows.pbix
It involved extra neccesary steps in Power Query so make sure you follow them and then I could have written this calculated table:
Calc Table =
VAR _tbl1 =
SELECTCOLUMNS(
FILTER(
ADDCOLUMNS(
FactCalls,
"@Removal Index",
IF(
RELATED(DimStatus[Names]) <> "drop out",
0,
RANKX(FILTER(FactCalls,FactCalls[Key] = EARLIER(FactCalls[Key])), FactCalls[Index], ,ASC) - COUNTROWS(FILTER(FactCalls, FactCalls[Status] <> "DO" && FactCalls[Key] = EARLIER(FactCalls[Key])))
) - RELATED(DimDrops[# drop])
),
[@Removal Index] < 0
),
"List", [List],
"Status", [Status],
"Date", [Date],
"Key", [Key]
)
RETURN
_tbl1
@SpartaBIthank's for your response. from the table Number we define how many rows to delete according to the (Number)[#drop]: for example according to Table Number for the (Call)[Key] = List1 2022-02-09 we have (Number)[#drop] = 2 rows to delete. In (call)[List] we have 3 rows = DO so we keep delete 2 and keep 1. I don't know if clear enough thank's in advance
@SoufTC this was super super tricky.
Also, you had mistakes in your tables you copied (look at the first table you pasted), so make sure you test this with accurate data.
Attaching the file:
Delete Rows.pbix
It involved extra neccesary steps in Power Query so make sure you follow them and then I could have written this calculated table:
Calc Table =
VAR _tbl1 =
SELECTCOLUMNS(
FILTER(
ADDCOLUMNS(
FactCalls,
"@Removal Index",
IF(
RELATED(DimStatus[Names]) <> "drop out",
0,
RANKX(FILTER(FactCalls,FactCalls[Key] = EARLIER(FactCalls[Key])), FactCalls[Index], ,ASC) - COUNTROWS(FILTER(FactCalls, FactCalls[Status] <> "DO" && FactCalls[Key] = EARLIER(FactCalls[Key])))
) - RELATED(DimDrops[# drop])
),
[@Removal Index] < 0
),
"List", [List],
"Status", [Status],
"Date", [Date],
"Key", [Key]
)
RETURN
_tbl1
@SoufTC I'm missing what logic do you want to get from the KEY / # Drop table.
I wrote for now this:
Calc Table =
FILTER(
FactCalls,
RELATED(DimStatus[Names]) <> "drop out"
)
Just add why the DO in your result are still there after the removal and I'll add the logic
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
47 | |
24 | |
20 | |
15 | |
13 |
User | Count |
---|---|
55 | |
48 | |
43 | |
19 | |
19 |