我有一个简单的sql,我试图通过获取两列的总和并将值相互除以添加自定义聚合。这是一个计划好的方程式
round((sum(col1)/sum(col2))*100,2) = new_col_footer
使用 union all 在查询中执行此操作很容易,但在这种情况下不起作用,因为如果最终用户开始过滤报表,则 union all 计算的行无法反映或正确或从视图中过滤掉。这是我正在尝试做的事情的屏幕截图。预先感谢您的任何指导。
我尝试应用一些 agg 函数,但默认情况下,交互式网格似乎没有办法在默认情况下完成此操作。
Event > After Refresh
为报告创建动态操作。Execute JavaScript Code
的True action和下面的代码#如果您使用的是交互式报告;
var col_1=0, col_2=0, col_3=0;
$('#report_id .a-IRR-table tbody tr:last-child').each(function(){
col_1 = $(this).find('td[headers="col_1"] .a-IRR-aggregate-value').text();
col_1 = parseInt(col_1.replace(/,/g,''),10);
col_2 = $(this).find('td[headers="col_2"] .a-IRR-aggregate-value').text();
col_2 = parseInt(col_2.replace(/,/g,''),10);
col_3 = (col_1/col_2)*100;
$(this).find('td[headers="col_3"]').text(col_3);
});
如果您使用的是经典报表,请相应地更新 CSS 类。