데이터 탐색 쿼리의 group_id 파라미터 드롭다운

이런 방식으로 지정할 수 있으면 좋겠습니다:

-- [params]
-- groups.id :group_id

이렇게 하면 그룹 목록이 드롭다운으로 표시되는 매개변수 입력을 얻을 수 있을 것 같습니다. 여기서 값을 group_id라고 이름 붙인 이유는, 그런 드롭다운이 이 값을 반환할 것이라고 추측했기 때문입니다.

4개의 좋아요

저도 이건 정말 유용할 것 같아요. :+1: 기존에 있는 user_id 선택 가능 파라미터처럼 그룹용으로도 만들어주면 좋겠어요. 여러 값을 받을 수 있으면 더 좋겠죠. :slight_smile:

4개의 좋아요

잠깐, 뭐라고요?

그걸 어떻게 사용하는지 알려주는 부분을 좀 알려주실 수 있을까요?

1개의 좋아요

다음과 같은 것을 사용할 수 있습니다:

-- [params]
-- user_id :user

SELECT *
FROM posts
WHERE user_id =:user
LIMIT 5

이렇게 하면 사용자 입력을 자동완성할 수 있는 드롭다운이 표시됩니다. :+1:

다만, 현재 처음 실행할 때 오류가 발생하여 매개변수 상자가 표시되지 않는 것을 방금 발견했습니다. 페이지를 새로고침하면 정상적으로 표시됩니다. 이 문제를 확인해 줄 사람을 찾아보겠습니다. :slight_smile:

4개의 좋아요

요청(하고 기다리면)하면 받을 수 있습니다… 이 PR에서 :group_list 파라미터에 대한 지원을 추가했습니다.

해당 기능이 사용되는 예시는 다음과 같습니다:

-- [params]
-- group_list :groups

SELECT g.id,g.name 
FROM groups g 
WHERE g.name IN (:groups) 
ORDER BY g.name ASC

위와 같이 하면 UI에서 다음과 같은 결과를 얻을 수 있습니다:

8개의 좋아요

정말 멋져요. :star_struck: 이것을 바로 적용해 보고 싶네요. :rocket:

3개의 좋아요

제 주제가 답변을 남기기 전에 닫혀 버렸네요…

새로운 -- group_list 파라미터 유형을 단일 그룹으로 제한하는 방법이 있을까요? 기존 리포트에 이 파라미터를 적용해 보았는데, 리포트들은 모두 단일 그룹 이름을 전제로 작성되어 있어서 테스트를 해보니 꽤 자주 실수를 하게 되었습니다.

다시 열어서 덮개를 씌웠습니다. :+1:

다만 무슨 말씀이신지 잘 모르겠네요? 문제가 뭔지 예를 들어주실 수 있을까요?

1개의 좋아요

첫 번째 그룹에 대해 쿼리를 실행한다는 뜻입니다. 그런 다음 그룹을 전환하려고 하면, 대신 그룹을 추가하게 되는데 → 오류가 발생합니다.

1개의 좋아요

오오. 흥미로운 방법이네요. 저는 이렇게 더 많이 사용했습니다:


WHERE g.name IN (:groups)

잠재적인 실수를 살짝 숨기는 중

WHERE g.id IN (:groups)

다만, 이렇게 하면 오류는 피할 수 있지만, 실수로 두 개 이상의 값을 넣는 것은 여전히 가능합니다. :thinking:

무작위로 목록에서 선택하는 것보다는 에러가 나는 게 낫습니다 :slight_smile:

1개의 좋아요

솔직히 방금 확인해봤는데, group_ids에 사용하는 건 내가 꿈을 본 것 같아요. 아예 안 먹히거든요. 그 부분은 기록에서 지워야겠어요. :slight_smile: 그 아이디어가 어디서 나온 건지 전혀 모르겠어요. 분명 얼마 전에 사용했던 것 같은데. :derp:

1개의 좋아요

참고로, 완전히 잊고 있었네요:

정말 최고예요!!! :confetti_ball: 감사합니다!!! :tada:

3개의 좋아요

아니요, 단일 그룹으로 제한하는 방법은 없습니다. 제가 아는 한은요.

group_list의 파라미터는 선택된 항목이 1개 이상이면 배열이 되고, 1개만 선택되면 문자열이 됩니다.

따라서 항목이 하나만 있는 경우, 이렇게 할 수 있습니다:

-- [params]
-- group_list :groups

SELECT g.id,g.name 
FROM groups g 
WHERE g.name = :groups 
ORDER BY g.name ASC

하지만 이는 배열이므로, 아래 코드는 단일 항목과 여러 항목 모두에 대해 작동합니다:

-- [params]
-- group_list :groups

SELECT g.id,g.name 
FROM groups g 
WHERE g.name IN (:groups)
ORDER BY g.name ASC

하지만 UI에 "선택으로 1개 항목만 허용"하도록 지시하는 방법은 없습니다.

1개의 좋아요

@saradev 님의 문서 Using Parameters in Data Explorer Queries 에는 드롭다운이 제공되기도 하고 제공되지 않기도 하는 데이터 탐색기(Data Explorer)의 전체 파라미터 목록이 소개되어 있습니다. (Github의 파라미터 목록)

아래는 각 파라미터에 대해 특정 컨트롤이 있는지 여부도 함께 표시한 표입니다.

파라미터 드롭다운 사용 가능
int :white_check_mark:
bigint :white_check_mark:
boolean :white_check_mark:
null boolean :white_check_mark:
string :white_check_mark:
date
time
datetime
double :white_check_mark:
user_id :white_check_mark:
post_id
topic_id
string_list
category_id
group_id
int_list
string_list
user_list :white_check_mark:
group_list :white_check_mark:

이상적으로는 데이터 탐색기에서 사용되고 표시되는 드롭다운이 핵심 앱과 유사한 모습과 느낌을 가져야 합니다. 이를 어떻게 실현할 수 있을지 함께 고민해 보겠습니다.

6개의 좋아요

최근 파라미터 입력 박스를 완전히 다시 설계했습니다. 대부분의 타입은 이제 자체 드롭다운 박스를 갖추고 있으며, 의미론적 오류 메시지와 함께 유효성 검사를 지원합니다. :chefs_kiss:


다음은 특정 컨트롤이 있는지 여부를 나타내는 최신 파라미터 테이블입니다.

파라미터 드롭다운 사용 가능
int :white_check_mark:
bigint :white_check_mark:
boolean :white_check_mark:
null boolean :white_check_mark:
string :white_check_mark:
date :white_check_mark:
time :white_check_mark:
datetime :white_check_mark:
double :white_check_mark:
user_id :white_check_mark:
post_id
topic_id
category_id :white_check_mark:
group_id :white_check_mark:
int_list
string_list
user_list :white_check_mark:
group_list :white_check_mark:

@ganncamp 이 변경 사항에 대해 알고 싶으실 것 같습니다 :wink:

9개의 좋아요

이 드롭다운 메뉴가 어떻게 작동하는지 설명해 주시겠어요? 아무리 시도해도 해당 드롭다운에서 사용할 수 있는 문자열 목록을 정의할 수 있는 드롭다운을 만들지 못했어요.

1개의 좋아요

@jordan-violet 늦은 답변이지만, @SaraDev 님이 사용 가능한 파라미터에 대한 글을 여기에 작성했고, 해당 게시글은 Linca 님에 의해 업데이트되었습니다:

2개의 좋아요