SAP分析设计器中的级联过滤器

2020-08-16 18:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我在分析应用程序...

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

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


专家们,

我在分析应用程序中添加了两个小部件("下拉过滤器"),即客户类型和客户ID。

我的要求是,当我选择"客户类型"说" ABC"时,与"客户类型= ABC"相关的所有客户ID仅在下拉过滤器-Custonmer ID中对我可见。 请让我知道如何实现。

下面是我目前完成的实现,但是我无法级联效果。

当前,我已经在Canvas的onInialization()方法中初始化了两个下拉过滤器,以使用后端可用的主数据填充它。

onInitailzation()方法:用主数据填充下拉过滤器

对于客户类型:

var i = 0;

var customerType = Chart_1.getDataSource()。getMembers(" Customer_Type");

for(i = 0; i

dropdown1.addItem(customerType [i] .id,customerType [i] .description);

}

对于客户ID:

var j = 0;

var customerID = Chart_1.getDataSource()。getMembers(" Customer_ID");

for(j = 0; j

dropdown2.addItem(customerID [i] .id,customerID [j] .description);

}

然后我在下拉过滤器 onSelect()方法中添加了代码,以将用户选择的键传递给全局变量VAR_CUSTOMER_TYPE和VAR_CUSTOMER_ID。

onSelect()方法下拉菜单1和下拉菜单2:

VAR_CUSTOMER_ID = dropdown_1.getSelectedKey();

VAR_CUSTOMER_TYPE = dropdown_2.getSelectedKey();

最后,我创建了一个按钮-应用过滤器,然后单击该按钮将过滤器应用于所有图表:

图表_1.getDataSource()。setDimensionFilter(" dropdown_1",VAR_CUSTOMER_ID);

图表_1.getDataSource()。setDimensionFilter(" dropdown_2",VAR_CUSTOMER_TYPE);

图表_2.getDataSource()。setDimensionFilter(" dropdown_1",VAR_CUSTOMER_ID);

图表_2.getDataSource()。setDimensionFilter(" dropdown_2",VAR_CUSTOMER_TYPE);

7条回答
大简至美
2020-08-16 19:26

您好Abhimanyu

您需要创建将以下代码放入下拉列表_1(客户类型)的OnSelect()中

并使用getResultSet()方法返回一个数组

尝试以下代码

onSelect()方法下拉列表1:

 VAR _CUSTOMER_TYPE = Dropdown_1.getSelectedKey();
 var _Customers = Chart_1.getDataSource()。getResultSet({" Customer_Type":_CUSTOMER_TYPE}); 
//Customer_Type是根据模型的字段或列名称 //使用console.log了解_Customers数组的外观 console.log(_Customers);
//现在填充客户下拉列表
var i = 0; for(i = 0; i <_Customers.length; i ++){ Dropdown_2.addItem(_Customers [i] .Customer_ID.id,_Customers [i] .Customer_ID.description); }

这将根据所选的Customer_Type获取客户列表

然后您可以进行过滤

通常我创建一个表,将其绑定到模型,例如Table_Customers,我将其隐藏并使用它来获取数据源并进行过滤,等等

一周热门 更多>