해당 게시글은 개인 프로젝트인 "광고 관리 플랫폼 대행사 센터 제작" 중
#139 "대시보드 기능 구현 - 그룹-에이전트 대시보드" 이슈를 다루고 있습니다
@Repository
public class DashboardQueryRepository {
private final JPAQueryFactory jpaQueryFactory;
public DashboardQueryRepository(JPAQueryFactory jpaQueryFactory) {
this.jpaQueryFactory = jpaQueryFactory;
}
public List<DashboardStatisticsDto> dashboardTestQuery(@Param("startDate") LocalDate startDate,
@Param("lastDate") LocalDate lastDate
) {
List<DashboardStatisticsDto> results = jpaQueryFactory
.select(Projections.fields(DashboardStatisticsDto.class,
performance.spend.sum().as("spend"),
performance.createdAt.as("startDate")
....
<select name="performance" style="width: 90px; margin-left: 50px;">
<option value="view">노출수</option>
<option value="click">노출수</option>
<option value="conversion">전환수</option>
<option value="purchase">구매액</option>
<option value="spend">소진액</option>
<option value="CTR" selected>클릭률</option>
<option value="CVR">전환률</option>
<option value="CPA">CPA</option>
<option value="ROAS">ROAS</option>
</select>
$(document).ready(function () {
var categoryList = [];
var performanceList = [];
var data = /*[[ ${results} ]]*/[];
for (var i = 0; i < data.length; i++) {
categoryList.push(data[i].category);
performanceList.push(data[i].ctr); // CTR로 하면 인식을 못해요...
}