안녕하세요, 다음 디스커버리 토크에 제공된 스크립트를 기반으로 다중 탭 대시보드를 만들고 있습니다. https://community.jmp.com/t5/Discovery-Summit-Americas-2021/One-Multi-tabbed-Filterable-Dashboard-2021-US-30MP-803/ta-p/398667
여러 대시보드를 결합하는 데 사용되는 스크립트는 다음과 같습니다.
<
대시 = 모두 찾기(보고서);
tb = Expr(탭 상자());
For(i = 1, i<= N 항목(대시), i ++,
tabPage = Expr(탭 페이지 상자());
dfcb = Expr(데이터 필터 컨텍스트 박스());
lub = Expr(Line Up Box(N Col(2)));
hlb = Expr(H 목록 상자());
//데이터 필터와 함께 사용할 데이터 테이블 이름 가져오기
wintitle = dashes[i] << 창 제목 가져오기;
wordone = Word(1, wintitle, "-");
wordtwo = Word(2, wintitle, "-");
dtname = Substr(단어1, 1, 길이(단어1)-1 );
dt = 평가 Expr(데이터 테이블(Expr(dtName)));
//대시보드 이름 가져오기
dashName = Substr(wordtwo, 2);
실패 = 0;
j = 1;
//대시보드의 탭 페이지 상자를 순환하고 스크립트를 추출합니다.
동안(실패 ==0,
Try(tpb = dashes[i] << 찾기(TabPageBox(j)),
실패 = 1; 계속하다();
);
//있는 경우 표시 상자에서 스크립트를 가져오려고 시도합니다.
Try(obj = tpb << 스크립터블 개체 가져오기;
스크립트 = obj << 스크립트 가져오기,
j++; 계속하다();
);
//스크립트가 로컬 데이터 필터용인 경우 스크립트를 H 목록 상자에 추가합니다.
If(Char(Head(Name Expr(script))) == "데이터 필터",
FilterExprStr = char(NameExpr(dt)) || " << " || char(Name Expr(script));
FilterExpr = 구문 분석(FilterExprStr);
삽입(hlb,NameExpr(FilterExpr));
,
//그렇지 않으면 라인업 상자에 추가합니다.
If( Char(Name Expr(script)) != "스크립터블[]",
reportExprStr = char(NameExpr(dt)) || " << " || char(Name Expr(script));
reportExpr = Parse(reportExprStr);
scrollbox = Expr(스크롤 상자());
Insert Into(scrollbox, Name Expr(reportExpr));
Insert Into(lub,Name Expr(scrollbox));
);
);
j++;
);
//표시 상자 구성
Insert Into(hlb, Name Expr(lub));
Insert Into(dfcb, Name Expr(hlb));
Insert Into(tabPage, Eval Expr(Title(Expr(dashName))), 1);
Insert Into(tabPage, Name Expr(dfcb), 2);
Insert Into(tb, Name Expr(tabPage));
);
//통합 대시보드 창 생성
New Window("Ac-225 트렌딩 도구, v0.1", tb);
//모든 개별 대시 보고서를 닫습니다.
For( w = 1, w <= N 항목(대시), w ++,
dashes[w] << 창 닫기;
);
>
그러나 Discovery Talk와 달리 내 대시보드는 단일 데이터 테이블이 아닌 다른 데이터 테이블을 기반으로 합니다.
모든 데이터 테이블과 대시보드를 열고 위의 스크립트를 실행하여 모든 대시보드를 하나의 다중 탭 대시보드로 결합합니다. 그러면 다음과 같은 오류 메시지가 나타납니다.

내 대시보드에서 로컬 데이터 필터를 추출할 수 없는 것 같습니다. 열려 있는 모든 대시보드를 결합할 수 있도록 일반 스크립트를 변경하는 방법에 대한 제안이 있습니까?