From d58b2db786d2ab07b2269f938c6ae0eb42f3bcdd Mon Sep 17 00:00:00 2001 From: bicochan Date: Thu, 4 Jun 2026 11:11:36 +0900 Subject: [PATCH] =?UTF-8?q?[st]=20chore:=20=EA=B2=80=EC=A6=9D=ED=95=AD?= =?UTF-8?q?=EB=AA=A9=EA=B4=80=EB=A6=AC=20=EA=B7=B8=EB=A6=AC=EB=93=9C=20?= =?UTF-8?q?=EC=BB=AC=EB=9F=BC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../verification/VerificationTargetDialog.tsx | 129 ++++++++++++++---- .../verification-article-column.ts | 24 ++++ 2 files changed, 127 insertions(+), 26 deletions(-) diff --git a/apps/st/src/components/statistics/verification/VerificationTargetDialog.tsx b/apps/st/src/components/statistics/verification/VerificationTargetDialog.tsx index 92f33941e..9e18e07a3 100644 --- a/apps/st/src/components/statistics/verification/VerificationTargetDialog.tsx +++ b/apps/st/src/components/statistics/verification/VerificationTargetDialog.tsx @@ -4,8 +4,6 @@ import { useEffect, useState } from "react"; import { Controller, useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; -import { Search } from "lucide-react"; -import { Tooltip, TooltipContent, TooltipTrigger } from "@common/components"; import { CodeSelect } from "@/entities/code/ui/code-select"; import { verificationTargetManagementApi } from "@/entities/statistics/api/verification-target-management-service"; @@ -17,6 +15,14 @@ import { type VerificationTargetManagementFormData, verificationTargetManagementSchema, } from "@/entities/statistics/model/verification-target-management-schema"; +import { + Label, + RadioGroup, + RadioGroupItem, + Tooltip, + TooltipContent, + TooltipTrigger, +} from "@common/components"; import { Button, Dialog, @@ -321,16 +327,27 @@ export function VerificationTargetDialog({ {tabValue !== "IMR" && ( - - - 중요도 계수(μ) - - + + 중요도 계수(μ) + + -

통계청(Statistics Canada) 등에서 기업 단위의 주기적 조사 데이터(수익, 매출, 생산량 등)에서 이상치(Outlier)를 탐지할 때, 데이터의 크기(규모)에 따라 이상치 판별 기준을 다르게 적용하기 위해 도입된 가중치 요인

+

+ 통계청(Statistics + Canada) 등에서 기업 + 단위의 주기적 조사 + 데이터(수익, 매출, + 생산량 등)에서 + 이상치(Outlier)를 탐지할 + 때, 데이터의 + 크기(규모)에 따라 이상치 + 판별 기준을 다르게 + 적용하기 위해 도입된 + 가중치 요인 +

@@ -370,13 +387,19 @@ export function VerificationTargetDialog({ - - 백분위수 기준값(pct) - - + + 백분위수 기준값(pct) + + -

데이터가 정규분포를 따르지 않아도, 데이터의 하위/상위 몇 % 위치를 기준으로 이상치 범위를 정할지 결정

+

+ 데이터가 정규분포를 + 따르지 않아도, 데이터의 + 하위/상위 몇 % 위치를 + 기준으로 이상치 범위를 + 정할지 결정 +

@@ -419,16 +442,23 @@ export function VerificationTargetDialog({ {tabValue !== "IMR" && ( - - - 스케일 조정 계수(A) - - + + 스케일 조정 계수(A) + + -

데이터의 크기가 다른 경우, 특히 규모가 작은 업체가 이상치로 잘못 탐지되는 것을 막기 위해 변환된 비율(Symmetric Ratios)에 규모(size)의 영향을 보정하는 역할

+

+ 데이터의 크기가 다른 + 경우, 특히 규모가 작은 + 업체가 이상치로 잘못 + 탐지되는 것을 막기 위해 + 변환된 비율(Symmetric + Ratios)에 규모(size)의 + 영향을 보정하는 역할 +

@@ -465,16 +495,22 @@ export function VerificationTargetDialog({ )} /> - + - - 임계 계수(c) - - + + 임계 계수(c) + + -

데이터의 분포가 중앙값(median)을 중심으로 얼마나 흩어져 있는지를 바탕으로 이상치 범위를 결정

+

+ 데이터의 분포가 + 중앙값(median)을 + 중심으로 얼마나 흩어져 + 있는지를 바탕으로 이상치 + 범위를 결정 +

@@ -513,6 +549,48 @@ export function VerificationTargetDialog({
)} + + + + 사용 여부 + + + ( +
+ +
+ + +
+
+ + +
+
+
+ )} + /> +
+
@@ -612,4 +690,3 @@ export function VerificationTargetDialog({ ); } - diff --git a/apps/st/src/entities/statistics/model/verification-article/verification-article-column.ts b/apps/st/src/entities/statistics/model/verification-article/verification-article-column.ts index 7f45b5632..0462d5392 100644 --- a/apps/st/src/entities/statistics/model/verification-article/verification-article-column.ts +++ b/apps/st/src/entities/statistics/model/verification-article/verification-article-column.ts @@ -67,6 +67,13 @@ export const hbArticleColumnInfo: ColumnInfo = { valueType: ValueType.NUMBER, dataFormat: "#,##0.###", }, + { + name: "useYn", + fieldName: "useYn", + header: { text: "사용 여부" }, + editable: false, + sortdisable: false, + }, { name: "rgtrNm", fieldName: "rgtrNm", @@ -91,6 +98,7 @@ export const hbArticleColumnInfo: ColumnInfo = { "pctlCrtrVl", "scopCntCntVl", "thrsCntVl", + "useYn", "rgtrNm", "regDt", ], @@ -126,6 +134,13 @@ export const imrArticleColumnInfo: ColumnInfo = { editable: false, sortdisable: false, }, + { + name: "useYn", + fieldName: "useYn", + header: { text: "사용 여부" }, + editable: false, + sortdisable: false, + }, { name: "rgtrNm", fieldName: "rgtrNm", @@ -146,6 +161,7 @@ export const imrArticleColumnInfo: ColumnInfo = { "vrfcTrgtNm", "tblNm", "colNm", + "useYn", "rgtrNm", "regDt", ], @@ -181,6 +197,13 @@ export const validationArticleColumnInfo: ColumnInfo = { editable: false, sortdisable: false, }, + { + name: "useYn", + fieldName: "useYn", + header: { text: "사용 여부" }, + editable: false, + sortdisable: false, + }, { name: "rgtrNm", fieldName: "rgtrNm", @@ -201,6 +224,7 @@ export const validationArticleColumnInfo: ColumnInfo = { "vrfcTrgtNm", "tblNm", "colNm", + "useYn", "rgtrNm", "regDt", ],