첫 번째 비어 있지 않은 값 또는 기본값
첫 번째 비어 있지 않은 데이터 요소 또는 구성된 기본값을 가져옵니다.
여러 데이터 입력에서 가장 먼저 나오는 비어 있지 않은 값을 선택해 대체 실행 분기를 병합하거나, 모든 입력이 비어 있으면 기본값을 반환합니다. 이를 통해 조건부 실행 병합, 빈 값 처리, 그리고 서로 다른 분기의 데이터를 결합하거나 누락된 데이터에 대해 대체값을 제공해야 하는 구조화된 출력 구성 워크플로를 지원합니다.
이 블록의 작동 방식
이 블록은 여러 소스(일반적으로 서로 다른 조건부 실행 분기)에서 데이터를 병합해 먼저 उपलब्ध한 비어 있지 않은 값을 선택함으로써, 후속 처리에 항상 출력이 존재하도록 보장합니다. 이 블록은:
데이터 참조 목록과 선택적 기본값을 받습니다:
선택자 목록 형태로 여러 데이터 입력을 받습니다(최소 1개 필요)
각 선택자는 서로 다른 워크플로 단계나 분기의 출력을 참조할 수 있습니다
모든 입력이 비어 있을 때 사용할 기본값을 받습니다
입력을 순서대로 처리합니다:
제공된 순서대로 데이터 입력을 순회합니다
각 입력값이 비어 있지 않은지(None이 아닌지) 확인합니다
처음 발견된 비어 있지 않은 값에서 멈춥니다
첫 번째 비어 있지 않은 값을 선택합니다:
목록에서 처음 발견된 비어 있지 않은 값을 반환합니다
이를 통해 다른 데이터 소스보다 특정 데이터 소스를 우선할 수 있습니다
순서가 중요합니다: 앞쪽 입력이 뒤쪽 입력보다 우선합니다
모두 비어 있으면 기본값으로 대체합니다:
목록의 모든 입력이 비어 있음(None)일 경우 설정된 기본값을 반환합니다
출력이 절대 None이 아니도록 보장하여, 빈 값을 허용하지 않는 후속 블록에서도 안전하게 사용할 수 있게 합니다
기본값은 어떤 유형이든 될 수 있습니다(문자열, 숫자, 객체, null 등)
빈 값을 처리합니다:
이 블록은 조건부 실행에서 오는 비어 있는 값(None)을 허용합니다
입력이 None일 때 처리를 건너뛰는 대부분의 블록과 달리, 이 블록은 이를 처리합니다
비어 있을 수 있는 입력을 반드시 비어 있지 않은 출력으로 변환합니다
병합된 출력을 반환합니다:
선택된 값(첫 번째 비어 있지 않은 값 또는 기본값)을 출력합니다
출력은 항상 None이 아니므로, 빈 값을 허용하지 않는 블록과의 호환성을 보장합니다
일부 실행 분기가 데이터를 생성하지 않더라도 구조화된 출력을 구성할 수 있게 합니다
이 블록은 조건부 로직이 있는 워크플로에서 대체 실행 분기를 병합하는 데 필수적입니다. 워크플로의 서로 다른 분기가 데이터를 생성할 수 있을 때(예: 하나의 분기는 조건 A가 참이면 데이터를 처리하고, 다른 분기는 조건 B가 참이면 데이터를 처리하는 경우), 이 블록을 사용하면 가장 먼저 उपलब्ध한 결과를 선택해 해당 분기들을 결합할 수 있으므로, 워크플로가 항상 유효한 출력을 생성하도록 보장합니다.
일반적인 사용 사례
조건부 분기 병합: 대체 조건부 실행 분기에서 나온 출력을 단일 값으로 병합합니다(예: if-else 분기 결과 병합, 대체 처리 경로 결합, 조건부 분기 출력 통합). 이를 통해 조건부 실행 병합 워크플로를 지원합니다
빈 값 처리: 필터링이나 조건부 실행에서 비어 있을 수 있는 값을 대체 기본값으로 처리합니다(예: 필터링된 데이터를 기본값으로 처리, 조건부 분기에 대한 대체값 제공, 선택적 단계에서 비어 있지 않은 출력 보장). 이를 통해 강력한 빈 값 처리 워크플로를 지원합니다
구조화된 출력 구성: 일부 실행 경로에서 데이터가 생성되지 않더라도 워크플로 출력에 항상 값이 존재하도록 보장합니다(예: 일관된 출력 구조 구성, 출력 필드 존재 보장, 기본값이 포함된 구조화된 응답 생성). 이를 통해 구조화된 출력 구성 워크플로를 지원합니다
우선순위 기반 선택: 우선순위 순서에 따라 여러 소스에서 데이터를 선택합니다(예: 기본 소스를 대체 소스보다 우선, 가장 적합한 데이터 소스 선택, 특정 처리 결과 우선). 이를 통해 우선순위 기반 데이터 선택 워크플로를 지원합니다
대체값: 기본 데이터 소스를 사용할 수 없을 때 대체값을 제공합니다(예: 데이터가 없을 때 기본값 사용, 비어 있는 결과에 대한 대체값 제공, 후속 호환성 보장). 이를 통해 대체값 워크플로를 지원합니다
출력 정규화: 출력이 항상 존재하고 비어 있지 않도록 정규화합니다(예: 선택적 출력 정규화, 일관된 출력 형식 보장, 출력 가용성 보장). 이를 통해 출력 정규화 워크플로를 지원합니다
다른 블록에 연결하기
이 블록은 여러 데이터 입력을 받아 단일 병합 출력으로 생성합니다:
조건부 실행 블록 뒤에서 (ContinueIf, DetectionsFilter 등) 대체 분기 출력을 병합합니다(예: if-else 분기 결과 병합, 조건부 경로 결합, 분기 출력 통합). 이를 통해 조건부-병합 워크플로를 지원합니다
빈 값을 허용하지 않는 블록 앞에서 입력이 항상 존재하도록 보장합니다(예: 비어 있지 않은 입력 보장, 빈 데이터에 대한 대체값 제공, 입력 가용성 보장). 이를 통해 병합-처리 워크플로를 지원합니다
워크플로 출력에서 보장된 필드 존재를 가진 구조화된 출력을 구성합니다(예: 일관된 출력 빌드, 출력 완전성 보장, 구조화된 응답 생성). 이를 통해 병합-출력 워크플로를 지원합니다
필터링 블록 뒤에서 필터가 모든 데이터를 제거하는 경우를 처리합니다(예: 필터링된 데이터에 기본값 제공, 빈 필터 결과 처리, 출력 가용성 보장). 이를 통해 필터-병합 워크플로를 지원합니다
데이터 저장 블록 앞에서 저장된 데이터가 항상 존재하도록 보장합니다(예: 기본값과 함께 저장, 데이터 완전성 보장, 대체 저장 값 제공). 이를 통해 병합-저장 워크플로를 지원합니다
대체 처리 경로 사이에서 서로 다른 처리 전략의 결과를 결합합니다(예: 대체 처리 결과 병합, 서로 다른 모델 출력 결합, 처리 전략 통합). 이를 통해 대체-병합 워크플로를 지원합니다
요구 사항
이 블록은 최소 하나의 데이터 입력 참조가 필요합니다(여러 개 허용). 이 블록은 비어 있는 값(None)을 허용하므로 조건부 실행 분기의 데이터를 처리할 수 있습니다. 해당 기본값 매개변수는 선택 사항이며(기본값은 None) 모든 입력이 비어 있을 때 사용할 대체값을 지정합니다. 데이터 입력은 순서대로 처리되며, 먼저 나오는 비어 있지 않은 값이 선택됩니다. 모든 입력이 비어 있으면 기본값이 반환됩니다. 출력은 항상 None이 아니므로, 빈 값을 허용하지 않는 블록과의 호환성이 보장됩니다. 이 블록은 대체 실행 분기를 병합하고 구조화된 출력이 항상 완전하도록 보장하는 데 필수적입니다.
유형 식별자
단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/first_non_empty_or_default@v1 워크플로우에 이 블록을 단계로 추가하려면.
속성
이름
유형
설명
참조
name
str
이 단계에 대한 고유 식별자를 입력하세요..
❌
기본값
Any
모든 데이터 입력이 비어 있음(None)일 때 반환할 기본값입니다. 이를 통해 출력이 항상 None이 아니도록 보장하여, 빈 값을 허용하지 않는 후속 블록에서 안전하게 사용할 수 있습니다. 기본값은 문자열(예: '비어 있음', 'N/A'), 숫자(예: 0, -1), 객체(예: {}, []), null 또는 기타 어떤 값이든 될 수 있습니다. 지정하지 않으면 기본값은 None입니다. 조건부 실행 분기나 필터링으로 모든 데이터가 제거될 때 대체값을 제공하거나, 구조화된 출력에 항상 값이 존재하도록 보장하는 데 사용합니다..
❌
이 참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.
입력 및 출력 바인딩
사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 첫 번째 비어 있지 않은 값 또는 기본값 버전 v1 을 가지고 있는지.
입력 및 출력 바인딩
입력
데이터(*): 비어 있지 않은 값을 확인할 데이터 참조(선택자) 목록이며, 우선순위 순서로 정렬됩니다. 각 선택자는 서로 다른 워크플로 단계나 실행 분기의 출력을 참조할 수 있습니다. 이 블록은 이 목록을 순회하며 처음 발견된 비어 있지 않은(None이 아닌) 값을 반환합니다. 목록의 모든 값이 비어 있음/None이면 기본값이 반환됩니다. 최소 1개 항목이 필요합니다. 순서가 중요합니다: 목록의 앞쪽 항목이 더 높은 우선순위를 가집니다. 일반적인 사용 사례: 조건부 실행 분기의 출력 병합, 대체 데이터 소스 제공, 또는 대체 처리 경로의 결과 결합..
출력
출력(*): 어떤 요소와도 동일한 값.
마지막 업데이트
도움이 되었나요?