组条件格式

2020-09-24 17:12发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我有一个小组每周汇总数量。

因此,它按周分组,然后显示trxdate并对该周内每个trxdate生成的数量进行汇总,然后最后对该周的所有数量进行求和。 我正在尝试突出显示或更改该周内最大数量的字体颜色。

我已经尝试过了:

如果Sum({quantity},{trx_dt}," daily")=最大值(Sum({quantity},{trx_dt}," daily")),则crRed
Else crBlack

但我收到此错误:无法总结此字段。

我在字段的格式编辑器中有此公式。

有什么想法要实现吗?

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我有一个小组每周汇总数量。

因此,它按周分组,然后显示trxdate并对该周内每个trxdate生成的数量进行汇总,然后最后对该周的所有数量进行求和。 我正在尝试突出显示或更改该周内最大数量的字体颜色。

我已经尝试过了:

如果Sum({quantity},{trx_dt}," daily")=最大值(Sum({quantity},{trx_dt}," daily")),则crRed
Else crBlack

但我收到此错误:无法总结此字段。

我在字段的格式编辑器中有此公式。

有什么想法要实现吗?

谢谢。

付费偷看设置
发送
3条回答
渐行渐远_HoldOn
1楼 · 2020-09-24 17:34.采纳回答

你好,卡里姆,

您需要一个子报表才能突出显示最高值。 请尝试以下操作:

1。 保存该报告的副本。 我们将新报告称为"子报告"。

2。 打开"子报表"并使用以下代码创建公式:

 shared currencyVar数组最大值;
 共享号码var itr:= itr + 1;
 redim保留maxs [itr];
 maxs [itr]:= Sum({Quantity},{trx_dt}," daily");
 ''; 

将此公式字段置于组页脚2

3。 使用此代码创建另一个公式,并将其放在"组头1"上:

共享的CurrencyVar数组最大值:= 0; 共享号码var itr:= 0;

4。 使用此代码创建第三个公式,并将其放在组页脚1:

 shared currencyVar数组最大值;
 共享datevar数组dd;
 共享currencyvar数组c;
 共享号码var cnt:= cnt + 1;
 redim保留dd [cnt];
 redim保存c [cnt];
 dd [cnt]:= date(GroupName({日期字段用作每周组},"每周")); //使用作为每周组的日期字段
 c [cnt]:=最大值(最大值);
 ''; 

5。 禁止显示此报告的所有部分并保存。

6。 打开原始报告>选择"插入子报告">选择一个现有报告>浏览到保存"子报告"的位置,然后单击"确定"。

7。 将子报表放在报表标题上。

8。 双击子报表,并确保所有部分都被隐藏。 如果您看到任何未压制的新闻"新闻标题"部分,请继续压制它们。

9。 返回主报表,突出显示此子报表>右键单击并选择"格式化子报表>子报表"选项卡>选中"禁止空白子报表"。

10。 转到节专家>突出显示保存此子报表的"报告标题"部分>选中"禁止空白部分"。

11。 使用此代码在主报告中创建一个公式,并将其放在组标题1:

共享的datevar数组dd;
 共享currencyvar数组c;
 本地数字var j;
 共享币种var maxv;
 对于j:= 1到ubound(dd)
 (
     如果date(GroupName({日期字段用作每周组},"每周"))= dd [j],则
     (
      maxv:= c [j];
      退出
     );
 );
 ''; 

12。 在主报告中,突出显示"组2"上的"数量摘要"字段>"格式"字段>"字体"选项卡>单击"颜色"旁边的公式按钮,然后使用以下代码:

共享币种var maxv;
 如果CurrentFieldValue = maxv,则为crRed,否则为crNoColor 

我希望这会有所帮助。

-阿比拉什

xfwsx85
2楼-- · 2020-09-24 17:34

对不起,您的需求被误解了。

可能是Abhilash解决方案。 在SQL中,更改报告未能使用命令并按日期汇总数据。 然后,您的每日数据将非常详细,您可以轻松地找到一周中的"每天最多"。

伊恩

空代码
3楼-- · 2020-09-24 17:18

也许有更好的方法,但是您可以使用变量

在周组标题中(NB半冒号和冒号很重要)

@MaxDay

打印记录;

Global Numbervar MaxDay;

MaxDay:=最大值({quantity},{trx_dt},Weekgroupfield)

更改条件公式以使用此变量

打印记录;

Global Numbervar MaxDay;

如果Sum({quantity},{trx_dt}," daily")= MaxDay,则crRed
Else crBlack

伊恩

一周热门 更多>