公式字段过滤功能
Filtering function in formula field
我是 Crystal 报告 (2016) 的新手,我现在正在为我们的部门进行评估。
我从 CR 访问 SAP 信息集中的数据 table。到目前为止效果很好。
我的数据具有以下格式并逐行读取:
Source data
如您所见,有时位置 100 和 105 有一个 Q 号,有时只有位置 100。所以有时会有重复的 Q 号。
我需要的是,在现有位置 105 的情况下只使用这条线。如果没有位置105,就用位置100那一行,这样应该可以去掉重复,只留下我需要的信息。
将新公式字段放入我的报告后,它应该显示如下数据(右侧列):
Needed data
我已经用 "onlastrecord" 函数试过了,但没有得到所需的结果。在两个位置的情况下,它只使用位置为 105 的行。但只有100位的Q号不显示
到目前为止,这是我的代码:
If onlastrecord=true and (tonumber({Z_QM_INFOSET_CR.VIQMFE-POSNR})=0100)
then {Z_QM_INFOSET_CR.QMEL-QMNUM} else
if (tonumber({Z_QM_INFOSET_CR.VIQMFE-POSNR})=0105)
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
我希望我的情况是可以理解的..
非常感谢!
我知道您需要一个公式来打印这些情况下的值:
- 显示第105位的q数
- 显示位置为100且没有105相同q号的q号
所以,我建议一种检查下一条记录和最后一条记录的轮廓条件的方法。
试试这个公式:
if {Z_QM_INFOSET_CR.VIQMFE-POSNR} = "0105"
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
else if onlastrecord and {Z_QM_INFOSET_CR.VIQMFE-POSNR} = "0100"
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
else if {Z_QM_INFOSET_CR.VIQMFE-POSNR} = "0100"
and next({Z_QM_INFOSET_CR.QMEL-QMNUM}) <> {Z_QM_INFOSET_CR.QMEL-QMNUM}
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
else ""
我是 Crystal 报告 (2016) 的新手,我现在正在为我们的部门进行评估。 我从 CR 访问 SAP 信息集中的数据 table。到目前为止效果很好。
我的数据具有以下格式并逐行读取:
Source data
如您所见,有时位置 100 和 105 有一个 Q 号,有时只有位置 100。所以有时会有重复的 Q 号。 我需要的是,在现有位置 105 的情况下只使用这条线。如果没有位置105,就用位置100那一行,这样应该可以去掉重复,只留下我需要的信息。
将新公式字段放入我的报告后,它应该显示如下数据(右侧列):
Needed data
我已经用 "onlastrecord" 函数试过了,但没有得到所需的结果。在两个位置的情况下,它只使用位置为 105 的行。但只有100位的Q号不显示
到目前为止,这是我的代码:
If onlastrecord=true and (tonumber({Z_QM_INFOSET_CR.VIQMFE-POSNR})=0100)
then {Z_QM_INFOSET_CR.QMEL-QMNUM} else
if (tonumber({Z_QM_INFOSET_CR.VIQMFE-POSNR})=0105)
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
我希望我的情况是可以理解的..
非常感谢!
我知道您需要一个公式来打印这些情况下的值:
- 显示第105位的q数
- 显示位置为100且没有105相同q号的q号
所以,我建议一种检查下一条记录和最后一条记录的轮廓条件的方法。
试试这个公式:
if {Z_QM_INFOSET_CR.VIQMFE-POSNR} = "0105"
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
else if onlastrecord and {Z_QM_INFOSET_CR.VIQMFE-POSNR} = "0100"
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
else if {Z_QM_INFOSET_CR.VIQMFE-POSNR} = "0100"
and next({Z_QM_INFOSET_CR.QMEL-QMNUM}) <> {Z_QM_INFOSET_CR.QMEL-QMNUM}
then {Z_QM_INFOSET_CR.QMEL-QMNUM}
else ""