Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Hi all, I am some question whether is it possible to do it in DAX or power quesry to clean such data, as the system do capture multiple inputs from user input, the sample data as below:
Contract Number | DocumentName | EvaluationStartDate | EvaluationEndDate | Date Sent to Evaluator | Evaluator Submission Date | Evaluator Name | Evaluator Scorecard Status |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:05 | Evaluator A | Invited | |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 5/19/2022 8:12 | Evaluator A | Invited | |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 5/11/2022 8:25 | 4/22/2022 6:55 | Evaluator A | Submitted |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | Evaluator B | Invited | ||
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 5/19/2022 8:12 | Evaluator B | Invited | |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:05 | Evaluator C | Invited | |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:05 | Evaluator D | Invited | |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 5/19/2022 8:12 | 4/28/2022 7:25 | Evaluator D | Submitted |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 5/11/2022 8:25 | 4/28/2022 7:50 | Evaluator D | Submitted |
Contract A | KPI 2 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/22/2022 6:32 | Evaluator A | Submitted |
Contract A | KPI 2 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:05 | Evaluator A | Invited | |
Contract A | KPI 2 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | 4/22/2022 6:31 | Evaluator A | Submitted |
Contract A | KPI 2 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | Evaluator C | Invited | |
Contract A | KPI 2 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:05 | Evaluator C | Invited | |
Contract A | KPI 2 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | Evaluator C | Invited | |
Contract A | KPI 2 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/28/2022 7:47 | Evaluator D | Submitted |
Contract A | KPI 2 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:05 | Evaluator D | Invited | |
Contract A | KPI 2 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | 4/28/2022 1:51 | Evaluator D | Submitted |
Contract A | KPI 3 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/22/2022 6:58 | Evaluator A | Submitted |
Contract A | KPI 3 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:03 | Evaluator A | Invited | |
Contract A | KPI 3 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | 4/22/2022 6:16 | Evaluator A | Submitted |
Contract A | KPI 3 | 4/22/2022 0:00 | 7/22/2022 0:00 | Evaluator B | Invited | ||
Contract A | KPI 3 | 3/20/2022 0:00 | 6/20/2022 0:00 | 4/21/2022 0:05 | Evaluator C | Invited | |
Contract A | KPI 3 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | Evaluator C | Invited | |
Contract A | KPI 3 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/28/2022 8:03 | Evaluator D | Submitted |
Contract A | KPI 3 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:03 | Evaluator D | Invited | |
Contract A | KPI 3 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | 4/28/2022 0:47 | Evaluator D | Submitted |
Contract A | KPI 4 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/22/2022 6:42 | Evaluator A | Submitted |
Contract A | KPI 4 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:01 | Evaluator A | Invited | |
Contract A | KPI 4 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | Evaluator A | Invited | |
Contract A | KPI 4 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | Evaluator C | Invited | |
Contract A | KPI 4 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:01 | Evaluator C | Invited | |
Contract A | KPI 4 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | Evaluator C | Invited | |
Contract A | KPI 4 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/28/2022 8:21 | Evaluator D | Submitted |
Contract A | KPI 4 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:01 | Evaluator D | Invited | |
Contract A | KPI 4 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | 4/28/2022 6:16 | Evaluator D | Submitted |
So i end goal would be showing only the most recent "Date Sent To Evaluator" row if there is no "Evaluator Submission Date", is there is, then show the row with the most recent "Evaluator Submission Date" row only, there is possibility of two submission date, as well as "Date Sent To Evaluator". my Desired out put are as below:
Contract Number | DocumentName | EvaluationStartDate | EvaluationEndDate | Date Sent to Evaluator | Evaluator Submission Date | Evaluator Name | Evaluator Scorecard Status |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 5/11/2022 8:25 | 4/22/2022 6:55 | Evaluator A | Submitted |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 5/19/2022 8:12 | Evaluator B | Invited | |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/20/2022 12:05 | Evaluator C | Invited | |
Contract A | KPI 1 | 4/22/2022 0:00 | 7/22/2022 0:00 | 5/11/2022 8:25 | 4/28/2022 7:50 | Evaluator D | Submitted |
Contract A | KPI 2 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/22/2022 6:32 | Evaluator A | Submitted |
Contract A | KPI 2 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | Evaluator C | Invited | |
Contract A | KPI 2 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/28/2022 7:47 | Evaluator D | Submitted |
Contract A | KPI 3 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/22/2022 6:58 | Evaluator A | Submitted |
Contract A | KPI 3 | 4/22/2022 0:00 | 7/22/2022 0:00 | Evaluator B | Invited | ||
Contract A | KPI 3 | 4/22/2022 0:00 | 7/22/2022 0:00 | 4/22/2022 3:04 | Evaluator C | Invited | |
Contract A | KPI 3 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/28/2022 8:03 | Evaluator D | Submitted |
Contract A | KPI 4 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/22/2022 6:42 | Evaluator A | Submitted |
Contract A | KPI 4 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | Evaluator C | Invited | |
Contract A | KPI 4 | 3/20/2022 0:00 | 6/20/2022 0:00 | 5/11/2022 8:25 | 4/28/2022 8:21 | Evaluator D | Submitted |
Hope I can get help from the SuperUsers, thanks!
Solved! Go to Solution.
Hi @zhengfu123 ,
Base on the table ,create the below column:
Evaluator Submission Date2 = CALCULATE(MAX('Table'[Evaluator Submission Date]),FILTER(ALL('Table'),'Table'[Contract Number]=EARLIER('Table'[Contract Number])&&'Table'[DocumentName]=EARLIER('Table'[DocumentName])&&'Table'[Evaluator Name]=EARLIER('Table'[Evaluator Name])))
Date Sent to Evaluator2 = CALCULATE(MAX('Table'[Date Sent to Evaluator]),FILTER(ALL('Table'),'Table'[Contract Number]=EARLIER('Table'[Contract Number])&&'Table'[DocumentName]=EARLIER('Table'[DocumentName])&&'Table'[Evaluator Name]=EARLIER('Table'[Evaluator Name])))
Then create new table:
Table 2 =
UNION (
CALCULATETABLE (
'Table',
FILTER (
ALL ( 'Table' ),
'Table'[Evaluator Submission Date] = 'Table'[Evaluator Submission Date2]
&& 'Table'[Evaluator Submission Date2] <> BLANK ()
)
),
CALCULATETABLE (
'Table',
FILTER (
ALL ( 'Table' ),
'Table'[Date Sent to Evaluator] = 'Table'[Date Sent to Evaluator2]
&& 'Table'[Evaluator Submission Date2] = BLANK ()
)
)
)
Output result is you expect:
Did I answer your question? Mark my post as a solution!
Best Regards
Lucien
Hi @zhengfu123 ,
Base on the table ,create the below column:
Evaluator Submission Date2 = CALCULATE(MAX('Table'[Evaluator Submission Date]),FILTER(ALL('Table'),'Table'[Contract Number]=EARLIER('Table'[Contract Number])&&'Table'[DocumentName]=EARLIER('Table'[DocumentName])&&'Table'[Evaluator Name]=EARLIER('Table'[Evaluator Name])))
Date Sent to Evaluator2 = CALCULATE(MAX('Table'[Date Sent to Evaluator]),FILTER(ALL('Table'),'Table'[Contract Number]=EARLIER('Table'[Contract Number])&&'Table'[DocumentName]=EARLIER('Table'[DocumentName])&&'Table'[Evaluator Name]=EARLIER('Table'[Evaluator Name])))
Then create new table:
Table 2 =
UNION (
CALCULATETABLE (
'Table',
FILTER (
ALL ( 'Table' ),
'Table'[Evaluator Submission Date] = 'Table'[Evaluator Submission Date2]
&& 'Table'[Evaluator Submission Date2] <> BLANK ()
)
),
CALCULATETABLE (
'Table',
FILTER (
ALL ( 'Table' ),
'Table'[Date Sent to Evaluator] = 'Table'[Date Sent to Evaluator2]
&& 'Table'[Evaluator Submission Date2] = BLANK ()
)
)
)
Output result is you expect:
Did I answer your question? Mark my post as a solution!
Best Regards
Lucien