单元格内动态宏的引用

关于变量的传递功能,有宏和参数两种形式,宏又分动态宏和普通宏(静态)两种形式,宏值的优点是可以在数据集里直接使用${}引用。而单元格的宏,尤其是动态宏的值引用却需要特殊应用。

 

步骤一:建立demo的含有宏的数据集。如图一

图一

数据集表达式: SELECT *  FROM 订单 where ${macro1} =? or ? is null

宏值为动态宏case(arg1,”东北“,”货主地区“,”沈阳“,”货主城市“)

 

步骤二:发布报表

当参数arg1为“东北”时。如图二

图二

步骤三:单元格引用动态宏

图三

A3单元格引用宏:=${macro1}

您会发现后台报错,报错信息为:

单元格A3中有错误表达式:货主地区中不能识别的表达式:货主地区

这是因为单元格将“货主地区”作为表达式使用了。

 

步骤四:建立一个和macro1的表达式相似的动态宏,macro2表达式:

‘case(arg1,”东北“,”货主地区“,”沈阳“,”货主城市“)’,macro1相比,多了英文的引号

将该表达式写如单元格A1,如图五

图五

表达式=Str(${macro1}).

 

步骤六:发布报表

热门文章