如何在交叉表Desing Studio中传递多维过滤器值

2020-09-03 04:29发布

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

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


大家好,我在仪表板上有两个交叉表,并通过getmemer()在交叉表1中为两个维度设置了过滤器,但是我可以将两个维度(唯一)传递给过滤器组合,而不是通过单个值来获取整体 该过滤器值的数据。 但是,如果我删除一个维度的设置过滤器,则报告将显示该过滤器值的所有数据,如果我也单击第二个维度,则需要使用相同的方法。 请告知我如何尽快实现。 让我知道要求是否不够清楚。

谢谢

Ravi。

(15.7 kB)

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

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


大家好,我在仪表板上有两个交叉表,并通过getmemer()在交叉表1中为两个维度设置了过滤器,但是我可以将两个维度(唯一)传递给过滤器组合,而不是通过单个值来获取整体 该过滤器值的数据。 但是,如果我删除一个维度的设置过滤器,则报告将显示该过滤器值的所有数据,如果我也单击第二个维度,则需要使用相同的方法。 请告知我如何尽快实现。 让我知道要求是否不够清楚。

谢谢

Ravi。

(15.7 kB)
付费偷看设置
发送
7条回答
95年老男孩
1楼-- · 2020-09-03 05:07

Ravi-您搜索过吗? 我不清楚您是否正在使用组件,脚本等。当我搜索时,将返回多个结果:

https://archive.sap.com/discussions/thread/3701376

https://answers.sap.com/ Questions/93844/design-studio-setvariablevalueext-multiple-values.html

https://blogs.sap.com/2015/04/28/delegating-multiple-values-selected-in-design-studio-dashboard-filter-panel-to- webi-report-using-opendoc-功能/

请分享您正在使用的代码/屏幕快照/版本以及相关主题,以便社区更好地提供帮助。

粗暴的香蕉
2楼-- · 2020-09-03 05:18

嗨,拉维,

尽管进行了所有讨论, 到目前为止,我对您要实现的目标并不完全清楚。 这里还有一些其他问题:

1。 当您说"我要求从交叉表中的每个维度通过过滤器并在第二个交叉表中获取选定值的所有数据"时,您指的是"选定值"? 您是指选择维列标题还是维成员?

2。 在示例图像中,似乎在Crosstab 2中,您正在同一列中混合维度1和维度2成员值。 是吗?

3。 您的最新评论是关于"层次结构"的,而您最初的问题并不涉及层次结构。 这是新问题还是其他信息? 您要指的是哪种类型的层次结构:由维度1和维度2组成的基于级别的层次结构,还是BW父子层次结构?

几乎听起来像您想要实现双向级联过滤器, 我认为这是不可能的。 也许,如果您可以提供在Crosstab 2中期望的确切输出的更清晰版本,我们可能会提供更多帮助。

此致

Mustafa。

hongfeng1314
3楼-- · 2020-09-03 05:11
< p>嗨,塔米,谢谢您分享链接,我已经浏览了这些链接,但是找不到与我的问题有关的任何链接。 这些帖子是关于如何从一个维度传递多个过滤器的,但是我要求从交叉表中的每个维度传递过滤器,并在第二个交叉表中获取所选值的所有数据。 我正在尝试使用以下代码来获取此代码,但是如果我不按交叉表中的度量进行排序,则可以正常工作,如果我不按交叉表中的度量进行排序,则无法工作,并且它无法传递单个选定的值 从一个交叉表到另一个交叉表。 这是我的代码(ERP_C0081是客户,ERP_C0051是商品),当我单击"客户"列时,它将带入与该客户有关的所有数据,但是如果我单击商品,则仅将该商品和相应的客户带到该行中, 请帮助我如何读取单个尺寸选定的成员并通过过滤器进入第二个交叉表。

var x = CROSSTAB_MTDPL.getSelection();

var selectpattern ="";

x.forEach(函数(值,键){

selectpattern = selectpattern + CROSSTAB_MTDPL.getSelectedMembers(key).length;

});

if(selectpattern ==" 111")

{

DS_4.clearFilter(" ERP_C0051");

var cu = CROSSTAB_MTDPL.getSelectedMember(" ERP_C0081");

DS_4.setFilter(" ERP_C0081",cu);

APPLICATION.alert("客户");

}

其他

{

DS_4.clearFilter(" ERP_C0081");

var cm = CROSSTAB_MTDPL.getSelectedMember(" ERP_C0051");

DS_4.setFilter(" ERP_C0051",cm);

/* CROSSTAB_MTDODPL.setCSSClass(" disAble"); */

APPLICATION.alert("商品");

}

me_for_i
4楼-- · 2020-09-03 05:27

嗨,Ravi,你说的对吗? 亲切的问候,点

悠然的二货
5楼-- · 2020-09-03 05:12

没有桃乐丝,这种逻辑在我们不按层次结构进行按度量排序时起作用,因为在进行排序时它无法识别每个单独的列 通过措施。 我在Design Studio的"交叉"选项卡中遇到了层次结构的许多问题。 我在SAP上提出了两个SAP OSS注释,但是没有得到正确的答案。

谢谢,
Ravi。

jovirus
6楼-- · 2020-09-03 05:17

嗨,穆斯塔法,谢谢您抽出宝贵的时间问问题。 我在这里尝试将所有选定成员的过滤器值传递给第二个交叉表。

Info Chat数据源具有两个结构元素(行和列),"交叉"选项卡也具有两个结构元素,此交叉表将根据从信息图表中选择的LOB进行过滤。 我已经写了逻辑以按量度计划来计算Var Plan MTD收入,并且它正在相应地起作用,但是当我确实选择Customer成员时,它将作为过滤器并传递到第二个交叉表,并获取加拿大Grain LOB的所有商品的客户清单


选择客户后的第二个交叉表。



但是,如果我选择商品成员(Legumes),它仍然将客户作为过滤器,并且得到相同的结果。 我使用以下代码基于Key的长度来标识列,但是如果我不为排序刷新所有LOB的信息图表,则此逻辑工作正常,当我为Info图表上的特定LOB选择它时,此逻辑不起作用 进行排序,因为将整行都视为一个值,并且始终将最后一个客户维度作为过滤条件并传递到第二个交叉表。

请让我知道是否有任何不清楚的地方。

var x = CROSSTAB_MTDPL.getSelection();

var selectpattern ="";

x.forEach(函数(值,键){

selectpattern = selectpattern + CROSSTAB_MTDPL.getSelectedMembers(key).length;

});

if(selectpattern ==" 111")

{

DS_4.clearFilter(" Comm 3_digit");

var cu = CROSSTAB_MTDPL.getSelectedMember(" Customer");

DS_4.setFilter(" Customer",cu);

}

其他

{

DS_4.clearFilter(" Customer");

var cm = CROSSTAB_MTDPL.getSelectedMember(" Comm 3_Digit");

DS_4.setFilter(" Comm 3_Digit",cm);

}

谢谢

Ravi。

一周热门 更多>