如何在webi中创建基于部分文本或数字的文本输入控件来过滤BO报告

问题描述 投票:0回答:1

我正在我的 webi 报告中创建一个输入控件。

我想根据输入控件中填写的文本过滤特定列。此搜索应该是部分的,并且可以包含数字或字符。

为此,我按照以下步骤操作:

  1. 创建维度变量 v_Search Text =""

  2. 在该变量 v_Search Text 上创建一个输入控件,应为简单选择类型,输入为输入字段,将其他属性保留为默认值,然后单击“确定”。

  3. 为搜索文本创建一个新变量 v_Filter =If(Pos(Upper([Dept Name]);Upper([v_Search Text])) > 0) Then 1 Else 0

  4. 在新列中显示变量的搜索文本的值 v_Filter。

  5. 在报告/选项卡上创建过滤器作为 v_Filter for Searched Text = 1,然后单击“确定”。

如果输入控件中填写的值是字符串(例如“slg”),则它可以工作,但如果输入控件中的值是数字(例如“2012”),我会遇到问题。 #错误出现在列中。

你能帮我吗?

filter text report business-objects webi
1个回答
0
投票

我正在分享找到的解决方案:

我将采取不同的方法并使用 Match() 函数。

请注意,这与匹配模式查询过滤器运算符非常不同。主要区别在于 Matches() 函数使用百分号 (%) 作为通配符,而 Matches 模式查询过滤运算符使用星号 (*) 作为通配符。

首先,创建一个 Var Search Text 变量并基于该变量构建一个 Entry Field 输入控件。接下来,创建一个 Var Search Text Match 变量,定义如下......

=Match([部门名称];[变量搜索文本])

如果您想要所有出现的“2021”,请输入“2021”作为您的输入控制值...

如果您只需要以“2021”开头的值,请输入“2021*”作为您的输入控制值...

最后,将 Var Search Text Match = 1 过滤器添加到您的表中,这应该就是全部了。

© www.soinside.com 2019 - 2024. All rights reserved.