Merge and aggregate datasets: Difference between revisions

m
(Refactor the aggregates)
Line 1,166:
 
main(!IO) :-
io.write_stringprint_line("{Id, Lastname, SumScores, AvgScores, MaxDate}:\n", !IO),
solutionsaggregate((pred({Id,Lastname,Sum,Avg,MaxDate}::out) is nondet :-
patient(Id,Lastname),
Scores = (pred(Score::out) is nondet :- visit(Id,_,Score), \+is_nan(Score)),
bag_avg(Scores, Avg),
bag_sum(Scores, Sum),
Dates = (pred(Date::out) is nondet :- visit(Id,Date,_), Date\=date(_,_,_)no),
bag_max_date(Dates, MaxDate)),
Solutions)print_line,
foldl(io.write_line, Solutions, !IO).</syntaxhighlight>
{{out}}
<pre>{Id, Lastname, SumScores, AvgScores, MaxDate}:
136

edits