

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Quick Sight에서 분석, 대시보드 및 보고서와 데이터 시각화, 분석 및 공유
<a name="quick-bi"></a>

Amazon Quick Sight는 대화형 시각화, 대시보드 및 보고서를 통해 원시 데이터를 의미 있는 인사이트로 변환할 수 있는 포괄적인 비즈니스 인텔리전스 서비스입니다. 데이터베이스에 연결하든, 데이터 세트를 준비하든, 분석을 생성하든, 대시보드를 이해관계자와 공유하든 Amazon Quick Sight는 데이터 기반 결정을 내리는 데 필요한 도구를 제공합니다.

이 섹션에서는 초기 데이터 연결부터 최종 보고서 공유까지 전체 Amazon Quick Sight 워크플로를 다룹니다. 다양한 데이터 소스에 연결하고, 데이터를 준비 및 변환하고, 매력적인 시각화를 생성하고, 대화형 대시보드를 구축하고, 생성형 BI 기능을 활용하여 분석 워크플로를 가속화하는 방법을 알아봅니다. 각 주제는 이전 주제를 기반으로 Amazon Quick Sight의 강력한 기능 사용을 극대화하기 위한 포괄적인 가이드를 제공합니다.

**Topics**
+ [Amazon Quick Sight의 데이터에 연결](working-with-data.md)
+ [Amazon Quick Sight에서 데이터 새로 고침](refreshing-data.md)
+ [Amazon Quick Sight에서 데이터 준비](preparing-data.md)
+ [분석 및 보고서: Amazon Quick Sight에서 데이터 시각화](working-with-visuals.md)
+ [대시보드 및 보고서를 사용하여 Amazon Quick Sight에서 데이터 공유 및 구독](working-with-dashboards.md)
+ [Amazon Quick Sight에서 대화형 대시보드 탐색](using-dashboards.md)
+ [Amazon Quick Sight에서 기계 학습(ML)으로 인사이트 얻기](making-data-driven-decisions-with-ml-in-quicksight.md)
+ [Quick Sight를 사용한 생성형 BI](quicksight-gen-bi.md)
+ [Amazon Quick Sight 문제 해결](troubleshooting.md)
+ [Amazon Quick Sight를 사용하여 개발](quicksight_dev.md)

# Amazon Quick Sight의 데이터에 연결
<a name="working-with-data"></a>

다양한 역할의 사람들은 Amazon Quick Sight를 사용하여 분석 및 고급 계산을 수행하고, 데이터 대시보드를 설계하고, 분석을 포함하고, 정보에 입각한 더 나은 결정을 내리는 데 도움을 줍니다. 이러한 상황이 발생하기 전에 데이터를 이해하는 사람이 [Quick Sight 데이터 세트](https://docs.aws.amazon.com/quicksuite/latest/userguide/creating-data-sets)에 추가해야 합니다. Quick Sight는 다양한 [데이터 소스](https://docs.aws.amazon.com/quicksuite/latest/userguide/working-with-data-sources)에서 직접 연결 및 업로드를 지원합니다.**기능 및 사용 사례**

**Amazon Quick Standard 에디션 기능**  
Quick Standard 에디션에서 데이터를 사용할 수 있게 되면 다음을 수행할 수 있습니다.  
+ 필드 형식 지정, 계층 구조, 데이터 유형 변환 및 계산을 통해 데이터 세트를 변환하십시오.
+ 새로 생성한 데이터 세트를 기반으로 하나 이상의 데이터 분석을 생성합니다.
+ 분석을 다른 사람들과 공유하여 설계를 도와줄 수 있도록 하십시오.
+ 차트, 그래프, 더 많은 데이터 세트, 여러 페이지(시트라고 함)를 데이터 분석에 추가합니다.
+ 맞춤형 서식과 테마로 시각적인 매력을 더합니다.
+ 매개 변수, 컨트롤, 필터, 사용자 지정 액션을 사용하여 인터랙티브하게 만들 수 있습니다.
+ 여러 데이터 소스의 데이터를 결합한 다음 집계, 창 함수 등과 같이 분석 중에만 사용할 수 있는 드릴다운 및 계산을 위한 새로운 계층 구조를 구축합니다.
+ 분석을 대화형 데이터 대시보드로 게시합니다.
+ 대시보드의 기반이 되는 분석을 사용하지 않더라도 다른 사람들이 대시보드를 사용할 수 있도록 대시보드를 공유하십시오.
+ 더 많은 데이터를 추가하여 더 많은 분석과 대시보드를 만듭니다.

**Amazon Quick** **Enterprise 에디션 기능**  
Quick Enterprise 에디션에서 데이터를 사용할 수 있게 되면 역할에 따라 다양한 작업을 수행할 수 있습니다. 데이터 세트를 구축하고, 분석을 설계하고, 대시보드를 게시할 수 있다면 스탠다드 에디션을 사용하는 사람들이 수행할 수 있는 모든 작업을 수행할 수 있습니다.  
또한 수행할 수 있는 추가 작업의 몇 가지 예는 다음과 같습니다.  
+ 예측, 이상 및 이상치 탐지, 주요 드라이버 식별을 위한 기계 학습(ML) 기반 인사이트를 포함하여 Quick Sight 인사이트를 사용하는 분석을 생성합니다.
+ 텍스트, 색상, 이미지 및 계산을 사용하여 서술 인사이트를 설계합니다.
+ 데이터 암호화를 사용하지 않고 Virtual Private Cloud(VPC) 및 온프레미스 데이터 소스에서 데이터를 추가합니다.
+ 행 및 열 수준 보안을 추가하여 데이터 세트의 액세스를 제어합니다.
+ 가져온 데이터 세트를 1시간마다 새로 고칩니다.
+ 이메일로 전송된 보고서를 공유하십시오.

**애플리케이션 개발**  
애플리케이션을 개발하거나 AWS SDKs 및 AWS Command Line Interface (AWS CLI)를 사용하는 경우 다음 작업을 수행할 수 있습니다.  
+ 웹사이트 및 애플리케이션에 내장된 분석 및 내장된 대화형 대시보드를 추가합니다.
+ API 작업을 사용하여 데이터 소스 및 데이터 세트를 관리합니다.
+ 데이터 수집 API 작업을 사용하여 가져온 데이터를 더 자주 새로 고칩니다.
+ API 작업을 사용하여 분석 및 대시보드에서 스크립트를 작성하고, 전송하고, 템플릿을 만들 수 있습니다.
+ 시스템 관리자가 관리하는 설정을 기반으로 프로그래밍 방식으로 사용자를 보안 역할에 할당합니다.

**Quick의 관리 함수**  
Quick에서 관리 기능을 수행하는 경우 다음 작업을 수행할 수 있습니다.  
+ 공유 폴더로 보안을 관리하여 팀의 작업을 정리하고 대시보드, 분석 및 데이터세트를 사용하여 협업할 수 있도록 하십시오..
+ VPC에 Quick Sight를 추가하여 VPC 및 온프레미스 데이터 소스의 데이터에 액세스할 수 있습니다.
+  AWS 데이터 소스에 대한 세밀한 액세스 제어를 통해 민감한 데이터를 보호하십시오.
+ 매월 고정 비용으로 데이터 세트를 준비하고, 분석을 설계하고, 데이터 대시보드를 게시할 수 있도록 Quick author 보안 역할에 사용자를 수동으로 할당합니다.
+ pay-per-session 게시된 데이터 대시보드와 안전하게 상호 작용할 수 있도록 Quick Reader 보안 역할에 사용자를 수동으로 할당합니다.

**대시보드 구독**  
대시보드를 구독하는 경우 다음을 수행할 수 있습니다.  
+ 전문가 팀이 설계한 대화형 대시보드를 사용하고 구독하십시오.
+ 단순하고 깔끔한 인터페이스를 즐기십시오.
+ 이메일에서 대시보드 스냅샷을 볼 수 있습니다.
+ 손쉽게 이용할 수 있는 데이터로 의사 결정을 내리는 데 집중하십시오.

데이터에 연결하거나 데이터를 가져온 후에는 데이터 세트를 만들어 공유 및 재사용할 데이터를 변형하고 준비합니다. **** Amazon Quick Sight 시작 페이지에서 **데이터를** 선택하여 데이터 페이지에서 사용 가능한 데이터 세트를 볼 수 있습니다. 데이터 세트 생성 페이지에서 사용 가능한 데이터 소스를 보고 새 데이터 세트를 생성할 수 있습니다. **데이터 세트** 생성 페이지에서 **데이터** 세트 **생성 ** 후 **새 데이터 세트를** 선택하여 연결할 수 있습니다.

**Topics**
+ [지원되는 데이터 원본](supported-data-sources.md)
+ [통합 및 데이터 세트를 사용하여 데이터에 연결](connecting-to-data-examples.md)
+ [데이터 소스 할당량](data-source-limits.md)
+ [지원되는 데이터 형식 및 값](supported-data-types-and-values.md)
+ [데이터 세트 작업](working-with-datasets.md)
+ [Amazon Quick Sight에서 데이터 소스 작업](working-with-data-sources.md)

# 지원되는 데이터 원본
<a name="supported-data-sources"></a>

Amazon Quick Sight는 분석을 위한 데이터를 제공하는 데 사용할 수 있는 다양한 데이터 소스를 지원합니다. 지원되는 데이터 소스는 다음과 같습니다.

## 관계형 데이터에 연결
<a name="relational-data-sources"></a>

다음 관계형 데이터 스토어 중 하나를 Amazon Quick Sight의 데이터 소스로 사용할 수 있습니다.
+ Amazon Athena
+ Amazon Aurora
+ AWS Glue Athena 또는 Redshift Spectrum과 같은 데이터 카탈로그 호환 서비스를 사용하여 AWS Glue 데이터 카탈로그에 액세스할 수 있습니다.
+ Amazon OpenSearch Service
+ Amazon Redshift
+ Amazon Redshift Spectrum
+ Amazon S3
+ Amazon S3 Analytics
+ Apache Impala
+ Apache Spark 2.0 이상
+ AWS IoT Analytics
+ Spark 1.6 이상, 최대 버전 3.0의 Databricks(E2 플랫폼 전용) 
+ Exasol 7.1.2 이상
+ Google BigQuery
+ MariaDB 10.0 이상
+ Microsoft SQL Server 2012 이상
+ MySQL 5.7 이상
**참고**  
2023년 10월부터 MySQL 커뮤니티는 MySQL 버전 5.7에 대한 지원을 중단했습니다. 즉, Amazon Quick Sight는 MySQL 5.7에 대한 새로운 기능, 개선 사항, 버그 수정 또는 보안 패치를 더 이상 지원하지 않습니다. 기존 쿼리 워크로드에 대한 지원은 최선을 다해 이루어집니다. Quick Sight 고객은 여전히 Quick Sight와 함께 MySQL 5.7 데이터 세트를 사용할 수 있지만 MySQL 데이터베이스(DB)를 메이저 버전 8.0 이상으로 업그레이드하는 것이 좋습니다. Amazon RDS에서 제공하는 문을 보려면 [Amazon RDS 추가 지원 옵트인 동작이 변경되고 있음을 참조하세요. 요금이 잠재적으로 증가하는 것을 방지하려면 2024년 2월 29일 이전에 Amazon RDS for MySQL 5.7 데이터베이스 인스턴스를 업그레이드하세요](https://repost.aws/articles/ARHdQg4IelQS2uyXkNrINw-A/announcement-amazon-rds-extended-support-opt-in-behavior-is-changing-upgrade-your-amazon-rds-for-mysql-5-7-database-instances-before-february-29-2024-to-avoid-potential-increase-in-charges).  
Amazon RDS가 Amazon RDS MySQL 8.3에 대한 보안 설정을 업데이트했습니다. Quick Sight에서 Amazon RDS MySQL 8.3으로의 모든 연결은 기본적으로 SSL을 사용합니다. 이는 MySQL 8.3. 연결에 사용할 수 있는 유일한 옵션입니다.  
MySQL 연결용 TLS 1.2에는 MySQL 버전 5.7.28 이상이 필요합니다. MySQL 버전이 5.7.28 미만인 경우 Quick Sight는 TLS 1.1로 돌아갑니다. 보안 요구 사항에 TLS 1.2가 필요한 경우 MySQL 또는 Aurora MySQL 데이터베이스가 버전 5.7.28 이상을 실행 중인지 확인합니다.
+ Oracle 12c 이상
+ PostgreSQL 9.3.1 이상
**참고**  
Amazon Quick Sight에서 PostgreSQL에 대한 SCRAM 기반 인증은 RDS 호스팅 PostgreSQL, Aurora PostgreSQL 및 Vanilla PostgreSQL 커넥터에서 지원됩니다. 적절한 PostgreSQL 엔진 버전이 사용되고 PostgreSQL for SCRAM의 올바른 구성이 설정된 경우 Quick Sight에서 추가 구성이 필요하지 않습니다. Quick Sight에서 PostgreSQL에 대한 SCRAM 인증을 설정하는 데 여전히 문제가 있는 경우 지원 티켓을 생성하세요.
+ Presto 0.167 이상
+ Snowflake
+ Starburst
+ Trino
+ Teradata 14.0 이상
+ Timestream

**참고**  
지원되는 데이터 소스를 링크하거나 가져와 여기에 나열되지 않은 데이터 소스에 추가로 액세스할 수 있습니다.

Amazon Redshift 클러스터, Amazon Athena 데이터베이스, Amazon RDS 인스턴스가 AWS에 있어야 합니다. Amazon Quick Sight에서 액세스할 수 있으려면 다른 데이터베이스 인스턴스가 다음 환경 중 하나에 있어야 합니다.
+ Amazon EC2
+ 로컬(온프레미스) 데이터베이스
+ 데이터 센터의 데이터 또는 인터넷을 통해 액세스 가능한 기타 환경

자세한 내용은 [Amazon Quick의 인프라 보안](infrastructure-and-network-access.md) 단원을 참조하십시오.

## 파일 데이터 가져오기
<a name="file-data-sources"></a>

Amazon S3 또는 로컬(온프레미스) 네트워크에 있는 파일을 데이터 소스로 사용할 수 있습니다. Quick Sight는 다음 형식의 파일을 지원합니다.
+ CSV 및 TSV — 쉼표 및 탭으로 구분된 텍스트 파일
+ ELF 및 CLF - 확장 및 일반 로그 형식 파일
+ JSON 플랫 또는 반정형 데이터 파일
+ XLSX - Microsoft Excel 파일

Quick Sight는 UTF-8 파일 인코딩을 지원하지만 UTF-8(BOM 포함)은 지원하지 않습니다.

Amazon S3에서 zip 또는 gzip([www.gzip.org](http://www.gzip.org))으로 압축된 파일은 있는 그대로 가져올 수 있습니다. Amazon S3에서 파일에 다른 압축 프로그램을 사용한 경우 또는 파일이 로컬 네트워크에 있는 경우 파일을 가져오기 전에 압축을 풀어야 합니다.

### JSON 데이터
<a name="json-data-sources"></a>

Amazon Quick Sight는 기본적으로 JSON 플랫 파일과 JSON 반정형 데이터 파일을 지원합니다.

JSON 파일을 업로드하거나 JSON 데이터가 포함된 Amazon S3 버킷에 연결할 수 있습니다. Amazon Quick Sight는 JSON 파일 및 임베디드 JSON 객체에 대해 스키마 및 유형 추론을 자동으로 수행합니다. 그런 다음 JSON을 평면화하므로 사용자는 애플리케이션에서 생성된 데이터를 분석하고 시각화할 수 있습니다.

JSON 플랫 파일 데이터에 대한 기본 지원은 다음과 같습니다.
+ 스키마 추론
+ 데이터 형식 결정
+ 데이터 평면화
+ 플랫 파일에서 JSON(JSON 포함 객체) 구문 분석

JSON 파일 구조(.json)에 대한 지원 사항은 다음과 같습니다.
+ 구조체를 포함하는 JSON 레코드
+ 배열로 루트 요소를 포함하는 JSON 레코드

또한 `parseJson` 함수를 사용하여 텍스트 파일의 JSON 객체에서 값을 추출할 수도 있습니다. 예를 들어 CSV 파일의 필드 중 하나에 JSON 객체가 포함된 경우 지정된 키 값 페어(KVP)에서 값을 추출할 수 있습니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 [parseJson](parseJson-function.md) 단원을 참조하세요.

다음 JSON 기능은 지원되지 않습니다.
+ 레코드 목록이 들어 있는 구조체를 포함하는 JSON 읽기
+ 가져오기 중에 건너뛰는 JSON 레코드 내 목록 속성 및 목록 객체
+ 업로드 또는 구성 설정 사용자 지정
+ SQL 및 분석에 대한 parseJSON 함수
+ 잘못된 JSON에 대한 오류 메시징
+ JSON 구조체에서 JSON 객체 추출
+ 구분된 JSON 레코드 읽기

`parseJson` 함수를 사용하여 데이터 준비 중 플랫 파일을 구문 분석할 수 있습니다. 이 함수는 유효한 JSON 구조체 및 목록에서 요소를 추출합니다.

다음과 같은 JSON 값이 지원됩니다.
+ JSON 객체
+ 문자열(큰 따옴표로 묶임)
+ 숫자(정수 및 부동 소수점 수)
+ 부울
+ NULL

## 서비스형 소프트웨어(SaaS) 데이터
<a name="service-data-sources"></a>

Quick Sight는 직접 연결하거나 OAuth(Open Authorization)를 사용하여 다양한 서비스형 소프트웨어(SaaS) 데이터 소스에 연결할 수 있습니다.

직접 연결을 지원하는 SaaS 소스는 다음과 같습니다.
+ Jira
+ ServiceNow

OAuth를 사용하는 SaaS 소스의 경우 SaaS 웹사이트에서 연결을 승인해야 합니다. 이렇게 하려면 Quick Sight가 네트워크를 통해 SaaS 데이터 소스에 액세스할 수 있어야 합니다. 이 소스에는 다음 사항이 포함됩니다.
+ Adobe Analytics
+ GitHub
+ Salesforce

  다음 Salesforce 에디션의 보고서 또는 객체를 Amazon Quick Sight의 데이터 소스로 사용할 수 있습니다.
  + Enterprise Edition
  + Unlimited Edition
  + Developer Edition

## 로컬 데이터 소스
<a name="local-data-sources"></a>

온프레미스 데이터 소스에 연결하려면 Amazon Virtual Private Cloud(Amazon VPC)에 데이터 소스와 빠른 전용 네트워크 인터페이스를 추가해야 합니다. Amazon VPC 기반 VPC 기반 VPC 는 자체 데이터 센터에서 운영하는 기존 네트워크와 유사합니다. 이를 통해 리소스 간 트래픽을 보호하고 격리할 수 있습니다. 요구 사항에 맞게 네트워크 요소를 정의하고 제어하면서 클라우드 네트워킹과 확장 가능한 AWS인프라의 이점을 계속 누릴 수 있습니다.

자세한 내용은 [Amazon Quick의 인프라 보안](infrastructure-and-network-access.md)섹션을 참조하세요.

# 통합 및 데이터 세트를 사용하여 데이터에 연결
<a name="connecting-to-data-examples"></a>

Amazon Quick Sight를 다양한 유형의 데이터 소스에 연결할 수 있습니다. 여기에는 서비스형 소프트웨어(SaaS) 애플리케이션에 상주하는 데이터, Amazon S3 버킷에 저장된 플랫 파일, Salesforce와 같은 타사 서비스의 데이터, Athena의 쿼리 결과가 포함됩니다. 다음 예제를 사용하여 특정 데이터 소스에 연결하기 위한 요구 사항에 대해 자세히 알아보십시오.

**Topics**
+ [Amazon Athena 데이터를 사용하여 데이터 세트 생성](create-a-data-set-athena.md)
+ [Amazon Quick Sight에서 Amazon OpenSearch Service 사용](connecting-to-os.md)
+ [Amazon S3 파일을 사용하여 데이터 세트 생성](create-a-data-set-s3.md)
+ [Apache Spark를 사용하여 데이터 소스 생성](create-a-data-source-spark.md)
+ [Quick Sight에서 Databricks 사용](quicksight-databricks.md)
+ [Google BigQuery를 사용하여 데이터세트 생성](quicksight-google-big-query.md)
+ [Google Sheets 데이터 소스를 사용하여 데이터세트 생성](create-a-dataset-google-sheets.md)
+ [Apache Impala 데이터 소스를 사용하여 데이터세트 생성](create-a-dataset-impala.md)
+ [Microsoft Excel 파일을 사용하여 데이터 세트 생성](create-a-data-set-excel.md)
+ [Presto를 사용하여 데이터 소스 생성](create-a-data-source-presto.md)
+ [Amazon Quick Sight에서 Snowflake 사용](connecting-to-snowflake.md)
+ [Amazon Quick Sight에서 Starburst 사용](connecting-to-starburst.md)
+ [SaaS 소스에서 데이터 소스 및 데이터 세트 생성](connecting-to-saas-data-sources.md)
+ [Salesforce에서 데이터 세트 생성](create-a-data-set-salesforce.md)
+ [Amazon Quick Sight에서 Trino 사용](connecting-to-trino.md)
+ [로컬 텍스트 파일을 사용하여 데이터 세트 생성](create-a-data-set-file.md)
+ [Amazon Quick Sight에서 Amazon Timestream 데이터 사용](using-data-from-timestream.md)

# Amazon Athena 데이터를 사용하여 데이터 세트 생성
<a name="create-a-data-set-athena"></a>

다음 절차를 사용하여 Amazon Athena 데이터 또는 Athena 페더레이션 쿼리 데이터에 연결되는 새 데이터 세트를 생성합니다.

**Amazon Athena에 연결하기**

1. 먼저 새 데이터 세트를 생성합니다. 왼쪽 탐색 창에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 

   1. 기존 Athena 연결 프로필(일반)을 사용하려면 사용하려는 기존 데이터 소스의 카드를 선택합니다. **선택**을 선택하세요.

      카드에는 Athena 데이터 소스 아이콘과 연결을 만든 사람이 제공한 이름이 표시되어 있습니다.

   1. 새 Athena 연결 프로필(일반적이지 않음)을 만들려면 다음 단계를 사용하십시오.

      1. **새 데이터 소스를** 선택한 다음 **Athena** 데이터 소스 카드를 선택합니다.

      1. **다음**을 선택합니다.

      1. **데이터 소스 이름**에 설명이 포함된 이름을 입력합니다.

      1. **Athena 작업 그룹**에 대해 사용할 작업 그룹을 선택합니다.

      1. **연결 검증**을 선택하여 연결을 테스트합니다.

      1. **데이터 소스 생성**을 선택합니다.

      1. (선택 사항) 쿼리를 실행할 IAM 역할 ARN을 선택합니다.

1. **테이블 선택** 화면에서 다음을 수행하십시오.

   1. **카탈로그**에서 다음 중 하나를 선택합니다.
      + Athena 통합 쿼리를 사용하는 경우 사용할 카탈로그를 선택합니다.
      + 그렇지 않으면 **AwsDataCatalog**를 선택하십시오.

   1. 다음 중 하나를 선택합니다.
      + SQL 쿼리를 작성하려면 **사용자 지정 SQL 사용**을 선택합니다.
      + 데이터베이스와 테이블을 선택하려면 카탈로그 아래의 드롭다운에서 데이터베이스가 포함된 **카탈로그**를 선택합니다. 그런 다음 데이터베이스 아래의 드롭다운에서 **데이터베이스**를 선택하고 해당 데이터베이스에 표시되는 테이블 목록에서 **테이블**을 선택합니다.

   적절한 권한이 없는 경우 “이 데이터세트에 연결하거나 이 쿼리를 실행할 수 있는 충분한 권한이 없습니다.” 라는 오류 메시지가 표시됩니다. 빠른 관리자에게 문의하여 도움을 받으세요. 자세한 내용은 [Amazon Athena에 대한 연결 승인](athena.md) 단원을 참조하십시오.

1. **데이터 편집/미리 보기**를 선택합니다.

1. 데이터 세트를 만들고 테이블을 용하여 데이터를 분석하려면 **시각화**를 선택합니다. 자세한 내용은 [분석 및 보고서: Amazon Quick Sight에서 데이터 시각화](working-with-visuals.md) 단원을 참조하십시오.

# Amazon Quick Sight에서 Amazon OpenSearch Service 사용
<a name="connecting-to-os"></a>

아래에서 Amazon Quick Sight를 사용하여 Amazon OpenSearch Service 데이터에 연결하는 방법을 확인할 수 있습니다.

## OpenSearch Service에 대한 새 Quick Sight 데이터 소스 연결 생성
<a name="create-connection-to-es"></a>

다음으로, OpenSearch Service에 연결하는 방법을 찾을 수 있습니다.

계속하기 전에 Amazon Quick Sight에 Amazon OpenSearch Service에 연결할 수 있는 권한이 있어야 합니다. 연결이 활성화되지 않은 경우 연결을 시도할 때 오류가 발생합니다. Quick Sight 관리자는 AWS 리소스에 대한 연결을 승인할 수 있습니다.

**Quick Sight가 OpenSearch Service에 대한 연결을 시작하도록 승인하려면**

1. 오른쪽 상단의 프로필 아이콘을 클릭하여 메뉴를 연 다음 **빠른 관리를** 선택합니다. 프로필 메뉴에 **빠른 관리** 옵션이 표시되지 않으면 Amazon Quick 관리자에게 도움을 요청하세요.

1. **보안 및 권한**, **추가 또는 제거**를 선택합니다.

1. **OpenSearch**용 옵션을 활성화합니다.

1. **업데이트**를 선택합니다.

OpenSearch 서비스에 액세스할 수 있게 되면 사람들이 지정된 도메인을 사용할 수 있도록 데이터 소스를 생성합니다.

**OpenSearch Service에 연결하기**

1. 먼저 새 데이터 세트를 생성합니다. 왼쪽 탐색 창에서 **데이터를** 선택한 다음 **생성** 및 **새 데이터 세트를** 선택합니다.

1. **Amazon OpenSearch** 데이터 소스 카드를 선택합니다.

1. **데이터 소스 이름**의 경우 OpenSearch 데이터 소스 연결(예: `OpenSearch Service ML Data`)의 설명이 포함된 이름을 입력합니다. OpenSearch Service에 연결하여 많은 데이터 세트를 생성할 수 있으므로 이름을 단순하게 유지하는 것이 가장 좋습니다.

1. **연결 유형**에서 사용하려는 네트워크를 선택합니다. 이는 Amazon VPC를 기반으로 Virtual Private Cloud(VPC) 또는 퍼블릭 네트워크일 수 있습니다. VPC 목록에는 VPC ID가 아닌 VPC 연결 이름이 포함됩니다. 이러한 이름은 빠른 관리자가 정의합니다.

1. **도메인**의 경우 연결할 OpenSearch Service 도메인을 선택합니다.

1. **연결 검증**을 선택하여 OpenSearch Service에 성공적으로 연결할 수 있는지 확인합니다.

1. 계속하려면 **데이터 소스 생성**을 선택합니다.

1. **테이블**의 경우 사용할 테이블을 선택한 다음 **선택**을 선택하여 계속합니다.

1. 다음 중 하나를 수행하세요.
   + Quick Sight 인 메모리 엔진(라고 함SPICE)으로 데이터를 가져오려면 **더 빠른 분석을 SPICE 위해 로 가져오기**를 선택합니다. OpenSearch 데이터 가져오기를 활성화하는 자세한 방법은 [Amazon OpenSearch Service에 대한 연결 승인](opensearch.md)을(를) 참조하십시오.
   + 데이터 세트를 새로 고치거나 분석 또는 대시보드를 사용할 때마다 Quick Sight가 데이터에 대해 쿼리를 실행하도록 허용하려면 **데이터 직접 쿼리를** 선택합니다.

     OpenSearch Service 데이터를 사용하는 게시된 대시보드에서 자동 새로 고침을 활성화하려면 OpenSearch Service 데이터 세트에서 직접 쿼리를 사용해야 합니다.

1. **편집/미리보기**를 선택한 다음 **저장**을 선택하여 데이터 세트를 저장하고 닫습니다.

## OpenSearch 서비스 데이터에 대한 권한 관리
<a name="dataset-permissions-for-es"></a>

다음 절차는 동일한 OpenSearch Service 데이터 소스에 대한 액세스를 허용하는 권한을 보고, 추가하고, 취소하는 방법을 설명합니다. 추가하는 사용자는 Quick Sight에서 활성 사용자여야 추가할 수 있습니다.

**데이터 소스에 대한 권한 편집하기**

1. 왼쪽에서 **데이터를** 선택한 다음 아래로 스크롤하여 Amazon OpenSearch Service 연결에 사용할 데이터 소스 카드를 찾습니다. 예를 들면 `US Amazon OpenSearch Service Data`와(과) 같습니다.

1. **Amazon OpenSearch** 데이터 세트를 선택합니다.

1. 표시되는 데이터 세트 세부정보 페이지에서 **권한** 탭을 선택합니다.

   현재 권한 목록이 나타납니다.

1. 권한을 추가하려면 **사용자 및 그룹 추가**를 선택하고 다음 단계를 따르십시오.

   1. 같은 데이터 세트를 사용할 수 있도록 사용자 또는 그룹을 추가합니다.

   1. 추가하려는 모든 사람을 모두 추가했으면 해당 사용자에게 적용할 **권한**을 선택합니다.

1. (선택 사항) 권한을 수정하려면 **뷰어** 또는 **소유자**를 선택하면 됩니다.
   + 읽기 액세스를 허용하려면 **뷰어**를 선택합니다.
   + **소유자**를 선택하여 해당 사용자가이 Quick Sight 데이터 세트를 편집, 공유 또는 삭제할 수 있도록 허용합니다.

1. (선택 사항) 권한을 취소하려면 **액세스 취소**를 선택합니다. 다른 사용자의 액세스 권한을 취소한 후에는 이 데이터 소스에서 새 데이터 세트를 생성할 수 없습니다. 하지만 기존 데이터 세트는 여전히 이 데이터 소스에 액세스할 수 있습니다.

1. 모든 구매를 마친 후에는 **닫기**를 선택합니다.

## OpenSearch Service용 새 Quick Sight 데이터 세트 추가
<a name="create-dataset-using-es"></a>

OpenSearch 서비스에 대한 기존 데이터 소스 연결이 있으면 분석에 사용할 OpenSearch 서비스 데이터 세트를 생성할 수 있습니다.

**OpenSearch Service를 사용하여 데이터 세트 생성하기**

1. 시작 페이지에서 **데이터**, **생성**, **새 데이터 세트를** 선택합니다.

1. OpenSearch 서비스 연결을 위한 데이터 소스 카드까지 아래로 스크롤합니다. 데이터 소스가 여러 개 있는 경우 페이지 상단의 검색 창을 사용하여 이름이 일부 일치하는 데이터 소스를 찾을 수 있습니다.

1. **Amazon OpenSearch** 데이터 소스 카드를 선택한 다음 **데이터 세트 생성을** 선택합니다.

1. **테이블**의 경우 사용하려는 OpenSearch 서비스 색인을 선택합니다.

1. **편집/미리 보기**를 선택합니다.

1. **저장**을 선택하여 데이터 세트를 저장하고 닫습니다.

## 분석에 OpenSearch 서비스 데이터 추가
<a name="open-analysis-add-dataset-for-es"></a>

OpenSearch Service 데이터 세트를 사용할 수 있게 되면 Quick Sight 분석에 추가할 수 있습니다. 시작하기 전에 사용할 OpenSearch Service 데이터를 포함하는 기존 데이터 세트가 있는지 확인하십시오.

**분석에 OpenSearch Service 데이터 추가하기**

1. 왼쪽에서 **분석**을 선택합니다.

1. 다음 중 하나를 수행하세요.
   + 새 분석을 만들려면 오른쪽에서 **새 분석**을 선택합니다.
   + 기존 분석에 추가하려면 편집하려는 분석을 여십시오.
     + 왼쪽 상단에 있는 연필 아이콘을 선택합니다.
     + **데이터 세트 추가**를 선택합니다.

1. 추가할 OpenSearch Service의 데이터 세트를 선택합니다.

   시각화에서 OpenSearch 서비스를 사용하는 방법에 대한 자세한 내용은 [OpenSearch Service의 사용 제한](#limitations-for-es)을(를) 참조하십시오.

1. 자세한 내용은 [분석을 통합 작업](https://docs.aws.amazon.com/quicksight/latest/user/working-with-analyses.html)을 참조하십시오.

## OpenSearch Service의 사용 제한
<a name="limitations-for-es"></a>

OpenSearch Service의 데이터 세트를 사용할 때는 다음과 같은 제한 사항이 적용됩니다.
+ OpenSearch 서비스 데이터 세트는 시각적 유형, 정렬 옵션 및 필터 옵션의 하위 집합을 지원합니다.
+ OpenSearch Service 데이터를 사용하는 게시된 대시보드에서 자동 새로 고침을 활성화하려면 OpenSearch Service 데이터 세트에서 직접 쿼리를 사용해야 합니다.
+ 다중 하위 쿼리 작업은 지원되지 않습니다. 시각화하는 동안 오류를 방지하려면 필드에 여러 필드를 잘 추가하지 말고, 시각화당 하나 또는 두 개의 필드를 사용하고, **색상** 필드를 잘 사용하지 마세요.
+ 사용자 지정 SQL은 지원되지 않습니다.
+ Crossdataset 조인 및 자체 조인은 지원되지 않습니다.
+ 계산된 필드는 지원되지 않습니다.
+ 텍스트 필드는 지원되지 않습니다.
+ “기타” 카테고리는 지원되지 않습니다. “기타” 범주를 지원하는 시각화가 포함된 OpenSearch Service 데이터 세트를 사용하는 경우 비주얼의 메뉴를 사용하여 “기타” 범주를 비활성화하십시오.

# Amazon S3 파일을 사용하여 데이터 세트 생성
<a name="create-a-data-set-s3"></a>

Amazon S3에서 하나 이상의 텍스트 파일(.csv, .tsv, .clf 또는 .elf)을 사용하여 데이터 세트를 생성하려면 Quick Sight용 매니페스트를 생성합니다. Quick Sight는이 매니페스트를 사용하여 사용하려는 파일과 파일을 가져오는 데 필요한 업로드 설정을 식별합니다. Amazon S3를 사용하여 데이터 세트를 생성하는 경우 파일 데이터를 [SPICE](spice.md)(으)로 가져오기가 자동으로 수행됩니다.

파일을 읽으려는 모든 Amazon S3 버킷에 Quick Sight 액세스 권한을 부여해야 합니다. AWS 리소스에 대한 Quick Sight 액세스 권한 부여에 대한 자세한 내용은 섹션을 참조하세요[AWS 데이터 소스에 대한 Amazon Quick Sight 액세스 구성](access-to-aws-resources.md).

**Topics**
+ [Amazon S3 매니페스트 파일에 지원되는 형식](supported-manifest-file-format.md)
+ [Amazon S3 데이터세트 생성](create-a-data-set-s3-procedure.md)
+ [다른 AWS 계정에서 S3 파일을 사용하는 데이터 세트](using-s3-files-in-another-aws-account.md)

# Amazon S3 매니페스트 파일에 지원되는 형식
<a name="supported-manifest-file-format"></a>

JSON 매니페스트 파일을 사용하여 Amazon S3에서 Quick Sight로 가져올 파일을 지정합니다. 이러한 JSON 매니페스트 파일은 다음에 설명된 Quick Sight 형식 또는 Amazon Redshift 데이터베이스 개발자 안내서의 매[니페스트를 사용하여 데이터 파일 지정](https://docs.aws.amazon.com/redshift/latest/dg/loading-data-files-using-manifest.html)에 설명된 Amazon Redshift 형식을 사용할 수 있습니다. ** Amazon Redshift 매니페스트 파일 형식을 사용하기 위해 Amazon Redshift를 사용할 필요는 없습니다.

Quick Sight 매니페스트 파일을 사용하는 경우와 같은 .json 확장자가 있어야 합니다`my_manifest.json`. Amazon Redshift 매니페스트 파일을 사용하는 경우 이 파일의 확장자는 어떤 것이든 상관없습니다.

Amazon Redshift 매니페스트 파일을 사용하는 경우 Quick Sight는 Amazon Redshift와 마찬가지로 옵션 `mandatory` 옵션을 처리합니다. 연결된 파일을 찾을 수 없는 경우 Quick Sight는 가져오기 프로세스를 종료하고 오류를 반환합니다.

가져올 파일은 구분된 텍스트(예: .csv 또는 .tsv), 로그(.clf), 확장된 로그(.elf), 또는 JSON(.json) 형식이어야 합니다. 매니페스트 파일 하나에서 식별되는 모든 파일은 형식이 동일해야 합니다. 또한 열 수와 유형이 같아야 합니다. Quick Sight는 UTF-8 파일 인코딩을 지원하지만 바이트 순서 표시(BOM)가 있는 UTF-8은 지원하지 않습니다. JSON 파일을 가져오려는 경우 `globalUploadSettings`에는 `delimiter`, `textqualifier` 또는 `containsHeader`이(가) 아니라 `format`을(를) 지정해야 합니다.

지정한 파일이 Quick Sight 액세스 권한을 부여한 Amazon S3 버킷에 있는지 확인합니다. AWS 리소스에 대한 Quick Sight 액세스 권한 부여에 대한 자세한 내용은 섹션을 참조하세요[AWS 데이터 소스에 대한 Amazon Quick Sight 액세스 구성](access-to-aws-resources.md).

## Quick Sight의 매니페스트 파일 형식
<a name="quicksight-manifest-file-format"></a>

Quick Sight 매니페스트 파일은 다음 JSON 형식을 사용합니다.

```
{
    "fileLocations": [
        {
            "URIs": [
                "uri1",
                "uri2",
                "uri3"
            ]
        },
        {
            "URIPrefixes": [
                "prefix1",
                "prefix2",
                "prefix3"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "JSON",
        "delimiter": ",",
        "textqualifier": "'",
        "containsHeader": "true"
    }
}
```

`fileLocations` 요소의 필드에 가져올 파일을 지정하고, `globalUploadSettings` 요소의 필드에는 가져올 파일의 가져오기 설정(예: 필드 구분 기호)을 지정합니다.

매니페스트 파일 요소에 대한 설명은 다음과 같습니다.
+ **fileLocations** –이 요소는 가져올 파일을 지정하는 데 사용합니다. `URIs` 및 `URIPrefixes` 어레이를 둘 다 혹은 둘 중 하나만 사용하여 지정할 수 있습니다. 적어도 둘 중 하나에는 값을 지정해야 합니다.
  + **URIs** - 이 배열은 가져올 특정 파일의 URI를 나열하는 데 사용합니다.

    Quick Sight는 모든에 있는 Amazon S3 파일에 액세스할 수 있습니다 AWS 리전. 그러나 빠른 계정에서 사용하는 리전과 다른 경우 Amazon S3 버킷의 AWS 리전을 식별하는 URI 형식을 사용해야 합니다.

    다음 형식의 URI가 지원됩니다.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-manifest-file-format.html)
  + **URIPrefixes** - 이 배열은 S3 버킷 및 폴더의 URI 접두사를 나열하는 데 사용합니다. 지정된 버킷 또는 폴더의 모든 파일을 가져옵니다. Quick Sight는 하위 폴더에서 파일을 재귀적으로 검색합니다.

    Quick Sight는 모든에 있는 Amazon S3 버킷 또는 폴더에 액세스할 수 있습니다 AWS 리전. S3 버킷이 Quick 계정에서 사용하는 버킷과 다른 AWS 리전 경우 S3 버킷을 식별하는 URI 접두사 형식을 사용해야 합니다.

    다음 형식의 URI 접두사가 지원됩니다.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-manifest-file-format.html)
+ **globalUploadSettings** - (선택 사항) 이 요소는 Amazon S3 파일의 가져오기 설정(예: 필드 구분 기호)을 지정하는 데 사용합니다. 이 요소를 지정하지 않으면 Quick Sight는이 섹션의 필드에 기본값을 사용합니다.
**중요**  
로그(.clf) 및 확장 로그(.elf) 파일의 경우 이 섹션의 [**format**] 필드만 해당되므로 다른 필드는 건너뛰어도 됩니다. 다른 필드를 포함하도록 선택하면 해당 필드의 값은 무시됩니다.
  + **형식** - (선택 사항) 가져올 파일의 형식을 지정합니다. 유효한 값은 **CSV**, **TSV**, **CLF**, **ELF**, **JSON**입니다. 기본값은 **CSV**입니다.
  + **delimiter** - (선택 사항) 파일 필드 구분 기호를 지정합니다. `format` 필드에 지정된 파일 형식으로 매핑해야 합니다. 유효한 형식은 .csv 파일의 경우 쉼표(**,**)이고 .tsv 파일의 경우 탭(**\$1t**)입니다. 기본값은 쉼표(**,**)입니다.
  + **textqualifier** - (선택 사항) 파일 텍스트 한정자를 지정합니다. 유효한 형식은 작은 따옴표(**'**), 큰 따옴표(**\$1"**)입니다. JSON에서 큰따옴표를 사용하는 경우 큰따옴표 앞에 오는 백슬래시는 필수 이스케이프 문자입니다. 기본값은 큰따옴표입니다(**\$1"**). 텍스트에 텍스트 한정어가 필요하지 않은 경우 이 속성을 포함하지 마십시오.
  + **containsHeader** - (선택 사항) 파일에 머리글 행을 포함할지 여부를 지정합니다. 유효한 값은 **true** 또는 **false**입니다. 기본값은 **true**입니다.

### Quick Sight의 매니페스트 파일 예제
<a name="quicksight-manifest-file-examples"></a>

다음은 완료된 Quick Sight 매니페스트 파일의 몇 가지 예입니다.

다음 예는 가져올 특정한 .csv 파일 두 개를 식별하는 매니페스트 파일을 보여 줍니다. 이러한 파일에서는 텍스트 한정자로 큰따옴표를 사용합니다. 기본값이 허용 가능하므로 `format`, `delimiter` 및 `containsHeader` 필드는 건너뜁니다.

```
{
    "fileLocations": [
        {
            "URIs": [
                "https://yourBucket.s3.amazonaws.com/data-file.csv",
                "https://yourBucket.s3.amazonaws.com/data-file-2.csv"
            ]
        }
    ],
    "globalUploadSettings": {
        "textqualifier": "\""
    }
}
```

다음 예는 가져올 특정한 .tsv 파일을 식별하는 매니페스트 파일을 보여 줍니다. 이 파일에는 가져오기를 위한 추가 .tsv 파일이 포함된 다른 AWS 리전의 버킷도 포함됩니다. 기본값이 허용 가능하므로 `textqualifier` 및 `containsHeader` 필드는 건너뜁니다.

```
{
    "fileLocations": [
        {
            "URIs": [
                "https://s3.amazonaws.com/amzn-s3-demo-bucket/data.tsv"
            ]
        },
        {
            "URIPrefixes": [
                "https://s3-us-east-1.amazonaws.com/amzn-s3-demo-bucket/"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "TSV",
        "delimiter": "\t"
    }
}
```

다음 예에서는 가져올 .clf 파일을 포함하는 버킷 2개를 식별합니다. 하나는 빠른 계정 AWS 리전 과 동일한에 있고 다른에 있습니다 AWS 리전. 로그 파일에 해당하지 않으므로 `delimiter`, `textqualifier` 및 `containsHeader` 필드는 건너뜁니다.

```
{
    "fileLocations": [
        {
            "URIPrefixes": [
                "https://amzn-s3-demo-bucket1.your-s3-url.com",
                "s3://amzn-s3-demo-bucket2/"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "CLF"
    }
}
```

다음 예에서는 Amazon Redshift 형식을 사용하여 가져올 .csv 파일을 식별합니다.

```
{
    "entries": [
        {
            "url": "https://amzn-s3-demo-bucket.your-s3-url.com/myalias-test/file-to-import.csv",
            "mandatory": true
        }
    ]
}
```

다음 예에서는 Amazon Redshift 형식을 사용하여 가져올 두 가지 JSON 파일을 식별합니다.

```
{
    "fileLocations": [
        {
            "URIs": [
                "https://yourBucket.s3.amazonaws.com/data-file.json",
                "https://yourBucket.s3.amazonaws.com/data-file-2.json"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "JSON"
    }
}
```

# Amazon S3 데이터세트 생성
<a name="create-a-data-set-s3-procedure"></a>

**Amazon S3 데이터 세트 생하기**

1. 대상 파일 세트가 데이터 소스 할당량을 초과하지 않도록 [데이터 소스 할당량](data-source-limits.md)을(를) 확인합니다.

1. [Amazon S3 매니페스트 파일에 지원되는 형식](supported-manifest-file-format.md)에 지정된 형식 중 하나를 사용하여 가져올 텍스트 파일을 식별하는 매니페스트 파일을 만듭니다.

1. 매니페스트 파일을 로컬 디렉터리에 저장하거나 Amazon S3에 업로드합니다.

1. 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **데이터** 페이지에서 **생성** 후 **새 데이터 세트를** 선택합니다.

1. Amazon S3 아이콘을 선택한 **후 다음을** 선택합니다.

1. **Data source name(데이터 소스 이름)**에 데이터 원본의 설명을 입력합니다. 이 이름은 데이터 원본을 구분하는 데 도움이 됩니다.

1. [**Upload a manifest file**]에 대하여 다음 중 하나를 수행합니다.
   + 로컬 매니페스트 파일을 사용하려면 [**Upload**]를 선택한 다음 [**Upload a JSON manifest file**]을 선택합니다. [**Open**]에서 파일을 선택하고 [**Open**]을 선택합니다.
   + Amazon S3의 매니페스트 파일을 사용하려면 URL을 선택한 후 매니페스트 파일의 **URL**을 입력합니다. Amazon S3 콘솔에서 기존 매니페스트 파일의 URL을 찾으려면 해당 파일로 이동하여 선택합니다. 링크 URL을 비롯한 속성 패널이 표시됩니다. URL을 복사하여 Quick Sight에 붙여 넣을 수 있습니다.

1. **연결**을 선택합니다.

1. 연결이 완료되었는지 확인하려면 [**Edit/Preview data**]를 선택합니다. 그렇지 않은 경우 [**Visualize**]를 선택하여 데이터를 있는 그대로 사용하여 분석을 생성합니다.

   **데이터 편집/미리 보기**를 선택한 경우 데이터 준비 과정에 데이터 세트 이름을 지정할 수 있습니다. 그렇지 않은 경우 데이터 세트 이름은 매니페스트 파일 이름과 일치합니다.

   데이터 준비에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 준비](preparing-data.md) 단원을 참조하십시오.

## 여러 Amazon S3 파일을 기반으로 하는 데이터세트 생성
<a name="data-sets-based-on-multiple-s3-files"></a>

여러 방법 중 하나를 사용하여 Quick Sight 내에서 Amazon S3 버킷의 파일을 병합하거나 결합할 수 있습니다.
+ **매니페스트를 사용하여 파일 결합 ** - 이 경우 파일의 필드(열) 수가 동일해야 합니다. 데이터 유형은 파일의 동일한 위치에 있는 필드 사이에서 일치해야 합니다. 예를 들어, 첫 번째 필드는 각 파일에서 동일한 데이터 유형을 가져야 합니다. 두 번째, 세 번째, 그리고 그 이후의 필드 역시 마찬가지입니다. Quick Sight는 첫 번째 파일에서 필드 이름을 가져옵니다.

  파일은 매니페스트에서 명시적으로 나열되어야 합니다. 하지만 동일한 Amazon S3 버킷 내부에 있을 필요는 없습니다.

  추가로 파일은 [Amazon S3 매니페스트 파일에 지원되는 형식](supported-manifest-file-format.md)에서 설명한 규칙을 따라야 합니다.

  매니페스트를 사용한 파일 결합에 대한 자세한 내용은 [Amazon S3 파일을 사용하여 데이터 세트 생성](create-a-data-set-s3.md) 단원을 참조하십시오.
+ **매니페스트를 사용하여 파일 병합** - 매니페스트 내에서 개별적으로 나열할 필요 없이 여러 파일을 하나의 파일로 병합하려면 Athena를 사용할 수 있습니다. 이 메서드를 통해 데이터베이스의 테이블에 있는 것과 같이 텍스트 파일을 간편하게 쿼리할 수 있습니다. 자세한 내용은 빅 데이터 블로그의 [Athena와 사용한 Amazon S3 데이터 분석](https://aws.amazon.com/blogs/big-data/analyzing-data-in-s3-using-amazon-athena/)을 참조하십시오.
+ **스크립트를 사용하여 가져오기 전에 파일 추가** - 업로드 전에 파일을 결합하도록 설계된 스크립트를 사용할 수 있습니다.

# 다른 AWS 계정에서 S3 파일을 사용하는 데이터 세트
<a name="using-s3-files-in-another-aws-account"></a>

이 섹션에서는 Quick Sight를 사용하여 다른 AWS 계정의 Amazon S3 파일에 액세스할 수 있도록 보안을 설정하는 방법을 알아봅니다.

귀하가 다른 계정의 파일에 액세스하려면 먼저 다른 계정의 소유자는 Amazon S3가 귀하에게 그 파일을 읽을 수 있는 권한을 부여하도록 설정해야 합니다. 그런 다음 Quick Sight에서 공유된 버킷에 대한 액세스를 설정해야 합니다. 이 두 단계를 모두 완료한 후에는 매니페스트를 사용하여 데이터 세트를 생성할 수 있습니다.

**참고**  
 퍼블릭과 공유된 파일에 액세스하는 경우에는 특별 보안을 설정할 필요가 없습니다. 하지만 매니페스트 파일은 필요합니다.

**Topics**
+ [다른 Quick 계정에서 액세스를 허용하도록 Amazon S3 설정](#setup-S3-to-allow-access-from-a-different-quicksight-account)
+ [다른 AWS 계정의 Amazon S3 파일에 액세스하도록 Quick Sight 설정](#setup-quicksight-to-access-S3-in-a-different-account)

## 다른 Quick 계정에서 액세스를 허용하도록 Amazon S3 설정
<a name="setup-S3-to-allow-access-from-a-different-quicksight-account"></a>

이 섹션에서는 다른 AWS 계정의 Quick Sight에서 액세스할 수 있도록 Amazon S3 파일에서 권한을 설정하는 방법을 알아봅니다.

Quick Sight 계정에서 다른 계정의 Amazon S3 파일에 액세스하는 방법에 대한 자세한 내용은 섹션을 참조하세요[다른 AWS 계정의 Amazon S3 파일에 액세스하도록 Quick Sight 설정](#setup-quicksight-to-access-S3-in-a-different-account). S3 권한에 대한 자세한 내용은 [Amazon S3 리소스에 대한 액세스 권한 관리](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) 및 [객체에 대한 권한은 어떻게 설정하나요?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-object-permissions.html)를 참조하십시오.

S3 콘솔에서 다음 절차를 통해 이 액세스 권한을 설정할 수 있습니다. 또는를 사용하거나 스크립트를 AWS CLI 작성하여 권한을 부여할 수 있습니다. 공유할 파일이 많은 경우 그 대신에 `s3:GetObject` 작업에 S3 버킷 정책을 생성할 수 있습니다. 버킷 정책을 사용하려면 정책을 파일 권한이 아닌 버킷 권한에 추가하십시오. 버킷 정책에 대한 자세한 내용은 Amazon S3 개발자 안내서의 [버킷 정책 예시](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html)를 참조하십시오.

**S3 콘솔에서 다른 Quick 계정의 액세스를 설정하려면**

1. 공유하려는 AWS 계정 이메일의 이메일 주소를 가져옵니다. 또는 정식 사용자 ID를 가져와서 사용할 수 있습니다. 정식 사용자 ID에 대한 자세한 내용은AWS 일반 참조에서 [AWS 계정 식별자](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)를 참조하십시오.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) Amazon S3 콘솔을 엽니다.

1. Quick Sight와 공유할 Amazon S3 버킷을 찾습니다. **권한**을 선택합니다.

1. **계정 추가**를 선택한 다음 공유하려는 AWS 계정의 이메일 주소를 입력하거나 정식 사용자 ID를 붙여 넣습니다. 이 이메일 주소는 AWS 계정의 기본 주소여야 합니다.

1. **읽기 버킷 권한**과 **객체 목록** 표시 모두에 대해 **예**를 선택합니다.

   [**Save**]를 선택하여 확인합니다.

1. 공유할 파일을 찾은 후 파일의 권한 설정을 엽니다.

1. 공유하려는 AWS 계정의 이메일 주소 또는 정식 사용자 ID를 입력합니다. 이 이메일 주소는 AWS 계정의 기본 주소여야 합니다.

1. Quick Sight가 액세스해야 하는 각 파일에 대해 **객체 읽기** 권한을 활성화합니다.

1. 이제 파일을 사용할 수 있음을 Quick 사용자에게 알립니다.

## 다른 AWS 계정의 Amazon S3 파일에 액세스하도록 Quick Sight 설정
<a name="setup-quicksight-to-access-S3-in-a-different-account"></a>

이 섹션에서는 다른 AWS 계정의 Amazon S3 파일에 액세스할 수 있도록 Quick Sight를 설정하는 방법을 알아봅니다. 다른 사용자가 Quick 계정에서 Amazon S3 파일에 액세스하도록 허용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[다른 Quick 계정에서 액세스를 허용하도록 Amazon S3 설정](#setup-S3-to-allow-access-from-a-different-quicksight-account).

Quick Sight에서 다른 계정의 Amazon S3 파일에 액세스하려면 다음 절차를 따르세요. 이 절차에 따르기 전에 다른 AWS 계정의 사용자들은 자신의 Amazon S3 버킷에 있는 파일을 귀하와 공유해야 합니다.

**Quick Sight에서 다른 계정의 Amazon S3 파일에 액세스하려면**

1. 다른 AWS 계정의 사용자 또는 사용자가 해당 S3 버킷에 대한 읽기 및 쓰기 권한을 계정에 부여했는지 확인합니다.

1. 프로필 아이콘을 선택한 다음 **Quick Sight 관리를** 선택합니다.

1. **보안 및 권한**을 선택합니다.

1. ** AWS 서비스에 대한 Quick Sight 액세스**에서 **관리를** 선택합니다.

1. **S3 버킷 선택**을 선택합니다.

1. **Amazon S3 버킷 선택** 화면에서 ** AWS에 액세스할 수 있는 S3 버킷** 탭을 선택합니다.

   기본 탭의 이름은 **Quick Sight 계정에 연결된 S3 버킷**입니다. Quick Account가 액세스할 수 있는 모든 버킷이 표시됩니다.

1. 다음 중 하나를 수행하세요.
   + 사용 권한이 있는 모든 버킷을 추가하려면 **다른 AWS 계정에서 액세스 가능한 버킷 선택**을 선택합니다.
   + Amazon S3 버킷을 하나 이상 추가하려는 경우 해당 이름을 입력합니다. 각 사항은 Amazon S3 버킷의 고유 이름과 정확하게 일치해야 합니다.

     적절한 권한이 없는 경우 "We can't connect to this S3 bucket. 지정한 S3 버킷이이 Quick 계정을 생성하는 데 사용된 계정과 AWS 연결되어 있는지 확인합니다.” 이 오류 메시지는 계정 권한 또는 Quick Sight 권한이 없는 경우에 나타납니다.
**참고**  
Amazon Athena를 사용하려면 Quick Sight가 Athena에서 사용하는 Amazon S3 버킷에 액세스해야 합니다.  
여기에 하나씩 추가하거나 **다른 AWS 계정에서 액세스 가능한 버킷 선택** 옵션을 사용할 수 있습니다.

1. [**Select buckets**]를 선택하여 귀하의 선택을 확인합니다.

1. Amazon S3에 따라 새 데이터 세트를 생성한 후 매니페스트 파일을 업로드합니다. Amazon S3 데이터 베이스에 대한 자세한 내용은 [Amazon S3 파일을 사용하여 데이터 세트 생성](create-a-data-set-s3.md)을(를) 참조하십시오.

# Apache Spark를 사용하여 데이터 소스 생성
<a name="create-a-data-source-spark"></a>

Quick Sight를 사용하여 Apache Spark에 직접 연결하거나 Spark SQL을 통해 Spark에 연결할 수 있습니다. 쿼리 결과 또는 테이블 또는 뷰에 대한 직접 링크를 사용하여 Quick Sight에서 데이터 소스를 생성합니다. Spark를 통해 데이터를 직접 쿼리하거나 쿼리 결과를 [SPICE](spice.md)로 보낼 수 있습니다.

Quick Sight를 Spark 제품과 함께 사용하기 전에 Quick Sight용 Spark를 구성해야 합니다.

Quick Sight를 사용하려면 Spark 버전 2.0 이상에서 사용할 수 있는 LDAP를 사용하여 Spark 서버를 보호하고 인증해야 합니다. Spark가 인증되지 않은 액세스를 허용하도록 구성된 경우 Quick Sight는 서버에 대한 연결을 거부합니다. Quick Sight를 Spark 클라이언트로 사용하려면 Spark와 함께 작동하도록 LDAP 인증을 구성해야 합니다.

Spark 설명서에는 설정 방법에 대한 정보가 수록되어 있습니다. 시작하려면 HTTPS를 통해 프런트 엔드 LDAP 인증을 활성화하도록 구성해야 합니다. Spark에 대한 일반적인 정보는 [Apache Spark 웹사이트](http://spark.apache.org/)를 참조하십시오. Spark 및 보안에 대한 구체적인 정보는 [Spark 보안 문서](http://spark.apache.org/docs/latest/security.html)를 참조하십시오.

Quick Sight 액세스를 위해 서버를 구성했는지 확인하려면의 지침을 따르세요[네트워크 및 데이터베이스 구성 요구 사항](configure-access.md).

# Quick Sight에서 Databricks 사용
<a name="quicksight-databricks"></a>

이 섹션을 사용하여 Quick Sight에서 Databricks로 연결하는 방법을 알아봅니다.

**Databricks에 연결하기**

1. 먼저 새 데이터 세트를 생성합니다. 왼쪽 탐색 창에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. **Databricks** 데이터 소스 카드를 선택합니다.

1. **데이터 소스 이름**의 경우 Databricks 데이터 소스 연결(예: `Databricks CS`)의 설명이 포함된 이름을 입력합니다. Databricks에 연결하여 많은 데이터 세트를 생성할 수 있으므로 이름은 단순하게 유지하는 것이 좋습니다.

1. **연결 유형**에서 사용 중인 네트워크 유형을 선택합니다.
   + **퍼블릭 네트워크** - 데이터를 공개적으로 공유하는 경우.
   + **VPC** - 데이터가 VPC 내에 있는 경우.
**참고**  
VPC를 사용 중인데 목록에 없는 경우 관리자에게 문의하세요.

1.  **데이터베이스 서버**의 경우 Databricks 연결 세부 정보에 지정된 **작업 공간의 호스트 이름**을 입력합니다.

1.  **HTTP 경로**의 경우 Databricks 연결 세부 정보에 지정된 **스파크 인스턴스의 부분 URL을** 입력합니다.

1.  **포트**에는 Databricks 연결 세부 정보에 지정된 **포트**를 입력합니다.

1.  **사용자 이름** 및 **비밀번호**에 연결 보안 인증 정보를 입력합니다.

1.  연결이 제대로 작동하는지 확인하려면 **연결 검증**을 클릭합니다.

1.  완료하고 데이터 소스를 만들려면 **데이터 소스 만들기**를 클릭합니다.

## Databricks용 새 Quick Sight 데이터 세트 추가
<a name="quicksight-databricks-create-dataset"></a>

Databricks 데이터에 대한 기존 데이터 소스 연결이 있으면 분석에 사용할 Databricks 데이터 세트를 생성할 수 있습니다.

**Databricks를 사용하여 데이터 세트 생성하기**

1. 왼쪽에서 **데이터를** 선택한 다음 아래로 스크롤하여 Databricks 연결에 사용할 데이터 소스 카드를 찾습니다. 데이터 소스가 여러 개 있는 경우 페이지 상단의 검색 창을 사용하여 이름이 일부 일치하는 데이터 소스를 찾을 수 있습니다.

1. **Databricks** 데이터 소스 카드를 선택한 다음 **데이터 세트 생성**을 선택합니다.

1. 연결하려는 테이블을 지정하려면 먼저 사용할 카탈로그와 스키마를 선택합니다. 그런 다음 **테이블**에서 사용할 테이블을 선택합니다. 자체 SQL 문을 사용하려면 사용자 **지정 SQL 사용을** 선택합니다.

1. **편집/미리 보기**를 선택합니다.

1. (선택 사항) 데이터를 더 많이 추가하려면 다음 단계를 사용합니다.

   1. 오른쪽 상단에서 **데이터 추가**를 선택합니다.

   1. 다른 데이터에 연결하려면 **데이터 소스 전환**을 선택하고 다른 데이터 세트를 선택합니다.

   1. UI 프롬프트에 따라 데이터 추가를 완료합니다.

   1. 동일한 데이터 세트에 새 데이터를 추가한 후 **이 조인 구성**(빨간색 점 2개)을 선택합니다. 각 추가 테이블에 대해 조인을 설정합니다.

   1. 계산된 필드를 추가하고자 하는 경우 **계산된 필드 추가를** 선택합니다.

   1. SageMaker AI에서 모델을 추가하려면 **SageMaker로 보강**을 선택하세요. 이 옵션은 Quick Enterprise 에디션에서만 사용할 수 있습니다.

   1. 생략할 필드의 확인란을 선택 취소하십시오.

   1. 변경하고자 하는 데이터 유형을 업데이트하세요.

1. 마치면 **저장**을 선택하여 데이터 세트를 저장하고 닫습니다.

## Databricks 연결에 대한 Quick Sight 관리자 안내서
<a name="quicksight-databricks-administration-setup"></a>

Amazon Quick Sight를 사용하여 Databricks에 연결할 수 있습니다 AWS. AWS Marketplace 또는 Databricks 웹 사이트를 통해에 가입했는지 AWS 여부에 따라 Databricks에 연결할 수 있습니다.

Databricks에 연결하려면 먼저 연결에 필요한 기존 리소스를 만들거나 식별해야 합니다. 이 섹션을 사용하면 Quick Sight에서 Databricks로 연결하는 데 필요한 리소스를 수집하는 데 도움이 됩니다.
+ Databricks 연결 세부 정보를 얻는 방법을 알아보려면 [Databricks ODBC 및 JDBC 연결](https://docs.databricks.com/integrations/jdbc-odbc-bi.html#get-server-hostname-port-http-path-and-jdbc-url)을 참조하십시오.
+ 인증을 위해 Databricks 보안 인증(개인 액세스 토큰 또는 사용자 이름 및 암호)을 얻는 방법을 알아보려면 [Databricks 설명서](https://docs.databricks.com/index.html)의 [인증 요구 사항](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#authentication-requirements)을 참조하십시오.

  Databricks 클러스터에 연결하려면 `Can Attach To` 및 `Can Restart` 권한이 필요합니다. 이러한 권한은 Databricks에서 관리됩니다. 자세한 내용은 [Databricks 설명서](https://docs.databricks.com/index.html)의 [권한 요구 사항](https://docs.databricks.com/integrations/jdbc-odbc-bi.html#permission-requirements)을 참조하십시오.
+ Databricks에 대한 프라이빗 연결을 설정하는 경우 Quick Sight와 함께 사용하도록 VPC를 구성하는 방법에 대해 자세히 알아볼 수 있습니다. Quick Sight 설명서의 [Amazon Quick Sight를 사용하여 VPC에 연결을](https://docs.aws.amazon.com/quicksight/latest/user/working-with-aws-vpc.html) 참조하세요. 연결이 보이지 않는 경우 시스템 관리자에게 문의하여 네트워크에 [Amazon Route 53용 오픈 인바운드 엔드포인트](https://docs.aws.amazon.com/quicksight/latest/user/vpc-route-53.html)가 있는지 확인하십시오. Databricks 작업 공간의 호스트 이름은 퍼블릭 IP를 사용하며, Route 53 보안 그룹의 경우 DNS 포트 53에서 트래픽을 허용하려면 DNS TCP 및 DNS UDP 인바운드 및 아웃바운드 규칙이 있어야 합니다. 관리자는 2개의 인바운드 규칙을 포함하는 보안 그룹을 생성해야 합니다. 하나는 VPC CIDR에 대한 포트 53의 DNS(TCP)용이고 다른 하나는 VPC CIDR에 대한 포트 53의 DNS(UDP)용입니다.

  퍼블릭 연결 대신 PrivateLink를 사용하는 경우 Databricks 관련 세부 정보는 [Databricks 설명서](https://docs.databricks.com/index.html)의 [Enable AWS PrivateLink](https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html)를 참조하세요.

# Google BigQuery를 사용하여 데이터세트 생성
<a name="quicksight-google-big-query"></a>

**참고**  
Quick Sight는에서 수신한 정보를 사용하고 전송할 때 [Google API 서비스 사용자 데이터 정책을](https://developers.google.com/terms/api-services-user-data-policy) Google APIs준수합니다.

Google BigQuery는 고객이 데이터를 관리하고 분석하는 데 사용하는 완전 관리형 서버리스 데이터 웨어하우스입니다. Google BigQuery 고객은 SQL을 사용하여 인프라 관리 없이 데이터를 쿼리합니다.

## Google BigQuery로 데이터 소스 연결 생성
<a name="quicksight-google-big-query-connect"></a>

**사전 조건**

시작하기 전에 다음이 있는지 확인합니다. Google BigQuery를 사용하여 데이터 소스 연결을 생성하는 데 필요한 모든 항목입니다.
+ **프로젝트 ID** - Google 계정과 연결된 프로젝트 ID입니다. 이를 찾으려면 Google Cloud 콘솔로 이동하여 Quick Sight에 연결할 프로젝트의 이름을 선택합니다. 새 창에 나타나는 프로젝트 ID를 복사하고 나중에 사용할 수 있도록 기록합니다.
+ **데이터세트 리전** - Google BigQuery 프로젝트가 존재하는 Google 리전입니다. 데이터세트 리전을 찾으려면 Google BigQuery 콘솔로 이동하여 **탐색기**를 선택합니다. 연결하려는 프로젝트를 찾아 확장한 다음 사용할 데이터세트를 선택합니다. 열리는 팝업에 데이터세트 리전이 나타납니다.
+ **Google 계정 로그인 자격 증명** - Google 계정의 로그인 자격 증명입니다. 이 정보가 없으면 Google 계정의 관리자에게 문의하세요.
+ **Google BigQuery 권한** - Quick Sight에 Google 계정을 연결하려면 Google 계정에 다음 권한이 있어야 합니다.
  + `Project` 수준의 `BigQuery Job User`.
  + `Dataset` 또는 `Table` 수준의 `BigQuery Data Viewer`.
  + `Project` 수준의 `BigQuery Metadata Viewer`.

이전 사전 조건 정보를 검색하는 방법에 대한 자세한 내용은 [Google Cloud BigQuery 및 Quick Sight를 사용하여 통합 비즈니스 인텔리전스의 성능 활용](https://aws.amazon.com/blogs/business-intelligence/unlock-the-power-of-unified-business-intelligence-with-google-cloud-bigquery-and-amazon-quicksight/)을 참조하세요.

다음 절차에 따라 Quick 계정을 Google BigQuery 데이터 소스에 연결합니다.

**Quick Sight에서 Google BigQuery 데이터 소스에 대한 새 연결을 생성하려면**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 왼쪽 탐색 창에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. **Google BigQuery** 타일을 선택합니다.

1. 이전의 사전 조건 섹션에 기록한 데이터 소스 세부 정보를 추가합니다.
   + **데이터 소스 이름** - 데이터 소스의 이름입니다.
   + **프로젝트 ID** - Google Platform 프로젝트 ID입니다. 이 필드는 대/소문자를 구분합니다.
   + **데이터세트 리전** - 연결하려는 프로젝트의 Google 클라우드 플랫폼 데이터세트 리전입니다.

1. **로그인**을 선택합니다.

1. 새 창이 열리면 연결하려는 Google 계정의 로그인 자격 증명을 입력합니다.

1. **계속**을 선택하여 Quick Sight에에 대한 액세스 권한을 부여합니다Google BigQuery.

1. 새 데이터 소스 연결을 생성한 후 다음 절차에서 [Step 4](#gbq-step-4)를 계속 진행합니다.

## 에 대한 새 Quick Sight 데이터 세트 추가 Google BigQuery
<a name="quicksight-google-big-query-create"></a>

Google BigQuery와 데이터 소스 연결을 생성한 후 분석을 위한 Google BigQuery 데이터세트를 생성할 수 있습니다. Google BigQuery를 사용하는 데이터세트는 SPICE에만 저장할 수 있습니다.

**Google BigQuery를 사용하여 데이터세트 생성**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. **Google BigQuery** 타일을 선택한 다음 **데이터 세트 생성을** 선택합니다.

1. <a name="gbq-step-4"></a>**테이블**에 대해 다음 중 하나를 수행합니다.
   + 사용하려는 테이블을 선택합니다.
   + **사용자 지정 SQL 사용**을 선택하여 고유한 개인 SQL 문을 사용합니다. Quick Sight에서 사용자 지정 SQL을 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[SQL을 사용하여 데이터 사용자 지정](adding-a-SQL-query.md).

1. **편집/미리 보기**를 선택합니다.

1. (선택 사항) 열리는 **데이터 준비** 페이지에서 계산된 필드, 필터 및 조인을 사용하여 데이터에 사용자 지정을 추가할 수 있습니다.

1. 변경을 마치면 **저장**을 선택하여 데이터세트를 저장하고 닫습니다.

# Google Sheets 데이터 소스를 사용하여 데이터세트 생성
<a name="create-a-dataset-google-sheets"></a>

Google Sheets는 사용자가 실시간으로 데이터를 생성, 편집 및 협업할 수 있는 웹 기반 스프레드시트 애플리케이션입니다. 포괄적인 함수 및 공식 세트를 기반으로 비즈니스 인텔리전스 및 분석을 위한 강력한 데이터 소스 역할을 합니다. 사용자는 인사이트를 효율적으로 구성, 분석 및 공유할 수 있으며, 원활한 협업 기능을 통해 데이터 기반 프로젝트를 맡은 팀에 적합한 플랫폼이 됩니다.

## Amazon Quick의 관리자 구성
<a name="google-sheets-admin-config"></a>

Amazon Quick 관리자는 Google Sheets를 데이터 소스로 활성화하려면 일회성 설정을 수행해야 합니다. 자세한 지침과 중요한 고려 사항은 [블로그](https://aws.amazon.com//blogs/business-intelligence/transform-your-google-sheets-data-into-powerful-analytics-with-amazon-quicksight/)를 참조하세요.

## Google Sheets 데이터 소스를 사용하여 데이터세트 생성
<a name="google-sheets-create-dataset"></a>

다음 절차에 따라 Google Sheets 데이터 소스를 사용하여 데이터세트를 생성합니다.

**Google Sheets 데이터 소스를 사용하여 데이터세트를 생성하는 방법**

1. 빠른 시작 페이지에서 **데이터 세트를** 선택합니다.

1. **데이터세트** 페이지에서 **새 데이터세트**를 선택하세요.

1. **Google Sheets를** 선택합니다.

1. 데이터 소스의 이름을 입력하고 **연결**을 선택하세요.

1. Google의 로그인 페이지로 리디렉션되면 다음을 수행하세요.

   1. Google 계정 자격 증명을 입력하고 **연결**을 선택하세요.

   1. 권한을 검토하여 AWS 계정에 Google Sheets에 연결할 권한을 부여한 다음 **계속**을 선택합니다.

1. **테이블 선택** 메뉴에서 데이터를 찾으세요. 메뉴에는 Google 계정의 모든 폴더, 하위 폴더, 시트 및 탭이 표시됩니다. 탭을 표시하려면 표시된 목록에서 시트를 선택하세요.

1. 작업할 탭을 선택하세요.

1. **데이터 편집/미리 보기**를 선택하여 데이터 준비 페이지로 이동하세요. 추가 탭을 포함하려면 **데이터 추가**를 선택하세요.

1. 조인을 구성한 다음 **게시 및 시각화**를 선택하여 Quick Sight로 Google Sheets 데이터를 분석합니다.

**참고**  
이 커넥터는 SPICE 기능만 지원합니다.
OAuth 토큰이 만료되면(수집 오류 보고서에 표시되거나 새 데이터세트를 생성할 때 표시됨) 데이터 소스에서 **편집**을 선택하고 업데이트하여 다시 승인하세요.

# Apache Impala 데이터 소스를 사용하여 데이터세트 생성
<a name="create-a-dataset-impala"></a>

Apache Impala는 Apache Hadoop에서 기본적으로 실행되도록 설계된 고성능 대량 병렬 처리(MPP) SQL 쿼리 엔진입니다. 아래 절차에 따라 Quick Sight와 Apache Impala 간에 보안 연결을 설정합니다.

Quick Sight와 Apache Impala 간의 모든 트래픽은 SSL을 사용하여 암호화됩니다. Quick Sight는 Impala 연결에 대한 표준 사용자 이름 및 암호 인증을 지원합니다.

연결을 설정하려면 Impala 인스턴스에서 SSL 설정을 구성하고, 인증 자격 증명을 준비하고, Impala 서버 세부 정보를 사용하여 Quick Sight에서 연결을 설정하고, 연결을 검증하여 안전한 데이터 액세스를 보장해야 합니다.

**Apache Impala 데이터 소스를 사용하여 데이터세트를 생성하는 방법**

1. 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **데이터** 페이지에서 **생성을** 선택합니다.

1. **데이터 소스**를 선택합니다.

1. **Impala**를 선택한 **후 다음을** 선택합니다.

1. 데이터 소스 이름을 입력합니다.

1. 퍼블릭 연결의 경우:

   1. **데이터베이스 서버**, **HTTP 경로**, **포트**, **사용자 이름** 및 **암호**에 대한 연결 세부 정보를 입력하세요.

   1. 검증이 성공하면 **데이터 소스 생성**을 선택하세요.

1. 프라이빗 연결의 경우:

   1. 연결 세부 정보를 입력하기 전에 관리자와 협력하여 VPC 연결을 설정하세요.

     사용자 또는 관리자는 [Quick에서 VPC 연결을 구성할](vpc-creating-a-connection-in-quicksight.md) 수 있습니다. SSL은 기본적으로 보안 데이터 전송을 보장하기 위해 활성화됩니다. 연결 검증 오류가 발생하면 연결 및 VPC 세부 정보를 확인하세요.

     문제가 지속되면 관리자에게 문의하여 인증 기관이 Quick Sight[의 승인된 인증서 목록에](configure-access.md#ca-certificates) 포함되어 있는지 확인합니다.

1. **테이블 선택** 메뉴에서 다음 중 하나를 수행할 수 있습니다.

   1. 특정 스키마 또는 테이블을 선택하고 **선택**을 선택하세요.

   1. SQL 쿼리를 작성하려면 **사용자 지정 SQL 사용**을 선택하세요.

1. 선택을 완료하면 데이터 준비 페이지로 리디렉션됩니다. 데이터를 조정한 다음 **게시 및 시각화**를 선택하여 Quick Sight에서 Impala 데이터를 분석합니다.

**참고**  
이 커넥터는 다음을 지원합니다.  
사용자 이름 및 암호 인증
퍼블릭 및 프라이빗 연결
테이블 검색 및 사용자 지정 SQL 쿼리
수집 중 전체 데이터 새로 고침
SPICE 스토리지만 해당

# Microsoft Excel 파일을 사용하여 데이터 세트 생성
<a name="create-a-data-set-excel"></a>

Microsoft Excel 파일 데이터 소스를 사용하여 데이터 세트를 생성하려면 로컬 드라이브 또는 네트워크로 연결된 드라이브에서 .xlsx 파일을 업로드합니다. 데이터를 [SPICE](spice.md)로 가져옵니다.

 Amazon S3 데이터 소스를 사용하여 새 Amazon S3 데이터 세트를 생성하는 방법에 대한 자세한 내용은 [기존 Amazon S3 데이터 소스를 사용하여 데이터 세트 생성](create-a-data-set-existing.md#create-a-data-set-existing-s3) 또는 [Amazon S3 파일을 사용하여 데이터 세트 생성](create-a-data-set-s3.md)을(를) 참조하십시오.

**엑셀 파일을 기반으로 데이터 세트를 생성하기**

1. 대상 파일이 데이터 소스 할당량을 초과하지 않도록 [데이터 소스 할당량](data-source-limits.md)을(를) 확인합니다.

1. 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **데이터** 페이지에서 **생성 ** 후 **새 데이터 세트를** 선택합니다.

1. [**Upload a file**]을 선택합니다.

1. [**Open**] 대화 상자에서, 파일을 선택한 다음 [**Open**]을 선택합니다.

   파일을 Quick Sight에 업로드하려면 1GB 이하여야 합니다.

1. Excel 파일이 여러 시트로 구성되어 있는 경우, 가져올 시트를 선택합니다. 나중에 데이터를 준비하면서 이를 변경할 수 있습니다.

1. 
**참고**  
다음 화면에서 데이터를 준비할 수 있는 다양한 기회가 있습니다. 어떤 항목을 선택해도 [**Prepare Data**] 화면으로 이동합니다. 이 화면은 데이터 가져오기가 완료된 후 액세스할 수 있는 화면과 동일합니다. 업로드가 완료된 후에도 업로드 설정을 변경할 수 있습니다.

    [**Select**]를 선택하여 설정을 확인합니다. 또는 **Edit/Preview data(데이터 편집/미리 보기)**를 선택해 즉시 데이터를 준비할 수 있습니다.

   데이터 미리 보기는 다음 화면에 표시됩니다. 데이터 미리 보기는 직접 변경할 수 없습니다.

1. 데이터 제목과 콘텐츠가 제대로 보이지 않는 경우 **설정 편집 및 데이터 준비**를 선택해 파일 업로드 설정을 수정합니다.

   그렇지 않은 경우 **다음**을 선택합니다.

1. [**Data Source Details**] 화면에서 [**Edit/Preview data**]를 선택할 수 있습니다. **데이터 준비** 화면에서 데이터 세트 이름을 지정할 수 있습니다.

   데이터를 준비할 필요가 없는 경우, 데이터를 그대로 사용하여 분석을 만들도록 선택할 수 있습니다. [**Visualize**]를 선택합니다. 이렇게 하면 데이터 세트의 이름이 소스 파일과 같아지고, **분석** 화면으로 이동합니다. 데이터 준비 및 Excel 업로드 설정에 대해 자세히 알아보려면 [Amazon Quick Sight에서 데이터 준비](preparing-data.md) 단원을 참조하십시오.

**참고**  
언제든지 새 필드 추가와 같이 파일을 변경하려면 Microsoft Excel에서 변경하고 Quick Sight의 업데이트된 버전을 사용하여 새 데이터 세트를 생성해야 합니다. 데이터 세트 변경의 발생 가능한 영향에 대한 자세한 내용은 [데이터세트를 편집할 때 고려해야 할 사항](edit-a-data-set.md#change-a-data-set)을(를) 참조하십시오.

# Presto를 사용하여 데이터 소스 생성
<a name="create-a-data-source-presto"></a>

Presto(또는 PrestoDB)는 모든 크기의 데이터에 대해 빠른 분석 쿼리를 실행하도록 설계된 오픈 소스 분산 SQL 쿼리 엔진으로, 비관계형 데이터 소스와 관계형 데이터 소스를 모두 지원합니다. 지원되는 비관계형 데이터 소스는 Hadoop 분산 파일 시스템(HDFS), Amazon S3, Cassandra, MongoDB, HBase 등이며, 지원되는 관계형 데이터 소스는 MySQL, PostgreSQL, Amazon Redshift, Microsoft SQL Server, Teradata 등입니다.

Presto에 대한 자세한 내용은 다음을 참조하십시오.
+  AWS 웹 사이트의 [Presto](https://aws.amazon.com/big-data/what-is-presto/)에 대한 설명인 presto 소개.
+ Amazon EMR 릴리스 안내서에서 Amazon elastic MapReduce(EMR)를 사용하여 [프레스토 클러스터 생성.](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto.html)
+ Presto에 대한 일반적인 정보는 [Presto 설명서](https://trino.io/docs/current/)를 참조하십시오.

Presto 쿼리 엔진을 통해 실행하는 쿼리의 결과를 Quick Sight 데이터 세트로 전환할 수 있습니다. Presto는 백엔드 데이터베이스에서 분석 쿼리를 처리합니다. 그런 다음 Quick Sight 클라이언트에 결과를 반환합니다. Presto를 통해 데이터를 직접 쿼리하거나 쿼리 결과를 SPICE(으)로 보낼 수 있습니다.

Quick Sight를 Presto 클라이언트로 사용하여 쿼리를 실행하기 전에 데이터 소스 프로파일을 구성해야 합니다. 액세스하려는 각 Presto 데이터 소스에 대해 Quick Sight에 데이터 소스 프로파일이 필요합니다. 다음 절차에 따라 Presto에 대한 연결을 생성합니다.

**Amazon Quick Sight에서 presto 데이터 소스에 대한 새 연결을 생성하려면(콘솔)**

1. Amazon Quick Sight 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. **Presto** 타일을 선택합니다.
**참고**  
대부분의 브라우저에서 Ctrl-F 또는 Cmd-F를 사용하여 검색 상자를 열고 **presto**를 입력하여 찾을 수 있습니다.

1. 새 데이터 원본에 대한 설정을 추가합니다.
   + ****데이터 소스 이름**** - 데이터 소스 연결의 설명이 포함된 이름을 입력합니다. 이 이름은 **데이터세트** 화면 하단의 **기존 데이터 소스** 섹션에 표시됩니다.
   + ****연결 유형**** - Presto에 연결하는 데 사용할 연결 유형을 선택합니다.

     퍼블릭 네트워크를 통해 연결하려면 **퍼블릭 네트워크**를 선택합니다.

     퍼블릭 네트워크를 사용하는 경우 LDAP(Lightweight Directory Access Protocol)를 사용하여 Presto 서버를 보호하고 인증해야 합니다. LDAP를 사용하도록 Presto를 구성하는 방법에 대한 자세한 내용은 Presto 설명서의 [LDAP 인증](https://trino.io/docs/current/security/ldap.html)을 참조하십시오.

     가상 프라이빗 연결을 통해 연결하려면 **VPC 연결** 목록에서 적절한 VPC 이름을 선택합니다.

     Presto 서버가 인증되지 않은 액세스를 허용하는 경우 프라이빗 VPC 연결을 사용하여 안전하게 연결해야 AWS 합니다. 새 VPC 구성에 대한 자세한 내용은 [Amazon Quick Sight에서 VPC 연결 구성](working-with-aws-vpc.md) 단원을 참조하십시오.
   + ****데이터베이스 서버**** - 데이터베이스 서버의 이름입니다.
   + ****포트**** - 서버가 Amazon Quick Sight에서 들어오는 연결을 수락하는 데 사용하는 포트입니다.
   + ****카탈로그**** - 사용할 카탈로그의 이름입니다.
   + ****인증 필요**** - (선택 사항) 이 옵션은 VPC 연결 유형을 선택한 경우에만 나타납니다. 연결하려는 Presto 데이터 소스에 인증이 필요하지 않은 경우 **아니요**를 선택합니다. 그렇지 않으면 기본 설정(**예**)를 유지합니다.
   + ****사용자 이름**** - Presto에 연결하는 데 사용할 사용자 이름을 입력합니다. Quick Sight는이 데이터 소스 프로파일을 사용하는 모든 연결에 동일한 사용자 이름과 암호를 적용합니다. Quick Sight를 다른 계정과 별도로 모니터링하려면 각 Quick Sight 데이터 소스 프로파일에 대한 Presto 계정을 생성합니다.

     사용하는 Presto 계정은 데이터베이스에 액세스하고 하나 이상의 테이블에 대해 `SELECT` 문을 실행할 수 있어야 합니다.
   + ****암호**** - Presto 사용자 이름과 함께 사용할 암호입니다. Amazon Quick Sight는 데이터 소스 프로파일에 사용하는 모든 자격 증명을 암호화합니다. 자세한 내용은 [Amazon Quick의 데이터 암호화](data-encryption.md) 단원을 참조하십시오.
   + ****SSL 활성화**** - SSL은 기본적으로 활성화됩니다.

1. **연결 확인**을 선택하여 설정을 테스트합니다.

1. 설정을 확인한 후 **데이터 소스 생성**을 선택하여 연결을 완료합니다.

# Amazon Quick Sight에서 Snowflake 사용
<a name="connecting-to-snowflake"></a>

Snowflake는 데이터 웨어하우징 및 협업부터 데이터 과학 및 생성형 AI에 이르기까지 여러 데이터 솔루션을 제공하는 AI 데이터 클라우드 플랫폼입니다. Snowflake는 생성형 AI, Machine Learning, 데이터 및 분석, 소매 분야의 AWS ISV 역량을 포함하는 여러 AWS 인증을 받은 [AWS 파트너](https://partners.amazonaws.com/partners/001E000000d8qQcIAI/Snowflake)입니다.

Amazon Quick Sight는 Snowflake 로그인 자격 증명 또는 OAuth 클라이언트 자격 증명을 사용하여 Snowflake에 연결하는 두 가지 방법을 제공합니다. 다음 섹션을 사용하여 이러한 두 연결 방법에 대해 자세히 알아봅니다.

**Topics**
+ [로그인 자격 증명을 사용하여 Snowflake에 대한 Quick Sight 데이터 소스 연결 생성](#create-connection-to-snowflake)
+ [OAuth 클라이언트 자격 증명을 사용하여 Snowflake에 대한 Quick Sight 데이터 소스 연결 생성](#create-connection-to-snowflake-oauth-credentials)

## 로그인 자격 증명을 사용하여 Snowflake에 대한 Quick Sight 데이터 소스 연결 생성
<a name="create-connection-to-snowflake"></a>

 이 섹션을 사용하여 Snowflake 로그인 자격 증명을 사용하여 Quick Sight와 Snowflake 간에 연결을 생성하는 방법을 알아봅니다. Quick Sight와 Snowflake 간의 모든 트래픽은 SSL에서 활성화됩니다.

**Quick Sight와 Snowflake 간의 연결을 생성하려면**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 왼쪽 탐색 창에서 **데이터를** 선택한 다음 **생성을** 선택하고 **새 데이터 세트를** 선택합니다.

1. **Snowflake** 데이터 소스 카드를 선택하세요.

1. 나타나는 팝업에 다음 정보를 입력하세요.

   1. **데이터 소스 이름**의 경우 Snowflake 데이터 소스 연결의 설명이 포함된 이름을 입력하세요. Snowflake에 연결하여 많은 데이터세트를 생성할 수 있으므로 이름은 단순하게 유지하는 것이 좋습니다.

   1. **연결 유형**에서 사용 중인 네트워크 유형을 선택하세요. 데이터를 공개적으로 공유하는 경우 **퍼블릭 네트워크**를 선택합니다. 데이터가 VPC 내에 있는 경우 **VPC**를 선택하세요. Quick Sight에서 VPC 연결을 구성하려면 섹션을 참조하세요[Amazon Quick에서 VPC 연결 관리](vpc-creating-a-connection-in-quicksight.md).

   1. **데이터베이스 서버**의 경우 Snowflake 연결 세부 정보에 지정된 호스트 이름을 입력하세요.

1. **데이터베이스 이름 및 웨어하우스**에 연결하려는 해당 Snowflake 데이터베이스 및 웨어하우스를 입력하세요.

1. **사용자 이름** 및 **암호**에 Snowflake 자격 증명을 입력하세요.

Quick Sight와 Snowflake 계정 간에 데이터 소스 연결을 성공적으로 생성한 후 Snowflake 데이터가 포함된 [데이터 세트 생성](creating-data-sets.md)를 시작할 수 있습니다.

## OAuth 클라이언트 자격 증명을 사용하여 Snowflake에 대한 Quick Sight 데이터 소스 연결 생성
<a name="create-connection-to-snowflake-oauth-credentials"></a>

OAuth 클라이언트 자격 증명을 사용하여 Quick Sight [ APIs를 통해 Quick Sight](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html) 계정을 Snowflake와 연결할 수 있습니다. *OAuth*는 고급 보안 요구 사항이 있는 애플리케이션에 자주 사용되는 표준 권한 부여 프로토콜입니다. OAuth 클라이언트 자격 증명을 사용하여 Snowflake에 연결할 때 Quick Sight APIs 및 Quick Sight UI에서 Snowflake 데이터가 포함된 데이터 세트를 생성할 수 있습니다. Snowflake에서 OAuth를 구성하는 방법에 대한 자세한 내용은 [Snowflake OAuth overview](https://docs.snowflake.com/en/user-guide/oauth-snowflake-overview)를 참조하세요.

Quick Sight는 `client credentials` OAuth 권한 부여 유형을 지원합니다. OAuth 클라이언트 자격 증명은 machine-to-machine 통신을 위한 액세스 토큰을 얻는 데 사용됩니다. 이 방법은 클라이언트가 사용자 개입 없이 서버에 호스팅되는 리소스에 액세스해야 하는 시나리오에 적합합니다.

OAuth 2.0의 클라이언트 자격 증명 흐름에는 권한 부여 서버로 클라이언트 애플리케이션을 인증하는 데 사용할 수 있는 몇 가지 클라이언트 인증 메커니즘이 있습니다. Quick Sight는 다음 두 가지 메커니즘에 대해 Snowflake OAuth 기반 클라이언트 자격 증명을 지원합니다.
+ **토큰(클라이언트 보안 암호 기반 OAuth)**: 보안 암호 기반 클라이언트 인증 메커니즘은 권한 부여 서버로 인증하기 위한 흐름에 권한을 부여할 수 있도록 클라이언트 자격 증명과 함께 사용됩니다. 이 인증 체계를 사용하려면 OAuth 클라이언트 앱의 `client_id` 및 `client_secret`을 Secrets Manager에 저장해야 합니다.
+ **X509(클라이언트 프라이빗 키 JWT 기반 OAuth)**: X509 인증서 키 기반 솔루션은 클라이언트 보안 암호 대신 인증에 사용되는 클라이언트 인증서를 사용하여 OAuth 메커니즘에 추가 보안 계층을 제공합니다. 이 방법은 주로 프라이빗 클라이언트에서 사용되며, 프라이빗 클라이언트는 이 방법을 사용하여 두 서비스 간의 강력한 신뢰를 기반으로 권한 부여 서버를 인증합니다.

Quick Sight는 다음 자격 증명 공급자와의 OAuth 연결을 검증했습니다.
+ OKTA
+ PingFederate

### Secrets Manager에 OAuth 자격 증명 저장
<a name="create-connection-to-snowflake-oauth-store-credentials"></a>

OAuth 클라이언트 자격 증명은 머신 간 사용 사례를 위해 제공되며 대화형으로 설계되지 않았습니다. Quick Sight와 Snowflake 간에 데이터 소스 연결을 생성하려면 Secrets Manager에서 OAuth 클라이언트 앱의 보안 인증 정보가 포함된 새 보안 암호를 생성합니다. 새 보안 암호로 생성된 보안 암호 ARN을 사용하여 Quick Sight에서 Snowflake 데이터가 포함된 데이터 세트를 생성할 수 있습니다. Quick Sight에서 Secrets Manager 키를 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[Quick에서 데이터베이스 자격 증명 대신 AWS Secrets Manager 보안 암호 사용](secrets-manager-integration.md).

Secrets Manager에 저장해야 하는 자격 증명은 사용하는 OAuth 메커니즘에 따라 결정됩니다. X509 기반 OAuth 보안 암호에는 다음과 같은 키 및 값 페어가 필요합니다.
+ `username`: Snowflake에 연결할 때 사용할 Snowflake 계정 사용자 이름
+ `client_id`: OAuth 클라이언트 ID
+ `client_private_key`: OAuth 클라이언트 프라이빗 키
+ `client_public_key`: OAuth 클라이언트 인증서 퍼블릭 키 및 암호화된 알고리즘(예: `{"alg": "RS256", "kid", "cert_kid"}`)

토큰 기반 OAuth 보안 암호에는 다음과 같은 키 및 값 페어가 필요합니다.
+ `username`: Snowflake에 연결할 때 사용할 Snowflake 계정 사용자 이름
+ `client_id`: OAuth 클라이언트 ID
+ `client_secret`: OAuth 클라이언트 보안 암호

### Quick Sight APIs를 사용하여 Snowflake OAuth 연결 생성
<a name="create-connection-to-snowflake-oauth-example"></a>

Secrets Manager에서 Snowflake OAuth 자격 증명이 포함된 보안 암호를 생성하고 Quick 계정을 Secrets Manager에 연결한 후 Quick Sight APIs 및 SDK를 사용하여 Quick Sight와 Snowflake 간에 데이터 소스 연결을 설정할 수 있습니다. 다음 예제에서는 토큰 OAuth 클라이언트 자격 증명을 사용하여 Snowflake 데이터 소스 연결을 생성합니다.

```
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "UNIQUEDATASOURCEID",
    "Name": "NAME",
    "Type": "SNOWFLAKE",
    "DataSourceParameters": {
        "SnowflakeParameters": {
            "Host": "HOSTNAME",
            "Database": "DATABASENAME",
            "Warehouse": "WAREHOUSENAME",
            "AuthenticationType": "TOKEN",
            "DatabaseAccessControlRole": "snowflake-db-access-role-name",
            "OAuthParameters": {
              "TokenProviderUrl": "oauth-access-token-endpoint", 
              "OAuthScope": "oauth-scope",
              "IdentityProviderResourceUri" : "resource-uri",
              "IdentityProviderVpcConnectionProperties" : {
                "VpcConnectionArn": "IdP-VPC-connection-ARN" 
             }
        }
    },
    "VpcConnectionProperties": {
        "VpcConnectionArn": "VPC-connection-ARN-for-Snowflake"
    }
    "Credentials": {
        "SecretArn": "oauth-client-secret-ARN"
    }
}
```

CreateDatasource API 작업에 대한 자세한 내용은 [CreateDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html)를 참조하세요.

Quick Sight와 Snowflake 간의 연결이 설정되고 Quick Sight APIs 또는 SDK를 사용하여 데이터 소스가 생성되면 새 데이터 소스가 Quick Sight에 표시됩니다. Quick Sight 작성자는이 데이터 소스를 사용하여 Snowflake 데이터가 포함된 데이터 세트를 생성할 수 있습니다. 테이블은 `CreateDataSource` API 직접 호출에서 전달되는 `DatabaseAccessControlRole` 파라미터에 사용된 역할을 기반으로 표시됩니다. 데이터 소스 연결이 생성될 때이 파라미터가 정의되지 않은 경우 기본 Snowflake 역할이 사용됩니다.

Quick Sight와 Snowflake 계정 간에 데이터 소스 연결을 성공적으로 생성한 후 Snowflake 데이터가 포함된 [데이터 세트 생성](creating-data-sets.md)를 시작할 수 있습니다.

# Amazon Quick Sight에서 Starburst 사용
<a name="connecting-to-starburst"></a>

Starburst는 대규모 병렬 처리(MPP) 쿼리 엔진인 Trino를 기반으로 구축된 모든 기능을 갖춘 데이터 레이크 분석 서비스입니다. 이 섹션을 사용하여 Amazon Quick Sight에서 Starburst로 연결하는 방법을 알아봅니다. Quick Sight와 Starburst 간의 모든 트래픽은 SSL에서 활성화됩니다. Starburst Galaxy에 연결하는 경우 Starburst Galaxy 계정에 로그인한 다음 **Partner Connect**를 선택한 다음 **Quick Sight**를 선택하여 필요한 연결 세부 정보를 얻을 수 있습니다. 호스트 이름 및 포트와 같은 정보를 볼 수 있어야 합니다. Amazon Quick Sight는 Starburst에 대한 기본 사용자 이름 및 암호 인증을 지원합니다.

Quick Sight는 Starburst 로그인 자격 증명 또는 OAuth 클라이언트 자격 증명을 사용하여 Starburst에 연결하는 두 가지 방법을 제공합니다. 다음 섹션을 사용하여 이러한 두 연결 방법에 대해 자세히 알아봅니다.

**Topics**
+ [로그인 자격 증명을 사용하여 Starburst에 대한 Quick Sight 데이터 소스 연결 생성](#create-connection-to-starburst)
+ [OAuth 클라이언트 자격 증명을 사용하여 Starburst에 대한 Quick Sight 데이터 소스 연결 생성](#create-connection-to-starburst-oauth)

## 로그인 자격 증명을 사용하여 Starburst에 대한 Quick Sight 데이터 소스 연결 생성
<a name="create-connection-to-starburst"></a>

1. 먼저 새 데이터 세트를 생성합니다. 왼쪽 탐색 창에서 **데이터를** 선택한 다음 **생성을** 선택하고 **새 데이터 세트를** 선택합니다.

1. **Starburst** 데이터 소스 카드를 선택합니다.

1. Starburst 제품 유형을 선택합니다. 온프레미스 Starburst 인스턴스에 대한 **Starburst Enterprise**를 선택합니다. 관리형 인스턴스에 대한 **Starburst Galaxy**를 선택합니다.

1. **데이터 소스 이름**의 경우 Starburst 데이터 소스 연결의 설명이 포함된 이름을 입력합니다. Starburst에 연결하여 많은 데이터 세트를 생성할 수 있으므로 이름은 단순하게 유지하는 것이 좋습니다.

1. **연결 유형**에서 사용 중인 네트워크 유형을 선택합니다. 데이터를 공개적으로 공유하는 경우 **퍼블릭 네트워크**를 선택합니다. 데이터가 VPC 내에 있는 경우 **VPC**를 선택합니다. Amazon Quick Sight에서 VPC 연결을 구성하려면 [ Amazon Quick Sight에서 VPC 연결 구성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/vpc-creating-a-connection-in-quicksight.html). Starburst Galaxy에는 이 연결 유형을 사용할 수 없습니다.

1. **데이터베이스 서버**의 경우 Starburst 연결 세부 정보에 지정된 호스트 이름을 입력합니다.

1. **카탈로그의**에서 Starburst 연결 세부 정보에 지정된 카탈로그를 입력합니다.

1. **포트**에는 Starburst 연결 세부 정보에 지정된 포트를 입력합니다. Starburst Galaxy의 기본값은 443입니다.

1. **사용자 이름** 및 **비밀번호**에 Starburst 연결 보안 인증 정보를 입력합니다.

1. 연결이 제대로 작동하는지 확인하려면 **연결 검증**을 선택합니다.

1. 완료하고 데이터 소스를 만들려면 **데이터 소스 만들기**를 선택합니다.

**참고**  
Amazon Quick Sight와 Starburst 간의 연결은 Starburst 버전 420을 사용하여 검증되었습니다.

Quick Sight와 Starburst 계정 간에 데이터 소스 연결을 성공적으로 생성한 후에는 Starburst 데이터가 포함된 [데이터 세트 생성](creating-data-sets.md)를 시작할 수 있습니다.

## OAuth 클라이언트 자격 증명을 사용하여 Starburst에 대한 Quick Sight 데이터 소스 연결 생성
<a name="create-connection-to-starburst-oauth"></a>

OAuth 클라이언트 자격 증명을 사용하여 Quick Sight [ APIs를 통해 Quick Sight](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html) 계정을 Starburst와 연결할 수 있습니다. *OAuth*는 고급 보안 요구 사항이 있는 애플리케이션에 자주 사용되는 표준 권한 부여 프로토콜입니다. OAuth 클라이언트 자격 증명을 사용하여 Starburst에 연결할 때 Quick Sight APIs 및 Quick Sight UI에서 Starburst 데이터가 포함된 데이터 세트를 생성할 수 있습니다. Starburst에서 OAuth를 구성하는 방법에 대한 자세한 내용은 [OAuth 2.0 authentication](https://docs.starburst.io/latest/security/oauth2.html)을 참조하세요.

Quick Sight는 `client credentials` OAuth 권한 부여 유형을 지원합니다. OAuth 클라이언트 자격 증명은 machine-to-machine 통신을 위한 액세스 토큰을 얻는 데 사용됩니다. 이 방법은 클라이언트가 사용자 개입 없이 서버에 호스팅되는 리소스에 액세스해야 하는 시나리오에 적합합니다.

OAuth 2.0의 클라이언트 자격 증명 흐름에는 권한 부여 서버로 클라이언트 애플리케이션을 인증하는 데 사용할 수 있는 몇 가지 클라이언트 인증 메커니즘이 있습니다. Quick Sight는 다음 두 가지 메커니즘OAuth에 대해 Starburst 기반 클라이언트 자격 증명을 지원합니다.
+ **토큰(클라이언트 보안 암호 기반 OAuth)**: 보안 암호 기반 클라이언트 인증 메커니즘은 권한 부여 서버로 인증하기 위한 흐름에 권한을 부여할 수 있도록 클라이언트 자격 증명과 함께 사용됩니다. 이 인증 체계를 사용하려면 OAuth 클라이언트 앱의 `client_id` 및 `client_secret`을 Secrets Manager에 저장해야 합니다.
+ **X509(클라이언트 프라이빗 키 JWT 기반 OAuth)**: X509 인증서 키 기반 솔루션은 클라이언트 보안 암호 대신 인증에 사용되는 클라이언트 인증서를 사용하여 OAuth 메커니즘에 추가 보안 계층을 제공합니다. 이 방법은 주로 프라이빗 클라이언트에서 사용되며, 프라이빗 클라이언트는 이 방법을 사용하여 두 서비스 간의 강력한 신뢰를 기반으로 권한 부여 서버를 인증합니다.

Quick Sight는 다음 자격 증명 공급자와의 OAuth 연결을 검증했습니다.
+ OKTA
+ PingFederate

### Secrets Manager에 OAuth 자격 증명 저장
<a name="create-connection-to-starburst-oauth-store-credentials"></a>

OAuth 클라이언트 자격 증명은 머신 간 사용 사례를 위해 제공되며 대화형으로 설계되지 않았습니다. Quick Sight와 Starburst 간에 데이터 소스 연결을 생성하려면 Secrets Manager에서 OAuth 클라이언트 앱의 보안 인증 정보가 포함된 새 보안 암호를 생성합니다. 새 보안 암호로 생성된 보안 암호 ARN을 사용하여 Quick Sight에서 Starburst 데이터가 포함된 데이터 세트를 생성할 수 있습니다. Quick Sight에서 Secrets Manager 키를 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[Quick에서 데이터베이스 자격 증명 대신 AWS Secrets Manager 보안 암호 사용](secrets-manager-integration.md).

Secrets Manager에 저장해야 하는 자격 증명은 사용하는 OAuth 메커니즘에 따라 결정됩니다. X509 기반 OAuth 보안 암호에는 다음과 같은 키 및 값 페어가 필요합니다.
+ `username`: Starburst에 연결할 때 사용할 Starburst 계정 사용자 이름
+ `client_id`: OAuth 클라이언트 ID
+ `client_private_key`: OAuth 클라이언트 프라이빗 키
+ `client_public_key`: OAuth 클라이언트 인증서 퍼블릭 키 및 암호화된 알고리즘(예: `{"alg": "RS256", "kid", "cert_kid"}`)

토큰 기반 OAuth 보안 암호에는 다음과 같은 키 및 값 페어가 필요합니다.
+ `username`: Starburst에 연결할 때 사용할 Starburst 계정 사용자 이름
+ `client_id`: OAuth 클라이언트 ID
+ `client_secret`: OAuth 클라이언트 보안 암호

### Quick Sight APIs를 사용하여 Starburst OAuth 연결 생성
<a name="create-connection-to-starburst-oauth-example"></a>

Secrets Manager에서 Starburst OAuth 보안 인증 정보가 포함된 보안 암호를 생성하고 Quick 계정을 Secrets Manager에 연결한 후 Quick Sight APIs 및 SDK를 사용하여 Quick Sight와 Starburst 간에 데이터 소스 연결을 설정할 수 있습니다. 다음 예제에서는 토큰 OAuth 클라이언트 자격 증명을 사용하여 Starburst 데이터 소스 연결을 생성합니다.

```
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "DATASOURCEID",
    "Name": "NAME",
    "Type": "STARBURST",
    "DataSourceParameters": {
        "StarburstParameters": {
            "Host": "STARBURST_HOST_NAME",
            "Port": "STARBURST_PORT",
            "Catalog": "STARBURST_CATALOG",
            "ProductType": "STARBURST_PRODUCT_TYPE",     
            "AuthenticationType": "TOKEN",
            "DatabaseAccessControlRole": "starburst-db-access-role-name",
            "OAuthParameters": {
              "TokenProviderUrl": "oauth-access-token-endpoint", 
              "OAuthScope": "oauth-scope",
              "IdentityProviderResourceUri" : "resource-uri",
              "IdentityProviderVpcConnectionProperties" : {
                "VpcConnectionArn": "IdP-VPC-connection-ARN"
            }
        }
    },
    "VpcConnectionProperties": {
        "VpcConnectionArn": "VPC-connection-ARN-for-Starburst"
    },
    "Credentials": {
        "SecretArn": "oauth-client-secret-ARN"
    }
}
```

CreateDatasource API 작업에 대한 자세한 내용은 [CreateDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html)를 참조하세요.

Quick Sight와 Starburst 간의 연결이 설정되고 Quick Sight APIs 또는 SDK를 사용하여 데이터 소스가 생성되면 새 데이터 소스가 Quick Sight에 표시됩니다. Quick Sight 작성자는이 데이터 소스를 사용하여 Starburst 데이터가 포함된 데이터 세트를 생성할 수 있습니다. 테이블은 `CreateDataSource` API 직접 호출에서 전달되는 `DatabaseAccessControlRole` 파라미터에 사용된 역할을 기반으로 표시됩니다. 데이터 소스 연결이 생성될 때이 파라미터가 정의되지 않은 경우 기본 Starburst 역할이 사용됩니다.

Quick Sight와 Starburst 계정 간에 데이터 소스 연결을 성공적으로 생성한 후에는 Starburst 데이터가 포함된 [데이터 세트 생성](creating-data-sets.md)를 시작할 수 있습니다.

# SaaS 소스에서 데이터 소스 및 데이터 세트 생성
<a name="connecting-to-saas-data-sources"></a>

SaaS(Software as a Service) 애플리케이션의 데이터를 분석하고 보고하려면 SaaS 커넥터를 사용하여 Quick Sight에서 직접 데이터에 액세스할 수 있습니다. 데이터를 중간 데이터 저장소로 내보내재 않고도 OAuth를 사용하여 타사 애플리케이션 소스에 간단히 액세스하는 SaaS 커넥터.

SaaS 애플리케이션의 클라우드 기반 또는 서버 기반 인스턴스를 사용할 수 있습니다. 회사 네트워크에서 실행 중인 SaaS 애플리케이션에 연결하려면 Quick Sight가 네트워크를 통해 애플리케이션의 도메인 이름 시스템(DNS) 이름에 액세스할 수 있는지 확인합니다. Quick Sight가 SaaS 애플리케이션에 액세스할 수 없는 경우 알 수 없는 호스트 오류가 발생합니다.

다음은 SaaS 데이터 사용 방법을 보여주는 몇 가지 예입니다.
+ Jira를 사용하여 문제와 버그를 추적하는 엔지니어링 팀에서는 개발자 효율성 및 버그 제거에 대해 보고할 수 있습니다.
+ 마케팅 조직은 Quick Sight를 Adobe Analytics와 통합하여 통합 대시보드를 구축하여 온라인 및 웹 마케팅 데이터를 시각화할 수 있습니다.

다음 절차에 따라 서비스형 소프트웨어(SaaS)를 통해 제공되는 소스에 연결하여 데이터 소스 및 데이터 세트를 생성합니다. 이 절차에서는 GitHub와의 연결을 예로 사용합니다. 다른 SaaS 데이터 소스는 화면(특히 SaaS 화면)이 다르게 보일 수도 있지만 동일한 프로세스를 따릅니다.

**SaaS를 통해 소스에 연결하여 데이터 소스 및 데이터 세트 생성하기**

1. 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **데이터** 페이지에서 **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 사용하려는 SaaS 소스를 나타내는 아이콘을 선택합니다. 예를 들어 Adobe Analytics나 GitHub를 선택할 수 있습니다.

   OAuth를 사용하는 소스의 경우 커넥터는 사용자가 데이터 소스를 생성하기 전에 연결을 승인하기 위한 SaaS 사이트로 안내합니다.

1. 데이터 소스의 이름을 선택하고 입력합니다. 추가 화면 프롬프트가 표시되는 경우 해당 정보를 입력합니다. 그런 다음 [**Create data source**]를 선택합니다.

1. 자격 증명을 입력하라는 메시지가 표시되면 SaaS 로그인 페이지에서 자격 증명을 입력합니다.

1. 메시지가 표시되면 SaaS 데이터 소스와 Quick Sight 간의 연결을 승인합니다.

   다음 예제는 Quick Sight가 Quick Sight 설명서의 GitHub 계정에 액세스할 수 있는 권한을 보여줍니다.
**참고**  
이제 GitHub에서 Quick Sight 설명서를 사용할 수 있습니다. 이 사용 설명서를 변경하려는 GitHub를 사용하여 사용 설명서를 직접 편집할 수 있습니다.

   (선택 사항) SaaS 계정이 조직 계정의 일부인 경우 Quick Sight 권한 부여의 일부로 조직 액세스를 요청하라는 메시지가 표시될 수 있습니다. 이렇게 하려면 SaaS 화면의 프롬프트에 따라 Quick Sight를 승인하도록 선택합니다.

1. 승인이 완료된 후에는 연결할 테이블이나 객체를 선택합니다. 그런 다음 **선택**을 선택합니다.

1. **데이터 세트 생성 완료** 화면에서 다음 옵션 중 하나를 선택합니다.
   + 데이터 소스 및 데이터 세트를 저장하려면 **데이터 편집/ 미리 보기**를 선택합니다. 그런 다음 상단 메뉴 모음에서 [**Save**]를 선택합니다.
   + 데이터를 원본 그대로 사용하여 데이터 세트와 분석을 만들려면 **시각화**를 선택합니다. 이 옵션은 데이터 소스 및 데이터 세트를 자동으로 저장합니다.

     또한 분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택합니다. 그러면 데이터 준비 화면이 열립니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.

다음과 같은 제약이 적용됩니다.
+ Quick Sight가 연결하려면 SaaS 소스가 REST API 작업을 지원해야 합니다.
+ Jira에 연결하는 경우 URL이 퍼블릭 주소여야 합니다.
+ [SPICE](spice.md) 용량이 부족한 경우 [**Edit/Preview data**]를 선택합니다. 데이터 준비 화면에서 데이터 세트의 필드를 지워 크기를 줄이거나, 반환되는 행의 수를 줄이는 필터를 적용할 수 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.

# Salesforce에서 데이터 세트 생성
<a name="create-a-data-set-salesforce"></a>

Salesforce에 연결하고 데이터를 제공할 보고서 또는 객체를 선택하여 데이터 세트를 생성하려면 다음 절차에 따르십시오.

**보고서 또는 개체에서 Salesforce를 사용하여 데이터 세트 생성하기**

1. 대상 보고서 또는 객체가 데이터 소스 할당량을 초과하지 않도록 [데이터 소스 할당량](data-source-limits.md)을(를) 확인합니다.

1. 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **데이터** 페이지에서 **생성** 후 **새 데이터 세트를** 선택합니다.

1. **Salesforce** 아이콘을 선택합니다.

1. 데이터 소스의 이름을 입력한 후 **Create data source(데이터 소스 생성)**를 선택합니다.

1. Salesforce 로그인 페이지에서 Salesforce 자격 증명을 입력합니다.

1. [**Data elements: contain your data**]에서 [**Select**]를 누른 후 [**REPORT**] 또는 [**OBJECT**]를 선택합니다.
**참고**  
조인된 보고서는 Quick Sight 데이터 소스로 지원되지 않습니다.

1. 다음 옵션 중 하나를 선택하세요.
   + 분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 그렇지 않으면 보고서 또는 객체를 선택한 후 [**Select**]를 선택합니다.

1. 다음 옵션 중 하나를 선택하세요.
   + 데이터를 원본 그대로 사용하여 데이터 세트와 분석을 만들려면 **시각화**를 선택합니다.
**참고**  
[SPICE](spice.md) 용량이 부족한 경우 [**Edit/Preview data**]를 선택합니다. 데이터 준비 중에 데이터 세트에서 필드를 지워 크기를 줄이거나, 반환되는 행의 수를 줄이는 필터를 적용할 수 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여, 선택한 보고서나 객체의 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.

**참고**  
Salesforce 커넥터는 사용자가 네임스페이스 격리를 통해 인증하는 임베디드 콘솔 배포에서는 지원되지 않습니다. 로그인 프로세스를 완료하려면 OAuth 인증 흐름에 Amazon Quick Sight 콘솔에 직접 액세스해야 합니다.

# Amazon Quick Sight에서 Trino 사용
<a name="connecting-to-trino"></a>

Trino는 페타바이트 규모의 데이터로 데이터 레이크를 빠르게 쿼리하도록 구축된 대량 병렬 처리(MPP) 쿼리 엔진입니다. 이 섹션에서는 Amazon Quick Sight에서 Trino로 연결하는 방법을 알아봅니다. Amazon Quick Sight와 Trino 간의 모든 트래픽은 SSL에서 활성화됩니다. Amazon Quick Sight는 Trino에 대한 기본 사용자 이름 및 암호 인증을 지원합니다.

## Trino용 데이터 소스 연결 생성
<a name="create-connection-to-trino"></a>

1. 먼저 새 데이터 세트를 생성합니다. 왼쪽 탐색 창에서 **데이터를** 선택합니다. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. **Trino** 데이터 소스 카드를 선택합니다.

1. **데이터 소스 이름**의 경우 데이터 소스 연결의 설명이 포함된 이름을 입력합니다. Trino에 연결하여 많은 데이터 세트를 생성할 수 있으므로 이름은 단순하게 유지하는 것이 좋습니다.

1. **연결 유형**에서 사용 중인 네트워크 유형을 선택합니다. 데이터를 공개적으로 공유하는 경우 **퍼블릭 네트워크**를 선택합니다. 데이터가 VPC 내에 있는 경우 **VPC**를 선택합니다. Amazon Quick Sight에서 VPC 연결을 구성하려면 [ Amazon Quick Sight에서 VPC 연결 구성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/vpc-creating-a-connection-in-quicksight.html).

1. **데이터베이스 서버**의 경우 Trino 연결 세부 정보에 지정된 호스트 이름을 입력합니다.

1. **카탈로그의**에서 Trino 연결 세부 정보에 지정된 카탈로그를 입력합니다.

1. **포트**에는 Trino 연결 세부 정보에 지정된 포트를 입력합니다.

1. **사용자 이름** 및 **비밀번호**에 Trino 연결 보안 인증 정보를 입력합니다.

1. 연결이 제대로 작동하는지 확인하려면 **연결 검증**을 선택합니다.

1. 완료하고 데이터 소스를 만들려면 **데이터 소스 만들기**를 선택합니다.

## Trino용 새 Amazon Quick Sight 데이터 세트 추가
<a name="create-dataset-using-trino"></a>

Trino용 [데이터 소스 생성 프로세스](https://docs.aws.amazon.com/create-connection-to-starburst.html)를 거친 후 분석에 사용할 Trino 데이터 세트를 생성할 수 있습니다. 새 Trino 데이터 소스나 기존 Trino 데이터 소스에서 새 데이터 세트를 만들 수 있습니다. 새 데이터 소스를 생성할 때 Amazon Quick Sight는 즉시 아래 3단계인 데이터 세트를 생성하도록 안내합니다. 기존 데이터 소스를 사용하여 새 데이터 세트를 생성하는 경우 아래 1단계부터 시작하십시오.

Trino 데이터 소스를 사용하여 데이터 세트를 만들려면 다음 단계를 참조하십시오.

1. 시작 페이지에서 **데이터를** 선택합니다. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 생성한 Trino 데이터 소스를 선택합니다.

1. **데이터 세트 생성**을 선택합니다.

1. 연결하려는 테이블을 지정하려면 스키마를 선택합니다. 스키마를 선택하지 않으려면 자체 SQL 문을 사용할 수도 있습니다.

1. 연결하려는 테이블을 지정하려면 먼저 사용하려는 **스키마**를 선택합니다. **테이블**의 경우 사용할 테이블을 선택합니다. 자체 SQL 문을 사용하려면 사용자 **지정 SQL 사용을** 선택합니다.

1. **편집/미리 보기**를 선택합니다.

1. (선택 사항) 데이터를 더 많이 추가하려면 다음 단계를 사용합니다.

1. 오른쪽 상단에서 **데이터 추가**를 선택합니다.

1. 다른 데이터에 연결하려면 **데이터 소스 전환**을 선택하고 다른 데이터 세트를 선택합니다.

1. 프롬프트를 따라 데이터 추가를 완료합니다.

1. 동일한 데이터 세트에 새 데이터를 추가한 후 **이 조인 구성**(빨간색 점 2개)을 선택합니다. 각 추가 테이블에 대해 조인을 설정합니다.

1. 계산된 필드를 추가하고자 하는 경우 **계산된 필드 추가를** 선택합니다.

1. 생략할 필드의 확인란을 선택 취소하십시오.

1. 변경하고자 하는 데이터 유형을 업데이트하세요.

1. 마치면 **저장**을 선택하여 데이터 세트를 저장하고 닫습니다.

**참고**  
Quick Sight와 Trino 간의 연결은 Trino 버전 410을 사용하여 검증되었습니다.

# 로컬 텍스트 파일을 사용하여 데이터 세트 생성
<a name="create-a-data-set-file"></a>

로컬 텍스트 파일 데이터 소스를 사용하여 데이터 세트를 생성하려면 파일 위치를 확인하고 나서 파일을 업로드합니다. 데이터 세트를 생성하는 과정의 일부로 파일 데이터를 [SPICE](spice.md)(으)로 가져오기가 자동으로 수행됩니다.

**로컬 텍스트 파일을 기반으로 데이터 세트 생성하기**

1. 대상 파일이 데이터 소스 할당량을 초과하지 않도록 [데이터 소스 할당량](data-source-limits.md)을(를) 확인합니다.

   지원되는 파일 형식에는 .csv, .tsv, .json, .clf, .elf 파일 등이 있습니다.

1. 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. [**Upload a file**]을 선택합니다.

1. [**Open**] 대화 상자에서, 파일을 찾아 선택한 다음 [**Open**]을 선택합니다.

   파일을 Quick Sight에 업로드하려면 1GB 이하여야 합니다.

1. 데이터 세트를 만들기 전에 데이터를 준비하려면 **데이터 편집/미리 보기**를 선택합니다. 그렇지 않은 경우 [**Visualize**]를 선택하여 데이터를 있는 그대로 사용하여 분석을 생성합니다.

   전자를 선택하면 데이터 준비 과정에 데이터 세트 이름을 지정할 수 있습니다. 후자를 선택하면 소스 파일과 동일한 이름의 데이터 세트가 생성됩니다. 데이터 준비에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 준비](preparing-data.md) 단원을 참조하십시오.

# Amazon Quick Sight에서 Amazon Timestream 데이터 사용
<a name="using-data-from-timestream"></a>

아래에서 Amazon Quick Sight를 사용하여 Amazon Timestream 데이터에 연결하는 방법을 확인할 수 있습니다. 간략한 개요는 YouTube에서 [Amazon Timestream 및 Amazon QuickSight 시작하기](https://youtu.be/TzW4HWl-L8s)비디오 튜토리얼을 참조하십시오.

## Timestream 데이터베이스에 대한 새 Amazon Quick Sight 데이터 소스 연결 생성
<a name="create-connection-to-timestream"></a>

아래에서 Amazon Quick Sight에서 Amazon Timestream에 연결하는 방법을 확인할 수 있습니다.

계속 진행하려면 먼저 Amazon Timestream에 연결할 수 있는 권한이 Amazon Quick Sight에 있어야 합니다. 연결이 활성화되지 않은 경우 연결을 시도할 때 오류가 발생합니다. Quick Sight 관리자는 AWS 리소스에 대한 연결을 승인할 수 있습니다. 권한을 부여하려면 오른쪽 상단의 프로필 아이콘을 클릭하여 메뉴를 엽니다. **QuickSight 관리**, **보안 및 권한**, **추가 또는 제거**를 선택합니다. 그런 다음 Amazon Timestream의 확인란을 활성화한 다음 **업데이트**를 선택하여 확인합니다. 자세한 내용은 [AWS 데이터 소스에 대한 Amazon Quick Sight 액세스 구성](access-to-aws-resources.md) 단원을 참조하십시오.

**Amazon Timestream에 연결하기**

1. 먼저 새 데이터 세트를 생성합니다. 왼쪽 탐색 창에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. Timestream 데이터 소스 카드를 선택합니다.

1. **데이터 소스 이름**의 경우 Timestream 데이터 소스 연결(예: `US Timestream Data`)의 설명이 포함된 이름을 입력합니다. Timestream에 연결하여 많은 데이터 세트를 생성할 수 있으므로 이름은 단순하게 유지하는 것이 좋습니다.

1. **연결 검증**을 선택하여 Timestream에 성공적으로 연결할 수 있는지 확인합니다.

1. 계속하려면 **데이터 소스 생성**을 선택합니다.

1. **데이터베이스**의 경우 **선택**을 선택하여 사용 가능한 옵션 목록을 확인합니다.

1. 사용할 옵션을 선택한 다음 **선택**을 선택하여 계속합니다.

1. 다음 중 하나를 수행하세요.
   + Quick Sight의 인 메모리 엔진(라고 함SPICE)으로 데이터를 가져오려면 **더 빠른 분석을 SPICE 위해 로 가져오기**를 선택합니다.
   + 데이터 세트를 새로 고치거나 분석 또는 대시보드를 사용할 때마다 Quick Sight가 데이터에 대해 쿼리를 실행하도록 허용하려면 **데이터 직접 쿼리를** 선택합니다.

   Timestream 데이터를 사용하는 게시된 대시보드에서 자동 새로 고침을 활성화하려면 Timestream 데이터 집합에서 직접 쿼리를 사용해야 합니다.

1. **편집/미리보기**를 선택한 다음 **저장**을 선택하여 데이터 세트를 저장하고 닫습니다.

1. 이 단계를 반복하여 데이터 세트에서 열려는 Timestream에 대한 동시 직접 연결 수를 계산합니다. 예를 들어 Quick Sight 데이터 세트에서 테이블 4개를 사용한다고 가정해 보겠습니다. 현재 Quick Sight 데이터 세트는 Timestream 데이터 소스에서 한 번에 하나의 테이블에만 연결됩니다. 동일한 데이터 세트에서 테이블 4개를 사용하려면 Quick Sight에 데이터 소스 연결 4개를 추가해야 합니다.

## Timestream 데이터에 대한 권한 관리
<a name="dataset-permissions-for-timestream"></a>

다음 절차는 동일한 Timestream 데이터 소스에 대한 액세스를 허용하는 권한을 보고, 추가하고, 취소하는 방법을 설명합니다. 추가하는 사용자는 Quick Sight에서 활성 사용자여야 추가할 수 있습니다.

**데이터 세트에 대한 권한 편집하기**

1. 왼쪽에서 **데이터를** 선택한 다음 아래로 스크롤하여 Timestream 연결에 대한 데이터 세트를 찾습니다. 예를 들면 `US Timestream Data`와(과) 같습니다.

1. **Timestream** 데이터 세트를 선택하여 엽니다.

1. 표시되는 데이터 세트 세부정보 페이지에서 **권한** 탭을 선택합니다.

   현재 권한 목록이 나타납니다.

1. 권한을 추가하려면 **사용자 및 그룹 추가**를 선택하고 다음 단계를 따르십시오.

   1. 같은 데이터 세트를 사용할 수 있도록 사용자 또는 그룹을 추가합니다.

   1. 추가하려는 모든 사람을 모두 추가했으면 해당 사용자에게 적용할 **권한**을 선택합니다.

1. (선택 사항) 권한을 수정하려면 **뷰어** 또는 **소유자**를 선택하면 됩니다.
   + 읽기 액세스를 허용하려면 **뷰어**를 선택합니다.
   + **소유자**를 선택하여 해당 사용자가이 Quick Sight 데이터 소스를 편집, 공유 또는 삭제할 수 있도록 허용합니다.

1. (선택 사항) 권한을 취소하려면 **액세스 취소**를 선택합니다. 액세스 권한을 취소한 후에는 데이터 세트를 생성, 수정, 공유 또는 삭제할 수 없습니다.

1. 모든 구매를 마친 후에는 **닫기**를 선택합니다.

## Timestream용 새 Quick Sight 데이터 세트 추가
<a name="create-dataset-using-timestream"></a>

Timestream 데이터에 대한 기존 데이터 소스 연결이 있으면 분석에 사용할 Timestream 데이터 세트를 생성할 수 있습니다.

현재 Timestream 연결은 데이터 세트의 단일 테이블에만 사용할 수 있습니다. 단일 데이터 세트에 여러 Timestream 테이블의 데이터를 추가하려면 각 테이블에 대해 Quick Sight 데이터 소스 연결을 추가로 생성합니다.

**Amazon Timestream을 사용하여 데이터 세트 생성하기**

1. 왼쪽에서 **데이터를** 선택한 다음 아래로 스크롤하여 Timestream 연결에 사용할 데이터 소스 카드를 찾습니다. 데이터 소스가 여러 개 있는 경우 페이지 상단의 검색 창을 사용하여 이름이 일부 일치하는 데이터 소스를 찾을 수 있습니다.

1. **Timestream** 데이터 소스 카드를 선택한 다음 **데이터 세트 생성**을 선택합니다.

1. **데이터베이스**의 경우 **선택**을 선택하여 사용 가능한 데이터베이스 목록을 확인한 다음 사용할 데이터베이스를 선택합니다.

1. **테이블**의 경우 사용할 테이블을 선택합니다.

1. **편집/미리 보기**를 선택합니다.

1. (선택 사항) 데이터를 더 많이 추가하려면 다음 단계를 사용합니다.

   1. 오른쪽 상단에서 **데이터 추가**를 선택합니다.

   1. 다른 데이터에 연결하려면 **데이터 소스 전환**을 선택하고 다른 데이터 세트를 선택합니다.

   1. UI 프롬프트에 따라 데이터 추가를 완료합니다.

   1. 동일한 데이터 세트에 새 데이터를 추가한 후 **이 조인 구성**(빨간색 점 2개)을 선택합니다. 각 추가 테이블에 대해 조인을 설정합니다.

   1. 계산된 필드를 추가하고자 하는 경우 **계산된 필드 추가를** 선택합니다.

   1. SageMaker AI에서 모델을 추가하려면 **SageMaker로 보강**을 선택하세요. 이 옵션은 Amazon Quick Enterprise 에디션에서만 사용할 수 있습니다.

   1. 생략할 필드의 확인란을 선택 취소하십시오.

   1. 변경하고자 하는 데이터 유형을 업데이트하세요.

1. 마치면 **저장**을 선택하여 데이터 세트를 저장하고 닫습니다.

## 분석에 Timestream 데이터 추가
<a name="open-analysis-add-dataset-for-timestream"></a>

아래에서 Quick Sight 분석에 Amazon Timestream 데이터 세트를 추가하는 방법을 확인할 수 있습니다. 시작하기 전에 사용할 Timestream 데이터가 포함된 기존 데이터 세트가 있는지 확인하십시오.

**분석에 Amazon Timestream 데이터 추가하기**

1. 왼쪽에서 **분석**을 선택합니다.

1. 다음 중 하나를 수행하세요.
   + 새 분석을 만들려면 오른쪽에서 **새 분석**을 선택합니다.
   + 기존 분석에 추가하려면 편집하려는 분석을 여십시오.
     + 왼쪽 상단에 있는 연필 아이콘을 선택합니다.
     + **데이터 세트 추가**를 선택합니다.

1. 추가할 Timestream 데이터 세트를 선택합니다.

자세한 내용은 [분석을 통합 작업](https://docs.aws.amazon.com/quicksight/latest/user/working-with-analyses.html)을 참조하십시오.

# 데이터 소스 할당량
<a name="data-source-limits"></a>

Amazon Quick Sight와 함께 사용하는 데이터 소스는 다음 할당량을 준수해야 합니다.

**Topics**
+ [가져온 데이터에 대한 SPICE 할당량](#spice-limits)
+ [직접 SQL 쿼리의 할당량](#query-limits)

## 가져온 데이터에 대한 SPICE 할당량
<a name="spice-limits"></a>

Amazon Quick Sight에서 새 데이터 세트를 생성할 때는 데이터 세트에 추가할 수 있는 행 수를 [SPICE](spice.md) 제한합니다. 쿼리 또는 파일에서 SPICE(으)로 데이터를 수집할 수 있습니다. 각 파일은 최대 2,000개 열을 가질 수 있습니다. 각 열의 이름은 최대 127 유니코드 문자까지 가능합니다. 각 필드에는 최대 2,047자의 유니코드 문자가 포함될 수 있습니다. 새 데이터 준비 환경을 사용하여 SPICE 데이터 세트를 생성하는 경우 각 필드에는 최대 65,534자의 유니코드 문자가 포함될 수 있습니다.

더 큰 집합에서 데이터의 하위 집합을 검색하려는 경우 열의 선택을 해제하거나 필터를 적용하여 데이터 크기를 줄일 수 있습니다. Amazon S3에서 가져오는 경우 각 매니페스트는 최대 1,000개의 파일을 지정할 수 있습니다.

SPICE에 대한 할당량은 다음과 같습니다.
+  각 필드에 대해 2,047자의 유니코드 문자. (새로운 데이터 준비 환경을 갖춘 65,534자의 유니코드 문자) 
+ 각 열 이름에 대해 127개의 유니코드 문자
+ 각 파일당 2,000개의 열
+ 각 매니페스트당 1,000개의 파일
+ 스탠다드 버전의 경우 각 데이터 세트당 2천 5백만(25,000,000) 행 또는 25GB
+ Enterprise Edition의 경우 각 데이터 세트에 대해 20억(2,000,000,000) 행 또는 2TB

모든 할당량은 행 수준 보안이 적용된 SPICE 데이터 세트에도 적용됩니다.

드문 경우이긴 하지만, 큰 행을 SPICE(으)로 수집하는 경우 행 할당량에 도달하기 전에 데이터 세트당 기가바이트 할당량에 도달할 수 있습니다. 크기는 SPICE에 수집한 후 데이터가 차지하는 SPICE 용량을 기준으로 합니다.

## 직접 SQL 쿼리의 할당량
<a name="query-limits"></a>

SPICE(으)로 데이터를 가져오지 않는다면 공간과 시간에 다른 할당량이 적용됩니다. 연결, 데이터 세트의 데이터 샘플링 및 시각적 객체 생성과 같은 작업의 경우 시간 초과가 발생할 수 있습니다. 경우에 따라 소스 데이터베이스 엔진에서 설정한 시간 할당량이 있습니다. 시각화와 같은 다른 경우에는 Amazon Quick Sight가 2분 후에 제한 시간을 생성합니다.

그러나 모든 데이터베이스 드라이버가 2분 제한 시간에 반응하는 것은 아닙니다(예: Amazon Redshift). 이러한 경우 응답이 리턴되는 동안 쿼리가 실행되어 데이터베이스에서 쿼리가 오래 실행될 수 있습니다. 이 경우 데이터베이스 서버에서 쿼리를 취소하여 데이터베이스 리소스를 확보할 수 있습니다. 이를 수행하는 방법에 대해서는 데이터베이스 서버의 지시 사항을 따르십시오. 예를 들어 Amazon Redshift에서 쿼리를 취소하는 방법에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 [Amazon Redshift에서의 쿼리 취소](https://docs.aws.amazon.com/redshift/latest/dg/cancel_query.html) 및 [Amazon Redshift에서의 워크로드 관리 구현](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-implementing-workload-management.html)을 참조하십시오.

직접 쿼리의 각 결과 집합에는 최대 2,000개의 열이 있을 수 있습니다. 각 열의 이름은 최대 127 유니코드 문자까지 가능합니다. 더 큰 테이블에서 데이터를 가져오려는 경우 데이터의 크기를 줄일 수 있는 여러 방법이 있습니다. 열의 선택을 취소하거나 필터를 적용할 수 있습니다. SQL 쿼리에서 `WHERE`, `HAVING`과 같은 조건자도 사용할 수 있습니다. 직접 쿼리 중에 시각적 객체가 시간 초과되는 경우 쿼리를 단순화하여 실행 시간을 최적화하거나 데이터를 SPICE에 가져올 수 있습니다.

쿼리 할당량은 다음과 같습니다.
+ 각 열 이름에 대해 127개의 유니코드 문자
+ 각 데이터 세트당 2,000개의 열
+ 시각적 객체 또는 선택적 데이터 세트 샘플을 생성하기 위한 2분 할당량.
+ 데이터 소스 시간 종료 할당량이 적용됩니다(각 데이터베이스 엔진에 따라 다름).

# 지원되는 데이터 형식 및 값
<a name="supported-data-types-and-values"></a>

Amazon Quick Sight는 현재 `Date`, `Decimal`, `Integer`및 기본 데이터 형식을 지원합니다`String`. SPICE에서 `Date`, `Decimal-fixed`, `Decimal-float`, `Integer`, `String` 데이터 유형이 지원됩니다. Quick Sight는 부울 값을 정수로 승격하여 허용합니다. 또한 지리공간 데이터 유형을 도출할 수도 있습니다. 지리 공간 데이터 형식에서는 메타데이터를 사용하여 물리적 데이터 형식을 해석합니다. 위도와 경도는 숫자입니다. 모든 다른 지리 공간 범주는 문자열입니다.

데이터 소스로 사용하는 모든 테이블 또는 파일에는 이러한 데이터 형식으로 묵시적으로 변환할 수 있는 필드만 포함되어 있어야 합니다. Amazon Quick Sight는 변환할 수 없는 필드 또는 열을 건너뜁니다. “지원되지 않는 데이터 유형을 사용하기 때문에 필드를 건너뛰었습니다”라는 오류가 발생하는 경우 지원되지 않는 데이터 유형을 제거하거나 재구성하도록 쿼리 또는 테이블을 변경하십시오.

## 문자열 및 텍스트 데이터
<a name="strings"></a>

문자가 포함된 필드 또는 열을 문자열이라고 합니다. 데이터 유형이 `STRING`인 필드는 처음에 거의 모든 유형의 데이터를 포함할 수 있습니다. 예로는 계산에 사용할 수 있는 이름, 설명, 전화번호, 계좌 번호, JSON 데이터, 도시, 우편번호, 날짜, 숫자 등이 있습니다. 이러한 유형을 일반적인 의미에서는 텍스트 데이터라고도 하지만 기술적인 의미에서는 그렇지 않습니다. Quick Sight는 데이터 세트 열에서 이진 및 캐릭터 대형 객체(BLOBs 지원하지 않습니다. Quick Sight 설명서에서 "text"라는 용어는 항상 "string data"를 의미합니다.

데이터를 처음 쿼리하거나 가져올 때 Quick Sight는 식별한 데이터를 날짜 및 숫자와 같은 다른 유형으로 해석하려고 합니다. 필드나 열에 할당된 데이터 유형이 올바른지 확인하는 것이 좋습니다.

가져온 데이터의 각 문자열 필드에 대해 Quick Sight는 8바이트의 필드 길이와 UTF-8 인코딩 문자 길이를 사용합니다. Amazon Quick Sight는 UTF-8 파일 인코딩을 지원하지만 UTF-8(BOM 포함)은 지원하지 않습니다.

## 날짜 및 시간 데이터
<a name="dates"></a>

데이터 유형이 `Date`인 필드에는 시간 데이터도 포함되며, 이를 `Datetime` 필드라고도 합니다. Quick Sight는 [지원되는 날짜 형식을 사용하는 날짜](#supported-date-formats) 및 시간을 지원합니다.

Quick Sight는 UTC 시간을 사용하여 날짜 데이터를 쿼리, 필터링 및 표시합니다. 날짜 데이터가 시간대를 지정하지 않으면 Quick Sight는 UTC 값을 가정합니다. 날짜 데이터가 시간대를 지정하면 Quick Sight는 UTC 시간으로 표시되도록 변환합니다. 예를 들어 시간대 오프셋**2015-11-01T03:00:00-08:00**이 같은 날짜 필드는 UTC로 변환되고 Amazon Quick Sight에 로 표시됩니다**2015-11-01T15:30:00**.

가져온 데이터의 각 `DATE` 필드에 대해 Quick Sight는 8바이트의 필드 길이를 사용합니다. Quick Sight는 UTF-8 파일 인코딩을 지원하지만 UTF-8(BOM 포함)은 지원하지 않습니다.

## 숫자 데이터
<a name="numeric"></a>

수치 데이터에는 정수와 소수가 포함됩니다. 데이터 유형이 `INT`인 정수는 소수점 자리가 없는 음수 또는 양수입니다. Quick Sight는 큰 정수와 작은 정수를 구분하지 않습니다. `9007199254740991` 또는 `2^53 - 1` 값을 초과하거나 초과하는 정수는 시각에서 정확하게 또는 올바르게 표시되지 않을 수 있습니다.

데이터 유형이 `Decimal`인 십진수는 소수점 앞 또는 뒤에 최소 한 자리 이상의 소수점 자리를 포함하는 음수 또는 양수입니다. 직접 쿼리 모드를 선택하면 정수가 아닌 모든 십진수 유형이 `Decimal`(으)로 표시되고 기본 엔진이 데이터 원본의 지원되는 동작을 기반으로 데이터 포인트의 정밀도를 처리합니다. 지원되는 데이터 소스에 대한 자세한 내용은 [지원되는 데이터 형식 및 값](#supported-data-types-and-values)을(를) 참조하십시오.

에 데이터 세트를 저장할 때 SPICE십진수 값을 `fixed` 또는 `float`십진수 형식으로 저장하도록 선택할 수 있습니다. `Decimal-fixed` 데이터 형식은 합계 18자리와 소수점 이후 최대 4자리를 허용하는 십진수(`18,4`) 형식을 사용합니다. `Decimal-fixed` 데이터 형식은 정확한 수학 작업을 수행하는 데 적합하지만 Quick Sight는 값이 로 수집될 때 가장 가까운 10,000분의 1 자리로 값을 반올림합니다SPICE.

`Decimal-float` 데이터 유형은 약 16자리의 정확한 유효 자릿수를 제공합니다. 유효 자릿수는 소수점 자릿수가 많거나 큰 숫자를 동시에 표시할 수 있도록 소수점 양쪽에 표시할 수 있습니다. 예를 들어 `Decimal-float` 데이터 유형은 숫자 `12345.1234567890` 또는 숫자 `1234567890.12345`을(를) 지원합니다. 예를 들어, `0`과(와) 가까운 아주 작은 숫자로 작업하는 경우 `Decimal-float` 데이터 유형은 `0.123451234512345`의 예시와 같이 소수점 오른쪽으로 최대 15자리까지 입력할 수 있습니다. 이 데이터 형식은 최대 `1.8 * 10^308`까지의 값을 지원하여 데이터 세트에 오버플로 오류가 발생할 가능성을 최소화합니다.

`Decimal-float` 데이터 유형은 부정확하며 일부 값이 실제 값 대신 근사값으로 저장됩니다. 이로 인해 일부 특정 값을 저장하고 반환할 때 약간의 오차가 발생할 수 있습니다. `Decimal-float` 데이터 형식에는 다음과 같은 고려 사항이 적용됩니다.
+ 사용 중인 데이터 세트가 Amazon S3 데이터 소스에서 가져온 경우, SPICE은(는) `Decimal-float` 십진수 유형을 모든 10진수 값에 할당합니다.
+ 사용 중인 데이터 세트를 데이터베이스에서 가져온 경우 SPICE은(는) 데이터베이스에서 값에 할당된 10진수 유형을 사용합니다. 예를 들어 데이터베이스의 값에 고정 소수점 숫자 값이 할당되는 경우 SPICE의 값은 `Decimal-fixed` 입력 값이 됩니다.

`Decimal-float` 데이터 유형으로 변환할 수 있는 필드가 포함된 기존 SPICE 데이터 세트의 경우 ** 데이터 세트 편집** 페이지에 팝업이 나타납니다. 기존 데이터 세트의 필드를 `Decimal-float` 데이터 유형으로 변환하려면 **필드 업데이트**를 선택합니다. 변환하지 않으려면 **필드 업데이트 금지**를 선택하세요. 데이터 세트를 저장하고 게시할 때까지 **데이터 세트 편집** 페이지를 열 때마다 **필드 업데이트** 팝업이 나타납니다.

## 외부 데이터 소스에서 지원되는 데이터 유형
<a name="supported-data-types"></a>

다음 표에는 Amazon Quick Sight에서 다음 데이터 소스를 사용할 때 지원되는 데이터 유형이 나열되어 있습니다.


****  

| 데이터베이스 엔진 또는 원본 | 숫자 데이터 유형 | 문자열 데이터 유형 | Datetime 데이터 형식 | 부울 데이터 형식 | 
| --- | --- | --- | --- | --- | 
|   **Amazon Athena, Presto, Starburst, Trino**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  | 
|  **Amazon Aurora**, **MariaDB** 및 **MySQL**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  | 
|   **Amazon OpenSearch Service**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  | 
|  **Oracle**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html) | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html) | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html) | 비트 | 
|   **PostgreSQL**   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  | 
|   **Apache Spark**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  | 
|   **Snowflake**   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  | 
|   **Microsoft SQL Server**   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  | 

### 지원되는 날짜 형식
<a name="supported-date-formats"></a>

Amazon Quick Sight는이 섹션에 설명된 날짜 및 시간 형식을 지원합니다. Amazon Quick Sight에 데이터를 추가하기 전에 날짜 형식이 호환되는지 확인하세요. 지원되지 않는 형식을 사용해야 하는 경우 [지원되지 않는 날짜 또는 사용자 지정 날짜 사용](using-unsupported-dates.md)을(를) 참조하십시오.

지원되는 형식은 다음과 같이 데이터 소스 유형에 따라 달라집니다.


| 데이터 소스 | 클럭 | 날짜 형식 | 
| --- | --- | --- | 
|  파일 업로드 Amazon S3 소스 아테나 Salesforce  |  24시간 및 12시간 시계 모두  |  지원되는 날짜 및 시간 형식은 Joda API 설명서에 설명되어 있습니다. Joda 날짜 형식의 전체 목록은 Joda의 웹 사이트에서 [Class DateTimeFormat](http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html)을 참조하십시오. 메모리(SPICE)에 저장된 데이터 세트의 경우 Amazon Quick Sight는 `Jan 1, 0001 00:00:00 UTC` \$1 범위의 날짜를 지원합니다`Dec 31, 9999, 23:59:59 UTC`.  | 
|  관계형 데이터베이스 소스  |  24시간제만 해당  |  다음 데이터 및 시간 형식: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/supported-data-types-and-values.html)  | 

### 지원되지 않는 데이터 값
<a name="unsupported-data-values"></a>

필드에 Amazon Quick Sight가 필드에 할당하는 데이터 유형을 준수하지 않는 값이 포함된 경우 해당 값이 포함된 행은 건너뜁니다. 다음과 같은 소스 데이터를 예로 들 수 있습니다.

```
Sales ID    Sales Date    Sales Amount
--------------------------------------
001        10/14/2015        12.43
002        5/3/2012          25.00
003        Unknown           18.17
004        3/8/2009          86.02
```

Amazon Quick Sight는 날짜 필드**Sales Date**로 해석되고 날짜가 아닌 값이 포함된 행을 삭제하므로 다음 행만 가져옵니다.

```
Sales ID    Sales Date    Sales Amount
--------------------------------------
001        10/14/2015        12.43
002        5/3/2012          25.00
004        3/8/2009          86.02
```

경우에 따라 데이터베이스 필드에 JDBC 드라이버가 소스 데이터베이스 엔진에 대해 해석할 수 없는 값이 포함될 수 있습니다. 이러한 경우 행을 가져올 수 있도록 해석할 수 없는 값이 null로 대체됩니다. 이러한 문제가 발생하는 것으로 알려진 경우는 MySQL 날짜, 날짜/시간 및 타임스탬프 필드의 값이 모두 0인 경우밖에 없습니다(예: **0000-00-00 00:00:00**). 다음과 같은 소스 데이터를 예로 들 수 있습니다.

```
Sales ID    Sales Date                Sales Amount
---------------------------------------------------
001        2004-10-12 09:14:27        12.43
002        2012-04-07 12:59:03        25.00
003        0000-00-00 00:00:00        18.17
004        2015-09-30 01:41:19        86.02
```

이 경우 다음 데이터를 가져옵니다.

```
Sales ID    Sales Date                Sales Amount
---------------------------------------------------
001        2004-10-12 09:14:27        12.43
002        2012-04-07 12:59:03        25.00
003        (null)                     18.17
004        2015-09-30 01:41:19        86.02
```

# 데이터 세트 작업
<a name="working-with-datasets"></a>

데이터 세트는 Quick Sight 분석의 기반이며 분석 및 대시보드를 지원하는 준비되고 구조화된 데이터 소스 역할을 합니다. 데이터 소스에서 데이터 세트를 생성한 후에는 수명 주기 동안 데이터 세트를 효과적으로 관리하여 안정적이고 안전하며 협업적인 분석을 보장해야 합니다.

이 섹션에서는 데이터 세트 편집 및 버전 관리부터 팀원과 데이터 세트 공유 및 보안 제어 구현에 이르기까지 전체 데이터 세트 관리 워크플로를 다룹니다. 협업 분석을 지원하면서 데이터 세트 무결성을 유지하고, 데이터 세트에 의존하는 분석을 추적하고, 행 수준 및 열 수준 보안을 구현하여 민감한 정보를 보호하는 방법을 알아봅니다. 팀 사용을 위한 데이터 세트를 준비하든, 분석 문제를 해결하든, 데이터 거버넌스 정책을 구현하든, 이러한 주제는 Quick Sight에서 효과적인 데이터 세트 관리를 위한 필수 지식을 제공합니다.

**Topics**
+ [데이터 세트 생성](creating-data-sets.md)
+ [데이터 세트 편집](edit-a-data-set.md)
+ [데이터 세트를 이전에 게시된 버전으로 되돌리기](dataset-versioning.md)
+ [데이터 세트 복제](duplicate-a-data-set.md)
+ [데이터 세트 공유](sharing-data-sets.md)
+ [데이터 세트를 사용하는 대시보드 및 분석 추적](track-analytics-that-use-dataset.md)
+ [Amazon Quick에서 데이터 세트 파라미터 사용](dataset-parameters.md)
+ [Amazon Quick에서 행 수준 보안 사용](row-level-security.md)
+ [열 수준 보안을 사용하여 데이터세트에 대한 액세스 제한](restrict-access-to-a-data-set-using-column-level-security.md)
+ [Amazon Quick에서 IAM 역할로 쿼리 실행](datasource-run-as-role.md)
+ [데이터 세트 삭제](delete-a-data-set.md)
+ [분석에 데이터 세트 추가](adding-a-data-set-to-an-analysis.md)

# 데이터 세트 생성
<a name="creating-data-sets"></a>

 Amazon Quick의 새 데이터 소스 또는 기존 데이터 소스에서 데이터 세트를 생성할 수 있습니다. 다양한 데이터베이스 데이터 소스를 사용하여 Amazon Quick에 데이터를 제공할 수 있습니다. 여기에는 Amazon RDS 인스턴스와 Amazon Redshift 클러스터가 포함됩니다. 또한 조직, Amazon EC2 또는 유사한 환경의 MariaDB, Microsoft SQL Server, MySQL, Oracle 및 PostgreSQL 인스턴스도 포함됩니다.

**Topics**
+ [새 데이터 소스를 사용하여 데이터 세트 생성](creating-data-sets-new.md)
+ [기존 데이터 소스를 사용하여 데이터 세트 생성](create-a-data-set-existing.md)
+ [Amazon Quick에서 기존 데이터 세트를 사용하여 데이터 세트 생성](create-a-dataset-existing-dataset.md)

# 새 데이터 소스를 사용하여 데이터 세트 생성
<a name="creating-data-sets-new"></a>

Amazon RDS, Amazon Redshift 또는 Amazon EC2와 같은 AWS 서비스를 기반으로 데이터 세트를 생성하는 경우 해당 소스의 데이터를 사용할 때 데이터 전송 요금이 적용될 수 있습니다. 이러한 요금은 해당 AWS 리소스가 Amazon Quick 계정에 대해 AWS 리전 선택한 홈에 있는지 여부에 따라 달라질 수도 있습니다. 요금에 대한 자세한 내용은 해당 서비스에 대한 요금 페이지를 참조하십시오.

새 데이터베이스 데이터 세트를 생성하는 경우 테이블을 한 개만 선택하거나, 여러 테이블을 조인하거나, SQL 쿼리를 만들어 원하는 데이터를 검색할 수 있습니다. 또한 데이터 세트가 직접 쿼리를 사용하거나 [SPICE](spice.md)에 데이터를 저장할지 여부를 변경할 수도 있습니다.

**데이터세트 생성**

1. 데이터 세트를 생성하려면 **데이터 페이지에서 새 데이터 세트를** 선택합니다. **** 그런 다음 기존 데이터 세트 또는 데이터 소스를 기반으로 데이터 세트를 생성하거나 새 데이터 소스에 연결해 해당 데이터 소스를 기반으로 데이터 세트를 생성할 수 있습니다.

1. 데이터 소스에 연결 정보를 제공합니다.
   + 로컬 텍스트 또는 Microsoft Excel 파일의 경우 간단하게 파일 위치를 식별하여 파일을 업로드할 수 있습니다.
   + Amazon S3의 경우 사용하려는 파일 또는 버킷을 식별하는 매니페스트와 대상 파일에 대한 가져오기 설정을 제공해야 합니다.
   + Amazon Athena의 경우 AWS 계정에 대한 모든 Athena 데이터베이스가 반환됩니다. 추가 자격 증명은 필요하지 않습니다.
   + Salesforce의 경우 연결에 사용할 자격 증명을 제공합니다.
   + Amazon Redshift, Amazon RDS, Amazon EC2 또는 기타 데이터베이스 데이터 소스의 경우 데이터를 호스팅하는 서버 및 데이터베이스에 대한 정보를 제공합니다. 또한 해당 데이터베이스 인스턴스에 대해 유효한 보안 인증 정보를 제공합니다.

# 데이터베이스에서 데이터 세트 생성
<a name="create-a-database-data-set"></a>

다음 절차는 데이터베이스 데이터 소스에 연결하고 데이터 세트를 생성하는 방법을 안내합니다. Amazon Quick 계정이 자동 검색한 AWS 데이터 소스에서 데이터 세트를 생성하려면를 사용합니다[자동 검색된 Amazon Redshift 클러스터 또는 Amazon RDS 인스턴스에서 데이터 세트 생성](#create-a-data-set-autodiscovered). 다른 데이터베이스 데이터 소스에서 데이터 세트를 생성하려면 [자동으로 검색되지 않은 데이터베이스를 사용하여 데이터 세트 생성](#create-a-data-set-database)을(를) 사용하십시오.

## 자동 검색된 Amazon Redshift 클러스터 또는 Amazon RDS 인스턴스에서 데이터 세트 생성
<a name="create-a-data-set-autodiscovered"></a>

자동 검색된 AWS 데이터 소스에 연결하려면 다음 절차에 따르십시오.

**자동 검색된 AWS 데이터 소스에 대한 연결을 생성하려면**

1. 대상 테이블 또는 쿼리가 데이터 소스 할당량을 초과하지 않도록 [데이터 소스 할당량](data-source-limits.md)을(를) 확인합니다.

1. 사용하려는 데이터베이스 자격 증명이 [필수 권한](required-permissions.md)에 설명된 대로 적절한 권한이 있는지 확인합니다.

1. 의 지침에 따라 Amazon Quick Access용 클러스터 또는 인스턴스를 구성했는지 확인합니다[네트워크 및 데이터베이스 구성 요구 사항](configure-access.md).

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 연결하려는 AWS 서비스에 따라 **RDS** 또는 **Redshift 자동 검색** 아이콘을 선택합니다.

1. 다음과 같이 데이터 원본의 연결 정보를 입력합니다.
   + **Data source name(데이터 소스 이름)**에 데이터 소스의 이름을 입력합니다.
   + **인스턴스 ID**에서 연결할 인스턴스 또는 클러스터의 이름을 선택합니다.
   + [**Database name**]은 [**Instance ID**] 클러스터 또는 인스턴스에 대한 기본 데이터베이스를 표시합니다. 해당 클러스터 또는 인스턴스에서 다른 데이터베이스를 사용하려면 해당 이름을 입력합니다.
   + **사용자 이름**에 다음을 수행할 수 있는 권한이 있는 사용자 계정의 사용자 이름을 입력합니다.
     + 대상 데이터베이스에 액세스합니다.
     + 사용하려는 해당 데이터베이스의 테이블을 읽습니다(`SELECT` 문 수행).
   + **암호**에 입력한 계정의 암호를 입력합니다.

1. [**Validate connection**]을 선택하여 연결 정보가 올바른지 확인합니다.

1. 연결이 확인되면 [**Create data source**]를 선택합니다. 그렇지 않은 경우 연결 정보를 수정하고 다시 확인합니다.
**참고**  
Amazon Quick은 Secure Sockets Layer(SSL)를 사용하여 Amazon RDS 인스턴스 및 Amazon Redshift 클러스터에 대한 연결을 자동으로 보호합니다. 이 기능을 활성화하는 데 어떤 조치도 필요하지 않습니다.

1. 다음 중 하나를 선택합니다.
   + **사용자 지정 SQL**

     다음 화면에서 **사용자 지정 SQL 사용** 옵션으로 쿼리 작성을 선택합니다. 이렇게 하면 쿼리 이름과 SQL을 입력할 수 있는 **Enter custom SQL query(사용자 지정 SQL 쿼리 입력)**라는 이름의 화면이 열립니다. 최상의 결과를 얻으려면 SQL 편집기에 쿼리를 작성한 다음 이 창에 붙여 넣습니다. 이름과 쿼리를 입력한 후 **데이터 편집/미리 보기**나 **쿼리 확인**을 선택할 수 있습니다. **데이터 편집/미리 보기**를 선택하면 즉시 데이터를 준비할 수 있습니다. **쿼리 확인**을 선택하면 SQL에 오류가 없는지 확인할 수 있습니다.
   + **테이블 선택**

     특정 테이블에 연결하려면, **스키마: 테이블 세트 포함**에서 **선택**을 선택한 다음 스키마를 선택합니다. 데이터베이스에 단일 스키마만 있는 몇몇 경우, 해당 스키마가 자동으로 선택되고 스키마 선택 옵션이 표시되지 않습니다.

     분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여 데이터 준비를 엽니다. 테이블을 더 많이 조인하려면 이 옵션을 사용합니다.

     그렇지 않으면 테이블을 선택한 다음 **선택**을 선택합니다.

1. 다음 옵션 중 하나를 선택하세요.
   + 분석을 생성하기 전에 데이터를 준비합니다. 이렇게 하려면 **Edit/Preview data(데이터 편집/미리 보기)**를 선택하여 선택한 테이블에 대한 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 성능 향상을 위해 데이터 세트 데이터를 SPICE(으)로 가져옵니다(권장). 이렇게 하려면 테이블 크기와 SPICE 표시기를 확인하여 충분한 용량이 있는지 확인합니다.

     SPICE 용량이 충분하면 더 빠른 분석을 위해 SPICE로 가져오기를 선택한 다음 시각화를 사용하여 분석을 생성합니다.
**참고**  
SPICE를 사용하고 싶지만 공간이 부족한 경우 **데이터 편집/미리 보기**를 선택합니다. 데이터 준비 시 데이터 세트에서 필드를 제거하여 크기를 줄일 수 있습니다. 필터를 적용하거나 반환되는 행 또는 열 수를 줄이는 SQL 쿼리를 작성할 수도 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 데이터베이스에서 직접 데이터를 쿼리할 수 있도록 하려면, **데이터 직접 쿼리** 옵션을 선택합니다. 그런 다음 **Visualize(시각화)**를 선택하여 분석을 생성합니다.

## 자동으로 검색되지 않은 데이터베이스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-database"></a>

자동으로 검색된 Amazon Redshift 클러스터 또는 Amazon RDS 인스턴스 이외의 다른 데이터베이스에 연결하려면 다음 절차에 따르십시오. 이러한 데이터베이스에는 Amazon Redshift 클러스터와 다른에 AWS 리전 있거나 다른 AWS 계정과 연결된 Amazon RDS 인스턴스가 포함됩니다. 또한 온프레미스, Amazon EC2 또는 다른 액세스 가능한 환경의 MariaDB, Microsoft SQL Server, MySQL, Oracle 및 PostgreSQL 인스턴스도 포함됩니다.

**자동 검색된 Amazon Redshift 클러스터 또는 RDS 인스턴스가 아닌 데이터베이스에 대한 연결 생성하기**

1. 대상 테이블 또는 쿼리가 데이터 소스 할당량을 초과하지 않도록 [데이터 소스 할당량](data-source-limits.md)을(를) 확인합니다.

1. 사용하려는 데이터베이스 자격 증명이 [필수 권한](required-permissions.md)에 설명된 대로 적절한 권한이 있는지 확인합니다.

1. 의 지침에 따라 Amazon Quick Access용 클러스터 또는 인스턴스를 구성했는지 확인합니다[네트워크 및 데이터베이스 구성 요구 사항](configure-access.md).

1. Amazon 빠른 시작 페이지에서 **데이터 관리를** 선택합니다.

1. **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 다른의 Amazon **Redshift 클러스터에 연결하거나 다른 계정과 연결하려면 Redshift 수동** 연결 아이콘을 선택합니다. AWS 리전 AWS 또는 해당 데이터베이스 관리 시스템 아이콘을 선택하여 Amazon Aurora, MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL의 인스턴스에 연결합니다.

1. 다음과 같이 데이터 원본의 연결 정보를 입력합니다.
   + **Data source name(데이터 소스 이름)**에 데이터 소스의 이름을 입력합니다.
   + **Database server(데이터베이스 서버)**에 다음 값 중 하나를 입력합니다.
     + Amazon Redshift 클러스터 또는 Amazon RDS 인스턴스의 경우, 포트 번호 없이 클러스터 또는 인스턴스의 엔드포인트를 입력합니다. 예를 들어, 엔드포인트 값이 `clustername.1234abcd.us-west-2.redshift.amazonaws.com:1234`인 경우 `clustername.1234abcd.us-west-2.redshift.amazonaws.com`을(를) 입력합니다. AWS 콘솔의 클러스터 또는 인스턴스 세부 정보 페이지의 **엔드포인트** 필드에서 엔드포인트 값을 가져올 수 있습니다.
     + MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL의 Amazon EC2 인스턴스에는 퍼블릭 DNS 주소를 입력합니다. Amazon EC2 콘솔의 인스턴스 세부 정보 창의 **퍼블릭 DNS** 필드에서 퍼블릭 DNS 값을 가져올 수 있습니다.
     + MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL의 비 Amazon EC2 인스턴스에는 데이터베이스 서버의 호스트 이름 또는 퍼블릭 IP 주소를 입력합니다. 안전한 연결을 위해 Secure Sockets Layer(SSL)을 사용하는 경우(권장), SSL 인증서에 필요한 정보와 일치하는 호스트 이름을 입력해야 할 수 있습니다. 수락되는 인증서 목록은 [Amazon Quick SSL 및 CA 인증서](configure-access.md#ca-certificates) 단원을 참조하십시오.
   + **포트**에 클러스터 또는 인스턴스가 연결에 사용하는 포트를 입력합니다.
   + **데이터베이스 이름**에 사용할 데이터베이스의 이름을 입력합니다.
   + **사용자 이름**에 다음을 수행할 수 있는 권한이 있는 사용자 계정의 사용자 이름을 입력합니다.
     + 대상 데이터베이스에 액세스합니다.
     + 사용하려는 해당 데이터베이스의 테이블을 읽습니다(`SELECT` 문 수행).
   + **암호**에 입력한 계정과 연결된 암호를 입력합니다.

1. (선택 사항) Amazon Redshift 클러스터 이외에 다른 것에 연결 중이거나 보안 연결을 원하지 않는 경우 **SSL 활성화**를 선택 취소해야 합니다. 하지만, 비보안 연결은 변조될 가능성이 있으므로 *이 항목을 선택한 상태로 두는 것이 좋습니다*.

   대상 인스턴스가 SSL을 사용하는 방법에 대한 자세한 내용은 대상 데이터베이스 관리 시스템에 대한 문서를 참조하십시오. Amazon Quick은 자체 서명된 SSL 인증서를 유효한 것으로 수락하지 않습니다. 수락되는 인증서 목록은 [Amazon Quick SSL 및 CA 인증서](configure-access.md#ca-certificates) 단원을 참조하십시오.

   Amazon Quick은 SSL을 사용하여 Amazon Redshift 클러스터에 대한 연결을 자동으로 보호합니다. 이 기능을 활성화하는 데 어떤 조치도 필요하지 않습니다.

   Presto 및 Apache Spark와 같은 일부 데이터베이스는 Amazon Quick이 연결하기 전에 추가 요구 사항을 충족해야 합니다. 자세한 내용은 [Presto를 사용하여 데이터 소스 생성](create-a-data-source-presto.md) 또는 [Apache Spark를 사용하여 데이터 소스 생성](create-a-data-source-spark.md) 단원을 참조하십시오.

1. (선택 사항) [**Validate connection**]을 선택하여 연결 정보가 올바른지 확인합니다.

1. 연결이 확인되면 [**Create data source**]를 선택합니다. 그렇지 않은 경우 연결 정보를 수정하고 다시 확인합니다.

1. 다음 중 하나를 선택합니다.
   + **사용자 지정 SQL**

     다음 화면에서 **사용자 지정 SQL 사용** 옵션으로 쿼리 작성을 선택합니다. 이렇게 하면 쿼리 이름과 SQL을 입력할 수 있는 **Enter custom SQL query(사용자 지정 SQL 쿼리 입력)**라는 이름의 화면이 열립니다. 최상의 결과를 얻으려면 SQL 편집기에 쿼리를 작성한 다음 이 창에 붙여 넣습니다. 이름과 쿼리를 입력한 후 **데이터 편집/미리 보기**나 **쿼리 확인**을 선택할 수 있습니다. **데이터 편집/미리 보기**를 선택하면 즉시 데이터를 준비할 수 있습니다. **쿼리 확인**을 선택하면 SQL에 오류가 없는지 확인할 수 있습니다.
   + **테이블 선택**

     특정 테이블에 연결하려면, **스키마: 테이블 세트 포함**에서 **선택**을 선택한 다음 스키마를 선택합니다. 데이터베이스에 단일 스키마만 있는 몇몇 경우, 해당 스키마가 자동으로 선택되고 스키마 선택 옵션이 표시되지 않습니다.

     분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여 데이터 준비를 엽니다. 테이블을 더 많이 조인하려면 이 옵션을 사용합니다.

     그렇지 않으면 테이블을 선택한 다음 **선택**을 선택합니다.

1. 다음 옵션 중 하나를 선택하세요.
   + 분석을 생성하기 전에 데이터를 준비합니다. 이렇게 하려면 **Edit/Preview data(데이터 편집/미리 보기)**를 선택하여 선택한 테이블에 대한 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 성능 향상을 위해 데이터 세트 데이터를 SPICE(으)로 가져옵니다(권장). 이렇게 하려면 테이블 크기와 SPICE 표시기를 확인하여 충분한 공간이 있는지 확인합니다.

     SPICE 용량이 충분하면 더 빠른 분석을 위해 SPICE로 가져오기를 선택한 다음 시각화를 사용하여 분석을 생성합니다.
**참고**  
SPICE를 사용하고 싶지만 공간이 부족한 경우 **데이터 편집/미리 보기**를 선택합니다. 데이터 준비 시 데이터 세트에서 필드를 제거하여 크기를 줄일 수 있습니다. 필터를 적용하거나 반환되는 행 또는 열 수를 줄이는 SQL 쿼리를 작성할 수도 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 데이터베이스에서 직접 데이터를 쿼리합니다. 이렇게 하려면 **Directly query your data(데이터 직접 쿼리)** 옵션을 선택합니다. 그런 다음 **Visualize(시각화)**를 선택하여 분석을 생성합니다.

# 기존 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing"></a>

Salesforce, AWS 데이터 스토어 또는 기타 데이터베이스 데이터 소스에 처음 연결한 후 Amazon Quick은 연결 정보를 저장합니다. **데이터 세트 생성** 페이지의 **기존 데이터 소스에서 생성** 섹션에 데이터 소스가 추가됩니다. 이러한 기존 데이터 소스를 사용하여 연결 정보를 다시 지정하지 않고 새 데이터 세트를 생성할 수 있습니다.

## 기존 Amazon S3 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing-s3"></a>

기존 Amazon S3 데이터 소스를 사용하여 데이터 세트를 생성하려면 다음 절차에 따르십시오.

**기존 S3 데이터 소스를 사용하여 데이터 세트 생성하기**

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 사용할 Amazon S3 데이터 소스를 선택합니다.

1. 데이터 세트를 만들기 전에 데이터를 준비하려면 **데이터 편집/미리 보기**를 선택합니다. 데이터를 있는 그대로 사용하여 분석을 생성하려면 **Visualize(시각화)**를 선택합니다.

## 기존 Amazon Athena 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing-athena"></a>

기존 Amazon Athena 데이터 소스를 사용하여 데이터 세트를 생성하려면 다음 절차를 따르십시오.

**기존 Athena 연결 프로필에서 데이터 세트 생성하기**

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

   사용하려는 기존 데이터 소스의 연결 프로필 아이콘을 선택합니다. 연결 프로필에는 데이터 소스 아이콘과 연결을 만든 사람이 제공한 이름이 레이블로 표시됩니다.

1. **데이터 세트 생성**을 선택합니다.

   Amazon Quick은 Athena 작업 그룹만을 기반으로이 데이터 소스에 대한 연결 프로파일을 생성합니다. 데이터베이스와 테이블은 저장되지 않습니다.

1. **테이블 선택** 화면에서 다음 중 하나를 수행하십시오.
   + SQL 쿼리를 작성하려면 **사용자 지정 SQL 사용**을 선택합니다.
   + 데이터베이스와 테이블을 선택하려면 먼저 데이터베이스 목록에서 **데이터베이스**를 선택합니다. 그런 다음, 데이터베이스에 대해 나타나는 목록에서 테이블을 선택합니다.

## 기존 Salesforce 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing-salesforce"></a>

기존 Salesforce 데이터 소스를 사용하여 데이터 세트를 생성하려면 다음 절차에 따르십시오.

**기존 Salesforce 데이터 소스를 사용하여 데이터 세트를 생성하기**

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 사용할 Salesforce 데이터 소스를 선택합니다.

1. [**Create Data Set**]를 선택합니다.

1. 다음 중 하나를 선택합니다.
   + **사용자 지정 SQL**

     다음 화면에서 **사용자 지정 SQL 사용** 옵션으로 쿼리 작성을 선택합니다. 이렇게 하면 쿼리 이름과 SQL을 입력할 수 있는 **Enter custom SQL query(사용자 지정 SQL 쿼리 입력)**라는 이름의 화면이 열립니다. 최상의 결과를 얻으려면 SQL 편집기에 쿼리를 작성한 다음 이 창에 붙여 넣습니다. 이름과 쿼리를 입력한 후 **데이터 편집/미리 보기**나 **쿼리 확인**을 선택할 수 있습니다. **데이터 편집/미리 보기**를 선택하면 즉시 데이터를 준비할 수 있습니다. **쿼리 확인**을 선택하면 SQL에 오류가 없는지 확인할 수 있습니다.
   + **테이블 선택**

     특정 테이블에 연결하려면 **데이터 요소: 데이터 포함**에서 **선택**을 선택한 다음 **보고** 또는 **객체**를 선택합니다.

     분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여 데이터 준비를 엽니다. 테이블을 더 많이 조인하려면 이 옵션을 사용합니다.

     그렇지 않으면 테이블을 선택한 다음 **선택**을 선택합니다.

1. 다음 화면에서 다음 옵션 중 하나를 선택합니다.
   + 데이터를 원본 그대로 사용하여 데이터 세트와 분석을 만들려면 **시각화**를 선택합니다.
**참고**  
[SPICE](spice.md) 용량이 부족한 경우 [**Edit/Preview data**]를 선택합니다. 데이터 준비 중에 데이터 세트에서 필드를 지워 크기를 줄이거나, 반환되는 행의 수를 줄이는 필터를 적용할 수 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여, 선택한 보고서나 객체의 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.

## 기존 데이터베이스 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing-database"></a>

기존 데이터베이스 데이터 소스를 사용하여 데이터 세트를 생성하려면 다음 절차에 따르십시오.

**기존 데이터베이스 데이터 소스를 사용하여 데이터 세트 생성하기**

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 사용할 데이터베이스 데이터 소스를 선택한 다음 **데이터 세트 생성을** 선택합니다.

1. 다음 중 하나를 선택합니다.
   + **사용자 지정 SQL**

     다음 화면에서 **사용자 지정 SQL 사용** 옵션으로 쿼리 작성을 선택합니다. 이렇게 하면 쿼리 이름과 SQL을 입력할 수 있는 **Enter custom SQL query(사용자 지정 SQL 쿼리 입력)**라는 이름의 화면이 열립니다. 최상의 결과를 얻으려면 SQL 편집기에 쿼리를 작성한 다음 이 창에 붙여 넣습니다. 이름과 쿼리를 입력한 후 **데이터 편집/미리 보기**나 **쿼리 확인**을 선택할 수 있습니다. **데이터 편집/미리 보기**를 선택하면 즉시 데이터를 준비할 수 있습니다. **쿼리 확인**을 선택하면 SQL에 오류가 없는지 확인할 수 있습니다.
   + **테이블 선택**

     특정 테이블에 연결하려면, **스키마: 테이블 세트 포함**에서 **선택**을 선택한 다음 스키마를 선택합니다. 데이터베이스에 단일 스키마만 있는 몇몇 경우, 해당 스키마가 자동으로 선택되고 스키마 선택 옵션이 표시되지 않습니다.

     분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여 데이터 준비를 엽니다. 테이블을 더 많이 조인하려면 이 옵션을 사용합니다.

     그렇지 않으면 테이블을 선택한 다음 **선택**을 선택합니다.

1. 다음 옵션 중 하나를 선택하세요.
   + 분석을 생성하기 전에 데이터를 준비합니다. 이렇게 하려면 **Edit/Preview data(데이터 편집/미리 보기)**를 선택하여 선택한 테이블에 대한 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 성능 향상을 위해 데이터 세트 데이터를 [SPICE](spice.md)(으)로 가져옵니다(권장). 이렇게 하려면 SPICE 표시기를 확인하여 충분한 공간이 있는지 확인합니다.

     SPICE 용량이 충분하면 더 빠른 분석을 위해 SPICE로 가져오기를 선택한 다음 시각화를 사용하여 분석을 생성합니다.
**참고**  
SPICE를 사용하고 싶지만 공간이 부족한 경우 **데이터 편집/미리 보기**를 선택합니다. 데이터 준비 시 데이터 세트에서 필드를 제거하여 크기를 줄일 수 있습니다. 필터를 적용하거나 반환되는 행 또는 열 수를 줄이는 SQL 쿼리를 작성할 수도 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 데이터베이스에서 직접 데이터를 쿼리합니다. 이렇게 하려면 **Directly query your data(데이터 직접 쿼리)** 옵션을 선택합니다. 그런 다음 **Visualize(시각화)**를 선택하여 분석을 생성합니다.

# Amazon Quick에서 기존 데이터 세트를 사용하여 데이터 세트 생성
<a name="create-a-dataset-existing-dataset"></a>

Amazon Quick에서 데이터 세트를 생성한 후 이를 소스로 사용하여 추가 데이터 세트를 생성할 수 있습니다. 이렇게 하면 상위 데이터 세트에 포함된 모든 데이터 준비(예: 조인 또는 계산된 필드)가 보관됩니다. 새 데이터 조인 및 데이터 필터링과 같은 추가 준비를 새 하위 데이터 세트의 데이터에 추가할 수 있습니다. 또한 하위 데이터 세트에 대한 자체 데이터 새로 고침 일정을 설정하고 이를 사용하는 대시보드 및 분석을 추적할 수 있습니다.

RLS 규칙이 소스로 활성화된 데이터 세트를 사용하여 만든 하위 데이터 세트는 상위 데이터 세트의 RLS 규칙을 상속합니다. 더 큰 상위 데이터 세트에서 하위 데이터 세트를 만드는 사용자는 상위 데이터 세트에서 액세스할 수 있는 데이터만 볼 수 있습니다. 그런 다음 상속된 RLS 규칙 외에도 새 하위 데이터 세트에 더 많은 RLS 규칙을 추가하여 새 데이터 세트에 있는 데이터에 액세스할 수 있는 사용자를 추가로 관리할 수 있습니다. Direct Query에서 RLS 규칙을 활성화한 데이터 세트에서만 하위 데이터 세트를 만들 수 있습니다.

기존 Quick 데이터 세트에서 데이터 세트를 생성하면 다음과 같은 이점이 있습니다.
+ **데이터 세트의 중앙 관리** - 데이터 엔지니어는 조직 내 여러 팀의 요구에 맞게 쉽게 확장할 수 있습니다. 이를 위해 조직의 주요 데이터 모델을 설명하는 몇 가지 범용 데이터 세트를 개발하고 유지 관리할 수 있습니다.
+ **데이터 소스 관리 감소** - 비즈니스 분석가(BAs)는 데이터베이스 액세스를 요청하고, 데이터베이스 자격 증명을 관리하고, 올바른 테이블을 찾고, 빠른 데이터 새로 고침 일정을 관리하는 데 많은 시간과 노력을 소비하는 경우가 많습니다. 기존 데이터 세트를 기반으로 새 데이터 세트를 구축하면 BA가 데이터베이스의 원시 데이터로 처음부터 시작할 필요가 없습니다. 큐레이션된 데이터로 시작할 수 있습니다.
+ **사전 정의된 주요 지표** - 데이터 엔지니어는 기존 데이터 세트에서 데이터 세트를 생성하여 회사의 여러 조직 전반에서 중요한 데이터 정의를 중앙에서 정의하고 유지할 수 있습니다. 매출 성장과 순 한계 수익률을 예로 들 수 있습니다. 이 기능을 사용하면 데이터 엔지니어가 해당 정의의 변경 내용을 배포할 수도 있습니다. 이 접근 방식을 통해 비즈니스 분석가는 올바른 데이터를 보다 빠르고 안정적으로 시각화하는 작업을 시작할 수 있습니다.
+ **데이터를 사용자 지정하는 유연성** - 기존 데이터 세트에서 데이터 세트를 생성함으로써 비즈니스 분석가는 자신의 비즈니스 요구 사항에 맞게 데이터 세트를 보다 유연하게 사용자 지정할 수 있습니다. 이를 통해 다른 팀의 데이터가 손상될 염려를 피할 수 있습니다.

예를 들어 데이터 엔지니어 5명으로 구성된 전자 상거래 중앙 팀의 일원이라고 가정해 보겠습니다. 팀과 함께 데이터베이스의 판매, 주문, 취소 및 반품 데이터에 액세스할 수 있습니다. 스키마를 통해 다른 차원 테이블 18개를 조인하여 빠른 데이터 세트를 생성했습니다. 팀에서 만든 주요 지표는 계산된 필드인 주문 제품 판매(OPS)입니다. 정의는 다음과 같습니다. OPS = 제품 수량 x 가격.

귀사의 팀은 8개국의 10개 팀에 소속된 100명 이상의 비즈니스 분석가에게 서비스를 제공합니다. 이들은 쿠폰 팀, 아웃바운드 마케팅 팀, 모바일 플랫폼 팀, 추천 팀입니다. 이 모든 팀은 OPS 지표를 기반으로 자체 비즈니스 라인을 분석합니다.

수백 개의 연결되지 않은 데이터 세트를 수동으로 만들고 유지 관리하는 대신, 팀은 데이터 세트를 재사용하여 조직 전체의 팀을 위한 여러 수준의 데이터 세트를 만듭니다. 이렇게 하면 데이터 관리가 중앙 집중화되고 각 팀이 각자의 필요에 맞게 데이터를 사용자 지정할 수 있습니다. 이와 동시에 지표 정의 업데이트와 같은 데이터 업데이트가 동기화되고 행 수준 및 열 수준의 보안이 유지됩니다. 예를 들어, 조직의 개별 팀이 중앙화된 데이터 세트를 사용할 수 있습니다. 그런 다음 팀별 데이터와 결합하여 새 데이터세트를 만들고 그 위에 분석을 구축할 수 있습니다.

주요 OPS 지표를 사용하는 것 외에도 조직의 다른 팀은 사용자가 만든 중앙 집중식 데이터 세트의 열 메타데이터를 재사용할 수 있습니다. 예를 들어 데이터 엔지니어링 팀은 이름, 설명, 데이터 유형 및 폴더와 같은 메타데이터를 중앙 집중식 데이터 세트에 정의할 수 있습니다. 이후의 모든 팀에서 이 데이터를 사용할 수 있습니다.

**참고**  
Amazon Quick은 단일 데이터 세트에서 최대 2개의 추가 데이터 세트 수준 생성을 지원합니다.  
예를 들어 상위 데이터 세트에서 하위 데이터 세트를 생성한 다음 총 3개의 데이터 세트 수준에 대한 최하위 데이터 세트를 생성할 수 있습니다.

## 기존 데이터 세트에서 데이터 세트 생성
<a name="create-a-dataset-existing-dataset-how-to"></a>

기존 데이터 세트에서 데이터 세트를 생성하려면 다음 절차를 따르십시오.

**기존 데이터 세트에서 데이터 세트 생성하기**

1. 빠른 시작 페이지의 왼쪽 창에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 새 데이터 세트를 생성하는 데 사용할 데이터 세트를 선택합니다.

1. 해당 데이터 세트에 대해 열리는 페이지에서 **분석에 사용**의 드롭다운 메뉴를 선택한 다음 **데이터 세트에서 사용**을 선택합니다.

   데이터 준비 페이지가 열리고 계산된 필드, 조인, 보안 설정을 비롯한 상위 데이터 세트의 모든 항목이 미리 로드됩니다.

1. 표시되는 데이터 준비 페이지에서 왼쪽 하단의 **쿼리 모드**에서 데이터 세트에 원본 상위 데이터 세트의 변경 사항 및 업데이트를 가져오는 방법을 선택합니다. 다음과 같은 옵션을 선택할 수 있습니다.
   + **직접 쿼리** - 기본 쿼리 모드입니다. 이 옵션을 선택하면 관련 데이터 세트, 분석 또는 대시보드를 열 때 이 데이터 세트의 데이터가 자동으로 새로 고쳐집니다. 단, 다음 제한 사항이 적용됩니다.
     + 상위 데이터 세트에서 직접 쿼리를 허용하는 경우 하위 데이터 세트에서 직접 쿼리 모드를 사용할 수 있습니다.
     + 조인에 상위 데이터 세트가 여러 개 있는 경우 모든 부모가 동일한 기본 데이터 소스에서 가져온 경우에만 하위 데이터 세트에 대한 직접 쿼리 모드를 선택할 수 있습니다. 동일한 Amazon Redshift 연결을 예로 들 수 있습니다.
     + 단일 SPICE 상위 데이터 세트에 대해 직접 쿼리가 지원됩니다. 조인의 여러 SPICE 상위 데이터 세트에는 지원되지 않습니다.
   + **SPICE** - 이 옵션을 선택하면 새 데이터 세트가 상위 데이터 세트와 동기화되도록 일정을 설정할 수 있습니다. 데이터 세트의 SPICE 새로 고침 일정 만들기에 대한 자세한 내용은 [SPICE 데이터 새로 고침](refreshing-imported-data.md)을(를) 참조하십시오.

1. (선택 사항) 분석을 위해 데이터를 준비합니다. 데이터 준비에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 준비](preparing-data.md)을(를) 참조하십시오.

1. (선택 사항) 행 수준 또는 열 수준 보안(RLS/CLS)을 설정하여 데이터 세트에 대한 액세스를 제한합니다. ELS 설정에 대한 자세한 내용은 [사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한사용자 기반 규칙 사용](restrict-access-to-a-data-set-using-row-level-security.md)을(를) 참조하십시오. CLS 설정에 대한 자세한 내용은 [열 수준 보안을 사용하여 데이터세트에 대한 액세스 제한](restrict-access-to-a-data-set-using-column-level-security.md)을(를) 참조하십시오.
**참고**  
하위 데이터 세트에만 RLS/CLS를 설정할 수 있습니다. 상위 데이터 세트의 RLS/CLS는 지원되지 않습니다.

1. 작업을 마치면 **저장 및 게시**를 선택하여 변경 내용을 저장하고 새 하위 데이터 세트를 게시합니다. 또는 **게시 및 시각화**를 선택하여 새 하위 데이터 세트를 게시하고 데이터 시각화를 시작합니다.

# 다른 사람이 데이터 세트에서 새 데이터 세트를 만들지 못하도록 제한하기
<a name="restrict-create-dataset"></a>

Amazon Quick에서 데이터 세트를 생성할 때 다른 사용자가 이를 다른 데이터 세트의 소스로 사용하지 못하도록 할 수 있습니다. 다른 사람이 이 데이터를 사용하여 데이터세트를 생성할 수 있는지 여부를 지정할 수 있습니다. 또는 직접 쿼리 데이터 세트 또는 SPICE 데이터 세트와 같이 다른 사람이 내 데이터 세트에서 만들 수 있거나 만들 수 없는 데이터 세트의 유형을 지정할 수 있습니다.

다음 절차를 사용하여 다른 사람이 데이터 세트에서 새 데이터 세트를 만들지 못하도록 제한하는 방법을 알아보세요.

**다른 사람이 데이터 세트에서 새 데이터 세트를 만드는 것을 제한하기**

1. 빠른 시작 페이지의 왼쪽 창에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 새 데이터 세트 생성을 제한할 데이터 세트를 선택합니다.

1. 해당 데이터 세트에 대해 열리는 페이지에서 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 준비 페이지에서 오른쪽 상단의 **관리**를 선택한 다음 **속성**을 선택합니다.

1. 표시되는 **데이터 세트 속성** 창에서 다음 옵션 중 하나를 선택합니다.
   + 다른 사용자가 이 데이터 세트로 새 데이터 세트를 만들지 못하도록 제한하려면 **이 데이터 세트에서 새 데이터 세트를 만들 수 있도록 허용**을 끄세요.

     새 데이터 세트를 만들 수 있는 경우 토글이 파란색으로 표시됩니다. 새 데이터 세트를 만들 수 없는 경우 회색으로 표시됩니다.
   + 다른 사람이 직접 쿼리 데이터 세트를 만들지 못하도록 제한하려면 **직접 쿼리 허용**을 선택 해제하세요.
   + 다른 사람이 데이터 세트 SPICE 사본을 만들지 못하도록 제한하려면 **SPICE 사본 허용**을 선택 해제하세요.

     SPICE 데이터 세트에 관한 자세한 내용은 [SPICE로 데이터 가져오기](spice.md)을(를) 참조하십시오.

1. 창을 닫습니다.

# 데이터 세트 편집
<a name="edit-a-data-set"></a>

기존 데이터 세트를 편집하여 데이터 준비를 수행할 수 있습니다. Quick Sight 데이터 준비 기능에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick Sight에서 데이터 준비](preparing-data.md).

**데이터 세트** 페이지 또는 분석 페이지에서 편집할 데이터 세트를 열 수 있습니다. 두 위치 중 한 곳에서 데이터 세트를 편집하면 해당 데이터 세트를 사용하는 모든 분석에서도 수정됩니다.

## 데이터세트를 편집할 때 고려해야 할 사항
<a name="change-a-data-set"></a>

두 가지 상황에서 데이터 세트 변경으로 문제가 발생할 수 있습니다. 하나는 데이터 세트를 의도적으로 편집하는 경우입니다. 다른 하나는 데이터 소스가 너무 많이 변경되어 이를 기반으로 하는 분석에 영향을 주는 경우입니다.

**중요**  
프로덕션을 사용 중인 분석이 계속 올바르게 작동하려면 보호되어야 합니다.

데이터 변경을 처리해야 하는 경우 다음 내용을 숙지하십시오.
+ 데이터 소스, 데이터 세트, 이를 기반으로 하는 시각적 객체를 문서화합니다. 문서에는 스크린샷, 사용한 필드, 필드 모음의 배치, 필터, 정렬, 계산, 색상, 형식 등이 포함되어야 합니다. 시각적 객체를 다시 생성해야 하는 모든 것을 기록합니다. 데이터 세트 관리 옵션에서 데이터 세트를 사용하는 Quick Sight 리소스를 추적할 수도 있습니다. 자세한 내용은 [데이터 세트를 사용하는 대시보드 및 분석 추적](track-analytics-that-use-dataset.md) 단원을 참조하십시오.
+ 데이터 세트를 편집할 때, 기존 시각적 객체를 손상시키지 않도록 변경하십시오. 예를 들어, 시각적 객체에서 사용 중인 열을 제거하지 마십시오. 특정 열을 제거해야만 한다면, 그 자리를 대신할 열을 계산해 만듭니다. 대체 열의 이름과 데이터 형식은 원본과 동일해야 합니다.
+ 원본 데이터베이스에서 데이터 소스이나 데이터 세트가 변경된 경우, 앞서 설명한 대로 변경 내용에 맞게 시각적 객체를 수정해야 합니다. 또는 원본 데이터베이스를 수정할 수도 있습니다. 예를 들어 원본 테이블(문서)의 보기를 만들 수 있습니다. 이 경우, 테이블이 변경되면 열(속성)을 포함하거나 제외하도록 보기를 조정하고, 데이터 형식을 변경하고, Null 값을 채우는 작업 등을 수행할 수 있습니다. 또는 데이터 세트가 느린 SQL 쿼리를 기반으로 하는 경우, 쿼리 결과를 보관할 테이블을 만들 수 있습니다.

  데이터의 소스를 충분히 조정할 수 없는 경우 분석 문서를 기반으로 한 시각적 객체를 다시 생성합니다.
+ 데이터 소스에 더 이상 액세스할 수 없는 경우 소스를 기반으로 한 분석은 비게 됩니다. 이전에 만든 시각적 객체는 계속 존재하지만, 표시할 데이터가 있을 때까지는 표시되지 않습니다. 관리자가 권한을 변경한 경우 이러한 결과가 발생할 수 있습니다.
+ 시각적 객체가 기반으로 하는 데이터 세트를 제거하는 경우 문서에서 이를 다시 생성해야 할 수 있습니다. 시각적 객체를 편집하고, 함께 사용할 새 데이터 세트를 선택할 수 있습니다. 이전 파일을 대체할 새 파일을 지속적으로 생성해야 하는 경우 지속적으로 사용 가능한 위치에 데이터를 저장합니다. 예를 들어 Amazon S3에 .csv 파일을 저장하고 시각적 객체에 사용할 S3 데이터 세트를 생성할 수 있습니다. S3에 저장된 파일 액세스에 대한 자세한 내용은 [Amazon S3 파일을 사용하여 데이터 세트 생성](create-a-data-set-s3.md) 단원을 참조하십시오.

  또는 데이터를 테이블로 가져오고 쿼리를 시각적 객체의 기반으로 삼을 수 있습니다. 이러한 방법으로 데이터 구조에 포함된 데이터가 변경되더라도 데이터 구조는 변경되지 않습니다.
+ 데이터 관리를 중앙 집중화하려면 다른 사람들이 자체 데이터 세트를 만드는 데 사용할 수 있는 범용 다목적 데이터 세트를 만드는 것을 고려해 보십시오. 자세한 내용은 [Amazon Quick에서 기존 데이터 세트를 사용하여 데이터 세트 생성](create-a-dataset-existing-dataset.md) 단원을 참조하십시오.

## 데이터 세트 페이지에서 데이터 세트 편집
<a name="edit-a-data-set-data"></a>

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. 열리는 **데이터** 페이지에서 편집하려는 데이터 세트를 선택한 다음 오른쪽 상단의 **데이터 세트 편집**을 선택합니다.

   데이터 준비 페이지가 열립니다. 데이터 세트에 적용할 수 있는 편집 유형에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 준비](preparing-data.md)을(를) 참조하십시오.

## 분석에서 데이터 세트 편집
<a name="edit-a-data-set-analysis"></a>

분석 페이지에서 데이터 세트를 편집하려면 다음 절차에 따르십시오.

**분석 페이지에서 데이터 세트 편집하기**

1. 분석에서 **필드 목록** 창 맨 위의 연필 모양 편집 아이콘을 선택합니다.

1. 표시되는 **이 분석의 데이터 세트** 페이지에서 편집하려는 데이터 세트의 오른쪽에 있는 세 개의 점을 선택한 다음 **편집**을 선택합니다.

   데이터 세트는 데이터 준비 페이지에서 열립니다. 데이터 세트를 편집할 수 있는 유형에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 준비](preparing-data.md)을(를) 참조하십시오.

# 데이터 세트를 이전에 게시된 버전으로 되돌리기
<a name="dataset-versioning"></a>

Amazon Quick Sight에서 데이터 세트에 대한 변경 사항을 저장하고 게시하면 새 버전의 데이터 세트가 생성됩니다. 언제든지 해당 데이터 세트의 이전에 게시된 모든 버전의 목록을 볼 수 있습니다. 또한 해당 기록에서 특정 버전을 미리 보거나 필요한 경우 데이터 세트를 이전 버전으로 되돌릴 수도 있습니다.

데이터 세트 버전 관리에는 다음과 같은 제한이 적용됩니다.
+ 게시 기록에는 데이터 세트의 최신 1,000개 버전만 표시되며 관리할 수 있습니다.
+ 게시된 버전이 1,000개를 초과하면 가장 오래된 버전이 게시 기록에서 자동으로 제거되며 데이터 세트를 더 이상 해당 버전으로 되돌릴 수 없습니다.

데이터 세트를 이전에 게시된 버전으로 되돌리려면 다음 절차를 따르세요.

**데이터 세트를 이전에 게시된 버전으로 되돌리기**

1. 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **데이터** 페이지에서 데이터 세트를 선택한 다음 오른쪽 상단의 **데이터 세트 편집**을 선택합니다.

   데이터 세트 편집에 대한 자세한 내용은 [데이터 세트 편집](edit-a-data-set.md)을(를) 참조하십시오.

1. 표시되는 데이터 세트 준비 페이지에서 오른쪽 상단의 파란색 도구 모음에서 **관리** 아이콘을 선택한 다음 **게시 기록**을 선택합니다.

   이전에 게시된 버전 목록이 오른쪽에 표시됩니다.

1. **게시 기록** 창에서 원하는 버전을 찾은 다음 **되돌리기**를 선택합니다.

   되돌리기 전에 버전을 미리 보려면 **미리 보기**를 선택합니다.

   데이터 세트를 되돌리고 확인 메시지가 나타납니다. **게시 기록** 창도 업데이트되어 데이터 세트의 활성 버전을 표시합니다.

## 버전 되돌리기 문제 해결
<a name="dataset-versioning-troubleshooting"></a>

다음과 같은 이유로 데이터 세트를 특정 버전으로 되돌릴 수 없는 경우가 있습니다.
+ 데이터 세트에는 삭제된 데이터 소스가 하나 이상 사용됩니다.

  이 오류가 발생하는 경우 데이터 세트를 이전 버전으로 되돌릴 수 없습니다.
+ 되돌리면 계산된 필드가 유효하지 않게 됩니다.

  이 오류가 발생하는 경우 계산된 필드를 편집하거나 제거한 다음 데이터 세트를 저장할 수 있습니다. 이렇게 하면 새로운 버전의 데이터 세트가 생성됩니다.
+ 데이터 소스에서 하나 이상의 열이 누락되었습니다.

  이 오류가 발생하면 Quick Sight는 버전 간의 차이를 조정하기 위해 미리 보기에 데이터 소스의 최신 스키마를 표시합니다. 스키마 미리 보기에 표시된 계산 필드, 필드 이름, 필드 유형 및 필터 변경 사항은 되돌리려는 버전의 것입니다. 이 조정된 스키마를 데이터 세트의 새 버전으로 저장할 수 있습니다. 또는 게시 기록의 최상위(최신) 버전에서 **미리보기**를 선택하여 활성(최신) 버전으로 돌아갈 수 있습니다.

# 데이터 세트 복제
<a name="duplicate-a-data-set"></a>

기존 데이터 세트를 복사해 새 이름으로 사본을 저장할 수 있습니다. 새 데이터 세트는 완전히 별개인 사본입니다.

데이터 세트를 소유하고 있고 데이터 소스에 대한 권한을 가지고 있다는 두 가지 조건이 모두 참이면 **데이터 세트 복제** 옵션을 사용할 수 있습니다.

**데이터 세트 복제하기**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. 복제할 데이터 세트를 선택합니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **데이터 세트 편집** 드롭다운을 선택한 다음 **복제를** 선택합니다.

1. 표시되는 데이터 세트 복제 페이지에서 복제된 데이터 세트에 이름을 지정한 다음 **복제**를 선택합니다.

   복제된 데이터 세트의 세부 정보 페이지가 열립니다. 이 페이지에서 데이터 세트를 편집하고 새로 고침 일정을 설정하는 등의 작업을 수행할 수 있습니다.

# 데이터 세트 공유
<a name="sharing-data-sets"></a>

다른 Quick Sight 사용자 및 그룹에 데이터 세트를 공유하여 데이터 세트에 대한 액세스 권한을 부여할 수 있습니다. 그런 다음 해당 사용자가 데이터 세트에서 분석을 생성할 수 있습니다. 사용자를 공동 소유자로 지정한 경우 사용자가 데이터 세트를 새로 고치거나, 편집하거나, 삭제하거나, 다시 공유할 수도 있습니다.

## 데이터 세트 공유
<a name="share-a-data-set"></a>

데이터 세트에 대한 소유자 권한이 있는 경우, 다음 절차에 따라 공유할 수 있습니다.

**데이터 세트 공유하기**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터** 페이지에서 공유하려는 데이터 세트를 선택합니다.

1. 표시되는 데이터 세트 세부정보 페이지에서 **권한** 탭을 선택한 다음 **사용자 및 그룹 추가**를 선택합니다.

1. 이 데이터 세트를 공유할 사용자 또는 그룹을 입력한 다음 **추가**를 선택합니다. 동일한 Quick 계정에 속한 사용자만 초대할 수 있습니다.

   데이터 세트를 공유할 모든 사람에 대한 정보를 입력할 때까지 이 단계를 반복하십시오.

1. **권한** 열에서 데이터 세트에 대한 권한을 부여하려는 각 사용자 또는 그룹의 역할을 선택합니다.

   사용자가 데이터 세트에서 분석 및 데이터 세트를 생성하도록 허용하려면 **뷰어**를 선택합니다. 사용자가 위의 작업 외에도 데이터 세트를 새로 고치고, 편집하고, 삭제하고, 다시 공유할 수 있도록 하려면 **소유자**를 선택합니다.

   사용자는 데이터 세트 링크가 포함된 이메일을 수신합니다. 그룹은 초대 이메일을 받지 않습니다.

# 데이터 세트가 공유되는 사용자의 권한 보기 및 편집
<a name="view-users-data-set"></a>

데이터 세트에 대한 소유자 권한이 있는 경우, 다음 절차에 따라 데이터 세트에 대한 사용자 액세스 권한을 보거나, 편집하거나, 변경할 수 있습니다.

**소유자 권한이 있는 경우 데이터 세트에 대한 사용자 접근 권한을 보거나 수정하거나 변경합니다**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터** 페이지에서 공유하려는 데이터 세트를 선택합니다.

1. 표시되는 데이터 세트 세부정보 페이지에서 **권한** 탭을 선택합니다.

   데이터 세트에 액세스할 수 있는 모든 사용자 및 그룹의 목록이 표시됩니다.

1. (선택 사항) 사용자 또는 그룹의 권한 역할을 변경하려면 사용자 또는 그룹의 **권한** 열에서 드롭다운 메뉴를 선택합니다. 그런 다음 **뷰어** 또는 **소유자**를 선택합니다.

# 데이터 세트에 대한 액세스 권한 취소
<a name="revoke-access-to-a-data-set"></a>

데이터 세트에 대한 소유자 권한이 있는 경우, 다음 절차에 따라 데이터 세트에 대한 사용자 액세스 권한을 취소할 수 있습니다.

**데이터 세트에 대한 소유자 권한이 있는 경우 데이터 세트에 대한 사용자 접근 권한을 취소하기**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터** 페이지에서 공유하려는 데이터 세트를 선택합니다.

1. 표시되는 데이터 세트 세부정보 페이지에서 **권한** 탭을 선택합니다.

   데이터 세트에 액세스할 수 있는 모든 사용자 및 그룹의 목록이 표시됩니다.

1. 해당 사용자의 **작업** 또는 그룹 열에서 **액세스 복구**를 선택합니다.

# 데이터 세트를 사용하는 대시보드 및 분석 추적
<a name="track-analytics-that-use-dataset"></a>

Quick Sight에서 데이터 세트를 생성할 때 해당 데이터 세트를 사용하는 대시보드 및 분석을 추적할 수 있습니다. 이 접근 방식은 데이터 세트를 변경할 때 어떤 리소스가 영향을 받는지 확인하거나 데이터 세트를 삭제하려는 경우에 유용합니다.

다음 절차를 사용하여 어떤 대시보드와 분석에서 데이터 세트를 사용하는지 확인하세요.

**데이터 세트를 사용하는 리소스를 추적하기**

1. 빠른 시작 페이지의 왼쪽 창에서 **데이터를** 선택합니다.

1. **데이터** 페이지에서 리소스를 추적할 데이터 세트를 선택합니다.

1. 해당 데이터 세트에 대해 열리는 페이지에서 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 준비 페이지에서 오른쪽 상단의 **관리**를 선택한 다음 **사용량**을 선택합니다.

1. 해당 데이터 세트를 사용하는 대시보드와 분석이 표시되는 창에 나열됩니다.

# Amazon Quick에서 데이터 세트 파라미터 사용
<a name="dataset-parameters"></a>

Amazon Quick에서 작성자는 직접 쿼리에서 데이터 세트 파라미터를 사용하여 데이터 세트를 동적으로 사용자 지정하고 재사용 가능한 로직을 데이터 세트에 적용할 수 있습니다. 데이터 세트 파라미터는 데이터세트 수준에서 생성된 파라미터입니다. 이 데이터는 제어, 계산된 필드, 필터, 액션, URL, 제목, 설명을 통해 분석 파라미터에서 사용됩니다. 분석 파라미터에 대한 자세한 내용은 [Amazon Quick의 파라미터](parameters-in-quicksight.md)을(를) 참조하십시오. 다음 목록은 데이터 세트 파라미터로 수행할 수 있는 세 가지 작업을 설명합니다.
+  **직접 쿼리의 사용자 지정 SQL** - 데이터 세트 소유자는 직접 쿼리 데이터세트의 사용자 지정 SQL에 데이터 세트 파라미터를 삽입할 수 있습니다. 이러한 파라미터가 빠른 분석의 필터 컨트롤에 적용되면 사용자는 사용자 지정 데이터를 더 빠르고 효율적으로 필터링할 수 있습니다.
+ **반복 가능한 변수** — 데이터 세트 페이지의 여러 위치에 나타나는 정적 값을 사용자 지정 데이터 세트 파라미터를 사용하여 한 번의 작업으로 수정할 수 있습니다.
+ **계산된 필드를 데이터 세트로 이동** - 빠른 작성자는 분석의 파라미터가 있는 계산된 필드를 복사하여 데이터 세트 수준으로 마이그레이션할 수 있습니다. 이를 통해 분석 수준의 계산된 필드가 실수로 수정되는 것을 방지하고 계산된 필드를 여러 분석에서 공유할 수 있습니다.

경우에 따라 데이터 세트 파라미터를 사용하면 복잡한 사용자 지정 SQL이 필요한 직접 쿼리 데이터 세트에 대한 필터 제어 성능이 향상되고 데이터 세트 수준에서 비즈니스 로직이 단순화됩니다.

**Topics**
+ [데이터세트 파라미터 제한](#dataset-parameters-limitations)
+ [Amazon Quick에서 데이터 세트 파라미터 생성](dataset-parameters-SQL.md)
+ [데이터세트 파라미터를 사용자 지정 SQL에 삽입](dataset-parameters-insert-parameter.md)
+ [데이터세트 파라미터를 계산된 필드에 추가](dataset-parameters-calculated-fields.md)
+ [데이터세트를 필터에 추가](dataset-parameters-dataset-filters.md)
+ [빠른 분석에서 데이터 세트 파라미터 사용](dataset-parameters-analysis.md)
+ [데이터 세트 파라미터의 고급 사용 사례](dataset-parameters-advanced-options.md)

## 데이터세트 파라미터 제한
<a name="dataset-parameters-limitations"></a>

이 섹션에서는 Amazon Quick에서 데이터 세트 파라미터를 사용할 때 발생할 수 있는 알려진 제한 사항을 다룹니다.
+ 대시보드 리더가 이메일 보고서를 예약할 때 선택한 컨트롤이 이메일에 첨부된 보고서에 포함된 데이터 세트 파라미터에 전파되지 않습니다. 그 대신 파라미터의 기본값이 사용됩니다.
+ SPICE에 저장된 데이터 세트의 사용자 지정 SQL에는 데이터 세트 파라미터를 삽입할 수 없습니다.
+ 동적 기본값은 데이터 세트를 사용하는 분석의 분석 페이지에서만 구성할 수 있습니다. 데이터 세트 수준에서는 동적 기본값을 구성할 수 없습니다.
+ 데이터 세트 파라미터에 매핑되는 분석 파라미터의 다중값 컨트롤에서는 **모두 선택** 옵션이 지원되지 않습니다.
+ 데이터 세트 파라미터에는 계단식 제어가 지원되지 않습니다.
+ 데이터 세트가 직접 쿼리를 사용하는 경우 데이터 세트 필터에서만 데이터 세트 파라미터를 사용할 수 있습니다.
+ 사용자 지정 SQL 쿼리에서는 128개의 데이터세트 파라미터만 사용할 수 있습니다.

# Amazon Quick에서 데이터 세트 파라미터 생성
<a name="dataset-parameters-SQL"></a>

다음 절차를 사용하여 데이터 세트 파라미터 사용을 시작하십시오.

**새 파라미터 생성하기**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택하고 변경하려는 데이터 세트 옆에 있는 줄임표(점 3개)를 선택한 다음 **편집**을 선택합니다.

1. 표시되는 **데이터 세트** 페이지에서 왼쪽의 **파라미터**를 선택한 다음 (\$1) 아이콘을 선택하여 새 데이터 세트 파라미터를 생성합니다.

1. 표시되는 **새 파라미터 생성** 팝업의 **이름** 상자에 파라미터 이름을 입력합니다.

1. **데이터 유형** 드롭다운에서 원하는 파라미터 데이터 유형을 선택합니다. `String`, `Integer`, `Number` 및 `Datetime` 데이터 형식은 지원되지 않습니다. 파라미터를 생성한 후에는 이 옵션을 변경할 수 없습니다.

1. **기본값**에는 파라미터에 포함하려는 기본값을 입력합니다.
**참고**  
데이터 세트 파라미터를 분석 파라미터에 매핑할 때 다른 기본값을 선택할 수 있습니다. 이 경우 여기에 구성된 기본값이 새 기본값으로 재정의됩니다.

1. **값**의 경우 파라미터에 포함하려는 값 유형을 선택합니다. **단일 값** 파라미터는 단일 선택 드롭다운, 텍스트 필드 및 목록 컨트롤을 지원합니다. **다중 값** 파라미터는 다중 선택 드롭다운 제어를 지원합니다. 파라미터를 생성한 후에는 이 옵션을 변경할 수 없습니다.

1. 새로운 파라미터 구성을 모두 마쳤으면 **생성**을 선택하여 파라미터를 생성합니다.

# 데이터세트 파라미터를 사용자 지정 SQL에 삽입
<a name="dataset-parameters-insert-parameter"></a>

SQL 문에서 `<<$parameter_name>>`을(를) 참조하여 직접 쿼리 모드에서 데이터 세트의 사용자 지정 SQL에 데이터 세트 파라미터를 삽입할 수 있습니다. 런타임 시 대시보드 사용자는 데이터 세트 파라미터와 연결된 필터 제어 값을 입력할 수 있습니다. 그러면 값이 SQL 쿼리로 전파된 후 대시보드 시각적 객체에서 결과를 확인할 수 있습니다. 파라미터를 사용하여 `where` 조항에 대한 고객 입력을 기반으로 기본 필터를 만들 수 있습니다. `case when` 또는 `if else`절을 추가하여 파라미터 입력에 따라 SQL 쿼리의 로직을 동적으로 변경할 수 있습니다.

예를 들어 최종 사용자의 리전 이름을 기준으로 데이터를 필터링하는 `WHERE`절을 사용자 지정 SQL에 추가한다고 가정해 보겠습니다. 이 경우 `RegionName`(이)라고 하는 다음과 같은 단일 값 파라미터를 생성합니다.

```
SELECT *
FROM transactions
WHERE region = <<$RegionName>>
```

사용자가 파라미터에 여러 값을 제공하도록 할 수도 있습니다.

```
SELECT *
FROM transactions
WHERE region in (<<$RegionNames>>)
```

다음의 좀 더 복잡한 예제에서 데이터 세트 작성자는 대시보드 필터 제어에서 선택할 수 있는 사용자의 이름과 성을 기준으로 두 개의 데이터 세트 파라미터를 두 번 참조합니다.

```
SELECT Region, Country, OrderDate, Sales
FROM transactions
WHERE region=
(Case
WHEN <<$UserFIRSTNAME>> In 
    (select firstname from user where region='region1') 
    and <<$UserLASTNAME>> In 
    (select lastname from user where region='region1') 
    THEN 'region1'
WHEN <<$UserFIRSTNAME>> In 
    (select firstname from user where region='region2') 
    and <<$UserLASTNAME>> In 
    (select lastname from user where region='region2') 
    THEN 'region2'
ELSE 'region3'
END)
```

또한 `SELECT` 절의 파라미터를 사용하여 사용자 입력으로 데이터 세트에 새 열을 만들 수 있습니다.

```
SELECT Region, Country, date, 
    (case 
    WHEN <<$RegionName>>='EU'
    THEN sum(sales) * 0.93   --convert US dollar to euro
    WHEN <<$RegionName>>='CAN'
    THEN sum(sales) * 0.78   --convert US dollar to Canadian Dollar
    ELSE sum(sales) -- US dollar
    END
    ) as "Sales"
FROM transactions
WHERE region = <<$RegionName>>
```

사용자 지정 SQL 쿼리를 만들거나 데이터 세트 파라미터를 추가하기 전에 기존 쿼리를 수정하려면 [SQL을 사용하여 데이터 사용자 지정](adding-a-SQL-query.md)을(를) 참조하십시오.

데이터 세트 파라미터와 함께 사용자 지정 SQL을 적용하면 `<<$parameter_name>>`이(가) 자리 표시자 값으로 사용됩니다. 사용자가 컨트롤에서 파라미터 값 중 하나를 선택하면 Quick은 자리 표시자를 사용자가 대시보드에서 선택한 값으로 바꿉니다.

다음 예제에서 사용자는 데이터를 상태별로 필터링하는 새로운 사용자 지정 SQL 쿼리를 입력합니다.

```
select * from all_flights
where origin_state_abr = <<$State>>
```

파라미터의 기본값이 SQL 쿼리에 적용되고 결과가 **미리 보기 창**에 표시됩니다.

# 데이터세트 파라미터를 계산된 필드에 추가
<a name="dataset-parameters-calculated-fields"></a>

`${parameter_name}` 형식을 사용하여 계산된 필드 표현식에 데이터 세트 파라미터를 추가할 수도 있습니다.

계산을 생성할 때 **파라미터 목록** 아래 파라미터 목록의 기존 파라미터에서 선택할 수 있습니다. 다중 값 파라미터를 포함하는 계산된 필드를 함께 생성할 수 없습니다.

계산된 필드에 대한 자세한 내용은 계산된 [Amazon Quick의 파라미터와 함께 계산된 필드 사용](parameters-calculated-fields.md)을(를) 참조하십시오.

# 데이터세트를 필터에 추가
<a name="dataset-parameters-dataset-filters"></a>

직접 쿼리 모드의 데이터 세트의 경우 데이터 세트 작성자는 사용자 지정 SQL 없이 필터에서 데이터세트 파라미터를 사용할 수 있습니다. 데이터 세트가 SPICE에 있는 경우 데이터 세트 파라미터를 필터에 추가할 수 없습니다.

**데이터 세트 파라미터를 필터에 추가하기**

1. 필터를 생성하려는 데이터 세트의 데이터 세트를 엽니다. 왼쪽에서 **필터**를 선택한 다음 **필터 추가**를 선택합니다.

1. 필터에 적용할 이름을 입력하고 드롭다운에서 필터링할 필드를 선택합니다.

1. 새 필터를 만든 후 **필터** 패널에서 필터로 이동하여 필터 옆의 줄임표(점 3개)를 선택한 다음 **편집**을 선택합니다.

1. **필터 유형**에 대해 **필터 사용자 지정**을 선택합니다.

1. **필터 조건**에서 원하는 조건을 선택합니다.

1. **파라미터 사용** 상자를 선택하고 필터에서 사용할 데이터 세트 파리미터를 선택합니다.

1. 변경을 마치면 **적용**을 선택합니다.

# 빠른 분석에서 데이터 세트 파라미터 사용
<a name="dataset-parameters-analysis"></a>

데이터 세트 파라미터를 생성한 후 분석에 데이터 세트를 추가한 후 데이터 세트 파라미터를 새 분석 파라미터 또는 기존 분석 파라미터에 매핑합니다. 데이터 세트 파라미터를 분석 파라미터에 매핑한 후 필터, 컨트롤 및 기타 분석 파라미터 기능과 함께 사용할 수 있습니다.

파라미터가 속한 데이터 세트를 사용하는 분석의 **파라미터** 패널에서 데이터 세트 파라미터를 관리할 수 있습니다. **파라미터** 창의 **데이터 세트 파라미터** 섹션에서 매핑되지 않은 데이터 세트 파라미터(기본값)만 표시하도록 선택할 수 있습니다. 또는 **보기** 드롭다운에서 **모두**를 선택하여 매핑된 데이터 세트 파라미터와 매핑되지 않은 데이터 세트 파라미터를 모두 표시하도록 선택할 수도 있습니다.

## 새로운 빠른 분석에서 데이터 세트 파라미터 매핑
<a name="dataset-parameters-map-to-analysis"></a>

파라미터가 포함된 데이터 세트에서 새 분석을 생성할 때는 데이터 세트 파라미터를 분석에 매핑해야 사용할 수 있습니다. 파라미터가 포함된 데이터 세트를 분석에 추가할 때도 마찬가지입니다. 분석의 파라미터 창에서 분석의 매핑되지 않은 모든 **파라미터**를 볼 수 있습니다. 또는 분석을 만들거나 데이터 세트를 추가할 때 페이지 오른쪽 상단에 나타나는 알림 메시지에서 **보기**를 선택할 수도 있습니다.

**데이터 세트 파라미터를 분석 파라미터에 매핑하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 분석을 선택합니다.

1. **파라미터** 아이콘을 선택하여 **파라미터** 창을 엽니다.

1. 매핑하려는 데이터 세트 파라미터 옆의 줄임표(점 3개)를 선택하고 **맵 파라미터**를 선택한 다음 데이터 세트 파라미터를 매핑하려는 분석 파라미터를 선택합니다.

   분석에 분석 파라미터가 없는 경우 **파라미터 매핑** 및 **새로 만들기**를 선택하여 생성 시 데이터셋 파라미터에 자동으로 매핑되는 분석 파라미터를 만들 수 있습니다.

   1. (선택 사항) 표시되는 **새 파라미터 생성** 팝업에서 **이름**에 새 분석 파라미터의 이름을 입력합니다.

   1. (선택 사항) **정적 기본값**에서 파라미터에 적용할 정적 기본값을 선택합니다.

   1. (선택 사항) **동적 기본값** 설정을 선택하여 새 파라미터의 동적 기본값을 설정합니다.

   1. **매핑된 데이터 세트 파라미터** 테이블에 새 분석 파라미터에 매핑하려는 데이터 세트 파라미터가 표시됩니다. **데이터 세트 파라미터 추가** 드롭다운을 선택한 다음 매핑하려는 파라미터를 선택하여 이 분석 파라미터에 다른 데이터 세트 파라미터를 추가할 수 있습니다. 제거하려는 데이터 세트 파라미터 옆에 있는 **제거** 버튼을 선택하여 데이터 세트 파라미터를 매핑 해제할 수 있습니다.

   분석 파라미터 생성에 대한 자세한 내용은 [Amazon Quick에서 파라미터 설정](parameters-set-up.md)을(를) 참조하십시오.

데이터 세트 파라미터를 분석 파라미터에 매핑하는 경우 분석 파라미터는 분석에 사용되는 모든 데이터 세트 파라미터를 나타냅니다.

**파라미터 편집** 창에서 데이터세트 파라미터를 분석 파라미터에 매핑하거나 매핑 해제할 수도 있습니다. **파라미터 편집** 창을 열려면 파라미터 창으로 이동하여 변경하려는 분석 **파라미터** 옆의 줄임표(점 3개)를 선택한 다음 **파라미터 편집**을 선택합니다. **데이터 세트 파라미터 추가** 드롭다운을 선택한 다음 매핑하려는 파라미터를 선택하여 이 분석 파라미터에 다른 데이터 세트 파라미터를 추가할 수 있습니다. 제거하려는 데이터 세트 파라미터 옆에 있는 **제거** 버튼을 선택하여 데이터 세트 파라미터를 매핑 해제할 수 있습니다. **모두 제거**를 선택하여 매핑된 데이터 세트 파라미터를 모두 제거할 수도 있습니다. 변경을 마치면 **업데이트**를 선택합니다.

분석 파라미터를 삭제하면 모든 데이터 세트 파라미터가 분석에서 매핑되지 않고 **파라미터** 창의 **매핑되지 않음** 섹션에 나타납니다. 데이터 세트 파라미터를 한 번에 하나의 분석 파라미터에만 매핑할 수 있습니다. 데이터 세트 파라미터를 다른 분석 파라미터에 매핑하려면 데이터 세트 파라미터를 매핑 해제한 다음 새 분석 파라미터에 매핑하세요.

## 매핑된 분석 파라미터에 필터 컨트롤 추가
<a name="dataset-parameters-analysis-filter-control"></a>

데이터 세트 파라미터를 Quick의 분석 파라미터에 매핑한 후 필터, 작업, 계산된 필드, 제목, 설명 및 URLs.

**매핑된 파라미터에 컨트롤 추가하기**

1. 분석 페이지의 **파라미터** 창에서 원하는 매핑된 분석 파라미터 옆의 줄임표(점 3개)를 선택한 다음 **제어 추가**를 선택합니다.

1. 표시되는 **제어 추가** 창에서 원하는 **이름**을 입력하고 제어에 사용할 **스타일**을 선택합니다. 단일 값 컨트롤의 경우,`Dropdown`, `List`, `Text field` 중에서 선택합니다. 다중값 컨트롤의 경우 `Dropdown`을(를) 선택하십시오.

1. **추가**를 선택하여 컨트롤을 생성합니다.

# 데이터 세트 파라미터의 고급 사용 사례
<a name="dataset-parameters-advanced-options"></a>

이 섹션에서는 데이터 세트 파라미터 및 드롭다운 컨트롤을 사용하는 고급 옵션과 사용 사례를 다룹니다. 다음 안내를 사용하여 데이터 세트 파라미터로 동적 드롭다운 값을 만들 수 있습니다.

## 데이터 세트 파라미터와 함께 다중값 컨트롤 사용하기
<a name="dataset-parameters-dropdown"></a>

데이터 세트의 사용자 지정 SQL에 삽입된 데이터 세트 파라미터를 사용하면 데이터 세트 파라미터가 일반적으로 특정 열의 값을 기준으로 데이터를 필터링합니다. 드롭다운 컨트롤을 만들고 파라미터를 값으로 할당하면 파라미터가 필터링한 값만 드롭다운에 표시됩니다. 다음 절차는 데이터 세트 파라미터에 매핑되고 필터링되지 않은 모든 값을 표시하는 컨트롤을 만드는 방법을 보여줍니다.

**드롭다운 콘트롤에 할당된 모든 값을 채우기**

1. SPICE에서 새 단일 열 데이터 세트를 생성하거나 소스 데이터 세트의 모든 고유 값을 포함하는 다이렉트 쿼리를 생성합니다. 예를 들어 원본 데이터 세트가 다음과 같은 사용자 지정 SQL을 사용한다고 가정해 보겠습니다.

   ```
   select * from all_flights
           where origin_state_abr = <<$State>>
   ```

   고유한 원본 상태가 모두 포함된 단일 열 테이블을 만들려면 다음 사용자 지정 SQL을 새 데이터 세트에 적용하십시오.

   ```
   SELECT distinct origin_state_abr FROM all_flights
           order by origin_state_abr asc
   ```

   SQL 표현식은 모든 고유 상태를 알파벳 순서로 반환합니다. 새 데이터 세트에는 데이터 세트 파라미터가 없습니다.

1. 새 데이터 세트의 **이름**을 입력한 다음 데이터 세트를 저장하고 게시합니다. 이 예시에서는 `State Codes`(이)라는 새 데이터 세트를 호출합니다.

1. 원본 데이터 세트가 포함된 분석을 열고 분석에 새 데이터 세트를 추가합니다. 기존 분석에 데이터 세트를 추가하는 방법에 대한 자세한 내용은 [분석에 데이터 세트 추가](adding-a-data-set-to-an-analysis.md)을(를) 참조하십시오.

1. **컨트롤** 창으로 이동하여 편집하려는 드롭다운 컨트롤을 찾습니다. 컨트롤 옆의 줄임표(점 3개)를 선택한 다음 **편집**을 선택합니다.

1. 왼쪽에 나타나는 **포맷 제어**에서 **값** 섹션의 **데이터 세트 필드에 연결**을 선택합니다.

1. 나타나는 **데이터 세트** 드롭다운에서 생성한 새 데이터 세트를 선택합니다. 이 예시에서는 `State Codes` 데이터 세트를 선택합니다.

1. 표시되는 **필드** 드롭다운에서 적절한 필드를 선택합니다. 이 예에서는 `origin_state_abr` 필드가 선택됩니다.

컨트롤을 새 데이터 세트에 연결한 후에는 모든 고유 값이 컨트롤의 드롭다운에 나타납니다. 여기에는 데이터 세트 파라미터로 필터링된 값이 포함됩니다.

## 모두 선택 옵션과 함께 컨트롤 사용
<a name="dataset-parameters-controls-select-all"></a>

기본적으로 하나 이상의 데이터 세트 파라미터를 분석 파라미터에 매핑하고 컨트롤에 추가하면 `Select all` 옵션을 사용할 수 없습니다. 다음 절차는 이전 섹션의 동일한 예제 시나리오를 사용하는 해결 방법을 보여줍니다.

**참고**  
이 안내는 직접 쿼리로 로드할 수 있을 만큼 작은 데이터 세트를 대상으로 합니다. 데이터셋이 크고 `Select All` 옵션을 사용하려는 경우 해당 데이터 세트를 SPICE에 로드하는 것이 좋습니다. 하지만 데이터 세트 파라미터와 함께 `Select All` 옵션을 사용하려는 경우 이 안내를 통해 그 방법을 설명합니다.

먼저 다음과 같은 `States`(이)라는 다중값 파라미터가 포함된 사용자 지정 SQL이 포함된 직접적인 쿼리 데이터 세트가 있다고 가정해 보겠습니다.

```
select * from all_flights
where origin_state_abr in (<<$States>>)
```

**데이터 세트 파라미터를 사용하는 컨트롤에서 모두 선택 옵션을 사용하기**

1. 분석의 **파라미터** 창에서 사용할 데이터 세트 파라미터를 찾은 다음 파라미터 옆의 줄임표(점 3개)에서 **편집**을 선택합니다.

1. 표시되는 **파라미터 편집** 창에서 **정적 다중 기본값** 섹션에 새 기본값을 입력합니다. 이 예에서는 기본값이 ` All States`입니다. 참고로 이 예제에서는 선행 공백 문자를 사용하므로 디폴트 값이 컨트롤의 첫 번째 항목으로 표시됩니다.

1. 파라미터를 업데이트하려면 **업데이트**를 선택합니다.

1. 분석별 분석에서 사용 중인 데이터 세트 파라미터가 포함된 데이터 세트로 이동합니다. 새 정적 다중 기본값에 대한 기본 사용 사례를 포함하도록 데이터 세트의 사용자 지정 SQL을 수정합니다. ` All States` 예제를 사용하면 SQL 표현식이 다음과 같이 나타납니다.

   ```
   select * from public.all_flights
   where
       ' All States' in (<<$States>>) or
       origin_state_abr in (<<$States>>)
   ```

   사용자가 컨트롤에서 ` All States`을(를) 선택하면 새 SQL 표현식은 모든 고유 레코드를 반환합니다. 사용자가 콘트롤에서 다른 값을 선택하면 쿼리는 데이터 세트 파라미터로 필터링된 값을 반환합니다.

### 모두 선택 및 다중값 옵션이 있는 컨트롤 사용
<a name="dataset-parameters-controls-multi-select-all"></a>

이전 `Select all` 절차를 앞에서 설명한 다중값 제어 방법과 결합하여 사용자가 선택할 수 있는 여러 `Select all` 값 외에 값을 포함하는 드롭다운 컨트롤을 만들 수 있습니다. 이 연습에서는 이전 절차를 따랐고, 데이터 세트 파라미터를 분석 파라미터에 매핑하는 방법을 알고 있으며, 분석에서 컨트롤을 만들 수 있다고 가정합니다. 분석 파라미터 매핑에 대한 자세한 내용은 [새로운 빠른 분석에서 데이터 세트 파라미터 매핑](dataset-parameters-analysis.md#dataset-parameters-map-to-analysis)을(를) 참조하십시오. 데이터 세트 파라미터를 사용하는 분석에서 컨트롤을 만드는 방법에 대한 자세한 내용은 [매핑된 분석 파라미터에 필터 컨트롤 추가](dataset-parameters-analysis.md#dataset-parameters-analysis-filter-control)을(를) 참조하십시오.

**모두 선택 옵션과 매핑된 데이터 세트 파라미터를 사용하여 컨트롤에 여러 값 추가하기**

1. `Select all` 사용자 지정 SQL 식을 사용하여 원본 데이터 세트와 원본 데이터 세트에 있는 필터링된 열의 가능한 모든 값을 포함하는 두 번째 데이터 세트가 있는 분석을 엽니다.

1. 이전에 만든 보조 데이터 세트로 이동하여 필터링된 열의 모든 값을 반환합니다. 이전에 구성한 `Select all` 옵션을 쿼리에 추가하는 사용자 지정 SQL 식을 추가합니다. 다음 예시에서는 데이터셋의 반환된 값 목록 맨 위에 ` All States` 레코드를 추가합니다.

   ```
   (Select ' All States' as origin_state_abr)
       Union All
       (SELECT distinct origin_state_abr FROM all_flights
       order by origin_state_abr asc)
   ```

1. 데이터 세트가 속한 분석으로 돌아가서 사용 중인 데이터 세트 파라미터를 이전 절차의 3단계에서 만든 분석 파라미터에 매핑하세요. 분석 파라미터 및 데이터 파라미터 이름은 같을 수 있습니다. 이 예에서는 `States`(이)라는 분석 파라미터를 호출합니다.

1. 새 필터 컨트롤을 만들거나 기존 필터 컨트롤을 편집하고 **모두 숨기기**를 선택하여 다중값 컨트롤에 나타나는 비활성화된 **모두 선택** 옵션을 숨깁니다.

컨트롤을 만들고 나면 사용자는 동일한 컨트롤을 사용하여 데이터 세트에서 필터링된 열의 모든 값 또는 여러 값을 선택할 수 있습니다.

# Amazon Quick에서 행 수준 보안 사용
<a name="row-level-security"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Amazon Quick의 엔터프라이즈 에디션에서는 데이터 세트에 행 수준 보안(RLS)을 구성하여 데이터 세트에 대한 액세스를 제한할 수 있습니다. 데이터 세트를 공유하기 전이나 이후에 이를 수행할 수 있습니다. RLS와 데이터 세트를 데이터 세트 소유자와 공유해도 여전히 모든 데이터를 볼 수 있습니다. 하지만 독자와 공유하면 독자는 권한 데이터 세트 규칙에 의해 제한된 데이터만 볼 수 있습니다.

또한 Quick의 등록되지 않은 사용자를 위해 애플리케이션에 Amazon Quick 대시보드를 포함할 때 행 수준 보안(RLS)을 사용하여 태그로 데이터를 필터링/제한할 수 있습니다. 태그는 애플리케이션의 세션을 식별하는 사용자 지정 문자열입니다. 태그를 사용하여 데이터 세트에 대한 RLS 제어를 구현할 수 있습니다. 데이터 세트에서 RLS 기반 제한을 구성하여 Quick은 사용자 자격 증명/세션에 연결된 세션 태그를 기반으로 데이터를 필터링합니다.

사용자 이름이나 그룹 기반 규칙, 태그 기반 규칙 또는 둘 다를 사용하여 데이터 세트에 대한 액세스를 제한할 수 있습니다.

Quick에서 프로비저닝(등록)된 사용자 또는 그룹의 데이터를 보호하려면 사용자 기반 규칙을 선택합니다. 이렇게 하려면 데이터에 액세스하는 각 사용자 또는 그룹에 대해 열별로 설정된 규칙이 포함된 권한 데이터 세트를 선택하세요. 규칙에 명시된 사용자 또는 그룹만 데이터에 접근할 수 있습니다.

임베디드 대시보드를 사용하고 Quick에서 프로비저닝되지 않은 사용자(등록되지 않은 사용자)의 데이터를 보호하려는 경우에만 태그 기반 규칙을 선택합니다. 이렇게 하려면 열에 태그를 정의하여 데이터를 보호하세요. 대시보드를 임베딩할 때는 값을 태그에 전달해야 합니다.

**Topics**
+ [사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한](restrict-access-to-a-data-set-using-row-level-security.md)
+ [익명의 사용자를 위해 대시보드를 임베딩할 때 사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한](quicksight-dev-rls-tags.md)

# 사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한
<a name="restrict-access-to-a-data-set-using-row-level-security"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Amazon Quick의 엔터프라이즈 에디션에서는 데이터 세트에 행 수준 보안(RLS)을 구성하여 데이터 세트에 대한 액세스를 제한할 수 있습니다. 데이터 세트를 공유하기 전이나 이후에 이를 수행할 수 있습니다. RLS와 데이터 세트를 데이터 세트 소유자와 공유해도 여전히 모든 데이터를 볼 수 있습니다. 하지만 독자와 공유하면 독자는 권한 데이터 세트 규칙에 의해 제한된 데이터만 볼 수 있습니다. 행 수준 보안을 추가하여 액세스를 추가로 제어할 수 있습니다.

**참고**  
SPICE 데이터 세트를 행 수준 보안에 적용할 경우, 데이터 세트의 각 필드에 최대 2,047개의 유니코드 문자를 포함할 수 있습니다. 이 할당량을 초과하는 필드는 수집 중에 잘립니다. SPICE 데이터 할당량에 대한 자세한 내용은 [가져온 데이터에 대한 SPICE 할당량](data-source-limits.md#spice-limits) 섹션을 참조하세요.

이렇게 하려면 사용자 또는 그룹 식별을 위한 하나의 열이 있는 쿼리 또는 파일을 생성합니다. `UserName` 및 `GroupName`를 사용하거나 또는 `UserARN` 및를 사용할 수 있습니다`GroupARN`. 이를 해당 사용자 또는 그룹에 대해 규칙을 추가하는 것으로 간주할 수 있습니다. 그 다음에는 액세스 권한을 부여하거나 제한하고자 하는 각 필드의 쿼리 또는 파일에 열을 추가할 수 있습니다. 추가한 각 사용자 또는 그룹 이름에서 각 필드의 값을 추가합니다. NULL(값이 없음)을 사용하면 모든 값을 나타낼 수 있습니다. 데이터 세트 규칙의 예시를 보려면 [행 수준 보안에 대한 데이터 세트 규칙 생성](#create-data-set-rules-for-row-level-security) 단원을 참조하세요.

데이터 세트 규칙을 적용하려면, 데이터 세트에 대한 권한 데이터 세트로서의 규칙을 추가합니다. 다음 사항에 유의하세요.
+ 권한 데이터 세트에는 중복 값이 포함되어서는 안 됩니다. 규칙을 적용하는 방법을 평가할 때 중복 값이 무시됩니다.
+ 지정된 각 사용자 또는 그룹은 데이터 세트 규칙의 필드 값과 일치하는 행만 볼 수 있습니다.
+ 사용자 또는 그룹에게 규칙을 추가하고 기타 모든 열에는 값이 없는 상태(NULL)로 두면 사용자 또는 그룹에게 모든 데이터에 대한 액세스 권한을 허용하는 것입니다.
+ 사용자 또는 그룹에게 규칙을 추가하지 않는 경우 그 사용자 또는 그룹은 데이터를 전혀 볼 수 없습니다.
+ 사용자별로 적용되는 전체 규칙 레코드 세트는 999개를 초과하지 않아야 합니다. 이 한도는 사용자 이름에 직접 할당된 총 규칙 수와 그룹 이름을 통해 사용자에게 할당된 모든 규칙에 적용됩니다.
+ 필드에 쉼표(,)가 포함된 경우 Amazon Quick은 쉼표로 구분된 각 단어를 필터의 개별 값으로 취급합니다. 예를 들어 `('AWS', 'INC')`에서 `AWS,INC`은(는) `AWS` 및 `INC`(이)라는 두 개의 문자열로 간주됩니다. `AWS,INC`을 필터링하려면 권한 데이터 세트에서 문자열을 큰따옴표로 묶으세요.

  제한된 데이터 세트가 SPICE 데이터 세트인 경우, 사용자당 적용되는 필터 값 수는 각 제한 필드에 192,000개를 초과할 수 없습니다. 이는 사용자 이름에 직접 할당된 총 필터 값 수와, 그룹 이름을 통해 사용자에게 할당된 모든 필터 값에 적용됩니다.

  제한된 데이터 세트가 다이렉트 쿼리 데이터 세트인 경우, 사용자당 적용되는 필터 값 수는 데이터 소스에 따라 다릅니다.

  필터 값 제한을 초과하면 시각적 렌더링이 실패할 수 있습니다. 필터 목록을 줄일 수 있도록 제한된 데이터 세트에 열을 추가하여 원래 제한 열을 기준으로 행을 그룹으로 나누는 것이 좋습니다.

Amazon Quick은 공백을 리터럴 값으로 취급합니다. 제한하려는 필드에 공백이 있는 경우, 데이터 세트 규칙이 해당 행에 적용됩니다. Amazon Quick은 NULLs과 공백(빈 문자열 "")을 모두 "값 없음"으로 취급합니다. NULL은 빈 필드 값입니다.

데이터 세트의 데이터 소스에 따라 권한 테이블에 액세스할 직접 쿼리를 구성할 수 있습니다. 안에 공백이 있는 용어는 따옴표로 구분해서는 안 됩니다. 직접 쿼리를 사용하는 경우 원래 데이터 원본에서 쿼리를 손쉽게 변경할 수 있습니다.

또는 텍스트 파일 또는 스프레드시트에서 데이터 세트 규칙을 업로드할 수 있습니다. CSV(쉼표로 분리된 값) 파일을 사용하는 경우에는 해당 줄에 공백이 포함되어서는 안 됩니다. 안에 공백이 있는 용어는 따옴표로 구분해야 합니다. 파일 기반의 데이터 세트 규칙을 사용하는 경우 데이터 세트의 권한 설정에 있는 기존 규칙을 덮어쓰는 방식으로 변경 사항을 적용해야 합니다.

제한된 데이터 세트는 **데이터** 화면에서 **RESTRICTED**라는 단어로 표시됩니다.

RLS 규칙이 활성화된 상위 데이터 세트에서 만든 하위 데이터 세트에는 상위 데이터 세트와 동일한 RLS 규칙이 유지됩니다. 하위 데이터 세트에 RLS 규칙을 더 추가할 수 있지만, 데이터 세트가 상위 데이터 세트에서 상속하는 RLS 규칙을 제거할 수는 없습니다.

RLS 규칙이 활성화된 상위 데이터 세트에서 만든 하위 데이터 세트는 직접 쿼리로만 만들 수 있습니다. 상위 데이터 세트의 RLS 규칙을 상속하는 하위 데이터 세트는 SPICE에서 지원되지 않습니다.

행 수준 보안은 텍스트 데이터를 포함하는 필드에 대해서만 작동합니다(string, char, varchar 등). 날짜 또는 숫자 필드에 대해서는 작동하지 않습니다. 행 수준 보안(RLS)을 사용하는 데이터 세트에는 예외 항목 탐지가 지원되지 않습니다.

## 행 수준 보안에 대한 데이터 세트 규칙 생성
<a name="create-data-set-rules-for-row-level-security"></a>

다음 절차를 사용하여 권한 파일 또는 쿼리를 생성하여 데이터 세트 규칙으로 사용합니다.

**권한 파일 또는 쿼리를 생성하여 데이터 세트 규칙으로 사용**

1. 행 수준 보안을 위해 데이터 세트 규칙(권한)을 포함한 파일 또는 쿼리를 생성합니다.

   필드의 순서는 중요하지 않습니다. 하지만 모든 필드는 대소문자를 구분합니다. 필드 이름 및 값과 정확히 일치해야 합니다.

   구조는 다음 중 하나와 같은 모습이어야 합니다. 사용자 또는 그룹을 식별하는 하나 이상의 필드가 있어야 합니다. 둘 다 포함할 수 있지만 한 개만 필요하며 한 번에 하나만 사용됩니다. 사용자 또는 그룹에 사용하는 필드에는 사용자가 선택한 이름을 지정할 수 있습니다.
**참고**  
그룹을 지정하는 경우 Amazon Quick 그룹 또는 Microsoft AD 그룹만 사용합니다.

   다음 예는 그룹이 있는 표를 보여줍니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   다음 예는 사용자 이름이 있는 테이블을 보여줍니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   다음 예는 사용자 및 그룹 Amazon 리소스 이름(ARN)이 포함된 표를 보여줍니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   .csv 파일을 사용하는 것을 사용하는 경우 구조는 다음 중 하나와 같은 모습이어야 합니다.

   ```
   UserName,SalesRegion,Segment
   AlejandroRosalez,EMEA,"Enterprise,SMB,Startup"
   MarthaRivera,US,Enterprise
   NikhilJayashankars,US,SMB
   PauloSantos,US,Startup
   SaanviSarkar,APAC,"SMB,Startup"
   sales-tps@example.com,"",""
   ZhangWei,APAC-Sales,"Enterprise,Startup"
   ```

   ```
   GroupName,SalesRegion,Segment
   EMEA-Sales,EMEA,"Enterprise,SMB,Startup"
   US-Sales,US,Enterprise
   US-Sales,US,SMB
   US-Sales,US,Startup
   APAC-Sales,APAC,"SMB,Startup"
   Corporate-Reporting,"",""
   APAC-Sales,APAC,"Enterprise,Startup"
   ```

   ```
   UserARN,GroupARN,SalesRegion
   arn:aws:quicksight:us-east-1:123456789012:user/Bob,arn:aws:quicksight:us-east-1:123456789012:group/group-1,APAC
   arn:aws:quicksight:us-east-1:123456789012:user/Sam,arn:aws:quicksight:us-east-1:123456789012:group/group-2,US
   ```

   다음은 SQL의 예입니다.

   ```
   /* for users*/
   	select User as UserName, SalesRegion, Segment
   	from tps-permissions;
   
   	/* for groups*/
   	select Group as GroupName, SalesRegion, Segment
   	from tps-permissions;
   ```

1. 데이터 세트 규칙에 대한 데이터 세트 생성 쉽게 찾을 수 있도록 **Permissions-Sales-Pipeline**과 같은 의미 있는 이름을 지정하십시오.

## 행 수준 보안에 대한 규칙 데이터세트 플래그 지정
<a name="rules-dataset-flagging-for-row-level-security"></a>

다음 절차를 사용하여 데이터세트를 규칙 데이터세트로 적절하게 플래그 지정합니다.

규칙 데이터세트는 행 수준 보안에 사용되는 권한 데이터세트를 일반 데이터세트와 구분하는 플래그입니다. 2025년 3월 31일 이전에 권한 데이터세트가 일반 데이터세트에 적용된 경우 **데이터세트** 랜딩 페이지에 규칙 데이터세트 플래그가 표시됩니다.

2025년 3월 31일까지 권한 데이터세트가 일반 데이터세트에 적용되지 않은 경우 일반 데이터세트로 분류됩니다. 규칙 데이터세트로 사용하려면 권한 데이터세트를 복제하고 데이터세트를 생성할 때 콘솔에서 규칙 데이터세트로 플래그를 지정합니다. 데이터 세트 편집을 선택하고 옵션에서 DUPLICATE AS RULES DATASET을 선택합니다.

규칙 데이터세트로 복제하려면 원래 데이터세트에서 다음 사항을 확인합니다. 1. 필수 사용자 메타데이터 또는 그룹 메타데이터 열을 포함합니다. 2. 문자열 유형 열만 포함합니다.

콘솔에서 새 규칙 데이터세트를 생성하려면 새 데이터세트 드롭다운에서 새 규칙 데이터세트를 선택합니다. 프로그래밍 방식으로 규칙 데이터세트를 생성할 때 [UseAs: RLS\$1RULES](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSet.html#API_CreateDataSet_RequestSyntax) 파라미터를 추가합니다. 규칙 데이터세트를 생성하는 데만 사용되는 선택적 파라미터입니다. 콘솔을 통해 또는 프로그래밍 방식으로 데이터세트를 생성하고 규칙 데이터세트 또는 일반 데이터세트로 플래그를 지정한 후에는 변경할 수 없습니다.

데이터 세트가 규칙 데이터 세트로 플래그가 지정되면 Amazon Quick은 엄격한 SPICE 수집 규칙을 적용합니다. 데이터 무결성을 보장하기 위해 길이 제한을 초과하는 잘못된 행 또는 셀이 있는 경우 규칙 데이터세트에 대한 SPICE 수집이 실패합니다. 성공적인 수집을 다시 시작하려면 수집 문제를 해결해야 합니다. 엄격한 수집 규칙은 규칙 데이터세트에만 적용됩니다. 행을 건너뛰거나 문자열을 잘라내는 경우 일반 데이터세트에서 데이터세트 수집은 실패하지 않습니다.

## 행 수준 보안 적용
<a name="apply-row-level-security"></a>

파일 또는 쿼리를 권한에 대한 규칙이 포함된 데이터 세트로 사용하여 행 수준 보안(RLS)을 적용하려면 다음 절차를 따르십시오.

**파일 또는 쿼리를 사용하여 행 수준 보안 적용**

1. 새로운 데이터 세트로 규칙을 추가했음을 확인합니다. 추가했는데 데이터 세트 목록 아래에 보이지 않는 경우, 화면을 새로 고침하세요.

1. **데이터** 페이지에서 데이터 세트를 선택합니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **행 수준 보안**을 위해 **설정**을 선택합니다.

1. 열리는 **행 수준 보안 설정** 페이지에서 **사용자 기반 규칙**을 선택합니다.

1. 보이는 데이터 세트 목록에서 권한 데이터 세트를 선택합니다.

   권한 데이터 세트가 화면에 표시되지 않는 경우 데이터 세트로 돌아가서 페이지를 새로 고침하세요.

1. **권한 정책**에서 **데이터 세트에 대한 액세스 허용**을 선택합니다. 각 데이터 세트에는 하나의 활성 권한 데이터 세트만이 있습니다. 보조 권한 데이터 세트를 추가하려는 경우 기존 세트를 덮어씁니다.
**중요**  
일부 제한은 열 수준 보안으로 작업할 때 NULL 및 빈 문자열 값에 적용됩니다.  
제약 필드에 있는 데이터 세트에 NULL 값 또는 빈 문자열("")이 있는 경우 제한이 적용될 때 해당 행은 무시됩니다.
권한 데이터 세트 내부에서 NULL 값 및 빈 문자열은 동일하게 취급됩니다. 자세한 정보는 다음 표를 참조하세요.
민감한 정보가 실수로 노출되는 것을 방지하기 위해 Amazon Quick은 모든 사용자에게 액세스 권한을 부여하는 빈 RLS 규칙을 건너뜁니다. 행의 모든 열에 값이 없는 경우 빈 RLS 규칙이 발생합니다. 빠른 RLS는 NULL, 빈 문자열("") 또는 빈 쉼표로 구분된 문자열(예: ",,")을 값으로 취급하지 않습니다.  
빈 규칙을 건너뛰어도, 비어 있지 않은 다른 RLS 규칙이 계속 적용됩니다.
권한 데이터 세트에 빈 규칙만 있고 모든 규칙을 건너뛰면, 아무도 이 권한 데이터 세트로 제한된 데이터에 접근할 수 없습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   데이터 세트 규칙에 의해 데이터 세트가 제한되지 않는 경우를 제외하고 대시보드를 공유하는 모든 사용자가 안에 있는 데이터를 볼 수 있습니다.

1. 변경 사항을 저장하려면 **데이터 세트 적용**을 선택합니다. 그런 다음 **데이터 세트 규칙을 저장할까요?** 페이지에서 **적용 및 활성화**를 선택합니다. 권한 변경 사항은 기존 사용자에 대해 즉시 적용됩니다.

1. (선택 사항) 권한을 제거하려면 데이터 세트에서 데이터 세트 규칙을 제거합니다.

   데이터 세트 규칙을 확실히 제거해야 합니다. 그런 다음 권한 데이터 세트를 선택하고 **데이터 세트 제거**를 선택합니다.

   권한을 덮어쓰려면 새 권한 데이터 세트를 선택하고 이를 적용합니다. 같은 데이터 세트 이름을 재사용할 수 있습니다. 하지만 이러한 권한을 활성화하려면 권한 화면에서 새 **권한**을 적용해야 합니다. SQL 쿼리는 동적으로 업데이트되므로 Amazon Quick 외부에서 관리할 수 있습니다. 쿼리의 경우 직접 쿼리 캐시가 자동으로 새로 고쳐지면 권한이 업데이트됩니다.

대상 데이터 세트에서 파일 기반 권한 데이터 세트를 제거하기 전에 이를 삭제한 경우, 제한된 사용자는 데이터 세트에 액세스할 수 없습니다. 데이터 세트가 이 상태인 경우 **RESTRICTED**으로 그대로 표시됩니다. 데이터 세트에 대한 **권한**을 볼 때 선택한 데이터 세트 규칙이 없음을 확인할 수 있습니다.

이를 수정하려면 새 데이터 세트 규칙을 지정합니다. 동일한 이름을 가진 데이터 세트를 생성하는 걸로는 수정할 수 없습니다. **권한** 화면에서 새 권한 데이터 세트를 선택해야 합니다. 이 제한 사항은 직접 SQL 쿼리에 적용되지 않습니다.

# 익명의 사용자를 위해 대시보드를 임베딩할 때 사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한
<a name="quicksight-dev-rls-tags"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick Administrators 및 Amazon Quick 개발자  | 

Quick에서 프로비저닝(등록)되지 않은 사용자를 위해 Amazon Quick 대시보드를 애플리케이션에 포함할 때 행 수준 보안(RLS)을 사용하여 태그를 사용하여 데이터를 필터링/제한할 수 있습니다. 태그는 애플리케이션의 세션을 식별하는 사용자 지정 문자열입니다. 태그를 사용하여 데이터 세트에 대한 RLS 제어를 구현할 수 있습니다. 데이터 세트에서 RLS 기반 제한을 구성하여 Quick은 사용자 자격 증명/세션에 연결된 세션 태그를 기반으로 데이터를 필터링합니다.

예를 들어, 여러 소매업체를 위한 고객 대면 애플리케이션을 보유한 물류 회사를 예로 들어 보겠습니다. 이러한 소매업체의 수천 명의 사용자가 애플리케이션에 액세스하여 창고에서 주문이 배송되는 방식과 관련된 지표를 확인합니다.

Quick에서 수천 명의 사용자를 관리하고 싶지 않으므로 익명 임베딩을 사용하여 인증된 사용자와 승인된 사용자가 볼 수 있는 선택한 대시보드를 애플리케이션에 포함합니다. 하지만 소매업체에서는 자사 비즈니스용 데이터만 볼 수 있고 다른 업체는 볼 수 없도록 해야 합니다. 태그가 있는 RLS를 사용하여 고객이 자신과 관련된 데이터만 보게 할 수 있습니다.

이렇게 하려면 다음 단계를 완료합니다.

1. 데이터세트에 RLS 태그를 추가하세요.

1. `GenerateEmbedUrlForAnonymousUser` API 작업을 사용하여 런타임에 해당 태그에 값을 할당합니다.

   `GenerateEmbedUrlForAnonymousUser` API 작업을 사용하여 익명 사용자를 위한 대시보드를 내장하는 방법에 대한 자세한 내용은 [익명(미등록) 사용자를 위한 Amazon Quick Sight 대시보드 임베딩](embedded-analytics-dashboards-for-everyone.md) 단원을 참조하세요.

RLS를 태그와 함께 사용하려면, 먼저 다음 사항에 유의하세요.
+ 태그와 함께 RLS를 사용하는 것은 현재 익명 임베딩, 특히 `GenerateEmbedUrlForAnonymousUser` API 작업을 사용하는 임베디드 대시보드에만 지원됩니다.
+ `GenerateEmbedURLForRegisteredUser` API 작업 또는 이전`GetDashboardEmbedUrl` API 작업을 사용하는 임베디드 대시보드에서는 태그가 포함된 RLS를 사용할 수 없습니다.
+ RLS 태그는 AWS Identity and Access Management (IAM) 또는 빠른 자격 증명 유형에서 지원되지 않습니다.
+ SPICE 데이터 세트를 행 수준 보안에 적용할 경우, 데이터 세트의 각 필드에 최대 2,047개의 유니코드 문자를 포함할 수 있습니다. 이 할당량을 초과하는 필드는 수집 중에 잘립니다. SPICE 데이터 할당량에 대한 자세한 내용은 [가져온 데이터에 대한 SPICE 할당량](data-source-limits.md#spice-limits) 섹션을 참조하세요.

## 1단계: 데이터 세트에 RLS 태그 추가
<a name="quicksight-dev-rls-tags-add"></a>

Amazon Quick의 데이터 세트에 태그 기반 규칙을 추가할 수 있습니다. `CreateDataSet` 또는 `UpdateDataSet` API 작업을 호출하여 이러한 방식으로 태그 기반 규칙을 추가할 수도 있습니다. 자세한 내용은 [API를 사용하여 데이터 세트에 RLS 태그 추가](#quicksight-dev-rls-tags-add-api) 단원을 참조하십시오.

다음 절차에 따라 Quick의 데이터 세트에 RLS 태그를 추가합니다.

**데이터 세트에 RLS 태그 추가**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. RLS를 추가할 데이터 세트를 선택합니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **행 수준 보안**을 위해 **설정**을 선택합니다.

1. 열리는 **행 수준 보안 설정** 페이지에서 **태그 기반 규칙**을 선택합니다.

1. **열**에서 태그 규칙을 추가할 열을 선택합니다.

   예를 들어, 물류 회사의 경우 `retailer_id` 열이 사용됩니다.

   문자열 데이터 유형의 열만 나열됩니다.

1. **태그**에는 태그 키를 입력합니다. 원하는 태그 이름을 입력할 수 있습니다.

   예를 들어, 물류 회사의 경우 태그 키 `tag_retailer_id`이 사용됩니다. 이렇게 하면 애플리케이션에 액세스하는 소매업체에 따라 행 수준 보안이 설정됩니다.

1. (선택 사항) **구분 기호**의 경우, 목록에서 구분 기호를 선택하거나 직접 입력합니다.

   태그에 둘 이상의 값을 할당할 때 구분 기호를 사용하여 텍스트 문자열을 구분할 수 있습니다. 구분 기호 값은 최대 10자까지 입력할 수 있습니다.

1. (선택 사항) **모두 일치**의 경우, **\$1**를 선택하거나 직접 문자를 입력합니다.

   이 옵션은 데이터 세트에서 해당 열의 모든 값을 기준으로 필터링하려는 경우 사용할 모든 문자일 수 있습니다. 값을 하나씩 나열하는 대신 문자를 사용할 수 있습니다. 이 값을 지정하면 최소 1자 또는 최대 256자일 수 있습니다.

1. **추가**를 선택합니다.

   태그 규칙이 데이터 세트에 추가되고 하단에 나열되지만, 아직 적용되지는 않았습니다. 데이터 세트에 다른 태그 규칙을 추가하려면, 5\$19단계를 반복하세요. 태그 규칙을 수정하려면, 규칙 뒤에 있는 연필 아이콘을 선택하세요. 태그 규칙을 수정하려면, 규칙 뒤에 있는 아이콘을 선택하세요. 데이트 세트에 최대 50개의 태그를 추가할 수 있습니다.

1. 데이터 세트에 태그 규칙을 적용할 준비가 되면, **규칙 적용**을 선택합니다.

1. **태그 기반 보안을 켤까요?** 페이지가 열리면, **적용 및 활성화**를 선택합니다.

   이제 태그 기반 규칙이 활성화되었습니다. **행 수준 보안 설정** 페이지에서, 데이터 세트에 대한 태그 규칙을 켜거나 끌 수 있는 토글이 나타납니다.

   데이터 세트에 대한 모든 태그 기반 규칙을 끄려면 **태그 기반 규칙** 토글을 끈 다음 나타나는 텍스트 상자에 "확인"을 입력합니다.

   **데이터** 페이지에서 데이터 세트 행에 태그 규칙이 활성화되었음을 나타내는 잠금 아이콘이 나타납니다.

   [2단계: 런타임 시 RLS 태그에 값 할당](#quicksight-dev-rls-tags-assign-values)에 설명된 대로 이제 태그 규칙을 사용하여 런타임에 태그 값을 설정할 수 있습니다. 규칙은 활성 상태일 때만 빠른 리더에 영향을 줍니다.
**중요**  
데이터 세트에 태그가 할당되고 활성화된 후에는 대시보드를 작성할 때 빠른 작성자에게 데이터 세트의 데이터를 볼 수 있는 권한을 부여해야 합니다.  
빠른 작성자에게 데이터 세트의 데이터를 볼 수 있는 권한을 부여하려면 데이터 세트 규칙으로 사용할 권한 파일 또는 쿼리를 생성합니다. 자세한 내용은 [행 수준 보안에 대한 데이터 세트 규칙 생성](restrict-access-to-a-data-set-using-row-level-security.md#create-data-set-rules-for-row-level-security) 단원을 참조하십시오.

태그 기반 규칙을 생성하면, 태그 기반 규칙이 서로 어떻게 관련되는지 보여주는 새 **규칙 관리** 표가 나타납니다. **규칙 관리** 표에 나열된 규칙을 변경하려면 규칙 뒤에 있는 연필 아이콘을 선택합니다. 그런 다음 태그를 추가 또는 제거하고 **업데이트**를 선택합니다. 업데이트된 규칙을 데이터 세트에 적용하려면 **적용**을 선택합니다.

### (선택 사항) RLS 태그에 OR 조건 추가
<a name="quicksight-dev-rls-tags-or"></a>

태그 기반 규칙에 OR 조건을 추가하여 Quick Account 사용자에게 데이터가 표시되는 방식을 추가로 사용자 지정할 수도 있습니다. OR 조건을 태그 기반 규칙과 함께 사용하면 규칙에 정의된 하나 이상의 태그가 유효한 경우 빠른의 시각적 객체가 나타납니다.

**태그 기반 규칙에 OR 조건 추가**

1. **규칙 관리** 테이블에서 **OR 조건 추가**를 선택합니다.

1. 나타나는 **태그 선택** 드롭다운 목록에서 OR 조건을 만들려는 태그를 선택합니다. **규칙 관리** 테이블에 최대 50개의 OR 조건을 추가할 수 있습니다. 데이터 세트의 단일 열에 여러 태그를 추가할 수 있지만, 규칙에 열 태그가 하나 이상 포함되어야 합니다.

1. **업데이트**를 선택하여 규칙에 조건을 추가한 다음 **적용**을 선택하여 업데이트된 규칙을 데이터 세트에 적용합니다.

### API를 사용하여 데이터 세트에 RLS 태그 추가
<a name="quicksight-dev-rls-tags-add-api"></a>

또는`CreateDataSet` 또는 `UpdateDataSet` API 작업을 호출하여 데이터 세트에 태그 기반 행 수준 보안을 구성하고 활성화할 수도 있습니다. 다음 예제에서 방법을 알아보세요.

**중요**  
API 호출에서 세션 태그를 구성할 때  
세션 태그를 보안 자격 증명으로 취급합니다. 세션 태그를 최종 사용자 또는 클라이언트 측 코드에 노출하지 마십시오.
서버 측 제어를 구현합니다. 세션 태그는 최종 사용자가 수정할 수 있는 파라미터가 아닌 신뢰할 수 있는 백엔드 서비스에서만 설정해야 합니다.
열거로부터 세션 태그를 보호합니다. 한 테넌트의 사용자가 다른 테넌트에 속하는 sessionTag 값을 검색하거나 추측할 수 없는지 확인합니다.
아키텍처를 검토합니다. 다운스트림 고객 또는 파트너가 API를 직접 호출할 수 있는 경우 해당 당사자가 액세스해서는 안 되는 테넌트에 대한 sessionTag 값을 지정할 수 있는지 평가합니다.

------
#### [ CreateDataSet ]

다음은 태그가 있는 RLS를 사용하는 데이터 세트를 만드는 예시입니다. 앞서 설명한 물류 회사의 시나리오를 가정합니다. 태그는 `row-level-permission-tag-configuration` 요소에 정의되어 있습니다. 태그는 데이터를 보호하려는 열에 정의됩니다. 이 선택적 요소에 대한 자세한 내용은 Amazon Quick API 참조의 [RowLevelPermissionTagConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RowLevelPermissionTagConfiguration.html)을 참조하세요. ** 

```
create-data-set
		--aws-account-id <value>
		--data-set-id <value>
		--name <value>
		--physical-table-map <value>
		[--logical-table-map <value>]
		--import-mode <value>
		[--column-groups <value>]
		[--field-folders <value>]
		[--permissions <value>]
		[--row-level-permission-data-set <value>]
		[--column-level-permission-rules <value>]
		[--tags <value>]
		[--cli-input-json <value>]
		[--generate-cli-skeleton <value>]
		[--row-level-permission-tag-configuration 
	'{
		"Status": "ENABLED",
		"TagRules": 
			[
				{
					"TagKey": "tag_retailer_id",
					"ColumnName": "retailer_id",
					"TagMultiValueDelimiter": ",",
					"MatchAllValue": "*"
				},
				{
					"TagKey": "tag_role",
					"ColumnName": "role"
				}
			],
		"TagRuleConfigurations":
			[
				tag_retailer_id
			],
			[
				tag_role
			]
	}'
]
```

이 예제의 태그는 요소의 `TagRules` 부분에 정의되어 있습니다. 이 예에서는 2개의 열을 기반으로 2개의 태그가 정의됩니다.
+ `tag_retailer_id` 태그 키는 `retailer_id` 열에 대해 정의합니다. 이 경우 물류회사는, 애플리케이션에 액세스하는 소매업체에 따라 행 수준 보안이 설정됩니다.
+ `tag_role` 태그 키는 `role` 열에 대해 정의합니다. 이 경우 물류 회사는, 특정 소매업체에서 애플리케이션에 액세스하는 사용자의 역할에 따라 행 수준 보안의 추가 계층이 설정됩니다. 한 예로 `store_supervisor` 또는 `manager`입니다.

각 태그에 대해 `TagMultiValueDelimiter` 및 `MatchAllValue`을(를) 정의할 수 있습니다. 이들은 선택 사항입니다.
+ `TagMultiValueDelimiter` - 이 옵션은 런타임에 값을 전달할 때 값을 구분하는 데 사용할 모든 문자열일 수 있습니다. 값은 최대 10자입니다. 이 경우 쉼표가 구분 기호 값으로 사용됩니다.
+ `MatchAllValue` - 이 옵션은 데이터 세트에서 해당 열의 모든 값을 기준으로 필터링하려는 경우 사용할 모든 문자일 수 있습니다. 값을 하나씩 나열하는 대신 문자를 사용할 수 있습니다. 지정하는 경우, 이 값은 최소 1자 또는 최대 256자일 수 있습니다. 이 경우 모두 일치 값으로 별표가 사용됩니다.

데이터 세트 열의 태그를 구성하는 동안 필수 속성 `Status`을(를) 사용하여 태그를 켜거나 끕니다. 태그 규칙을 활성화하려면 이 속성에 대해 `ENABLED` 값을 사용하세요. 태그 규칙을 켜서 [2단계: 런타임 시 RLS 태그에 값 할당](#quicksight-dev-rls-tags-assign-values)에 설명된 대로 런타임에 태그 값을 설정하는 데 사용할 수 있습니다.

다음은 이 응답 정의의 예입니다.

```
{
			"Status": 201,
			"Arn": "arn:aws:quicksight:us-west-2:11112222333:dataset/RLS-Dataset",
			"DataSetId": "RLS-Dataset",
			"RequestId": "aa4f3c00-b937-4175-859a-543f250f8bb2"
		}
```

------
#### [ UpdateDataSet ]

**UpdateDataset**

`UpdateDataSet` API 작업을 사용하여 기존 데이터 세트에 RLS 태그를 추가하거나 업데이트할 수 있습니다.

다음은 RLS 태그로 데이터 세트를 업데이트하는 예제입니다. 앞서 설명한 물류 회사의 시나리오를 가정합니다.

```
update-data-set
		--aws-account-id <value>
		--data-set-id <value>
		--name <value>
		--physical-table-map <value>
		[--logical-table-map <value>]
		--import-mode <value>
		[--column-groups <value>
		[--field-folders <value>]
		[--row-level-permission-data-set <value>]
		[--column-level-permission-rules <value>]
		[--cli-input-json <value>]
		[--generate-cli-skeleton <value>]
				[--row-level-permission-tag-configuration 
	'{
		"Status": "ENABLED",
		"TagRules": 
			[
				{
					"TagKey": "tag_retailer_id",
					"ColumnName": "retailer_id",
					"TagMultiValueDelimiter": ",",
					"MatchAllValue": "*"
				},
				{
					"TagKey": "tag_role",
					"ColumnName": "role"
				}
			],
		"TagRuleConfigurations":
			[
				tag_retailer_id
			],
			[
				tag_role
			]
	}'
]
```

다음은 이 응답 정의의 예입니다.

```
{
			"Status": 201,
			"Arn": "arn:aws:quicksight:us-west-2:11112222333:dataset/RLS-Dataset",
			"DataSetId": "RLS-Dataset",
			"RequestId": "aa4f3c00-b937-4175-859a-543f250f8bb2"
		}
```

------

**중요**  
데이터 세트에 태그가 할당되고 활성화된 후에는 대시보드를 작성할 때 빠른 작성자에게 데이터 세트의 데이터를 볼 수 있는 권한을 부여해야 합니다.  
빠른 작성자에게 데이터 세트의 데이터를 볼 수 있는 권한을 부여하려면 데이터 세트 규칙으로 사용할 권한 파일 또는 쿼리를 생성합니다. 자세한 내용은 [행 수준 보안에 대한 데이터 세트 규칙 생성](restrict-access-to-a-data-set-using-row-level-security.md#create-data-set-rules-for-row-level-security) 단원을 참조하십시오.

`RowLevelPermissionTagConfiguration` 요소에 대한 자세한 내용은 Amazon Quick API 참조의 [RowLevelPermissionTagConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RowLevelPermissionTagConfiguration.html)을 참조하세요. ** 

## 2단계: 런타임 시 RLS 태그에 값 할당
<a name="quicksight-dev-rls-tags-assign-values"></a>

RLS용 태그는 익명 임베딩에만 사용할 수 있습니다. `GenerateEmbedUrlForAnonymousUser` API 작업을 사용하여 태그 값을 설정할 수 있습니다.

**중요**  
API 호출에서 세션 태그를 구성할 때  
세션 태그를 보안 자격 증명으로 취급합니다. 세션 태그를 최종 사용자 또는 클라이언트 측 코드에 노출하지 마십시오.
서버 측 제어를 구현합니다. 세션 태그는 최종 사용자가 수정할 수 있는 파라미터가 아닌 신뢰할 수 있는 백엔드 서비스에서만 설정해야 합니다.
열거로부터 세션 태그를 보호합니다. 한 테넌트의 사용자가 다른 테넌트에 속하는 sessionTag 값을 검색하거나 추측할 수 없는지 확인합니다.
아키텍처를 검토합니다. 다운스트림 고객 또는 파트너가 API를 직접 호출할 수 있는 경우 해당 당사자가 액세스해서는 안 되는 테넌트에 대한 sessionTag 값을 지정할 수 있는지 평가합니다.

다음 예시는 이전 단계에서 데이터 세트에 정의된 RLS 태그에 값을 할당하는 방법을 보여줍니다.

```
POST /accounts/AwsAccountId/embed-url/anonymous-user
	HTTP/1.1
	Content-type: application/json
	{
		“AwsAccountId”: “string”,
		“SessionLifetimeInMinutes”: integer,
		“Namespace”: “string”, // The namespace to which the anonymous end user virtually belongs
		“SessionTags”:  // Optional: Can be used for row-level security
			[
				{
					“Key”: “tag_retailer_id”,
					“Value”: “West,Central,South”
				}
				{
					“Key”: “tag_role”,
					“Value”: “shift_manager”
				}
			],
		“AuthorizedResourceArns”:
			[
				“string”
			],
		“ExperienceConfiguration”:
			{
				“Dashboard”:
					{
						“InitialDashboardId”: “string”
						// This is the initial dashboard ID the customer wants the user to land on. This ID goes in the output URL.
					}
			}
	}
```

다음은 이 응답 정의의 예입니다.

```
HTTP/1.1 Status
	Content-type: application/json

	{
	"EmbedUrl": "string",
	"RequestId": "string"
	}
```

Quick에 사용자를 등록하지 않는 RLS 지원은 `GenerateEmbedUrlForAnonymousUser` API 작업에서만 지원됩니다. 이 `SessionTags` 작업에서는, 데이터 세트 열과 관련된 태그의 값을 정의할 수 있습니다.

이 경우 다음과 같은 할당이 정의됩니다.
+ 값 `West`, `Central` 및 `South`은 런타임 시 `tag_retailer_id` 태그에 할당됩니다. 쉼표는 데이터 세트의 `TagMultipleValueDelimiter`에 정의된 구분 기호로 사용됩니다. 열의 호출 값을 사용하려면, 값을 태그를 만들 때 `MatchAllValue`로 정의한 \$1로 설정하면 됩니다.
+ `shift_manager` 값은 `tag_role` 태그에 할당됩니다.

생성된 URL을 사용하는 사용자는 `role` 열에 `shift_manager` 값이 있는 행만 볼 수 있습니다. 해당 사용자는 `retailer_id` 열에 있는 `West`, `Central`, 또는 `South` 값만 볼 수 있습니다.

`GenerateEmbedUrlForAnonymousUser` API 작업을 사용하여 익명 사용자를 위한 대시보드를 포함하는 방법에 대한 자세한 내용은 Amazon Quick API 참조의 [익명(미등록) 사용자를 위한 Amazon Quick Sight 대시보드 임베딩](embedded-analytics-dashboards-for-everyone.md)또는 [GenerateEmbedUrlForAnonymousUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html)를 참조하세요. ** 

# 열 수준 보안을 사용하여 데이터세트에 대한 액세스 제한
<a name="restrict-access-to-a-data-set-using-column-level-security"></a>

Quick의 Enterprise Edition에서는 데이터 세트에 대한 열 수준 보안(CLS)을 구성하여 데이터 세트에 대한 액세스를 제한할 수 있습니다. CLS가 활성화된 데이터 세트 또는 분석의 옆에는 제한된 ![\[The lock icon for CLS.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/cls-restricted-icon.png) 기호가 있습니다. 기본적으로 모든 사용자 및 그룹이 데이터에 액세스할 수 있습니다. CLS를 사용하면 데이터 세트의 특정 열에 대한 액세스를 관리할 수 있습니다.

액세스할 수 없는 CLS 제한이 있는 데이터셋이 포함된 분석 또는 대시보드를 사용하는 경우 제한된 필드를 사용하는 시각적 객체를 만들거나 보거나 편집할 수 없습니다. 대부분의 시각적 유형에서 액세스할 수 없는 제한된 열이 비주얼에 있는 경우 분석 또는 대시보드에서 해당 시각적 객체를 볼 수 없습니다.

테이블과 피벗 테이블은 다르게 동작합니다. 테이블 또는 피벗 테이블에서 **행** 또는 열 필드 모음의 제한된 **열**을 사용하는데 이러한 제한된 열에 액세스할 수 없는 경우 분석 또는 대시보드에서 시각적 객체를 볼 수 없습니다. 테이블 또는 피벗 테이블의 **값** 필드 모음에 제한된 열이 있는 경우 액세스할 수 있는 값만 포함된 분석 또는 대시보드에서 테이블을 볼 수 있습니다. 제한된 열의 값은 승인되지 않음으로 표시됩니다.

분석 또는 대시보드에서 열 수준 보안을 활성화하려면 관리자 액세스 권한이 필요합니다.

**CLS로 새 분석 생성하기**

1. 빠른 시작 페이지에서 **분석** 탭을 선택합니다.

1. 오른쪽 상단에서 **새 분석**을 선택합니다.

1. 데이터 세트를 선택하고 **열 수준 보안**을 선택합니다.

1. 제한하려는 열을 선택하고 **다음**을 선택합니다. 기본적으로 모든 그룹과 사용자는 모든 열에 접근할 수 있습니다.

1. 각 열에 접근할 수 있는 사용자를 선택한 다음 **적용**을 선택하여 변경 내용을 저장합니다.

**CLS에 대한 기존 분석 사용하기**

1. 빠른 시작 페이지에서 **데이터** 탭을 선택합니다.

1. 데이터 페이지에서 데이터 세트를 엽니다.

1. 열린 데이터세트 세부정보 페이지에서 **열 수준** 보안을 위해 **설정**을 선택합니다.

1. 제한하려는 열을 선택하고 **다음**을 선택합니다. 기본적으로 모든 그룹과 사용자는 모든 열에 접근할 수 있습니다.

1. 각 열에 접근할 수 있는 사용자를 선택한 다음 **적용**을 선택하여 변경 내용을 저장합니다.

**CLS를 통해 대시보드를 생성하기**

1. 빠른 탐색 창에서 **분석** 탭을 선택합니다.

1. 대시보드를 생성하려는 분석을 선택합니다.

1. 오른쪽 상단에서 **게시**를 선택합니다.

1. 다음 중 하나를 선택합니다.
   + 새 대시보드를 생성하려면 **새 대시보드 게시**를 선택한 다음 새 대시보드 이름을 입력합니다.
   + 기존 대시보드를 교체하려면 **기존 대시보드 교체**를 선택한 다음 목록에서 대시보드를 선택합니다.

   또한 **고급 게시 옵션**을 선택할 수 있습니다. 자세한 내용은 [대시보드 게시](creating-a-dashboard.md) 단원을 참조하십시오.

1. **대시보드 게시**를 선택합니다.

1. (선택 사항) 다음 중 하나를 수행하십시오.
   + 공유 없이 대시보드를 게시하려면 **사용자와 대시보드 공유** 화면의 상단 오른쪽에서 나타날 때 **x**를 선택합니다. 나중에 애플리케이션 표시줄에서 **공유**를 선택하여 대시보드를 공유할 수 있습니다.
   + 대시보드를 공유하려면 [Amazon Quick Sight 대시보드 공유](sharing-a-dashboard.md)의 절차를 따르세요.

# Amazon Quick에서 IAM 역할로 쿼리 실행
<a name="datasource-run-as-role"></a>

Amazon Athena, Amazon Redshift 또는 Amazon S3에 연결된 데이터 소스에 대한 광범위한 권한 대신 세분화된 액세스 정책을 사용하여 데이터 보안을 강화할 수 있습니다. 먼저 사용자 또는 API가 쿼리를 시작할 때 활성화할 권한이 있는 AWS Identity and Access Management (IAM) 역할을 생성합니다. 그런 다음 빠른 관리자 또는 개발자가 Athena 또는 Amazon S3 데이터 소스에 IAM 역할을 할당합니다. 역할이 지정되면 쿼리를 실행하는 모든 사용자 또는 API가 쿼리를 실행하는 데 필요한 정확한 권한을 갖게 됩니다.

다음은 데이터 보안을 강화하기 위해 run-as 역할을 구현하기 전에 고려해야 할 몇 가지 사항입니다.
+ 추가 보안이 어떻게 유리하게 작용하는지 설명합니다.
+ 빠른 관리자와 협력하여 데이터 소스에 역할을 추가하면 보안 목표 또는 요구 사항을 더 잘 충족하는 데 도움이 되는지 알아봅니다.
+ 데이터 소스의 수와 관련된 사람 및 애플리케이션의 수에 대해 팀에서 이러한 유형의 보안을 문서화하고 유지할 수 있는지 물어보십시오. 그렇지 않다면 그 부분은 누가 맡을 건가요?
+ 구조화된 조직에서는 운영, 개발 및 IT 지원 부서의 병렬 팀에 이해 관계자를 배치합니다. 경험, 조언, 계획을 지원할 의향이 있는지 물어보십시오.
+ 프로젝트를 시작하기 전에 데이터에 액세스해야 하는 사람들을 참여시키는 개념 증명을 고려해 보십시오.

Athena, Amazon Redshift 및 Amazon S3에서 실행 역할을 사용할 때는 다음과 같은 규칙이 적용됩니다.
+ 각 데이터 소스에는 연결된 RoleArn이 하나만 있을 수 있습니다. 일반적으로 데이터 세트와 시각적 객체에 액세스하는 데이터 소스의 소비자는 다양한 유형의 쿼리를 생성할 수 있습니다. 역할은 작동하는 쿼리와 작동하지 않는 쿼리의 경계를 설정합니다.
+ ARN은 이를 사용하는 빠른 인스턴스 AWS 계정 와 동일한의 IAM 역할에 해당해야 합니다.
+ IAM 역할에는 Quick이 역할을 수임할 수 있는 신뢰 관계가 있어야 합니다.
+ Quick의 APIs 호출하는 자격 증명은 역할을 전달할 권한이 있어야 `RoleArn` 속성을 업데이트할 수 있습니다. 역할 ARN을 생성하거나 업데이트할 때만 역할을 전달하면 됩니다. 권한은 나중에 재평가되지 않습니다. 마찬가지로 역할 ARN이 생략된 경우에는 권한이 필요하지 않습니다.
+ 역할 ARN이 생략된 경우 Athena 또는 Amazon S3 데이터 소스는 계정 전체 역할 및 범위 축소 정책을 사용합니다.
+ 역할 ARN이 있는 경우 계정 전체 역할과 범위 축소 정책이 모두 무시됩니다. Athena 데이터 소스스의 경우 Lake Formation 권한은 무시되지 않습니다.
+ Amazon S3 데이터 소스의 경우, 매니페스트 파일과 매니페스트 파일에 지정된 데이터 모두 IAM 역할을 사용하여 액세스할 수 있어야 합니다.
+ ARN 문자열은 데이터가 위치 AWS 계정 하고 쿼리 AWS 리전 되는 및의 기존 IAM 역할과 일치해야 합니다.

Quick은의 다른 서비스에 연결할 때 IAM 역할을 AWS사용합니다. 기본적으로 역할의이 덜 세분화된 버전은 사용하는 각 서비스에 대해 Quick에서 생성되며 역할은 AWS 계정 관리자가 관리합니다. 사용자 지정 권한 정책을 사용하여 IAM 역할 ARN을 추가하면 추가 보호가 필요한 데이터 소스의 더 광범위한 역할을 재정의합니다. 정책에 대한 자세한 내용은 IAM 사용 설명서의 [고객 관리형 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html)을 참조하십시오.

## Athena 데이터 소스를 사용하여 쿼리 실행
<a name="datasource-run-as-role-athena"></a>

API를 사용하여 ARN을 Athena 데이터 소스에 연결합니다. 이렇게 하려면 [AthenaParameters](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_AthenaParameters.html)의 [RoleArn](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RoleArn.html) 속성에 역할 ARN을 추가하십시오. 확인을 위해 **Athena 데이터 소스** 편집 대화 상자에서 역할 ARN을 볼 수 있습니다. 그러나 **역할 ARN**은 읽기 전용 필드입니다.

시작하려면 사용자 지정 IAM 역할이 필요합니다. 이 역할은 다음 예제에서 설명합니다.

다음 코드 예제는 학습 목적으로만 사용된다는 점에 유의하십시오 이 예제는 임시 개발 및 테스트 환경에서만 사용하고 프로덕션 환경에서는 사용하지 마십시오. 이 예제의 정책은 배포 가능한 정책에 포함되어야 하는 특정 리소스를 보호하지 않습니다. 또한 개발을 위한 경우에도 자체 AWS 계정 정보를 추가해야 합니다.

다음 명령은 간단한 새 역할을 생성하고 Quick에 권한을 부여하는 몇 가지 정책을 연결합니다.

```
aws iam create-role \
        --role-name TestAthenaRoleForQuickSight \
        --description "Test Athena Role For QuickSight" \
        --assume-role-policy-document '{
            "Version": "2012-10-17"		 	 	 ,
            "Statement": [
                {
                    "Effect": "Allow",
                    "Principal": {
                        "Service": "quicksight.amazonaws.com"
                    },
                    "Action": "sts:AssumeRole"
                }
            ]
        }'
```

각 데이터 소스에 사용할 IAM 역할을 식별하거나 생성한 후에는 attach-role-policy를 사용하여 정책을 연결합니다.

```
aws iam attach-role-policy \
        --role-name TestAthenaRoleForQuickSight \
        --policy-arn arn:aws:iam::222222222222:policy/service-role/AWSQuickSightS3Policy1

    aws iam attach-role-policy \
        --role-name TestAthenaRoleForQuickSight \
        --policy-arn arn:aws:iam::aws:policy/service-role/AWSQuicksightAthenaAccess1

    aws iam attach-role-policy \
        --role-name TestAthenaRoleForQuickSight \
        --policy-arn arn:aws:iam::aws:policy/AmazonS3Access1
```



권한을 확인한 후 새 역할을 생성하거나 기존 역할을 업데이트하여 빠른 데이터 소스에서 역할을 사용할 수 있습니다. 이러한 명령을 사용할 때는 AWS 계정 ID 및를 업데이트 AWS 리전 하여 자신의 ID와 일치시킵니다.

이 예제 코드 스니펫은 프로덕션 환경에서는 사용할 수 없다는 점을 기억하십시오. AWS 은(는) 프로덕션 사례에 대한 최소 권한 정책 세트를 식별하여 사용하는 것이 좋습니다.

```
aws quicksight create-data-source
        --aws-account-id 222222222222 \
        --region us-east-1 \
        --data-source-id "athena-with-custom-role" \
        --cli-input-json '{
            "Name": "Athena with a custom Role",
            "Type": "ATHENA",
            "data sourceParameters": {
                "AthenaParameters": {
                    "RoleArn": "arn:aws:iam::222222222222:role/TestAthenaRoleForQuickSight"
                }
            }
        }'
```

## Amazon Redshift 데이터 소스를 사용하여 쿼리 실행
<a name="datasource-run-as-role-redshift"></a>

Amazon Redshift 데이터를 실행 역할과 연결하여 세분화된 액세스 정책으로 데이터 보안을 강화합니다. 퍼블릭 네트워크 또는 VPC 연결을 사용하는 Amazon Redshift 데이터 소스에 대한 실행 역할을 생성할 수 있습니다. **Amazon Redshift 데이터 소스 편집** 대화 상자에서 사용하려는 연결 유형을 지정합니다. 실행형 역할은 Amazon Redshift Serverless 데이터 소스에서 지원되지 않습니다.

시작하려면 사용자 지정 IAM 역할이 필요합니다. 이 역할은 다음 예제에서 설명합니다. 다음 명령은 샘플 새 역할을 생성하고 Quick에 권한을 부여하는 정책을 연결합니다.

```
aws iam create-role \
--role-name TestRedshiftRoleForQuickSight \
--description "Test Redshift Role For QuickSight" \
--assume-role-policy-document '{
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "quicksight.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}'
```

각 데이터 소스에 사용할 IAM 역할을 식별하거나 생성한 후에는 `attach-role-policy`을(를) 사용하여 정책을 연결합니다. 사용하려는 역할에 `redshift:GetClusterCredentialsWithIAM` 권한이 연결된 경우 `DatabaseUser` 및 `DatabaseGroups`의 값은 선택 사항입니다.

```
aws iam attach-role-policy \
--role-name TestRedshiftRoleForQuickSight \
--policy-arn arn:aws:iam:111122223333:policy/service-role/AWSQuickSightRedshiftPolicy
    
        
aws iam create-policy --policy-name RedshiftGetClusterCredentialsPolicy1 \
--policy-document file://redshift-get-cluster-credentials-policy.json 


aws iam attach-role-policy \
--role-name TestRedshiftRoleForQuickSight \
--policy-arn arn:aws:iam:111122223333:policy/RedshiftGetClusterCredentialsPolicy1
// redshift-get-cluster-credentials-policy.json
{
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [
        {
            "Sid": "RedshiftGetClusterCredentialsPolicy",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

위 예제에서는 `RoleARN`, `DatabaseUser` 및 `DatabaseGroups` IAM 파라미터를 사용하는 데이터 소스를 생성합니다. IAM `RoleARN` 파라미터를 통해서만 연결을 설정하려면 아래 예제와 같이 역할에 `redshift:GetClusterCredentialsWithIAM` 권한을 연결합니다.

```
aws iam attach-role-policy \ 
--role-name TestRedshiftRoleForQuickSight \ 
--policy-arn arn:aws:iam:111122223333:policy/RedshiftGetClusterCredentialsPolicy1 // redshift-get-cluster-credentials-policy.json {
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [ 
        {
            "Sid": "RedshiftGetClusterCredentialsPolicy", 
            "Effect": "Allow", 
            "Action": [ "redshift:GetClusterCredentialsWithIAM" ],
            "Resource": [ "*" ]
        }
    ]
}"
```

권한을 확인한 후 새 역할을 생성하거나 기존 역할을 업데이트하여 빠른 데이터 소스에서 역할을 사용할 수 있습니다. 이러한 명령을 사용할 때는 AWS 계정 ID와 AWS 리전을 자신의 ID와 일치하도록 업데이트합니다.

```
aws quicksight create-data-source \
--region us-west-2 \
--endpoint https://quicksight.us-west-2.quicksight.aws.com/ \
--cli-input-json file://redshift-data-source-iam.json \
redshift-data-source-iam.json is shown as below
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "DATSOURCEID",
    "Name": "Test redshift demo iam",
    "Type": "REDSHIFT",
    "DataSourceParameters": {
        "RedshiftParameters": {
            "Database": "integ",
            "Host": "redshiftdemocluster.us-west-2.redshift.amazonaws.com",
            "Port": 8192,
            "ClusterId": "redshiftdemocluster",
            "IAMParameters": {
                "RoleArn": "arn:aws:iam::222222222222:role/TestRedshiftRoleForQuickSight",
                "DatabaseUser": "user",
                "DatabaseGroups": ["admin_group", "guest_group", "guest_group_1"]
            }
        }
    },
    "Permissions": [
      {
        "Principal": "arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/demoname",
        "Actions": [
          "quicksight:DescribeDataSource",
          "quicksight:DescribeDataSourcePermissions",
          "quicksight:PassDataSource",
          "quicksight:UpdateDataSource",
          "quicksight:DeleteDataSource",
          "quicksight:UpdateDataSourcePermissions"
        ]
      }
    ]
}
```

데이터 소스가 VPC 연결 유형을 사용하는 경우 다음 VPC 구성을 사용하십시오.

```
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "DATSOURCEID",
    "Name": "Test redshift demo iam vpc",
    "Type": "REDSHIFT",
    "DataSourceParameters": {
        "RedshiftParameters": {
            "Database": "mydb",
            "Host": "vpcdemo.us-west-2.redshift.amazonaws.com",
            "Port": 8192,
            "ClusterId": "vpcdemo",
            "IAMParameters": {
                "RoleArn": "arn:aws:iam::222222222222:role/TestRedshiftRoleForQuickSight",
                "DatabaseUser": "user",
                "AutoCreateDatabaseUser": true
            }
        }
    },
    "VpcConnectionProperties": { 
      "VpcConnectionArn": "arn:aws:quicksight:us-west-2:222222222222:vpcConnection/VPC Name"
    },
    "Permissions": [
      {
        "Principal": "arn:aws:quicksight:us-east-1:222222222222:user/default/demoname",
        "Actions": [
          "quicksight:DescribeDataSource",
          "quicksight:DescribeDataSourcePermissions",
          "quicksight:PassDataSource",
          "quicksight:UpdateDataSource",
          "quicksight:DeleteDataSource",
          "quicksight:UpdateDataSourcePermissions"
        ]
      }
    ]
}
```

데이터 소스가 `redshift:GetClusterCredentialsWithIAM` 권한을 사용하고 `DatabaseUser` 또는 `DatabaseGroups` 파라미터를 사용하지 않는 경우 스키마의 일부 또는 모든 테이블에 대한 역할 액세스 권한을 부여합니다. 역할에 특정 테이블에 대한 `SELECT` 권한이 부여되었는지 확인하려면 Amazon Redshift Query Editor에 다음 명령을 입력합니다.

```
SELECT
u.usename,
t.schemaname||'.'||t.tablename,
has_table_privilege(u.usename,t.tablename,'select') AS user_has_select_permission
FROM
pg_user u
CROSS JOIN
pg_tables t
WHERE
u.usename = 'IAMR:RoleName'
AND t.tablename = tableName
```

Amazon Redshift Query Editor의 `SELECT` 작업에 대한 자세한 정보는 [선택](https://docs.aws.amazon.com/redshift/latest/dg/r_SELECT_synopsis.html)을 참조하세요.

역할에 `SELECT` 권한을 부여하려면 Amazon Redshift Query Editor에 다음 명령을 입력합니다.

```
GRANT SELECT ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA 
schema_name [, ...] } TO "IAMR:Rolename";
```

Amazon Redshift Query Editor의 `GRANT` 작업에 대한 자세한 정보는 [권한 부여](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html)를 참조하세요.

## Amazon S3 데이터 소스를 사용하여 쿼리 실행
<a name="datasource-run-as-role-s3"></a>

Amazon S3 데이터 소스에는 Quick이 데이터를 찾고 구문 분석하는 데 사용하는 매니페스트 파일이 포함되어 있습니다. Quick 콘솔을 통해 JSON 매니페스트 파일을 업로드하거나 S3 버킷의 JSON 파일을 가리키는 URL을 제공할 수 있습니다. URL을 제공하기로 선택한 경우 Amazon S3의 파일에 액세스할 수 있는 권한을 Quick에 부여해야 합니다. 빠른 관리 콘솔을 사용하여 매니페스트 파일 및 매니페스트 파일에서 참조하는 데이터에 대한 액세스를 제어합니다.

**RoleArn** 속성을 사용하면 계정 전체 역할을 재정의하는 사용자 지정 IAM 역할을 통해 매니페스트 파일 및 해당 파일이 참조하는 데이터에 대한 액세스 권한을 부여할 수 있습니다. API를 사용하여 Amazon S3 데이터 소스의 매니페스트 파일에 ARN을 연결합니다. 이렇게 하려면[S3Parameters](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_S3Parameters.html)의 [RoleArn](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RoleArn.html) 속성에 역할 ARN을 포함시키십시오. 확인을 위해 **S3 데이터 소스 편집** 대화 상자에서 역할 ARN을 볼 수 있습니다. 하지만 **Role ARN**은 다음 스크린샷과 같이 읽기 전용 필드입니다.

시작하려면 Amazon S3 매니페스트 파일을 생성하십시오. 그런 다음 새 Amazon S3 데이터 세트를 생성할 때 Amazon Quick에 업로드하거나 해당 파일을 데이터 파일이 포함된 Amazon S3 버킷에 배치할 수 있습니다. 다음 예제를 보고 매니페스트 파일이 어떤 모습일지 확인해 보십시오.

```
{
    "fileLocations": [
        {
            "URIPrefixes": [
                "s3://quicksightUser-run-as-role/data/"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "CSV",
        "delimiter": ",",
        "textqualifier": "'",
        "containsHeader": "true"
    }
}
```

매니페스트 파일을 만드는 방법에 대한 설명은 [Amazon S3 매니페스트 파일에 지원되는 형식](supported-manifest-file-format.md)을(를) 참조하십시오.

매니페스트 파일을 생성하여 Amazon S3 버킷에 추가하거나 Quick에 업로드한 후 IAM에서 `s3:GetObject` 액세스 권한을 부여하는 기존 역할을 생성하거나 업데이트합니다. 다음 예제에서는 AWS API를 사용하여 기존 IAM 역할을 업데이트하는 방법을 보여줍니다.

```
aws iam put-role-policy \
    --role-name QuickSightAccessToS3RunAsRoleBucket \
    --policy-name GrantS3RunAsRoleAccess \
    --policy-document '{
        "Version": "2012-10-17"		 	 	 ,
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "s3:ListBucket",
                "Resource": "arn:aws:s3:::s3-bucket-name"
            },
            {
                "Effect": "Allow",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::s3-bucket-name/manifest.json"
            },
            {
                "Effect": "Allow",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::s3-bucket-name/*"
            }
        ]
    }'
```

정책에서 `s3:GetObject` 액세스 권한을 부여한 후에는 Amazon S3 데이터 소스의 매니페스트 파일에 업데이트된 `put-role-policy`을(를) 적용하는 데이터 소스 생성을 시작할 수 있습니다.

```
aws quicksight create-data-source --aws-account-id 111222333444 --region us-west-2 --endpoint https://quicksight.us-west-2.quicksight.aws.com/ \
    --data-source-id "s3-run-as-role-demo-source" \
    --cli-input-json '{
        "Name": "S3 with a custom Role",
        "Type": "S3",
        "DataSourceParameters": {
            "S3Parameters": {
                "RoleArn": "arn:aws:iam::111222333444:role/QuickSightAccessRunAsRoleBucket",
                "ManifestFileLocation": {
                    "Bucket": "s3-bucket-name", 
                    "Key": "manifest.json"
                }
            }
        }
    }'
```

권한을 확인한 후 새 역할을 생성하거나 기존 역할을 업데이트하여 빠른 데이터 소스에서 역할을 사용할 수 있습니다. 이러한 명령을 사용할 때는 AWS 계정 ID와 AWS 리전 를 자신의 ID와 일치하도록 업데이트해야 합니다.

# 데이터 세트 삭제
<a name="delete-a-data-set"></a>

**중요**  
현재 데이터 세트 삭제는 되돌릴 수 없으며 결과적으로 작업이 영구적으로 손실될 수 있습니다. 삭제하면 종속 객체가 계단식으로 삭제되지 않습니다. 삭제된 데이터 세트를 동일한 데이터 세트로 바꾸더라도 종속 객체는 작동을 중지합니다.

데이터 세트를 삭제하기 전에 먼저 각 종속 분석 또는 대시보드가 새 데이터 세트를 가리키도록 하는 것이 좋습니다.

현재, 종속 시각적 객체가 여전히 존재하는 동안 데이터 세트를 삭제하면 해당 시각적 객체가 포함된 분석 및 대시보드는 새로운 메타데이터를 이해할 방법이 없습니다. 이러한 시각적 객체는 여전히 표시되지만 작동할 수 없습니다. 동일한 데이터 세트를 추가해도 이러한 시각적 객체를 복구할 수 없습니다.

이렇게 되는 이유는 데이터 세트에는 해당 데이터 세트에 종속되는 분석 및 대시보드에 필수적인 메타데이터가 포함되어 있기 때문입니다. 이 메타데이터는 각 데이터 세트에 대해 고유하게 생성됩니다. Quick Sight 엔진은 메타데이터를 읽을 수 있지만 사람이 읽을 수 없습니다(예: 필드 이름이 포함되지 않음). 따라서 데이터 세트를 똑같이 복제하더라도 메타데이터가 서로 다릅니다. 동일한 이름과 동일한 필드를 공유하는 여러 데이터 세트의 경우에도 각 데이터 세트의 메타데이터는 고유합니다.

**보안 암호를 삭제하기**

1. 계속 사용하려는 분석이나 대시보드에서 데이터 세트가 사용되고 있지 않는지 확인하십시오.

   **데이터** 페이지에서 더 이상 필요하지 않은 데이터 세트를 선택합니다. 그런 다음 오른쪽 상단에서 **데이터 세트 삭제**를 선택합니다.

1. 경고가 나타나는 경우 이 데이터 세트가 사용 중이면 모든 종속 분석과 대시보드를 추적하고 해당 분석과 대시보드가 다른 데이터 세트를 가리키도록 합니다. 이렇게 할 수 없는 경우 삭제하는 대신 다음 모범 사례를 하나 이상 시도해 봅니다.
   + 데이터 세트가 확실히 더 이상 사용되지 않도록 데이터 세트의 이름을 변경합니다.
   + 데이터 세트에 행이 없도록 데이터를 필터링합니다.
   + 데이터 세트에 대한 다른 모든 사람의 액세스 권한을 제거합니다.

   가능한 모든 수단을 사용하여 종속 객체의 소유자에게 이 데이터 세트가 더 이상 사용되지 않음을 알리는 것이 좋습니다. 또한 조치를 취할 수 있는 충분한 시간을 제공하는지 확인하십시오.

1. 데이터 세트가 삭제된 후 작동을 중지할 종속 객체가 없는지 확인한 후에 데이터 세트를 선택한 다음 **데이터 세트 삭제**를 선택합니다. 선택을 확인하거나 **Cancel(취소)**을 선택합니다.

**중요**  
현재 데이터 세트 삭제는 되돌릴 수 없으며 결과적으로 작업이 영구적으로 손실될 수 있습니다. 삭제하면 종속 객체가 계단식으로 삭제되지 않습니다. 삭제된 데이터 세트를 동일한 데이터 세트로 바꾸더라도 종속 객체는 작동을 중지합니다.

# 분석에 데이터 세트 추가
<a name="adding-a-data-set-to-an-analysis"></a>

분석을 생성한 후 분석에 데이터 세트를 추가할 수 있습니다. 그런 다음 해당 데이터 세트를 사용하여 시각적 객체를 추가할 수 있습니다.

분석에서 편집할 데이터 세트를 열고 필드를 추가 또는 제거하거나 데이터 준비 작업을 수행합니다. 데이터 세트를 제거하거나 바꿀 수도 있습니다.

**데이터** 창 상단에 현재 선택된 데이터세트가 표시됩니다. 이것이 바로 현재 선택된 시각적 객체에서 사용하는 데이터 세트입니다. 시각적 객체 하나당 데이터 세트 하나만 사용할 수 있습니다. 다른 시각적 객체를 선택하면 데이터 세트도 해당 시각적 객체에서 사용하는 것으로 바뀝니다.

선택된 데이터세트를 수동으로 변경하려면 **데이터** 창의 상단에 있는 데이터세트 목록을 선택한 다음 다른 데이터세트를 선택합니다. 그러면 현재 선택한 시각적 객체가 이 데이터 세트를 사용하지 않는 경우 해당 시각적 객체의 선택이 취소됩니다. 그런 다음, 선택한 데이터 세트를 사용하는 시각적 객체를 선택합니다. 또는 **시각화** 창에서 **추가**를 선택하여 선택된 데이터세트를 통해 새 시각화를 생성합니다.

추천되는 시각적 객체를 보기 위해 도구 모음에서 **제안됨**을 선택하면 현재 선택된 데이터 세트를 기준으로 시각적 객체가 표시됩니다.

현재 선택된 데이터 세트의 필터만 **필터** 창에 표시되며, 현재 선택된 데이터 세트에 대한 필터만 만들 수 있습니다.

**Topics**
+ [데이터 세트 변경](replacing-data-sets.md)
+ [분석에서 데이터 세트 제거](delete-a-data-set-from-an-analysis.md)

분석에 데이터 세트를 추가하거나 분석에 사용된 데이터 세트를 편집하려면 다음 절차에 따르십시오.

**분석에 데이터세트 추가**

1. 분석 페이지에서 **데이터** 창으로 이동하여 **데이터세트** 드롭다운을 확장합니다.

1. **데이터세트 추가**를 선택하여 데이터세트를 추가합니다. 또는 **데이터세트 관리**를 선택하여 데이터세트를 편집합니다. 데이터 세트 편집에 대한 자세한 내용은 [데이터 세트 편집](edit-a-data-set.md)을(를) 참조하십시오.

1. 데이터 세트의 목록이 나타납니다. 데이터 세트를 선택한 다음 **선택**을 선택합니다. 취소하려면 **취소**를 선택합니다.

# 데이터 세트 변경
<a name="replacing-data-sets"></a>

분석에서 데이터 세트를 추가, 편집, 교체 또는 제거할 수 있습니다. 이 섹션에서는 데이터 세트를 바꾸는 방법을 알아봅니다.

데이터 세트를 바꿀 때 시각적 객체를 원래 의도한 대로 유지하려면 비슷한 열을 가진 새 데이터 세트를 선택해야 합니다. 또한 데이터 세트를 바꾸면 분석에 대한 실행 취소 및 다시 실행 기록이 지워집니다. 즉, 애플리케이션 표시줄에서 실행 취소 및 다시 실행 버튼을 사용하여 변경 사항을 탐색할 수 없습니다. 따라서 데이터 세트를 변경하려는 경우 분석 디자인이 안정적이어야 합니다. 즉, 편집 중이아니어야 합니다.

**데이터 세트 교체하기**

1. 분석 페이지에서 **데이터** 창으로 이동하여 **데이터세트** 드롭다운을 확장합니다.

1. **데이터세트 관리**를 선택합니다.

1. 바꿀 데이터세트 옆에 있는 줄임표(...)를 선택한 다음 **바꾸기**를 선택합니다.

1. **대체 데이터 세트 선택** 페이지의 목록에서 데이터 세트를 선택한 다음 **선택**을 선택합니다.
**참고**  
데이터 세트를 바꾸면 이 분석에 대한 실행 취소 및 다시 실행 기록이 지워집니다.

데이터 세트가 새 데이터 세트로 교체됩니다. 필드 목록과 시각적 객체가 새 데이터 세트로 업데이트됩니다.

여기서 새 데이터 세트를 추가 또는 편집하거나 다른 데이터 세트로 바꿀 수 있습니다. **닫기**를 선택하여 종료합니다.

## 새 데이터 세트가 일치하지 않는 경우
<a name="replacing-data-sets-2"></a>

일부 경우에, 분석에서 시각적 객체, 필터, 파라미터 및 계산된 필드에 사용된 모든 필드와 계층이 선택한 대체 데이터 세트에 다 포함되지 않습니다. 그렇다면 Quick Sight에서 일치하지 않거나 누락된 열 목록을 표시하는 경고를 받게 됩니다.

이 경우 두 데이터 세트 간의 필드 매핑을 업데이트할 수 있습니다.

**필드 매핑을 업데이트하기**

1. **대체 데이터 세트의 불일치** 페이지에서 **필드 매핑 업데이트**를 선택합니다.

1. **필드 매핑 업데이트** 페이지에서 매핑하려는 필드의 드롭다운 메뉴를 선택하고 목록에서 매핑할 필드를 선택합니다.

   새 데이터셋에서 필드가 누락된 경우 **이 필드 무시**를 선택하세요.

1. **확인**을 선택하여 업데이트를 확인합니다.

1. 페이지를 닫고 분석으로 돌아가려면 **닫기**를 선택합니다.

데이터 세트가 새 데이터 세트로 교체됩니다. 필드 목록과 시각적 객체가 새 데이터 세트로 업데이트됩니다.

새 데이터 세트에서 누락된 필드를 사용하고 있던 모든 시각적 객체가 빈 필드로 업데이트됩니다. 시각적 객체에 필드를 읽어오거나 분석에서 시각적 객체를 제거할 수 있습니다.

데이터 세트를 바꾼 이후에 생각이 바뀔 경우 이전 데이터 세트로 복구할 수도 있습니다. 데이터 세트를 바꾼 다음 새 데이터 세트와 일치하도록 분석을 변경하는 것이 너무 어렵다는 것을 알게 되었다고 가정합니다. 분석에 수행한 변경을 실행 취소할 수 있습니다. 그런 다음 새 데이터 세트를 원래 데이터 세트로 바꾸거나, 분석 요구 사항과 더 가깝게 일치하는 데이터 세트로 바꿀 수 있습니다.

# 분석에서 데이터 세트 제거
<a name="delete-a-data-set-from-an-analysis"></a>

분석에서 데이터 세트를 삭제하려면 다음 절차에 따르십시오.

**분석에서 데이터 세트 삭제하기**

1. 분석 페이지에서 **데이터** 창으로 이동하여 **데이터세트** 드롭다운을 확장합니다.

1. **데이터세트 관리**를 선택합니다.

1. 바꿀 데이터세트 옆에 있는 줄임표(...)를 선택한 다음 **제거**를 선택합니다. 분석에 데이터 세트가 하나뿐인 경우 데이터 세트를 삭제할 수 없습니다.

1. **닫기**를 선택하여 대화 상자를 닫습니다.

# Amazon Quick Sight에서 데이터 소스 작업
<a name="working-with-data-sources"></a>

데이터 소스를 사용하여 외부 데이터 저장소에 접근하세요. Amazon S3 데이터 소스는 매니페스트 파일 정보를 저장합니다. 반대로 Salesforce 및 데이터베이스 데이터 소스는 자격 증명과 같은 연결 정보를 저장합니다. 이러한 경우 정보를 다시 입력할 필요 없이 데이터 스토어에서 여러 데이터 세트를 쉽게 생성할 수 있습니다. 연결 정보는 텍스트 또는 Microsoft Excel 파일로 저장되지 않습니다.

**Topics**
+ [데이터 소스 생성](create-a-data-source.md)
+ [데이터 소스 편집.](edit-a-data-source.md)
+ [데이터 소스 삭제](delete-a-data-source.md)

# 데이터 소스 생성
<a name="create-a-data-source"></a>


|  | 
| --- |
|    대상:  Amazon Quick 작성자  | 

Amazon Quick의 분석 작성자는 데이터에 연결하는 데 사용하는 인프라에 대해 아무것도 이해할 필요가 없습니다. 새 데이터 소스는 한 번만 설정합니다.

데이터 소스를 설정한 후 Quick 콘솔의 타일에서 액세스할 수 있습니다. 데이터 소스 사용하여 하나 이상의 데이터 세트를 생성하고, 데이터 세트를 설정한 후에는 타일에서 데이터 세트에 액세스할 수도 있습니다. Amazon Quick Sight는 기술 세부 정보를 추상화하여 데이터 연결을 간소화합니다.

**참고**  
수동으로 업로드하려는 파일의 연결 설정을 저장할 필요가 없습니다. 파일 업로드에 대한 자세한 내용은 [데이터 세트 생성](creating-data-sets.md) 단원을 참조하십시오.

Amazon Quick에 새 데이터 소스 연결 프로필을 추가하기 전에 먼저 데이터 소스에 연결하는 데 필요한 정보를 수집합니다. 경우에 따라 파일에서 설정을 복사하여 붙여 넣을 수도 있습니다. 이 경우 파일에 서식 지정 문자(목록 글머리 기호 또는 숫자) 또는 공백 문자(공백, 탭). 비 ASCII, null(ASCII 0) 및 제어 문자와 같은 텍스트가 아닌 “Gremlin” 문자가 포함되어 있지 않은지 확인합니다.

다음 목록에는 가장 일반적으로 사용되는 설정을 수집하기 위한 정보가 나와 있습니다.
+ 연결할 데이터 소스.

  보고를 위해 어느 소스에 연결해야 하는지 알아야 합니다. 이 소스는 데이터를 저장, 처리 또는 액세스하는 소스와 다를 수 있습니다.

  예를 들어, 대기업의 새로운 분석가가 Oracle을 사용하는 주문 시스템의 데이터를 분석하려고 합니다. 그러나 OLTP(Online Transaction Processing) 데이터를 직접 쿼리할 수는 없습니다. 데이터의 일부가 추출되어 Amazon S3의 버킷에 저장되지만 이러한 데이터에 대한 액세스 권한이 없습니다. 새 동료는 AWS Glue 크롤러를 사용하여 파일을 읽고 AWS Lake Formation 액세스한다고 설명합니다. 더 많은 조사를 통해 Amazon Quick Sight에서 Amazon Athena 쿼리를 데이터 소스로 사용해야 한다는 것을 알게 됩니다. 그런데 문제는 어떤 유형의 데이터 소스를 선택해야 할지 명확하지 않은 경우가 있다는 것입니다.
+ 새 데이터 소스 타일에 대한 설명이 포함된 이름.

  각각의 새 데이터 소스 연결에는 고유한 설명이 포함된 이름이 필요합니다. 이 이름은 **데이터 세트 생성** 화면 하단에 있는 기존 데이터 소스의 Amazon Quick Sight 목록에 표시됩니다. 다른 유사한 데이터 소스와 데이터 소스를 쉽게 구분할 수 있는 이름을 사용합니다. 새 Amazon Quick Sight 데이터 소스 프로파일에는 데이터베이스 소프트웨어 로고와 할당한 사용자 지정 이름이 모두 표시됩니다.
+ 연결할 서버 또는 인스턴스의 이름.

  고유 이름 또는 기타 식별자는 네트워크에 있는 데이터 소스의 서버 커넥터를 식별합니다. 설명자는 연결할 서버 또는 인스턴스에 따라 다르지만 일반적으로 다음 중 하나 이상입니다.
  + 호스트 이름
  + IP 주소
  + 클러스터 ID
  + 인스턴스 ID
  + 커넥터
  + 사이트 기반 URL
+ 사용할 데이터 컬렉션의 이름.

  설명자는 데이터 소스에 따라 다르지만 일반적으로 다음 중 하나입니다.
  + Database
  + 웨어하우스
  + S3 버킷
  + 카탈로그
  + 스키마

  경우에 따라 매니페스트 파일이나 쿼리를 포함해야 할 수 있습니다.
+ Amazon Quick Sight에서 사용할 사용자 이름입니다.

  Amazon Quick Sight는이 데이터 소스 프로파일(타일)을 사용하여 연결할 때마다 연결 설정의 사용자 이름을 사용합니다. 이는 경우에 따라 개인 로그인 사용자 이름일 수 있습니다. 그러나 이를 다른 사람과 공유하려는 경우 시스템 관리자에게 Amazon Quick Sight 연결에 사용할 자격 증명을 생성하는 방법에 대해 문의하십시오.
+ 사용할 연결 유형. 퍼블릭 네트워크 또는 VPC 연결을 선택할 수 있습니다. 사용 가능한 VPC 연결이 두 개 이상인 경우 데이터 소스에 연결하는 데 사용할 VPC 연결을 지정합니다.
+ 일부 데이터 소스에는 Secure Sockets Layer(SSL) 또는 API 토큰과 같은 추가 설정이 필요합니다.

연결 설정을 데이터 소스 프로필로 저장한 후 해당 타일을 선택하여 데이터 세트를 생성할 수 있습니다. 연결은 Amazon Quick Sight에 데이터 소스 연결 프로필로 저장됩니다.

기존 연결 프로필을 보려면 빠른 시작 페이지를 열고 **데이터를** 선택한 다음 **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

지원되는 데이터 소스 연결 및 예제 목록은 [통합 및 데이터 세트를 사용하여 데이터에 연결](connecting-to-data-examples.md) 섹션을 참조하세요.

Quick Sight에서 데이터 소스를 생성한 후 연결된 데이터 소스의 데이터가 포함된 데이터 [세트를](https://docs.aws.amazon.com/quicksuite/latest/userguide/creating-data-sets) Quick Sight에서 생성할 수 있습니다. 언제든지 [데이터 소스 연결 정보를 업데이트](https://docs.aws.amazon.com/quicksuite/latest/userguide/edit-a-data-source)할 수도 있습니다.

# 데이터 소스 편집.
<a name="edit-a-data-source"></a>

기존 데이터베이스 데이터 소스를 편집하여 연결 정보(예: 서버 이름 또는 사용자 자격 증명)를 업데이트할 수 있습니다. 또한 기존의 Amazon Athena 데이터 소스를 편집하여 데이터 소스 이름을 업데이트할 수도 있습니다. Amazon S3 또는 Salesforce 데이터 소스는 편집할 수 없습니다.

## 데이터베이스 데이터 소스 편집
<a name="edit-a-database-data-source"></a>

데이터베이스 데이터 소스를 편집하려면 다음 절차에 따르십시오.

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 데이터베이스 데이터 소스를 선택합니다.

1. [**Edit Data Source**]를 선택합니다.

1. 데이터 소스 정보를 수정합니다.
   + 자동 검색된 데이터베이스 데이터 소스를 편집하는 경우, 다음 설정을 수정할 수 있습니다.
     + **Data source name(데이터 소스 이름)**에 데이터 소스의 이름을 입력합니다.
     + **인스턴스 ID**에서, 나열된 목록 중 연결할 인스턴스 또는 클러스터의 이름을 선택합니다.
     + [**Database name**]은 [**Instance ID**] 클러스터 또는 인스턴스에 대한 기본 데이터베이스를 표시합니다. 해당 클러스터 또는 인스턴스에서 다른 데이터베이스를 사용하려면 해당 이름을 입력합니다.
     + **사용자 이름**에 다음을 수행할 수 있는 권한이 있는 사용자 계정의 사용자 이름을 입력합니다.
       + 대상 데이터베이스에 액세스합니다.
       + 사용하려는 해당 데이터베이스의 테이블을 읽습니다(`SELECT` 문 수행).
     + **암호**에 입력한 계정의 암호를 입력합니다.
   + 외부 데이터베이스 데이터 소스를 편집하는 경우, 다음 설정을 수정할 수 있습니다.
     + **Data source name(데이터 소스 이름)**에 데이터 소스의 이름을 입력합니다.
     + **Database server(데이터베이스 서버)**에 다음 값 중 하나를 입력합니다.
       + Amazon Redshift 클러스터의 경우, 포트 번호 없이 클러스터의 엔드포인트를 입력합니다. 예를 들어, 엔드포인트 값이 `clustername.1234abcd.us-west-2.redshift.amazonaws.com:1234`인 경우 `clustername.1234abcd.us-west-2.redshift.amazonaws.com`을(를) 입력합니다. Amazon Redshift 콘솔의 클러스터 또는 세부 정보 페이지의 **엔드포인트** 필드에서 엔드포인트 값을 가져올 수 있습니다.
       + PostgreSQL, MySQL 또는 SQL Server의 Amazon EC2 인스턴스에는 퍼블릭 DNS 주소를 입력합니다. EC2 콘솔의 인스턴스 세부 정보 창의 [**Public DNS**] 필드에서 퍼블릭 DNS 값을 가져올 수 있습니다.
       + PostgreSQL, MySQL 또는 SQL Server의 비 Amazon EC2 인스턴스에는 데이터베이스 서버의 호스트 이름 또는 퍼블릭 IP 주소를 입력합니다.
     + **포트**에 클러스터 또는 인스턴스가 연결에 사용하는 포트를 입력합니다.
     + **데이터베이스 이름**에 사용할 데이터베이스의 이름을 입력합니다.
     + **사용자 이름**에 다음을 수행할 수 있는 권한이 있는 사용자 계정의 사용자 이름을 입력합니다.
       + 대상 데이터베이스에 액세스합니다.
       + 사용하려는 해당 데이터베이스의 테이블을 읽습니다(`SELECT` 문 수행).
     + **암호**에 입력한 계정의 암호를 입력합니다.

1. **연결 확인**을 선택하세요.

1. 연결이 확인되면 [**Update data source**]를 선택합니다. 그렇지 않은 경우 연결 정보를 수정하고 다시 확인합니다.

1. 업데이트된 데이터 소스를 사용하여 새 데이터 세트를 생성하려는 경우 [데이터베이스에서 데이터 세트 생성](create-a-database-data-set.md)의 지침에 따라 진행합니다. 그렇지 않으면 **Choose your table(테이블 선택)** 대화 상자를 닫습니다.

## Athena 데이터 소스 편집.
<a name="revoking-access-to-shared-data-sources"></a>

Athena 데이터 소스를 편집하려면 다음 절차에 따르십시오.

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. Athena 데이터 소스를 선택합니다.

1. [**Edit Data Source**]를 선택합니다.

1. **Data source name(데이터 소스 이름)**에 새 이름을 입력합니다.

1. **Manage data source sharing(데이터 소스 공유 관리)** 화면이 나타납니다. **Users(사용자)** 탭에서 제거하려는 사용자를 찾습니다.

1. 업데이트된 데이터 소스를 사용하여 새 데이터 세트를 생성하려는 경우 [Amazon Athena 데이터를 사용하여 데이터 세트 생성](create-a-data-set-athena.md)의 지침에 따라 진행합니다. 그렇지 않으면 **Choose your table(테이블 선택)** 대화 상자를 닫습니다.

# 데이터 소스 삭제
<a name="delete-a-data-source"></a>

데이터 소스가 더 이상 필요하지 않으면 삭제할 수 있습니다. 쿼리 기반의 데이터베이스 데이터 소스를 삭제하면 연결된 모든 데이터 세트를 사용할 수 없게 됩니다. Amazon S3, Salesforce 또는 SPICE 기반의 데이터베이스 데이터 소스는 삭제해도 연결된 데이터 세트를 사용하는 기능에 영향을 주지 않습니다. 이는 데이터가 [SPICE](spice.md)에 저장되기 때문입니다. 그러나 더 이상 그러한 데이터 세트를 새로 고칠 수는 없습니다.

**데이터 소스를 삭제하기**

1. 삭제하려는 데이터 소스를 선택합니다.

1. **삭제**를 선택합니다.

# Amazon Quick Sight에서 데이터 새로 고침
<a name="refreshing-data"></a>

데이터를 새로 고칠 때 Amazon Quick Sight는 연결 속성과 데이터의 스토리지 위치에 따라 데이터 세트를 다르게 처리합니다.

Quick Sight가 직접 쿼리를 사용하여 데이터 스토어에 연결하는 경우 연결된 데이터 세트, 분석 또는 대시보드를 열면 데이터가 자동으로 새로 고쳐집니다. 필터 컨트롤은 24시간마다 자동으로 새로 고쳐집니다.

SPICE 데이터 세트를 새로 고치려면 Quick Sight는 데이터에 연결하기 위해 저장된 자격 증명을 사용하여 독립적으로 인증해야 합니다. Quick Sight는 연결 및 위치 메타데이터를 저장하지 않기 SPICE때문에 Quick Sight는에 저장되어 있더라도 S3 버킷에서 수동으로 업로드된 데이터를 새로 고칠 수 없습니다. S3 버킷에 저장된 데이터를 자동으로 새로 고치려면 **S3** 데이터 원본 카드를 사용하여 데이터 세트를 생성합니다.

SPICE에 수동으로 업로드한 파일의 경우 파일을 다시 가져와서 수동으로 새로 고칩니다. 새 파일에 원본 데이터 세트 이름을 다시 사용하려면 먼저 원본 데이터 세트의 이름을 바꾸거나 삭제하세요. 그런 다음 새 데이터 세트에 원하는 이름을 지정합니다. 또한 필드 이름이 동일한 이름과 데이터 유형인지 확인하세요. 분석을 열고 원본 데이터 세트를 새 데이터 세트로 바꿉니다. 자세한 내용은 [데이터 세트 변경](replacing-data-sets.md) 단원을 참조하십시오.

[SPICE](spice.md) 데이터 세트는 언제라도 새로 고칠 수 있습니다. 새로 고치면 데이터를 SPICE로 가져와 데이터에 마지막 가져오기 이후의 변경 사항이 모두 포함됩니다.

Amazon Quick Sight Standard Edition의 경우 언제든지 SPICE 데이터를 완전히 새로 고칠 수 있습니다. Amazon Quick Sight Enterprise Edition의 경우 언제든지 전체 새로 고침 또는 증분 새로 고침(SQL 기반 데이터 소스만 해당)을 수행할 수 있습니다.

**참고**  
데이터 세트가 CustomSQL을 사용하는 경우 점진적으로 새로 고치는 것이 도움이 되지 않을 수 있습니다. SQL 쿼리가 복잡한 경우 데이터베이스가 룩백 윈도우를 사용하여 필터를 최적화하지 못할 수 있습니다. 이로 인해 데이터를 가져오는 쿼리가 전체 새로 고침보다 오래 걸릴 수 있습니다. 사용자 지정 SQL을 리팩터링하여 쿼리 실행 시간을 줄여보는 것이 좋습니다. 단, 결과는 최적화하는 유형에 따라 달라질 수 있습니다.

다음 방법 중 하나를 사용하여 SPICE 데이터를 새로 고칠 수 있습니다.
+ 옵션은 **데이터 세트** 페이지에서 사용할 수 있습니다.
+ 데이터 세트를 편집하는 동안 데이터 세트를 새로 고칠 수 있습니다.
+ 데이터 세트 설정에서 새로 고침을 예약할 수 있습니다.
+ API 작업 [CreateIngestion](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateIngestion.html)을 사용하여 데이터를 새로 고칠 수 있습니다.

SPICE 데이터 세트를 만들거나 편집할 때 데이터 로드 상태에 대한 이메일 알림을 활성화할 수 있습니다. 이 옵션은 데이터 로드 또는 새로 고침에 실패할 경우 데이터 세트 소유자에게 알립니다. 알림을 켜려면 **데이터 세트 생성 완료** 화면에 나타나는 **새로 고침 실패 시 소유자에게 이메일 전송** 옵션을 선택합니다. 데이터 세트 페이지에서 **파일 업로드**를 사용하여 만든 데이터 세트에는 이 옵션을 사용할 수 없습니다.

다음 주제에는 SPICE 데이터 새로 고침 및 작업에 대한 다양한 접근 방식에 대한 설명이 나와 있습니다.

**Topics**
+ [SPICE로 데이터 가져오기](spice.md)
+ [SPICE 데이터 새로 고침](refreshing-imported-data.md)
+ [분석에 SPICE 데이터 사용](spice-in-an-analysis.md)
+ [SPICE 수집 기록 보기](view-history-of-spice-ingestion.md)
+ [건너뛴 행 오류 문제 해결](troubleshooting-skipped-rows.md)
+ [SPICE 수집 오류 코드](errors-spice-ingestion.md)
+ [데이터 세트의 파일 업데이트](updating-file-dataset.md)

# SPICE로 데이터 가져오기
<a name="spice"></a>

직접 SQL 쿼리를 사용하는 대신 데이터 세트로 데이터를 가져오면 저장 방식 때문에 *SPICE 데이터가* 됩니다. *SPICE (Super-fast, Parallel, In-memory Calculation Engine)*는 Amazon Quick Sight가 사용하는 강력한 인 메모리 엔진입니다. 이는 신속한 고급 계산 수행 및 데이터 제공을 목적으로 설계되었습니다. 엔터프라이즈 에디션에서는 유휴 시 SPICE에 저장된 데이터가 암호화됩니다.

데이터 세트를 생성하거나 편집할 때 SPICE 또는 직접 쿼리를 사용하도록 선택합니다. 단, 데이터 세트에 업로드한 파일이 포함된 경우는 예외입니다. 데이터를 SPICE로 가져오면(수집이라고도 함) 시간과 비용을 절약할 수 있습니다.
+ 분석 쿼리가 더 빠르게 처리됩니다.
+ 직접 쿼리가 처리될 때까지 기다릴 필요가 없습니다.
+ SPICE에 저장된 데이터는 추가 비용 없이 여러 번 재사용할 수 있습니다. 쿼리당 요금이 부과되는 데이터 원본을 사용하는 경우 데이터 세트를 처음 만들 때와 나중에 데이터 세트를 새로 고칠 때 데이터 쿼리 요금이 부과됩니다.

SPICE 용량은 각각에 대해 별도로 할당됩니다 AWS 리전. 기본 SPICE 용량은 홈에 자동으로 할당됩니다 AWS 리전. 각 AWS 계정에 대해 Quick Sight를 사용하는 모든 사용자가 단일에서 SPICE 용량을 공유합니다 AWS 리전. 다른 하나는 일부 제품을 구매하지 않는 한 SPICE 용량이 AWS 리전 없습니다. Quick Sight 관리자는 각에 있는 용량과 현재 사용 중인 [SPICE](#spice) 용량을 확인할 수 AWS 리전 있습니다. Quick Sight 관리자는 필요에 따라 더 많은 SPICE 용량을 구매하거나 미사용 SPICE 용량을 해제할 수 있습니다. 자세한 내용은 [SPICE 메모리 용량 구성](managing-spice-capacity.md) 단원을 참조하십시오.

**Topics**
+ [SPICE 데이터 세트 크기 추정](#spice-capacity-formula)

## SPICE 데이터 세트 크기 추정
<a name="spice-capacity-formula"></a>

Quick 계정의 SPICE 용량을 SPICE 기준으로 한의 데이터 세트 크기를 *논리적 크기*라고 합니다. 데이터 세트의 논리적 크기는 데이터 세트의 원본 파일 또는 테이블 크기와 같지 않습니다. 데이터 준비 과정 동안 모든 데이터 형식 변환 및 계산된 열이 정의된 이후에 데이터 세트의 논리적 크기 계산이 수행됩니다. 이러한 필드는 쿼리 성능을 개선하는 방식으로 SPICE에서 구체화되었습니다. 분석을 변경해도 SPICE에서 데이터의 논리적 크기에 영향을 주지 않습니다. 데이터 세트에 저장된 변경 사항만 SPICE 용량에 적용됩니다.

SPICE 데이터 세트의 논리적 크기는 데이터 세트 필드의 데이터 유형과 데이터 세트의 행 수에 따라 달라집니다. SPICE 데이터의 세 가지 유형은 십진수, 날짜, 문자열입니다. 데이터 준비 단계에서 필드의 데이터 유형을 데이터 시각화 요구 사항에 맞게 변환할 수 있습니다. 예를 들어, 가져오려는 파일에 모든 문자열(텍스트)이 포함될 수 있습니다. 단, 이러한 문자열을 분석에서 유의미한 방식으로 사용하려면 데이터 형식을 적절한 형식으로 변경하여 데이터를 준비해야 합니다. 가격이 포함된 필드는 문자열에서 소수로 변경될 수 있고, 날짜가 포함된 필드는 문자열에서 날짜로 변경될 수 있습니다. 계산된 필드를 만들고 원본 테이블에서 필요하지 않은 필드를 제외할 수도 있습니다. 데이터 세트 준비와 모든 변환이 완료되면 최종 스키마의 논리적 크기를 추정할 수 있습니다.

**참고**  
지리 공간 데이터 형식에서는 메타데이터를 사용하여 물리적 데이터 형식을 해석합니다. 위도와 경도는 숫자입니다. 모든 다른 지리 공간 범주는 문자열입니다.

아래 공식에서 십진수와 날짜는 셀당 8바이트로 계산되며 보조로 4바이트가 추가됩니다. 문자열은 UTF-8 인코딩의 텍스트 길이에 보조 24바이트를 더한 값을 기준으로 계산됩니다. 문자열 데이터 형식은 높은 쿼리 성능을 제공하기 위해 추가 인덱싱이 SPICE에 필요하기 때문에 더 많은 공간이 필요합니다.

```
Logical dataset size in bytes =
(Number of Numeric cells *  (12 bytes per cell))
+ (Number of Date cells    *  (12 bytes per cell))
+ SUM ((24 bytes + UTF-8 encoded length) per Text cell)
```

위 공식은 SPICE에서 단일 데이터 세트의 크기를 추정하는 데만 사용해야 합니다. SPICE 용량 사용량은 특정 리전의 계정에 있는 모든 데이터 세트의 총 크기입니다. Quick Sight는이 공식을 사용하여 Quick Sight 계정에서 사용 중인 총 SPICE 용량을 추정하는 것을 권장하지 않습니다.

# SPICE 데이터 새로 고침
<a name="refreshing-imported-data"></a>

## 데이터 세트 새로 고침
<a name="refresh-spice-data"></a>

데이터 탭에서 Amazon S3 또는 데이터베이스 데이터 소스를 기반으로 **데이터** [SPICE](spice.md) 세트를 새로 고치려면 다음 절차를 사용합니다. 데이터베이스에 스키마 변경이 있는 경우 Quick Sight는 데이터베이스를 자동으로 감지할 수 없으므로 수집에 실패합니다. 데이터 세트를 편집하고 저장하여 스키마를 업데이트하고 수집 실패를 방지합니다.

**SPICE 데이터 탭에서 데이터를 새로 고치려면**

1. 왼쪽 탐색 메뉴에서 **데이터를** 선택합니다. **데이터 세트** 탭에서 데이터 세트를 선택하여 엽니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **새로 고침** 탭을 선택한 다음 **지금 새로 고침**을 선택합니다.

1. 새로 고침 유형은 **전체 새로 고침**으로 유지합니다.

1. Amazon S3 데이터 세트를 새로 고치려면 다음의 **S3 매니페스트** 옵션 중 하나를 선택합니다.
   + Amazon Quick Sight에 마지막으로 제공한 것과 동일한 매니페스트 파일을 사용하려면 **기존 매니페스트**를 선택합니다. 마지막으로 제공한 파일 위치 또는 URL에서 매니페스트 파일을 변경한 경우, 반환된 데이터에 해당 변경 사항이 반영됩니다.
   + 로컬 네트워크에서 새 매니페스트 파일을 업로드하여 지정하려면 [**Upload Manifest**]를 선택한 다음 [**Upload manifest file**]을 선택합니다. [**Open**]에서 파일을 선택하고 [**Open**]을 선택합니다.
   + URL을 제공하여 새 매니페스트 파일을 지정하려면 **Input manifest URL(매니페스트 URL 입력)**에 매니페스트의 URL을 입력합니다. 매니페스트 파일의 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) **속성**을 선택한 다음 **링크** 상자를 보면 Amazon S3 콘솔에서 매니페스트 파일 URL을 찾을 수 있습니다.

1. [**Refresh**]를 선택합니다.

1. Amazon S3 데이터 세트를 새로 고치려면 **확인**에 이어 **확인**을 다시 선택합니다.

   데이터베이스 데이터 세트를 새로 고치려면 **확인**을 선택합니다.

## 데이터 세트를 점진적으로 새로 고침
<a name="refresh-spice-data-incremental"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Amazon Redshift, Amazon Athena, PostgreSQL 또는 Snowflake와 같은 SQL 기반 데이터 원본의 경우 룩백 윈도우 내에 데이터를 점진적으로 새로 고칠 수 있습니다.

증분 새로 고침은 지정된 룩백 윈도우 내에서 데이터 세트에 의해 정의된 데이터만 쿼리합니다. 해당 기간 내 데이터 세트에 대한 모든 삽입, 삭제, 수정 내용을 원본에서 데이터 세트로 전송합니다. 해당 기간 내에 현재 SPICE에 있는 데이터가 삭제되고 업데이트로 대체됩니다.

증분 새로 고침을 사용하면 새로 고칠 때마다 쿼리되고 전송되는 데이터가 줄어듭니다. 예를 들어 1월 1일부터 6월 30일까지의 데이터가 포함된 레코드 180,000개의 데이터 세트가 있다고 가정해 보겠습니다. 7월 1일에 룩백 윈도우를 7일로 설정하여 데이터에서 대해 증분 새로 고침을 실행합니다. Quick Sight는 7,000개의 레코드인 6월 24일(7일 전) 이후 모든 데이터를 요청하는 데이터베이스를 쿼리합니다. 그러면 Quick Sight는 6월 24일 이후SPICE부터 현재에 있는 데이터를 삭제하고 새로 쿼리된 데이터를 추가합니다. 다음 날(7월 2일) Quick Sight는 동일한 작업을 수행하지만 6월 25일(7,000개의 레코드 다시)의 쿼리를 수행한 다음 동일한 날짜의 기존 데이터 세트에서 삭제합니다. 매일 180,000개의 레코드를 수집할 필요 없이 7,000개의 레코드만 수집하면 됩니다.

다음 절차에 따라 [SPICE](spice.md) 데이터 세트 탭에서 SQL 데이터 소스를 기반으로 **데이터 세트를 점진적으로 새로 고**칩니다.

**SQL 기반 SPICE 데이터 세트를 점진적으로 새로 고치려면**

1. 왼쪽 탐색 메뉴에서 **데이터를** 선택합니다. **데이터 세트** 탭에서 데이터 세트를 선택하여 엽니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **새로 고침** 탭을 선택한 다음 **지금 새로 고침**을 선택합니다.

1. **새로 고침 유형**에서 **증분 새로 고침**을 선택합니다.

1. 데이터 세트에 대한 첫 증분 새로 고침인 경우 **구성**을 선택합니다.

1. **증분 새로 고침 구성** 페이지에서 다음 작업을 수행합니다.

   1. **날짜 열**에서 룩백 윈도우를 기준으로 사용할 날짜 열을 선택합니다.

   1. **창 크기**에서 **크기**에 숫자를 입력한 다음 변경 내용을 되돌아보고 싶은 시간을 선택합니다.

      지금부터 지정된 수의 시간, 일 또는 주 이내에 발생한 데이터의 변경 내용 새로 고침을 선택할 수 있습니다. 예를 들어, 현재 날짜로부터 2주 이내에 발생한 데이터에 대한 변경 내용을 새로 고치도록 선택할 수 있습니다.

1. **제출**을 선택합니다.

## 데이터 준비 중 데이터 세트 새로 고침
<a name="refresh-spice-data-prep"></a>

데이터 준비 중 Amazon S3 또는 데이터베이스 데이터 원본에 기반한 [SPICE](spice.md) 데이터 세트를 새로 고침 하려면 다음 절차에 따르세요.

**데이터 준비 중 SPICE 데이터를 새로 고치려면**

1. 왼쪽 탐색 메뉴에서 **데이터를** 선택합니다. **데이터 세트** 탭에서 데이터 세트를 선택한 다음 **데이터 세트 편집**을 선택합니다.

1. 데이터 세트 화면에서 **지금 새로 고침**을 선택합니다.

1. 새로 고침 유형을 **전체 새로 고침**으로 설정한 상태로 유지합니다.

1. (선택 사항) Amazon S3 데이터 세트를 새로 고치려면 다음의 **S3 매니페스트** 옵션 중 하나를 선택합니다.
   + Amazon Quick Sight에 마지막으로 제공한 것과 동일한 매니페스트 파일을 사용하려면 **기존 매니페스트**를 선택합니다. 마지막으로 제공한 파일 위치 또는 URL에서 매니페스트 파일을 변경한 경우, 반환된 데이터에 해당 변경 사항이 반영됩니다.
   + 로컬 네트워크에서 새 매니페스트 파일을 업로드하여 지정하려면 [**Upload Manifest**]를 선택한 다음 [**Upload manifest file**]을 선택합니다. [**Open**]에서 파일을 선택하고 [**Open**]을 선택합니다.
   + URL을 제공하여 새 매니페스트 파일을 지정하려면 **Input manifest URL(매니페스트 URL 입력)**에 매니페스트의 URL을 입력합니다. 매니페스트 파일의 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) **속성**을 선택한 다음 **링크** 상자를 보면 Amazon S3 콘솔에서 매니페스트 파일 URL을 찾을 수 있습니다.

1. [**Refresh**]를 선택합니다.

1. Amazon S3 데이터 세트를 새로 고치려면 **확인**에 이어 **확인**을 다시 선택합니다.

   데이터베이스 데이터 세트를 새로 고치려면 **확인**을 선택합니다.

## 일정에서 데이터 세트 새로 고침
<a name="schedule-data-refresh"></a>

데이터 새로 고침을 예약하려면 다음 절차에 따르십시오. 데이터 세트가 직접 쿼리를 기반으로 하고 [SPICE](spice.md)에 저장되지 않은 경우 데이터 세트를 열어 데이터를 새로 고칠 수 있습니다. 분석 또는 대시보드에서 페이지를 새로 고쳐 데이터를 새로 고칠 수도 있습니다.

**일정에서 [SPICE](spice.md) 데이터를 새로 고치려면**

1. 왼쪽 탐색 메뉴에서 **데이터를** 선택합니다. **데이터 세트** 탭에서 데이터 세트를 선택하여 엽니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **새로 고침** 탭을 선택한 다음 **새 일정 추가**를 선택합니다.

1. **새로 고침 일정 생성** 화면에서 일정 설정을 선택합니다.

   1. **표준 시간대**에서 데이터 새로 고침에 적용되는 표준 시간대를 선택합니다.

   1. **시작 시간**에서 새로 고침을 시작할 날짜를 선택합니다. HH:MM 및 24시간 형식(예: 13:30)을 사용합니다.

   1. **빈도**에서 다음 중 하나를 선택합니다.
      + 스탠다드나 엔터프라이즈 버전의 경우 **매일**, **매주**, **매월**을 선택할 수 있습니다.
        + **매일**: 매일 반복합니다.
        + **매주**: 매주 같은 요일에 반복합니다.
        + [**Monthly**]: 매월 같은 날짜에 반복. 매월 29일, 30일 또는 31일에 데이터를 새로 고치려면, 목록에서 [**Last day of month**]를 선택합니다.
      + 엔터프라이즈 버전의 경우에만 **시간 기준**을 선택할 수 있습니다. 선택한 시간부터 매 시간 데이터 세트를 새로 고치는 설정입니다. 1시 5분을 시작 시간으로 설정하면 매 시간 5분에 데이터를 새로 고칩니다.

        시간별 새로 고침을 사용하는 경우 추가적인 새로 고침 일정을 사용할 수 없습니다. 시간별 일정을 만들려면 해당 데이터 세트의 다른 기존 일정을 모두 제거합니다. 또한 일별, 주별 또는 월별 일정을 생성하기 전에 기존의 시간별 일정을 모두 제거합니다.

1. **저장**을 선택합니다.

예약된 데이터세트 수집은 예약된 날짜 및 시간으로부터 10분 이내에 이루어집니다.

빠른 콘솔을 사용하여 각 데이터 세트에 대해 5개의 일정을 생성할 수 있습니다. 일정을 5개 생성하면 **생성** 버튼이 비활성화됩니다.

## 일정에서 데이터 세트를 점진적으로 새로 고침
<a name="schedule-data-refresh-incremental"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Amazon Redshift, Athena, PostgreSQL 또는 Snowflake와 같은 SQL 기반 데이터 원본의 경우 증분 새로 고침을 예약할 수 있습니다. 데이터 [SPICE](spice.md) 세트 탭에서 SQL 데이터 소스를 기반으로 **데이터 세트를** 점진적으로 새로 고치려면 다음 절차를 사용합니다.

**SQL 기반 SPICE 데이터 세트의 증분 새로 고침 일정을 설정하려면**

1. 왼쪽 탐색 메뉴에서 **데이터를** 선택합니다. **데이터 세트** 탭에서 데이터 세트를 선택하여 엽니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **새로 고침** 탭을 선택한 다음 **새 일정 추가**를 선택합니다.

1. **일정 생성** 페이지에서 **새로 고침 유형**으로 **증분 새로 고침**을 선택합니다.

1. 이 데이터 세트에 대한 첫 증분 새로 고침인 경우 **구성**을 선택하고 다음을 수행하세요.

   1. **날짜 열**에서 룩백 윈도우를 기준으로 사용할 날짜 열을 선택합니다.

   1. **창 크기**에서 **크기**에 숫자를 입력한 다음 변경 내용을 되돌아보고 싶은 시간을 선택합니다.

      지금부터 지정된 수의 시간, 일 또는 주 이내에 발생한 데이터의 변경 내용 새로 고침을 선택할 수 있습니다. 예를 들어, 현재 날짜로부터 2주 이내에 발생한 데이터에 대한 변경 내용을 새로 고치도록 선택할 수 있습니다.

   1. **제출**을 선택합니다.

1. **표준 시간대**에서 데이터 새로 고침에 적용되는 표준 시간대를 선택합니다.

1. **반복**에서 다음 중 하나를 선택합니다.
   + **15분마다**, **30분마다**, **시간별**, **일별**, **주별** 또는 **월별**을 선택할 수 있습니다.
     + **15분마다**: 선택한 시간부터 시작하여 15분마다 반복합니다. 따라서 1:05을 시작 시간으로 선택하면 데이터를 1:20에 새로 고침 하고 1:35에 다시 새로 고침 합니다.
     + **30분마다**: 선택한 시간부터 시작하여 30분마다 반복합니다. 따라서 1:05을 시작 시간으로 선택하면 데이터를 1:35에 새로 고침 하고 2:05에 다시 새로 고침 합니다.
     + **시간별**: 선택한 시간부터 시작하여 1시간마다 반복합니다. 1시 5분을 시작 시간으로 설정하면 매 시간 5분에 데이터를 새로 고칩니다.
     + **매일**: 매일 반복합니다.
     + **매주**: 매주 같은 요일에 반복합니다.
     + [**Monthly**]: 매월 같은 날짜에 반복. 매월 29일, 30일 또는 31일에 데이터를 새로 고치려면, 목록에서 [**Last day of month**]를 선택합니다.
   + 15분, 30분, 시간별 새로 고침을 사용하는 경우 추가적인 새로 고침 일정을 사용할 수 없습니다. 15분, 30분 또는 시간마다 새로 고침 일정을 만들려면 해당 데이터 세트의 다른 기존 일정을 모두 제거합니다. 또한 일별, 주별 또는 월별 일정을 생성하기 전에 기존의 분 또는 시간별 일정을 모두 제거합니다.

1. **시작**에서 새로 고침을 시작할 날짜를 선택합니다.

1. **시간**에서 새로 고침이 시작되어야 하는 시간을 지정합니다. HH:MM 및 24시간 형식(예: 13:30)을 사용합니다.

예약된 데이터세트 수집은 예약된 날짜 및 시간으로부터 10분 이내에 이루어집니다.

경우에 따라 증분 새로 고침 데이터 세트에 문제가 발생하여 데이터 세트를 롤백하고 싶어질 수 있습니다. 또는 더 이상 데이터 세트를 점진적으로 새로 고침 하고 싶지 않을 수도 있습니다. 그럴 경우 예약된 새로 고침을 삭제할 수 있습니다.

이렇게 하려면 **데이터 세트** 페이지에서 데이터 세트를 선택하고 **새로 고침 예약**을 선택한 다음 예약된 새로 고침 오른쪽에 있는 x 아이콘을 선택합니다. 증분 새로 고침 구성을 삭제하면 전체 새로 고침이 시작됩니다. 이 전체 새로 고침의 일부로 증분 새로 고침을 위해 준비된 모든 구성이 제거됩니다.

# 분석에 SPICE 데이터 사용
<a name="spice-in-an-analysis"></a>

저장된 데이터로 분석을 생성하는 경우, **필드 목록** 창 상단의 데이터 세트 목록 옆에 데이터 가져오기 표시기가 나타납니다. 분석을 처음 열고 데이터 세트를 가져오면 스피너 아이콘이 나타납니다.

SPICE 가져오기가 완료되면 이 표시기에 성공적으로 가져온 행의 백분율이 표시됩니다. 이와 함께 시각적 객체 창 상단에는 가져온 행 수와 건너뛴 행 수를 알리는 메시지가 나타납니다.

건너뛴 행이 있는 경우, 이 메시지 표시줄에서 [**View summary**]를 선택하여 해당 행을 가져오지 못한 이유를 자세히 알아볼 수 있습니다. 데이터 세트를 편집하여 행이 건너뛰게 된 문제를 해결하려면 **데이터 세트 편집**을 선택합니다. 행 건너뛰기의 일반적인 원인은 [건너뛴 행 오류 문제 해결](troubleshooting-skipped-rows.md) 단원을 참조하십시오.

가져오기를 전부 실패하는 경우, 데이터 가져오기 표시기가 느낌표 아이콘으로 바뀌고 [**Import failed**] 메시지가 나타납니다.

# SPICE 수집 기록 보기
<a name="view-history-of-spice-ingestion"></a>

SPICE 데이터 세트의 수집 기록을 보고 최근 수집이 시작된 시간과 해당 상태 등을 확인할 수 있습니다.

SPICE 수집 기록 페이지에는 다음 정보가 포함됩니다.
+ 수집이 시작된 날짜 및 시간(UTC)
+ 수집 상태
+ 수집에 소요된 시간
+ 데이터 세트에서 집계된 행 수입니다.
+ 새로 고침 중 수집된 행 수입니다.
+ 행을 건너뛰고 행을 성공적으로 수집(가져오기) 했습니다.
+ 새로 고침에 대한 작업 유형(예약됨, 전체 새로 고침 등)

데이터 세트의 SPICE 수집 기록을 보려면 다음 절차를 따르세요.

**데이터 세트의 SPICE 수집 기록을 보려면**

1. 홈페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터 세트** 탭에서 검사할 데이터 세트를 선택합니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **새로 고침** 탭을 선택합니다.

   SPICE 수집 기록이 하단에 표시됩니다.

1. (선택 사항) 최근 1시간부터 지난 90일까지 항목을 필터링할 시간 프레임을 선택합니다.

1. (선택 사항) 특정 작업 상태(예: **실행 중** 또는 **완료됨**)를 선택하여 항목을 필터링합니다. 그렇지 않으면 **모두**를 선택하여 모든 항목을 볼 수 있습니다.

# 건너뛴 행 오류 문제 해결
<a name="troubleshooting-skipped-rows"></a>

데이터를 가져올 때 Amazon Quick Sight는 데이터의 일부를 미리 봅니다. 어떤 이유로든 행을 해석할 수 없는 경우 Quick Sight는 행을 건너뜁니다. 경우에 따라 가져오기가 실패합니다. 이 경우 Quick Sight는 실패를 설명하는 오류 메시지를 반환합니다.

다행히도 잘못될 수 있는 일의 수는 제한되어 있습니다. 다음과 같은 예를 알아두면 일부 문제를 피할 수 있습니다.
+ 필드의 데이터 형식과 필드 데이터 간의 불일치가 없는지 확인합니다(예: 간혹 데이터 형식이 숫자인 필드에 텍스트 데이터가 들어 있는 경우). 다음은 테이블 내용을 스캔할 때 감지하기 어려운 몇 가지 예입니다.
  + `''` - 빈 문자열을 사용하여 누락된 값을 표시합니다.
  + `'NULL'` - 단어 ‘null’을 사용하여 누락된 값을 표시합니다.
  + `$1000` - 통화 값에 달러 기호를 포함하면 해당 값이 문자열로 바뀝니다.
  + `'O'Brien'` - 구두점을 사용하여 문자열 자체에 동일한 구두점이 포함된 문자열을 표시합니다.

  하지만 이런 유형의 오류는 항상 찾기가 쉽지 않습니다. 특히 데이터가 많거나 데이터를 직접 입력한 경우에는 더욱 그렇습니다. 예를 들어, 일부 고객 서비스 또는 영업 애플리케이션에서는 고객이 구두로 제공한 정보를 입력해야 합니다. 원래 데이터를 입력한 사람이 데이터를 잘못된 필드에 입력했을 수 있습니다. 문자나 숫자를 추가했거나 추가하는 것을 잊어버렸을 수 있습니다. 예를 들어 날짜를 ‘0/10/12020’으로 입력하거나 연령을 나타내는 필드에 다른 사람의 성별을 입력할 수 있습니다.
+ 가져온 파일이 헤더가 있든 없든 올바르게 처리되었는지 확인합니다. 헤더 행이 있는 경우 **헤더 포함** 업로드 옵션을 선택했는지 확인합니다.
+ 데이터가 [데이터 소스 할당량](data-source-limits.md)를 하나 이상 초과하지 않는지 확인합니다.
+ 데이터가 [지원되는 데이터 형식 및 값](supported-data-types-and-values.md)와 호환되는지 확인합니다.
+ 계산된 필드가 계산된 필드에 있는 함수에 의해 호환되지 않거나 제외되지 않도록 계산에 사용할 수 있는 데이터를 포함했는지 확인합니다. 예를 들어 데이터 세트에를 사용하는 계산된 필드가 있는 경우 [parseDate](parseDate-function.md)Quick Sight는 해당 필드에 유효한 날짜가 포함되지 않은 행을 건너뜁니다.

Quick Sight는 SPICE 엔진이 데이터 수집을 시도할 때 발생하는 오류의 세부 목록을 제공합니다. 저장된 데이터 세트에서 건너뛴 행을 보고하면 오류를 확인하여 문제를 해결하기 위한 조치를 취할 수 있습니다.

**SPICE 수집(데이터 가져오기) 중에 건너뛰었던 행의 오류를 보려면**

1. 왼쪽에서 **데이터를** 선택합니다. **데이터 세트** 탭에서 문제가 있는 데이터 세트를 선택하여 엽니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **새로 고침** 탭을 선택합니다.

   SPICE 수집 기록이 하단에 표시됩니다.

1. 오류가 발생한 수집의 경우 **오류 요약 보기**를 선택합니다. 이 링크는 **상태** 열 아래에 있습니다.

1. 열리는 **파일 가져오기 로그**를 살펴보세요. 다음과 같은 섹션이 표시됩니다.
   + **요약** - 가져오기에서 총 행 수 중 생략된 행 수에 대한 백분율 점수를 제공합니다. 예를 들어 총 1,728개 중 864개 행을 건너뛰면 점수는 50.00% 입니다.
   + **건너뛴 행** - 건너뛴 행과 유사한 각 행 세트에 대한 행 수, 필드 이름 및 오류 메시지를 제공합니다.
   + **문제 해결** - 오류 정보가 포함된 파일을 다운로드할 수 있는 링크를 제공합니다.

1. **문제 해결**에서 **오류 행 파일 다운로드**를 선택합니다.

   오류 파일에는 각 오류에 대한 행이 있습니다. 파일 이름이 `error-report_123_fe8.csv`로 지정되며, 여기서 `123_fe8`은 고유한 식별 문자열로 바뀝니다. 파일에는 다음 열이 포함되어 있습니다.
   + **ERROR\$1TYPE** - 이 행을 가져올 때 발생한 오류의 유형 또는 오류 코드입니다. 이 오류는 이 절차 다음에 나오는 [SPICE 수집 오류 코드](errors-spice-ingestion.md) 섹션에서 찾아볼 수 있습니다.
   + **COLUMN\$1NAME** - 오류를 일으킨 데이터의 열 이름입니다.
   + 가져온 행의 모든 열 - 나머지 열은 전체 데이터 행을 복제합니다. 행에 오류가 두 개 이상 있는 경우 이 파일에 오류가 여러 번 나타날 수 있습니다.

1. **데이터 세트 편집**을 선택하여 데이터 세트를 변경합니다. 데이터 필터링, 필드 생략, 데이터 유형 변경, 기존 계산된 필드 조정, 데이터를 검증하는 계산된 필드 추가를 할 수 있습니다.

1. 오류 코드로 표시된 내용을 변경한 후에는 데이터를 다시 가져옵니다. 로그에 SPICE 수집 오류가 더 많이 나타나는 경우 이 절차를 다시 수행하여 남아 있는 오류를 모두 수정하세요.

**작은 정보**  
데이터 세트 편집기를 사용하여 적절한 시간 내에 데이터 문제를 해결할 수 없는 경우 데이터를 소유한 관리자 또는 개발자에게 문의하세요. 장기적으로는 분석을 위해 데이터를 준비하는 동안 예외 처리를 추가하는 것보다 원본에 가까운 곳에서 데이터를 정리하는 것이 더 비용 효율적입니다. 데이터를 원본에서 수정하면 여러 사람이 서로 다른 방식으로 오류를 수정하여 나중에 보고 결과가 달라지는 상황을 피할 수 있습니다.

**건너뛴 행의 문제 해결을 연습하려면**

1. [samples/csv-files-for-troubleshooting-skipped-rows.zip](samples/csv-files-for-troubleshooting-skipped-rows.zip)를 다운로드합니다.

1. 샘플 .csv 파일을 Quick Sight에 업로드하는 데 사용할 수 있는 폴더에 파일을 추출합니다.

   zip 파일에는 다음의 두 텍스트 파일이 포함되어 있습니다.
   + `sample dataset - data ingestion error.csv` - 행을 건너뛰는 원인이 되는 문제가 포함된 샘플 .csv 파일입니다. 파일을 직접 가져와서 오류 프로세스의 작동 방식을 확인할 수 있습니다.
   + `sample data ingestion error file` - 샘플 SPICE .csv 파일을 Quick Sight로 가져오는 동안 수집 중에 생성된 샘플 오류 파일입니다.

1. 다음 단계에 따라 데이터를 가져옵니다.

   1. **데이터**, **데이터 세트** 탭, **신규**, **데이터 세트를** 선택합니다.

   1. [**Upload a file**]을 선택합니다.

   1. `sample dataset - data ingestion error.csv`으로 이름이 지정된 파일을 찾아 선택합니다.

   1. **파일 업로드**, **설정 편집 및 데이터 준비**를 선택합니다.

   1. **저장**을 선택하여 종료합니다.

1. 정보를 확인할 데이터 세트를 선택한 다음 **오류 요약 보기**를 선택합니다. 문제 해결에 도움이 되는 오류 및 데이터를 검토하세요.

# SPICE 수집 오류 코드
<a name="errors-spice-ingestion"></a>

다음 오류 코드 및 설명 목록을 참조하여 SPICE의 데이터 수집 관련 문제를 이해하고 해결할 수 있습니다.

## 건너뛴 행의 오류 코드
<a name="errors-skipped-rows-during-import"></a>

다음 오류 코드 및 설명 목록을 참조하여 건너뛴 행과 관련 문제를 이해하고 해결할 수 있습니다.

****ARITHMETIC\$1EXCEPTION**** - 값을 처리하는 동안 산술 예외가 발생했습니다.

****ENCODING\$1EXCEPTION**** - 데이터를 SPICE로 변환하고 인코딩하는 동안 알 수 없는 예외가 발생했습니다.

****OPENSEARCH\$1CURSOR\$1NOT\$1ENABLED**** - OpenSearch 도메인에는 SQL 커서가 활성화되어 있지 않습니다(`"opendistro.sql.cursor.enabled" : "true"`). 자세한 내용은 [Amazon OpenSearch Service에 대한 연결 승인](opensearch.md) 단원을 참조하십시오.

****INCORRECT\$1FIELD\$1COUNT**** - 하나 이상의 행에 필드가 너무 많습니다. 각 행의 필드 수가 스키마로 정의된 필드 수와 일치하는지 확인하세요.

****INCORRECT\$1SAGEMAKER\$1OUTPUT\$1FIELD\$1COUNT**** - SageMaker AI 출력에 예상치 못한 수의 필드가 있습니다.

****INDEX\$1OUT\$1OF\$1BOUNDS**** - 시스템에서 처리 중인 배열 또는 목록에 유효하지 않은 인덱스을 요청했습니다.

****MALFORMED\$1DATE**** - 필드의 값을 유효한 날짜로 변환할 수 없습니다. 예를 들어, `"sale date"` 또는 `"month-1"`과 같은 값이 포함된 필드를 변환하려고 하면 잘못된 날짜 오류가 발생합니다. 이 오류를 수정하려면 데이터 원본에서 날짜가 아닌 값을 제거합니다. 데이터에 열 헤더가 혼합된 파일을 가져오지 않는지 확인하세요. 문자열에 변환되지 않는 날짜 또는 시간이 포함된 경우 [지원되지 않는 날짜 또는 사용자 지정 날짜 사용](using-unsupported-dates.md) 섹션을 참조하세요.

****MISSING\$1SAGEMAKER\$1OUTPUT\$1FIELD**** - SageMaker AI 출력에 있는 필드가 예기치 않게 비어 있습니다.

****NUMBER\$1BITWIDTH\$1TOO\$1LARGE**** - 숫자 값이 SPICE에서 지원하는 길이를 초과합니다. 예를 들어, 숫자 값이 `bigint` 데이터 유형의 길이인 19자리 이상일 수 있습니다. 수학 값이 아닌 긴 숫자 시퀀스의 경우 `string` 데이터 유형을 사용하세요.

****NUMBER\$1PARSE\$1FAILURE**** - 숫자 필드의 값은 숫자가 아닙니다. 예를 들어, 데이터 유형이 `int`인 필드는 문자열이나 부동 소수점을 포함합니다.

****SAGEMAKER\$1OUTPUT\$1COLUMN\$1TYPE\$1MISMATCH**** - SageMaker AI 스키마에 정의된 데이터 유형이 SageMaker AI에서 받은 데이터 유형과 일치하지 않습니다.

****STRING\$1TRUNCATION**** - 문자열이 SPICE에서 잘립니다. 문자열 길이가 SPICE 할당량을 초과하면 문자열이 잘립니다. SPICE에 대한 자세한 정보는 [SPICE로 데이터 가져오기](spice.md) 섹션을 참조하세요. 할당량에 대한 자세한 내용은 [Service Quotas](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html) 섹션을 참조하세요.

****UNDEFINED**** - 데이터를 수집하는 동안 알 수 없는 오류가 발생했습니다.

****UNSUPPORTED\$1DATE\$1VALUE**** - 날짜 필드에 지원되는 형식이지만 지원되는 날짜 범위에 속하지 않는 날짜가 포함됩니다(예: ‘12/31/1399’ 또는 ‘01/01/10000’). 자세한 내용은 [지원되지 않는 날짜 또는 사용자 지정 날짜 사용](using-unsupported-dates.md) 단원을 참조하십시오.

## 데이터 가져오기 중 오류 코드
<a name="errors-during-import"></a>

실패한 가져오기 및 데이터 새로 고침 작업의 경우 Quick Sight는 실패 원인을 나타내는 오류 코드를 제공합니다. 다음 오류 코드 및 설명 목록을 참조하여 SPICE의 데이터 수집 관련 문제를 이해하고 해결할 수 있습니다.

****ACCOUNT\$1CAPACITY\$1LIMIT\$1EXCEEDED**** - 이 데이터는 현재 SPICE 용량을 초과합니다. SPICE 용량을 더 구입하거나 기존 SPICE 데이터를 정리한 다음 이 수집을 다시 시도하세요.

****CONNECTION\$1FAILURE**** – Amazon Quick Sight가 데이터 소스에 연결할 수 없습니다. 데이터 원본 연결 설정을 확인하고 다시 시도하십시오.

****CUSTOMER\$1ERROR**** - 데이터를 구문 분석하는 동안 문제가 발생했습니다. 이 문제가 지속되면 Amazon Quick Sight 기술 지원에 문의하세요.

****DATA\$1SET\$1DELETED**** - 데이터 원본 또는 데이터 세트가 수집 중에 삭제되었거나 사용할 수 없게 되었습니다.

****DATA\$1SET\$1SIZE\$1LIMIT\$1EXCEEDED**** - 이 데이터 세트가 허용 가능한 최대 SPICE 데이터 세트 크기를 초과했습니다. 필터를 사용하여 데이터 세트 크기를 줄이고 다시 시도하세요. SPICE 할당량에 대한 자세한 내용은 [데이터 소스 할당량](data-source-limits.md) 섹션을 참조하세요.

****DATA\$1SOURCE\$1AUTH\$1FAILED**** - 데이터 원본 인증에 실패했습니다. 자격 증명을 확인하고 **데이터 원본 편집** 옵션을 사용하여 만료된 자격 증명을 교체하세요.

****DATA\$1SOURCE\$1CONNECTION\$1FAILED**** - 데이터 원본 연결에 실패했습니다. URL을 확인하고 다시 시도하십시오. 이 오류가 계속되면 데이터 원본 관리자에게 도움을 요청하십시오.

****DATA\$1SOURCE\$1NOT\$1FOUND**** - 데이터 원본을 찾을 수 없습니다. Amazon Quick Sight 데이터 소스를 확인합니다.

****DATA\$1TOLERANCE\$1EXCEPTION**** - 잘못된 행이 너무 많습니다. Amazon Quick Sight는 건너뛰고 계속 수집할 수 있는 행의 할당량에 도달했습니다. 데이터를 확인하고 다시 시도하십시오.

****FAILURE\$1TO\$1ASSUME\$1ROLE**** – Amazon Quick Sight가 올바른 AWS Identity and Access Management (IAM) 역할을 수임할 수 없습니다. IAM 콘솔에서 `Amazon Quick Sight-service-role`에 대한 정책을 확인하십시오.

****FAILURE\$1TO\$1PROCESS\$1JSON\$1FILE**** – Amazon Quick Sight가 매니페스트 파일을 유효한 JSON으로 구문 분석할 수 없습니다.

****IAM\$1ROLE\$1NOT\$1AVAILABLE**** – Amazon Quick Sight에는 데이터 소스에 액세스할 수 있는 권한이 없습니다. 리소스에 대한 AWS Amazon Quick Sight 권한을 관리하려면 관리자로서 **Amazon Quick Sight 관리** 옵션 아래의 **보안 및 권한** 페이지로 이동합니다.

****INGESTION\$1CANCELED**** - 사용자가 수집을 취소했습니다.

****INGESTION\$1SUPERSEDED**** - 이 수집은 다른 워크플로로 대체되었습니다. 다른 수집이 아직 진행 중인 동안 새 수집이 생성될 때 수행됩니다. 각 수동 편집은 새 수집을 생성하고 이때 이전 수집을 종료하고 대체하므로 짧은 기간에 데이터세트를 여러 번 수동으로 편집하지 마세요.

****INTERNAL\$1SERVICE\$1ERROR**** - 내부 서비스 오류가 발생했습니다.

****INVALID\$1DATA\$1SOURCE\$1CONFIG**** - 연결 설정에 잘못된 값이 나타납니다. 연결 세부 정보를 확인하고 다시 시도하십시오.

****INVALID\$1DATAPREP\$1SYNTAX**** - 계산된 필드 표현식에 잘못된 구문이 포함되어 있습니다. 구문을 수정하고 다시 시도하십시오.

****INVALID\$1DATE\$1FORMAT**** - 잘못된 날짜 형식이 나타납니다.

****IOT\$1DATA\$1SET\$1FILE\$1EMPTY**** – AWS IoT 분석 데이터를 찾을 수 없습니다. 계정을 확인하고 다시 시도하십시오.

****IOT\$1FILE\$1NOT\$1FOUND**** - 표시된 AWS IoT 분석 파일을 찾을 수 없습니다. 계정을 확인하고 다시 시도하십시오.

****OAUTH\$1TOKEN\$1FAILURE**** - 데이터 원본에 대한 자격 증명이 만료되었습니다. 자격 증명을 갱신하고 이 수집을 다시 시도하십시오.

****PASSWORD\$1AUTHENTICATION\$1FAILURE**** - 데이터 원본의 잘못된 자격 증명이 나타납니다. 데이터 원본 자격 증명을 업데이트하고 이 수집을 다시 시도하십시오.

****PERMISSION\$1DENIED**** - 요청한 리소스에 대한 액세스가 데이터 원본에 의해 거부되었습니다. 데이터베이스 관리자에게 권한을 요청하거나 재시도 전에 Amazon Quick Sight에 적절한 권한이 부여되었는지 확인합니다.

****QUERY\$1TIMEOUT**** - 데이터 원본에 대한 쿼리가 응답 대기 시간을 초과했습니다. 데이터 원본 로그를 확인하고 다시 시도하십시오.

****ROW\$1SIZE\$1LIMIT\$1EXCEEDED**** - 행 크기 할당량이 최대값을 초과했습니다.

****S3\$1FILE\$1INACCESSIBLE**** - S3 버킷에 연결할 수 없습니다. S3 버킷에 연결하기 전에 Amazon Quick Sight 및 사용자에게 필요한 권한을 부여해야 합니다.

****S3\$1MANIFEST\$1ERROR**** - S3 데이터에 연결할 수 없습니다. S3 매니페스트 파일이 유효한지 확인합니다. 또한 S3 데이터에 대한 액세스를 확인합니다. Amazon Quick Sight와 Amazon Quick Sight 사용자 모두 S3 데이터에 연결할 수 있는 권한이 필요합니다.

****S3\$1UPLOADED\$1FILE\$1DELETED**** - 수집을 위한 파일이 삭제되었습니다(수집 사이). S3 버킷을 확인하고 다시 시도하십시오.

****SOURCE\$1API\$1LIMIT\$1EXCEEDED\$1FAILURE**** - 이 수집이 이 데이터 원본의 API 할당량을 초과합니다. 데이터 원본 관리자에게 도움을 요청하십시오.

****SOURCE\$1RESOURCE\$1LIMIT\$1EXCEEDED**** - SQL 쿼리가 데이터 원본의 리소스 할당량을 초과합니다. 관련된 리소스의 예로는 동시 쿼리 할당량, 연결 할당량 및 물리적 서버 리소스 등이 있습니다. 데이터 원본 관리자에게 도움을 요청하십시오.

****SPICE\$1TABLE\$1NOT\$1FOUND**** - Amazon Quick Sight 데이터 소스 또는 데이터 세트가 수집 중에 삭제되었거나 사용할 수 없게 되었습니다. Amazon Quick Sight에서 데이터 세트를 확인하고 다시 시도하세요. 자세한 내용은 [건너뛴 행 오류 문제 해결](troubleshooting-skipped-rows.md) 단원을 참조하십시오.

****SQL\$1EXCEPTION**** - 일반 SQL 오류가 발생했습니다. 이 오류는 쿼리 시간 초과, 리소스 제약 조건, 쿼리 전 또는 도중에 예기치 않은 DDL(데이터 정의 언어) 변경 및 기타 데이터베이스 오류로 인해 발생할 수 있습니다. 데이터베이스 설정 및 쿼리를 확인하고 다시 시도하십시오.

****SQL\$1INVALID\$1PARAMETER\$1VALUE**** - 잘못된 SQL 파라미터가 나타났습니다. SQL을 확인하고 다시 시도하십시오.

****SQL\$1NUMERIC\$1OVERFLOW**** – Amazon Quick Sight에서 out-of-range 숫자 예외가 발생했습니다. 오버플로우에 대한 관련 값과 계산된 열을 확인하고 다시 시도하십시오.

****SQL\$1SCHEMA\$1MISMATCH\$1ERROR**** – 데이터 소스 스키마가 Amazon Quick Sight 데이터 세트와 일치하지 않습니다. Amazon Quick Sight 데이터 세트 정의를 업데이트합니다.

****SQL\$1TABLE\$1NOT\$1FOUND**** – Amazon Quick Sight가 데이터 소스에서 테이블을 찾을 수 없습니다. 데이터 세트 또는 사용자 지정 SQL에 지정된 테이블을 확인하고 다시 시도하세요.

****SSL\$1CERTIFICATE\$1VALIDATION\$1FAILURE**** – Amazon Quick Sight는 데이터베이스 서버에서 SSL(Secure Sockets Layer) 인증서를 검증할 수 없습니다. 데이터베이스 관리자와 함께 해당 서버의 SSL 상태를 확인하고 다시 시도하십시오.

****UNRESOLVABLE\$1HOST**** – Amazon Quick Sight가 데이터 소스의 호스트 이름을 확인할 수 없습니다. 데이터 원본의 호스트 이름을 확인하고 다시 시도하십시오.

****UNROUTABLE\$1HOST**** - Amazon Quick Sight는 프라이빗 네트워크 내에 있기 때문에 데이터 소스에 연결할 수 없습니다. Enterprise Edition에서 프라이빗 VPC 연결이 올바르게 구성되었는지 확인하거나 Amazon Quick Sight IP 주소 범위를 허용하여 Standard Edition에 대한 연결을 허용합니다.

# 데이터 세트의 파일 업데이트
<a name="updating-file-dataset"></a>

최신 버전의 파일을 가져오기 위해 데이터 세트에서 파일을 업데이트할 수 있습니다. 다음 유형의 파일을 업데이트할 수 있습니다.
+ 쉼표로 구분된(CSV) 텍스트 파일 및 탭으로 구분된(TSV) 텍스트 파일
+ 확장 및 일반 로그 형식 파일(ELF 및 CLF)
+ 플랫 또는 반정형 데이터 파일(JSON)
+ Microsoft Excel(XLSX) 파일

파일을 업데이트하기 전에 새 파일에 현재 데이터 세트에 있는 원본 파일과 동일한 순서로 동일한 필드가 있는지 확인하세요. 두 파일 간에 필드(열) 불일치가 있는 경우 오류가 발생하며 다시 업데이트를 시도하기 전에 불일치를 수정해야 합니다. 새 파일을 원본과 일치하도록 편집하여 이 작업을 수행할 수 있습니다. 새 필드를 추가하려면 파일에 있는 원래 필드 뒤에 추가할 수 있습니다. 예를 들어, Microsoft Excel 스프레드시트에서는 원본 필드 오른쪽에 새 필드를 추가할 수 있습니다.

**데이터 세트의 파일을 업데이트하려면**

1. Quick Sight에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터 세트** 탭에서 업데이트하려는 데이터 세트를 선택한 다음 **데이터 세트 편집**을 선택합니다.

1. 데이터 준비 페이지가 열리면 업데이트할 파일의 드롭다운 목록을 선택하고 **파일 업데이트**를 선택합니다.

1. 열리는 **파일 업데이트** 페이지에서 **파일 업로드**를 선택한 다음 파일을 탐색합니다.

   Quick Sight는 파일을 스캔합니다.

1. 파일이 Microsoft Excel 파일인 경우 열리는 **시트 선택** 페이지에서 원하는 시트를 선택한 다음 **선택**을 선택합니다.

1. 다음 페이지에서 **파일 업데이트 확인**을 선택합니다. 일부 시트 열의 미리 보기가 참조용으로 표시됩니다.

   파일이 성공적으로 업데이트되었다는 메시지가 오른쪽 상단에 나타나고 테이블 미리보기가 업데이트되어 새 파일 데이터가 표시됩니다.

# Amazon Quick Sight에서 데이터 준비
<a name="preparing-data"></a>

해당 데이터에 대해 수행한 모든 데이터 준비가 데이터 세트에 저장되어 있으므로, 준비된 데이터를 여러 가지 분석에 재사용할 수 있습니다. 데이터 준비를 통해 계산된 필드 추가, 필터 적용, 필드 이름 바꾸기 또는 데이터 형식 변경 등이 가능합니다. SQL 데이터베이스의 데이터 원본에서 시작하는 경우 데이터 준비를 사용해 테이블을 조인할 수 있습니다. 또는 여러 테이블의 데이터를 작업하기 원하는 경우 SQL 쿼리를 입력할 수 있습니다.

Amazon Quick Sight에서 사용하기 전에 데이터 소스에서 데이터를 변환하려는 경우 필요에 맞게 데이터를 준비할 수 있습니다. 그런 다음 이 준비를 데이터 세트의 일부로 저장합니다.

데이터 세트를 생성할 때 또는 생성한 데이터를 나중에 편집하여 데이터 세트를 준비할 수 있습니다. 새 데이터 세트 생성 및 준비에 대한 자세한 내용은 [데이터 세트 생성](creating-data-sets.md) 단원을 참조하십시오. 데이터 준비를 위해 기존 데이터 세트를 여는 방법에 대한 자세한 내용은 [데이터 세트 편집](edit-a-data-set.md) 단원을 참조하십시오.

다음 주제를 확인하면 데이터 준비에 대해 자세히 알아볼 수 있습니다.

**Topics**
+ [데이터 준비 환경(신규)](data-prep-experience-new.md)
+ [데이터 설명](describing-data.md)
+ [파일 업로드 설정 선택](choosing-file-upload-settings.md)
+ [데이터 준비 경험(레거시)](data-prep-experience-legacy.md)
+ [SQL을 사용하여 데이터 사용자 지정](adding-a-SQL-query.md)
+ [지리 공간 데이터 추가](geospatial-data-prep.md)
+ [지원되지 않는 날짜 또는 사용자 지정 날짜 사용](using-unsupported-dates.md)
+ [Amazon Quick Sight 데이터 세트에 고유 키 추가](set-unique-key.md)
+ [Amazon SageMaker AI 모델을 Amazon Quick Sight와 통합](sagemaker-integration.md)
+ [데이터 세트 준비 예제](preparing-data-sets.md)

# 데이터 준비 환경(신규)
<a name="data-prep-experience-new"></a>

데이터 준비는 원시 데이터를 분석 및 시각화에 최적화된 형식으로 변환합니다. 비즈니스 인텔리전스에서이 중요한 프로세스에는 데이터를 정리, 구조화 및 보강하여 의미 있는 비즈니스 인사이트를 얻는 것이 포함됩니다.

Amazon Quick Sight의 데이터 준비 인터페이스는 사용자가 SQL 전문 지식 없이 분석 가능한 데이터 세트를 생성할 수 있는 직관적이고 시각적인 환경으로이 프로세스를 혁신합니다. 현대적이고 간소화된 접근 방식을 통해 사용자는 비즈니스 인텔리전스 데이터 세트를 효율적으로 생성하고 관리할 수 있습니다. 시각적 인터페이스는 데이터 변환에 대한 명확하고 순차적인 보기를 제공하므로 작성자는 초기 상태에서 최종 출력까지의 변경 사항을 정확하게 추적할 수 있습니다.

이 플랫폼은 협업과 재사용성을 강조하여 팀이 조직 전체에서 워크플로를 공유하고 용도를 변경할 수 있도록 합니다. 이 협업 설계는 데이터 변환 관행의 일관성을 높이는 동시에 중복 작업을 제거하여 궁극적으로 팀 간에 표준화된 프로세스를 촉진하고 전반적인 효율성을 향상시킵니다.

**Topics**
+ [데이터 준비 환경 내 구성 요소](data-prep-components.md)
+ [데이터 준비 단계](data-prep-steps.md)
+ [고급 워크플로 기능](advanced-workflow-capabilities.md)
+ [SPICE 전용 기능](spice-only-features.md)
+ [데이터 준비 경험 간 전환](switching-between-data-prep-experiences.md)
+ [새로운 데이터 준비 환경에서 지원되지 않는 기능](unsupported-features.md)
+ [데이터 준비 제한](data-preparation-limits.md)
+ [수집 동작 변경](ingestion-behavior-changes.md)
+ [자주 묻는 질문(FAQ)](new-data-prep-faqs.md)

# 데이터 준비 환경 내 구성 요소
<a name="data-prep-components"></a>

Amazon Quick Sight의 데이터 준비 경험에는 다음과 같은 핵심 구성 요소가 있습니다.

## 워크플로
<a name="workflow-component"></a>

Quick Sight의 데이터 준비 환경의 워크플로는 데이터 세트를 원시 상태에서 분석 준비 양식으로 안내하는 일련의 데이터 변환 단계를 나타냅니다. 이러한 워크플로는 재사용성을 위해 설계되었으므로 분석가는 조직 전체에서 일관된 데이터 변환 표준을 유지하면서 기존 작업을 활용하고 구축할 수 있습니다.

워크플로는 다양한 입력 또는 발산을 통해 여러 경로를 수용할 수 있지만(다음 섹션에 자세히 설명됨), 궁극적으로 단일 출력 테이블로 수렴해야 합니다. 이 통합 구조는 데이터 일관성과 간소화된 분석 기능을 보장합니다.

## 트랜스포메이션
<a name="transformation-component"></a>

변환은 데이터의 구조, 형식 또는 콘텐츠를 변경하는 특정 데이터 조작 작업입니다. Quick Sight의 데이터 준비 경험은 조인, 필터, 집계, 피벗, 피벗 해제, 추가, 계산된 열 등 다양한 변환 유형을 제공합니다. 각 변환 유형은 분석 요구 사항을 충족하도록 데이터를 재구성하는 고유한 목적을 제공합니다. 이러한 변환은 워크플로 내에서 개별 단계로 구현됩니다.

## 단계
<a name="step-component"></a>

단계는 워크플로 내에 적용된 것과 동일한 유형의 동종 변환 모음입니다. 각 단계에는 동일한 변환 범주의 관련 작업이 하나 이상 포함됩니다. 예를 들어 이름 바꾸기 단계에는 여러 열 이름 바꾸기 작업이 포함될 수 있고 필터 단계에는 여러 필터링 조건이 포함될 수 있습니다. 모두 워크플로에서 단일 단위로 관리됩니다.

대부분의 단계에는 여러 작업이 포함될 수 있습니다. 단, 조인 및 추가 단계는 단계당 두 개의 입력 테이블로 제한됩니다. 두 개 이상의 테이블을 조인하거나 추가하려면 추가 조인 또는 추가 단계를 순서대로 생성할 수 있습니다.

단계는 순서대로 표시되며 각 단계는 이전 단계의 결과를 기반으로 구축되므로 데이터의 점진적 변환을 추적할 수 있습니다. 단계의 이름을 바꾸거나 삭제하려면 단계를 선택하고 점 3개 메뉴를 선택합니다.

## 커넥터
<a name="connector-component"></a>

커넥터는 두 단계를 워크플로 방향을 나타내는 화살표와 연결합니다. 커넥터를 선택하고 삭제 키를 눌러 삭제할 수 있습니다. 두 기존 단계 사이에 단계를 추가하려면 커넥터를 삭제하고 새 단계를 추가한 다음 두 단계 간에 마우스를 끌어 단계를 다시 연결하면 됩니다.

## 구성 창
<a name="configure-pane-component"></a>

**구성 창**은 선택한 단계의 파라미터와 설정을 정의하는 대화형 영역입니다. 워크플로에서 단계를 선택하면이 창에 해당 특정 변환 유형에 대한 관련 옵션이 표시됩니다. 예를 들어 조인 단계를 구성할 때 조인 유형, 일치하는 열 및 기타 조인별 설정을 선택할 수 있습니다. **구성 창의** point-and-click 인터페이스를 사용하면 SQL 지식이 필요하지 않습니다.

## 미리 보기 창
<a name="preview-pane-component"></a>

**미리 보기 창에**는 현재 변환 단계를 적용한 후 표시되는 데이터의 실시간 샘플이 표시됩니다. 이 즉각적인 시각적 피드백은 다음 단계로 진행하기 전에 각 변환이 예상 결과를 생성하는지 확인하는 데 도움이 됩니다. 단계 구성을 수정하면 **미리 보기 창이** 동적으로 업데이트되므로 데이터 변환을 반복적으로 세분화할 수 있습니다.

이러한 구성 요소는 함께 작동하여 기술 전문 지식 없이도 비즈니스 사용자가 복잡한 데이터 변환에 액세스할 수 있는 직관적이고 시각적인 데이터 준비 환경을 만듭니다.

# 데이터 준비 단계
<a name="data-prep-steps"></a>

Amazon Quick Sight의 데이터 준비 경험은 데이터를 체계적으로 변환할 수 있는 11가지 강력한 단계 유형을 제공합니다. 각 단계는 데이터 준비 워크플로에서 특정 목적을 수행합니다.

단계는 **구성** 창의 직관적인 인터페이스를 통해 구성할 수 있으며, 미리 **보기** 창에 즉각적인 피드백이 표시됩니다. 단계를 순차적으로 결합하여 SQL 전문 지식 없이도 정교한 데이터 변환을 생성할 수 있습니다.

각 단계는 물리적 테이블 또는 이전 단계의 출력에서 입력을 수신할 수 있습니다. 대부분의 단계에서는 단일 입력을 허용하며 추가 및 조인 단계는 예외입니다. 이러한 단계에는 정확히 두 개의 입력이 필요합니다.

## Input
<a name="input-step"></a>

입력 단계는 후속 단계에서 변환을 위해 여러 소스에서 데이터를 선택하고 가져올 수 있도록 하여 Quick Sight에서 데이터 준비 워크플로를 시작합니다.

**입력 옵션**
+ **데이터 세트 추가**

  기존 Quick Sight 데이터 세트를 입력 소스로 활용하여 팀이 이미 준비하고 최적화한 데이터를 기반으로 구축합니다.
+ **데이터 소스 추가**

  특정 데이터베이스 객체를 선택하고 연결 파라미터를 제공하여 Amazon Redshift, Athena, RDS 또는 기타 지원되는 소스와 같은 데이터베이스에 직접 연결합니다.
+ **파일 업로드 추가**

  CSV, TSV, Excel 또는 JSON과 같은 형식으로 로컬 파일에서 직접 데이터를 가져옵니다.

**구성**

입력 단계에는 구성이 필요하지 않습니다. **미리 보기** 창에는 가져온 데이터가 연결 세부 정보, 테이블 이름 및 열 메타데이터를 포함한 소스 정보와 함께 표시됩니다.

**사용 노트**
+ 단일 워크플로 내에 여러 입력 단계가 존재할 수 있습니다.
+ 워크플로의 언제든지 입력 단계를 추가할 수 있습니다.

## 계산된 열 추가
<a name="add-calculated-columns-step"></a>

계산된 열 추가 단계를 사용하면 기존 열에 대해 계산을 수행하는 행 수준 표현식을 사용하여 새 열을 생성할 수 있습니다. 스칼라(행 수준) 함수와 연산자를 사용하여 새 열을 생성하고 기존 열을 참조하는 행 수준 계산을 적용할 수 있습니다.

**구성**

계산된 열 추가 단계를 구성하려면 **구성** 창에서 다음을 수행합니다.

1. 계산된 새 열의 이름을 지정합니다.

1. 행 수준 함수 및 연산자(예: [ifelse](ifelse-function.md) 및 [round](round-function.md))를 지원하는 계산 편집기를 사용하여 표현식을 빌드합니다.

1. 계산을 저장합니다.

1. 표현식 결과를 미리 봅니다.

1. 필요에 따라 계산된 열을 더 추가합니다.

**사용 노트**
+ 이 단계에서는 스칼라(행 수준) 계산만 지원됩니다.
+ SPICE에서는 계산된 열이 구체화되고 후속 단계에서 표준 열로 작동합니다.

## 데이터 유형 변경
<a name="change-data-type-step"></a>

Quick Sight는 `date`, , 및의 4가지 추상 데이터 형식을 지원하여 데이터 형식 관리를 간소화`decimal``integer`합니다`string`. 이러한 추상 유형은 다양한 소스 데이터 형식을 Quick Sight에 자동으로 매핑하여 복잡성을 제거합니다. 예를 들어, , `tinyint``integer`, 및 `smallint``bigint`는 모두에 매핑되는 반면`integer`, `datetime`, 및 `date``timestamp`는에 매핑됩니다`date`.

Quick Sight는 다양한 데이터 소스와 상호 작용할 때 모든 기본 데이터 유형 변환 및 계산을 자동으로 처리하므로 Quick Sight의 네 가지 데이터 유형만 이해하면 됩니다.

**구성**

데이터 유형 변경 단계를 구성하려면 **구성** 창에서 다음을 수행합니다.

1. 변환할 열을 선택합니다.

1. 대상 데이터 유형(`string`, `decimal`, 또는 `integer``date`)을 선택합니다.

1. 날짜 변환의 경우 입력 형식을 기반으로 형식 설정 및 미리 보기 결과를 지정합니다. Quick Sight에서 [지원되는 날짜 형식을](supported-data-types-and-values.md) 참조하세요.

1. 필요에 따라 변환할 열을 추가합니다.

**사용 노트**
+ 효율성을 위해 한 번에 여러 열의 데이터 형식을 변환합니다.
+ SPICE를 사용하면 가져온 데이터에 모든 데이터 형식 변경이 구체화됩니다.

## 열 이름 바꾸기
<a name="rename-columns-step"></a>

열 이름 바꾸기 단계를 사용하면 열 이름을 보다 설명적이고 사용자 친화적이며 조직의 이름 지정 규칙에 맞게 수정할 수 있습니다.

**구성**

열 이름 바꾸기 단계를 구성하려면 **구성** 창에서 다음을 수행합니다.

1. 이름을 지정할 열을 선택합니다.

1. 선택한 열의 새 이름을 입력합니다.

1. 필요에 따라 이름을 바꿀 열을 더 추가합니다.

**사용 노트**
+ 모든 열 이름은 데이터 세트 내에서 고유해야 합니다.

## 열 선택
<a name="select-columns-step"></a>

열 선택 단계를 사용하면 열을 포함, 제외 및 재정렬하여 데이터 세트를 간소화할 수 있습니다. 이렇게 하면 불필요한 열을 제거하고 분석을 위해 나머지 열을 논리적 시퀀스로 구성하여 데이터 구조를 최적화할 수 있습니다.

**구성**

열 선택 단계를 구성하려면 **구성** 창에서 다음을 수행합니다.

1. 출력에 포함할 특정 열을 선택합니다.

1. 원하는 순서대로 열을 선택하여 시퀀스를 설정합니다.

1. **모두 선택을** 사용하여 나머지 열을 원래 순서로 포함합니다.

1. 원치 않는 열은 선택하지 않은 상태로 두어 제외합니다.

**주요 기능**
+ 출력 열은 선택 순서대로 표시됩니다.
+ **모두 선택**은 원래 열 시퀀스를 보존합니다.

**사용 노트**
+ 선택하지 않은 열은 후속 단계에서 제거됩니다.
+ 불필요한 열을 제거하여 데이터 세트 크기를 최적화합니다.

## Append
<a name="append-step"></a>

추가 단계에서는 SQL UNION ALL 작업과 유사한 두 테이블을 수직으로 결합합니다. Quick Sight는 시퀀스가 아닌 이름별로 열을 자동으로 일치시켜 테이블의 열 순서가 다르거나 열 수가 다르더라도 효율적인 데이터 통합을 지원합니다.

**구성**

추가 단계를 구성하려면 **구성** 창에서 다음을 수행합니다.

1. 추가할 입력 테이블 2개를 선택합니다.

1. 출력 열 시퀀스를 검토합니다.

1. 두 테이블 모두에 있는 열과 단일 테이블에 있는 열을 검사합니다.

**주요 기능**
+ 시퀀스 대신 이름별로 열을 일치시킵니다.
+ 중복을 포함하여 두 테이블의 모든 행을 유지합니다.
+ 열 수가 서로 다른 테이블을 지원합니다.
+ 일치하는 열에 대한 표 1의 열 시퀀스를 따른 다음 표 2에서 고유한 열을 추가합니다.
+ 모든 열에 대한 명확한 소스 표시기를 표시합니다.

**사용 노트**
+ 이름이 다른 열을 추가할 때는 먼저 이름 바꾸기 단계를 사용합니다.
+ 각 추가 단계는 정확히 두 개의 테이블을 결합합니다. 더 많은 테이블에 대해 추가 추가 단계를 사용합니다.

## 조인
<a name="join-step"></a>

Join 단계는 지정된 열의 일치하는 값을 기반으로 두 테이블의 데이터를 수평적으로 결합합니다. Quick Sight는 왼쪽 외부, 오른쪽 외부, 전체 외부 및 내부 조인 유형을 지원하여 분석 요구 사항에 맞는 유연한 옵션을 제공합니다. 이 단계에는 중복 열 이름을 자동으로 처리하는 지능형 열 충돌 해결이 포함되어 있습니다. 자체 조인은 특정 조인 유형으로 사용할 수 없지만 워크플로 발산을 사용하여 유사한 결과를 얻을 수 있습니다.

**구성**

조인 단계를 구성하려면 **구성** 창에서 다음을 수행합니다.

1. 조인할 두 개의 입력 테이블을 선택합니다.

1. 조인 유형(왼쪽 외부, 오른쪽 외부, 전체 외부 또는 내부)을 선택합니다.

1. 각 테이블에서 조인 키를 지정합니다.

1. 자동 해결된 열 이름 충돌을 검토합니다.

**주요 기능**
+ 다양한 분석 요구 사항에 맞게 여러 조인 유형을 지원합니다.
+ 중복된 열 이름을 자동으로 확인합니다.
+ 계산된 열을 조인 키로 허용합니다.

**사용 노트**
+ 조인 키에는 호환되는 데이터 형식이 있어야 합니다. 필요한 경우 데이터 형식 변경 단계를 사용합니다.
+ 각 조인 단계는 정확히 두 개의 테이블을 결합합니다. 더 많은 테이블에는 추가 조인 단계를 사용합니다.
+ 조인 후 이름 바꾸기 단계를 생성하여 자동 해결된 열 헤더를 사용자 지정합니다.

## Aggregate
<a name="aggregate-step"></a>

집계 단계를 사용하면 열을 그룹화하고 집계 작업을 적용하여 데이터를 요약할 수 있습니다. 이 강력한 변환은 세부 데이터를 지정된 차원을 기반으로 의미 있는 요약으로 압축합니다. Quick Sight는 직관적인 인터페이스를 통해 복잡한 SQL 작업을 간소화하여 `ListAgg` 및와 같은 고급 문자열 작업을 포함한 포괄적인 집계 함수를 제공합니다`ListAgg distinct`.

**구성**

집계 단계를 구성하려면 **구성** 창에서 다음을 수행합니다.

1. 그룹화할 열을 선택합니다.

1. 측정 열에 대한 집계 함수를 선택합니다.

1. 출력 열 이름을 사용자 지정합니다.

1. `ListAgg` 및 `ListAgg distinct`의 경우:

   1. 집계할 열을 선택합니다.

   1. 구분자(쉼표, 대시, 세미콜론 또는 세로선)를 선택합니다.

1. 요약된 데이터를 미리 봅니다.

**데이터 유형당 지원되는 함수**


| 데이터 형식 | 지원되는 함수 | 
| --- | --- | 
|  Numeric  |  `Average`, `Sum` `Count`, `Count Distinct` `Max`, `Min`  | 
|  Date  |  `Count`, `Count Distinct` `Max`, `Min` `ListAgg`, `ListAgg distinct` (날짜만 해당)  | 
|  문자열  |  `ListAgg`, `ListAgg distinct` `Count`, `Count Distinct` `Max`, `Min`  | 

**주요 기능**
+ 동일한 단계 내의 열에 서로 다른 집계 함수를 적용합니다.
+ 집계 함수가 없는 **그룹화는** SQL SELECT DISTINCT 역할을 합니다.
+ `ListAgg`는 모든 값을 연결합니다. 에는 고유한 값만 `ListAgg distinct` 포함됩니다.
+ `ListAgg` 함수는 기본적으로 오름차순 정렬 순서를 유지합니다.

**사용 노트**
+ 집계는 데이터 세트의 행 수를 크게 줄입니다.
+ `ListAgg` 및는 `date` 값을 `ListAgg distinct` 지원하지만는 지원하지 않습니다`datetime`.
+ 구분자를 사용하여 문자열 연결 출력을 사용자 지정합니다.

## 필터
<a name="filter-step"></a>

필터 단계를 사용하면 특정 기준을 충족하는 행만 포함하여 데이터세트의 범위를 좁힐 수 있습니다. 단일 단계 내에 여러 필터 조건을 적용할 수 있으며, 모두 `AND` 로직을 통해 결합되어 분석을 관련 데이터에 집중할 수 있습니다.

**구성**

필터 단계를 구성하려면 **구성** 창에서 다음을 수행합니다.

1. 필터링할 열을 선택합니다.

1. 비교 연산자를 선택합니다.

1. 열의 데이터 유형에 따라 필터 값을 지정합니다.

1. 필요한 경우 다른 열에 필터 조건을 추가합니다.

**참고**  
"is in" 또는 "is not in"이 있는 문자열 필터: 여러 값(행당 하나)을 입력합니다.
숫자 및 날짜 필터: 단일 값을 입력합니다(두 값이 필요한 " 사이" 제외).

**데이터 유형당 지원되는 연산자**


| 데이터 형식 | 지원되는 연산자 | 
| --- | --- | 
|  정수 및 소수  |  같음, 같지 않음 보다 큼, 보다 작음 보다 크거나 같음, 보다 작거나 같음 사이에 있음  | 
|  Date  |  이후, 이전 사이에 있음 이후 또는 같음, 이전 또는 같음  | 
|  문자열  |  같음, 같지 않음 로 시작, 로 종료 포함, 포함되지 않음 에 있음,에 없음  | 

**사용 노트**
+ 한 번에 여러 필터 조건을 적용합니다.
+ 다양한 데이터 유형에 걸쳐 조건을 혼합합니다.
+ 필터링된 결과를 실시간으로 미리 봅니다.

## Pivot(피벗)
<a name="pivot-step"></a>

피벗 단계는 행 값을 고유한 열로 변환하여 데이터를 긴 형식에서 넓은 형식으로 변환하므로 비교 및 분석이 더 쉬워집니다. 이 변환에는 출력 열을 효과적으로 관리하기 위한 값 필터링, 집계 및 그룹화에 대한 사양이 필요합니다.

**구성**

피벗 단계를 구성하려면 **구성** 창에서 다음을 사용합니다.

1. **피벗 열**: 값이 열 헤더(예: 범주)가 될 열을 선택합니다.

1. **피벗 열 행 값**: 포함할 특정 값을 필터링합니다(예: 기술, 사무실 공급).

1. **출력 열 헤더**: 새 열 헤더를 사용자 지정합니다(기본값은 피벗 열 값).

1. **값 열**: 집계할 열을 선택합니다(예: 판매).

1. **집계 함수**: 집계 방법(예: 합계)을 선택합니다.

1. **그룹화 기준**: 열 구성(예: 세그먼트)을 지정합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/pivot.png)


**데이터 유형당 지원되는 연산자**


| 데이터 형식 | 지원되는 연산자 | 
| --- | --- | 
|  정수 및 소수  |  `Average`, `Sum` `Count`, `Count Distinct` `Max`, `Min`  | 
|  Date  |  `Count`, `Count Distinct` `Max`, `Min` `ListAgg`, `ListAgg distinct` (날짜 값만 해당)  | 
|  문자열  |  `ListAgg`, `ListAgg distinct` `Count`, `Count Distinct` `Max`, `Min`  | 

**사용 노트**
+ 피벗된 각 열에는 값 열의 집계된 값이 포함됩니다.
+ 명확성을 위해 열 헤더를 사용자 지정합니다.
+ 변환 결과를 실시간으로 미리 봅니다.

## 피벗 해제
<a name="unpivot-step"></a>

피벗 해제 단계는 열을 행으로 변환하여 넓은 데이터를 더 길고 좁은 형식으로 변환합니다. 이 변환을 통해 여러 열에 분산된 데이터를 보다 구조화된 형식으로 구성하여 분석 및 시각화를 더 쉽게 수행할 수 있습니다.

**구성**

피벗 해제 단계를 구성하려면 **구성** 창에서 다음을 수행합니다.

1. 행으로 피벗 해제할 열을 선택합니다.

1. 출력 열 행 값을 정의합니다. 기본값은 원래 열 이름입니다. 몇 가지 예로는 기술, 사무실 공급 및 가구가 있습니다.

1. 두 개의 새 출력 열의 이름을 지정합니다.
   + **피벗되지 않은 열 헤더**: 이전 열 이름의 이름(예: 범주)
   + **피벗되지 않은 열 값**: 피벗되지 않은 값의 이름(예: Sales)

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/unpivot.png)


**주요 기능**
+ 출력에 피벗되지 않은 모든 열을 유지합니다.
+ 두 개의 새 열을 자동으로 생성합니다. 하나는 이전 열 이름용이고 다른 하나는 해당 값에 대한 것입니다.
+ 광범위한 데이터를 긴 형식으로 변환합니다.

**사용 노트**
+ 피벗되지 않은 모든 열에는 호환되는 데이터 형식이 있어야 합니다.
+ 행 수는 일반적으로 피벗을 해제한 후 증가합니다.
+ 변경 사항을 적용하기 전에 실시간으로 미리 봅니다.

# 고급 워크플로 기능
<a name="advanced-workflow-capabilities"></a>

Amazon Quick Sight의 데이터 준비 경험은 복잡하고 재사용 가능한 데이터 변환을 생성하는 기능을 향상시키는 정교한 기능을 제공합니다. 이 섹션에서는 워크플로 잠재력을 확장하는 두 가지 강력한 기능을 다룹니다.

발산을 사용하면 단일 단계에서 여러 변환 경로를 생성하여 나중에 다시 결합할 수 있는 병렬 처리 스트림을 허용할 수 있습니다. 이 기능은 자체 조인 및 병렬 변환과 같은 복잡한 시나리오에 특히 유용합니다.

복합 데이터 세트를 사용하면 기존 데이터 세트를 빌딩 블록으로 사용하여 계층적 데이터 구조를 구축할 수 있습니다. 이 기능은 팀 간의 협업을 촉진하고 재사용 가능한 계층화된 변환을 통해 일관된 비즈니스 로직을 보장합니다.

이러한 기능은 함께 작동하여 유연한 워크플로 설계, 향상된 팀 협업 및 재사용 가능한 데이터 변환을 제공합니다. 또한 명확한 데이터 계보를 보장하고 확장 가능한 데이터 준비 솔루션을 지원하여 조직이 점점 더 복잡해지는 데이터 시나리오를 효율적이고 명확하게 처리할 수 있도록 지원합니다.

## 발산
<a name="divergence"></a>

Divergence를 사용하면 워크플로의 단일 단계에서 여러 병렬 변환 경로를 생성할 수 있습니다. 이러한 경로를 독립적으로 변환하고 나중에 다시 결합할 수 있으므로 자체 조인과 같은 복잡한 데이터 준비 시나리오가 가능합니다.

**분산 경로 생성**

워크플로에서 Divergence를 시작하려면 다음을 수행합니다.

1. 발산을 생성할 단계를 선택합니다.

1. 나타나는 **\$1** 아이콘을 선택합니다.

1. 나타나는 새 브랜치를 구성합니다.

1. 원하는 변환을 각 경로에 적용합니다.

1. 조인 또는 추가 단계를 사용하여 경로를 단일 출력으로 다시 결합합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/divergence.png)


**주요 기능**
+ 단일 단계에서 최대 5개의 분산 경로를 생성합니다.
+ 각 경로에 서로 다른 변환을 적용합니다.
+ 조인 또는 추가 단계를 사용하여 경로를 조합합니다.
+ 각 경로의 변경 사항을 독립적으로 미리 봅니다.

**모범 사례**
+ 자체 조인을 구현하려면 발산을 사용합니다.
+ 병렬 변환을 위한 데이터 복사본을 생성합니다.
+ 재결합 전략(조인 또는 추가)을 계획합니다.
+ 워크플로 가시성을 높이기 위해 명확한 경로 이름 지정을 유지합니다.

## 복합 데이터 세트
<a name="composite-datasets"></a>

복합 데이터 세트를 사용하면 기존 데이터 세트를 기반으로 구축하여 조직 전체에서 공유하고 재사용할 수 있는 계층적 데이터 변환 구조를 생성할 수 있습니다. Quick Sight는 SPICE 모드와 직접 쿼리 모드 모두에서 최대 10개의 복합 데이터 세트를 지원합니다.

**복합 데이터 세트 생성**

워크플로에서 복합 데이터 세트를 생성하려면:

1. 새 데이터 세트를 생성할 때 입력 단계를 선택합니다.

1. **데이터 추가에서 데이터 세트를** 소스로 선택합니다. **** 

1. 빌드할 기존 데이터 세트를 선택합니다.

1. 필요에 따라 추가 변환을 적용합니다.

1. 를 새 데이터 세트로 저장합니다.

**주요 기능**
+ 계층적 데이터 변환 구조를 구축합니다.
+ 최대 10개 수준의 데이터 세트 중첩을 지원합니다.
+ SPICE 및 Direct Query와 호환됩니다.
+ 명확한 데이터 계보를 유지합니다.
+ 팀별 변환을 활성화합니다.

이 기능은 여러 팀 간의 협업을 개선합니다. 예:


| Role | 작업 | 출력 | 
| --- | --- | --- | 
|  글로벌 분석가  |  글로벌 비즈니스 로직으로 데이터 세트를 생성합니다.  |  데이터 세트 A  | 
|  미주 분석가  |  데이터 세트 A를 사용하고 리전 로직을 추가합니다.  |  데이터 세트 B  | 
|  미국 서부 분석가  |  데이터 세트 B를 사용하고 로컬 로직을 추가합니다.  |  데이터 세트 C  | 

이 계층적 접근 방식은 변환 계층의 명확한 소유권을 할당하여 조직 전체에서 일관된 비즈니스 로직을 촉진합니다. 최대 10개 수준의 데이터 세트 중첩을 지원하면서 추적 가능한 데이터 계보를 생성하여 제어되고 체계적인 데이터 변환 관리를 지원합니다.

**모범 사례**
+ 각 변환 계층에 대한 명확한 소유권을 설정합니다.
+ 데이터 세트 관계 및 종속성을 문서화합니다.
+ 비즈니스 요구 사항에 따라 계층 구조 깊이를 계획합니다.
+ 일관된 이름 지정 규칙을 유지합니다.
+ 업스트림 데이터 세트를 주의 깊게 검토하고 업데이트합니다.

# SPICE 전용 기능
<a name="spice-only-features"></a>

Amazon Quick Sight의 SPICE(Super-fast, Parallel, In-memory Calculation Engine)를 사용하면 컴퓨팅 집약적인 특정 데이터 준비 기능을 사용할 수 있습니다. 이러한 변환은 쿼리 시 실행되지 않고 최적의 성능을 위해 SPICE에서 구체화됩니다.

**SPICE 전용 기능**


| 단계(Steps) | 기타 기능 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/spice-only-features.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/spice-only-features.html)  | 

**SPICE 및 DirectQuery 모두에서 사용 가능한 기능**


| 단계(Steps) | 기타 기능 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/spice-only-features.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/spice-only-features.html)  | 

**모범 사례**
+ SPICE 전용 기능이 필요한 워크플로에는 SPICE를 사용합니다.
+ SPICE를 선택하여 복잡한 변환과 대규모 데이터 세트의 성능을 최적화합니다.
+ SPICE 전용 기능이 필요하지 않은 경우 실시간 데이터 요구 사항에 DirectQuery를 고려하세요.

# 데이터 준비 경험 간 전환
<a name="switching-between-data-prep-experiences"></a>

레거시 데이터 준비 경험은 2025년 10월 이전에 존재했던 Amazon Quick Sight의 이전 데이터 준비 인터페이스를 말합니다. 새로운 데이터 준비 환경은 step-by-step 변환 시퀀스를 보여주는 향상된 시각적 인터페이스입니다. 레거시 데이터 세트는 새 데이터 준비 경험 이전에 생성된 데이터 세트이고, 새 데이터 세트는 2025년 10월 이후에 생성된 데이터 세트입니다.

새 데이터 세트를 생성할 때 Quick Sight는 자동으로 새 데이터 준비 환경으로 안내합니다. 이 시각적 인터페이스는 데이터 변환 작업에 향상된 기능과 향상된 사용성을 제공합니다.

## 옵트아웃 옵션
<a name="opt-out"></a>

데이터 세트를 저장하고 게시하기 전에 원하는 경우 레거시 데이터 준비 환경으로 다시 전환할 수 있습니다. 이러한 유연성을 통해 팀은 새로운 인터페이스에 익숙해지면서 원하는 속도로 전환할 수 있습니다.

**중요**  
데이터세트가 저장되어 새 환경에 게시되는 경우 레거시 환경으로 돌아가는 옵션이 없습니다. 이는 새로운 경험에는 레거시 경험에서 지원되지 않는 중요한 새로운 기능이 있으므로 설계에 따른 것입니다. 따라서 한 경험에서 다른 경험으로 데이터 세트를 직접 변환하는 것은 지원되지 않습니다. 레거시 환경으로 전환하려면 새 데이터 세트를 생성해야 합니다.

## 전환 워크플로
<a name="transition-workflow"></a>

데이터세트가 새 환경 또는 레거시 환경에 저장되면 변환을 한 환경에서 다른 환경으로 직접 변환할 수 없습니다. 그러나 게시된 데이터 세트 버전이 있는 경우 버전 관리를 사용하여 레거시 환경에 있을 수 있는 이전 버전으로 이동할 수 있습니다.

레거시 데이터 세트는 레거시 인터페이스를 통해서만 보고 편집할 수 있도록 계속 액세스할 수 있습니다. 이렇게 하면 이전에 설정한 워크플로와의 호환성이 유지됩니다.

완전히 전환하기 전에 시간을 내어 새로운 데이터 준비 환경을 숙지하세요. 레거시 데이터 세트로 작업할 때는 향후 수정을 위해 새 환경을 사용하여 새 버전을 생성하는 것이 좋습니다. 버전 관리를 사용하여 필요한 경우 레거시 버전의 데이터 세트에 대한 액세스를 유지합니다. 레거시 경험에서 새로운 경험으로 전환할 때 워크플로의 모든 변경 사항을 문서화하여 팀 조정을 보장합니다.

# 새로운 데이터 준비 환경에서 지원되지 않는 기능
<a name="unsupported-features"></a>

새로운 데이터 준비 환경은 향상된 기능을 제공하지만 레거시 환경의 일부 기능은 아직 지원되지 않습니다. 이 섹션에서는 이러한 기능을 간략하게 설명하고 영향을 받는 워크플로를 처리하기 위한 지침을 제공합니다.

지원되지 않는 데이터 소스를 사용하는 경우 Amazon Quick Sight는 자동으로 레거시 환경으로 기본 설정됩니다. 지원되지 않는 다른 기능의 경우 데이터 준비 페이지의 오른쪽 상단 모서리에서 **레거시 환경으로 전환을** 선택합니다. 레거시 경험에서 생성된 규칙 데이터 세트는 레거시 및 새 경험 데이터 세트와 모두 호환됩니다.

## 지원되지 않는 데이터 소스
<a name="unsupported-data-sources"></a>

다음 데이터 소스는 현재 레거시 환경에서만 사용할 수 있습니다.


| 데이터 원본 | 세부 정보 | 
| --- | --- | 
|  Salesforce  |  자동으로 레거시 환경으로 기본 설정  | 
|  Google Sheets  |  자동으로 레거시 환경으로 기본 설정  | 
|  S3 분석  |  ** S3 데이터 소스 지원**  | 

## 지원되지 않는 기타 기능
<a name="other-unsupported-features"></a>

다음 기능은 현재 레거시 환경에서만 사용할 수 있습니다.


| 특성 범주 | 지원되지 않는 기능 | 
| --- | --- | 
|  데이터 세트 관리  |  [증분 새로 고침](refreshing-imported-data.md#refresh-spice-data-incremental), [데이터 세트 파라미터](dataset-parameters.md), [열 폴더](organizing-fields-folder.md), [열 설명](describing-data.md)  | 
|  데이터 타입  |  S3의 [지리 공간](geospatial-data-prep.md), [ELF/CLF 형식](supported-data-sources.md#file-data-sources), Zip/GZip 파일 [GZip S3](supported-data-sources.md#file-data-sources)  | 
|  구성 옵션  |  [파일 업로드 설정의 "행에서 시작"](choosing-file-upload-settings.md), JODA 날짜 형식  | 
|  레거시 경험에서 상위 데이터 세트 선택  |  상위 및 하위 데이터 세트는 동일한 환경 환경에 있어야 합니다. 레거시 경험 데이터 세트를 새 경험 데이터 세트의 상위로 사용할 수 없습니다.  | 

## 향후 개발
<a name="future-development"></a>

Amazon Quick Sight는 향후 새로운 데이터 준비 환경에서 이러한 기능을 구현할 계획입니다. 이 접근 방식을 사용하면 새 데이터 준비 환경의 초기 시작 시 다음 우선 순위를 지정할 수 있습니다.

**향상된 기능**
+ 시각적 변환 워크플로
+ 프로세스 투명성 개선
+ Divergence를 통한 고급 준비 기법
+ 추가, 집계 및 피벗과 같은 강력한 새 기능

**유연한 채택**

사용자는 데이터 세트를 게시하기 전에 경험 중에서 선택하여 팀이 원하는 속도로 전환하는 동안 중단 없는 워크플로를 보장할 수 있습니다. 이 접근 방식을 사용하면 레거시 경험을 통해 특수 요구 사항에 대한 지원을 유지하면서 새로운 기능에 즉시 액세스할 수 있습니다.

# 데이터 준비 제한
<a name="data-preparation-limits"></a>

Amazon Quick Sight의 데이터 준비 환경은 최적의 성능을 유지하면서 엔터프라이즈 규모의 데이터 세트를 처리하도록 설계되었습니다. 다음 제한은 안정적인 기능을 보장합니다.

## 데이터 세트 크기 제한(SPICE)
<a name="dataset-size-limits"></a>
+ **출력 크기**: 최대 2TB 또는 20억 행
+ **총 입력 크기**: 결합된 입력 소스는 2TB를 초과할 수 없습니다.
+ **보조 테이블 크기**: 결합 크기는 20GB로 제한됩니다.

**참고**  
기본 테이블은 워크플로에서 최대 크기를 가진 테이블이고, 다른 모든 테이블은 보조 테이블입니다.

## 워크플로 구조 제한
<a name="workflow-structure-limits"></a>
+ **최대 단계**: 워크플로당 최대 256개의 변환 단계
+ **소스 테이블**: 워크플로당 최대 32개의 가져오기 단계
+ **출력 열**: 워크플로의 모든 단계에서 최대 2,048개의 열 및 2,000개의 열이 있는 최종 출력 테이블
+ **다양한 경로**: 단일 단계에서 최대 5개의 경로(SPICE만 해당, DirectQuery에는 해당되지 않음)
+ **소스로서의 데이터 세트**: SPICE 및 DirectQuery 모두에 대해 최대 10개 수준

이러한 제한은 유연성과 성능의 균형을 맞춰 최적의 분석 기능을 보장하면서 복잡한 데이터 변환을 가능하게 하도록 설계되었습니다.

# 수집 동작 변경
<a name="ingestion-behavior-changes"></a>

새로운 데이터 준비 경험은 SPICE 수집 중에 데이터 품질 문제가 처리되는 방식에 중요한 변화를 도입합니다. 이 변경 사항은 데이터 세트의 데이터 완전성과 투명성에 상당한 영향을 미칩니다.

레거시 환경에서 데이터 형식 불일치(예: 잘못된 날짜 형식 또는 [유사한 문제](errors-spice-ingestion.md))가 발생하면 문제가 있는 셀이 포함된 전체 행은 수집 중에 건너뜁니다. 이 접근 방식은 최종 데이터 세트의 행 수를 줄여 데이터 품질 문제를 가릴 수 있습니다.

새로운 경험은 데이터 불일치에 대한 보다 세분화된 접근 방식을 취합니다. 문제가 있는 셀이 발생하면 전체 행을 유지하면서 일치하지 않는 값만 null 값으로 변환됩니다. 이 보존을 통해 다른 열의 관련 데이터를 분석에 계속 액세스할 수 있습니다.

**데이터 세트 품질에 미치는 영향**

새 환경에서 생성된 데이터 세트는 일반적으로 소스 데이터에 불일치가 포함된 경우 레거시 데이터 세트보다 더 많은 행을 포함합니다. 이 향상된 접근 방식은 다음과 같은 몇 가지 이점을 제공합니다.
+ 모든 행을 유지하여 데이터 완전성 개선
+ 데이터 품질 문제 식별의 투명성 향상
+ 문제 해결 값에 대한 가시성 향상
+ 영향을 받지 않는 열에 관련 데이터 보존

이 변경을 통해 분석가는 데이터 세트에서 문제가 있는 행을 자동으로 생략하지 않고 데이터 품질 문제를 더 효과적으로 식별하고 해결할 수 있습니다.

# 자주 묻는 질문(FAQ)
<a name="new-data-prep-faqs"></a>

## 1. 사용자는 언제 새로운 경험에서 레거시 경험으로 전환해야 합니까?
<a name="faq-1"></a>

사용자는 현재 [지원되지 않는 기능이](unsupported-features.md) 포함된 데이터 세트로 작업할 때 레거시 환경으로 돌아가야 합니다. Quick Sight는 이러한 기능을 향후 릴리스의 새로운 경험에 통합하기 위해 적극적으로 노력하고 있습니다.

## 2. 새 경험에 데이터 세트를 추가하려고 할 때 데이터 세트가 회색으로 표시되는 이유는 무엇입니까? 데이터 세트를 레거시 경험과 새 경험 간에 결합할 수 있나요?
<a name="faq-2"></a>

현재 상위 및 하위 데이터 세트는 동일한 환경 내에 있어야 합니다. 새로운 환경에는 추가 기능, 피벗 기능 및 발산과 같이 레거시에서 사용할 수 없는 추가 기능이 포함되어 있으므로 레거시 환경과 새 경험 간에 데이터 세트를 결합할 수 없습니다.

**레거시 경험에서 상위 데이터 세트 사용**

레거시 경험의 상위 데이터 세트를 사용하려면 해당 환경으로 다시 전환할 수 있습니다. 데이터 준비 페이지로 이동하여 오른쪽 상단 모서리에서 **레거시 환경으로 다시 전환을** 선택하면 됩니다. 그런 다음 필요에 따라 하위 데이터 세트를 생성할 수 있습니다.

**향후 개발**

사용자가 레거시 데이터 세트를 새로운 환경으로 업그레이드할 수 있는 기능을 구현할 계획입니다. 이 업그레이드된 경로를 통해 새로운 경험 내에서 레거시 상위 데이터 세트를 사용할 수 있습니다.

## 3. Quick Sight가 레거시 경험과 완전한 기능 패리티를 달성하기 전에 새로운 데이터 준비 환경을 시작하는 이유는 무엇입니까?
<a name="faq-3"></a>

새로운 데이터 준비 환경은 실제 분석 문제를 해결하기 위해 광범위한 고객 협업을 통해 개발되었습니다. 초기 시작의 우선 순위는 다음과 같습니다.

**향상된 기능**
+ 시각적 변환 워크플로
+ 프로세스 투명성 개선
+ Divergence를 통한 고급 준비 기법
+ 추가, 집계 및 피벗과 같은 강력한 새 기능

**유연한 채택**

사용자는 데이터 세트를 게시하기 전에 경험 중에서 선택하여 팀이 원하는 속도로 전환하는 동안 중단 없는 워크플로를 보장할 수 있습니다. 이 접근 방식을 사용하면 레거시 경험을 통해 특수 요구 사항에 대한 지원을 유지하면서 새로운 기능에 즉시 액세스할 수 있습니다.

## 4. 현재 레거시 환경에서만 사용할 수 있는 기능이 새 환경에 추가되나요?
<a name="faq-4"></a>

예. Quick Sight는 레거시 기능을 새로운 환경에 통합하기 위해 적극적으로 노력하고 있습니다.

## 5. API 변경 사항은 기존 데이터 세트 생성 스크립트에 어떤 영향을 미치나요?
<a name="faq-5"></a>

Quick Sight는 새로운 기능을 도입하면서 이전 버전과의 호환성을 유지합니다.
+ 기존 스크립트: 레거시 API 스크립트는 계속 작동하여 레거시 환경에서 데이터 세트를 생성합니다.
+ API 이름 지정: 현재 API 이름은 변경되지 않습니다.
+ 새로운 기능: 추가 API 형식은 새로운 경험의 향상된 기능을 지원합니다.
+ 설명서: 새 환경에 대한 전체 API 사양은 API 참조에서 확인할 수 있습니다.

## 6. 게시 후 데이터 세트를 경험 간에 변환할 수 있나요?
<a name="faq-6"></a>
+ 향후 마이그레이션 경로: Quick Sight는 향후 레거시 데이터 세트를 새로운 환경으로 쉽게 마이그레이션할 수 있는 기능을 추가할 예정입니다.
+ 단방향 프로세스: 고급 기능 종속성으로 인해 데이터세트를 새 경험에서 레거시 형식으로 변환할 수 없습니다.

# 데이터 설명
<a name="describing-data"></a>

Amazon Quick Sight를 사용하면 데이터 세트의 열(필드)에 대한 정보 또는 *메타데이터*를 추가할 수 있습니다. 메타데이터를 추가하면 데이터 세트를 따로 설명할 필요 없고 재사용하기 쉽게 만들 수 있습니다. 이렇게 하면 데이터 큐레이터와 고객이 데이터의 출처와 의미를 알 수 있습니다. 이는 데이터 세트를 사용하는 사람들과 소통하거나 이를 다른 데이터 세트와 결합하여 대시보드를 구축하는 방법입니다. 메타데이터는 조직 간에 공유되는 정보에 특히 중요합니다.

데이터 세트에 메타데이터를 추가하면 데이터 세트를 사용하는 모든 사용자가 필드 설명을 사용할 수 있게 됩니다. **필드** 목록을 활발히 탐색하던 사용자가 어느 필드 이름에서 잠시 멈추면 해당 열의 설명이 표시됩니다. 열 설명은 데이터 세트 또는 분석을 편집하는 사람만 볼 수 있으며 대시보드를 보는 사람은 볼 수 없습니다. 설명에는 형식이 지정되어 있지 않습니다. 줄 바꿈과 서식 표시를 입력할 수 있으며 이는 편집기에 보존됩니다. 하지만 표시되는 설명 툴팁에는 단어, 숫자, 기호만 표시할 수 있고 서식은 표시할 수 없습니다.

**열 또는 필드에 대한 설명 편집하기**

1. 빠른 홈페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터** 탭에서 작업할 데이터 세트를 선택합니다.

1. 표시되는 데이터 세트 세부정보 페이지에서 오른쪽 상단의 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 세트 페이지에서 하단의 표 미리 보기 또는 왼쪽의 필드 목록에서 열을 선택합니다.

1. 설명을 추가하거나 변경하려면 다음 중 하나를 수행합니다.
   + 화면 하단에서 필드 이름 옆에 있는 연필 아이콘에서 필드 설정을 엽니다.
   + 필드 목록에서 필드 이름 옆에 있는 메뉴 로 필드 설정을 엽니다. 그런 다음 컨텍스트 메뉴에서 **이름 및 설명 편집**을 선택합니다.

1. 필드에 대한 설명을 추가하거나 변경합니다.

   기존 설명을 삭제하려면 설명 상자에 있는 모든 텍스트를 삭제하십시오.

1. (선택 사항) **이름**에서 필드 이름을 변경하려면 여기에 새 이름을 입력할 수 있습니다.

1. **적용**을 선택해 변경 사항을 저장합니다. 취소를 선택하여 종료합니다.

# 파일 업로드 설정 선택
<a name="choosing-file-upload-settings"></a>

파일 데이터 소스를 사용하는 경우 업로드 설정을 확인하고 필요한 경우 수정합니다.

**중요**  
업로드 설정을 변경해야 하는 경우, 데이터 세트의 다른 설정을 변경하기 전에 이 설정을 먼저 변경하십시오. 업로드 설정을 변경하면 Amazon Quick Sight가 파일을 다시 가져옵니다. 이 프로세스는 지금까지의 모든 변경 내용을 덮어씁니다.

## 텍스트 파일 업로드 설정 변경
<a name="change-text-file-upload-settings"></a>

텍스트 파일 업로드 설정에는 파일 머리글 표시자, 파일 형식, 텍스트 구분 기호, 텍스트 한정자 및 시작 행이 포함되어 있습니다. Amazon S3 데이터 소스로 작업하고 있는 경우, 선택한 업로드 설정이 이 데이터 세트에서 사용하도록 선택한 모든 파일에 적용됩니다.

텍스트 파일 업로드 설정을 변경하려면 다음 절차에 따르십시오.

1. 데이터 준비 페이지에서 확장 아이콘을 선택하여 [**Upload Settings**] 창을 엽니다.

1. [**File format**]에서 파일 형식 유형을 선택합니다.

1. **사용자 지정 구분(사용자 지정)** 형식을 선택했다면 **구분 기호**에 구분 문자를 지정합니다.

1. 파일에 헤더 행이 포함되어 있지 않은 경우 [**Files include headers**] 확인란 선택을 취소합니다.

1. 첫 번째 행 이외의 행에서 시작하려는 경우, [**Start from row**]에 행 번호를 입력합니다. [**Files include headers**] 확인란을 선택하면 새로운 시작 행이 헤더 행으로 간주됩니다. [**Files include headers**] 확인란을 선택하지 않으면 새로운 시작 행이 첫 번째 데이터 행으로 간주됩니다.

1. [**Text qualifier**]에서 작은따옴표(') 또는 큰따옴표(")를 텍스트 한정자로 선택합니다.

## Microsoft Excel 파일 업로드 설정 변경
<a name="change-excel-file-upload-settings"></a>

Microsoft Excel 파일 업로드 설정에는 범위 머리글 표시자 및 전체 워크시트 선택자가 포함되어 있습니다.

Microsoft Excel 파일 업로드 설정을 변경하려면 다음 절차에 따르십시오.

1. 데이터 준비 페이지에서 확장 아이콘을 선택하여 [**Upload Settings**] 창을 엽니다.

1. [**Upload whole sheet**]는 선택한 상태로 둡니다.

1. 파일에 헤더 행이 포함되어 있지 않은 경우 [**Range contains headers**] 확인란 선택을 취소합니다.

# 데이터 준비 경험(레거시)
<a name="data-prep-experience-legacy"></a>

**Topics**
+ [계산 추가](working-with-calculated-fields.md)
+ [데이터 조인](joining-data.md)
+ [Amazon Quick Sight에서 분석을 위한 데이터 필드 준비](preparing-data-fields.md)
+ [Amazon Quick Sight에서 데이터 필터링](adding-a-filter.md)
+ [데이터 세트에서 테이블 미리 보기](previewing-tables-in-a-dataset.md)

# 계산 추가
<a name="working-with-calculated-fields"></a>

다음 중 하나 이상을 사용하여 계산된 필드를 만들어 데이터를 변환합니다.
+ [연산자](arithmetic-and-comparison-operators.md)
+ [함수](functions.md)
+ 데이터가 포함된 필드
+ 계산된 다른 필드

데이터 준비 중에 또는 분석 페이지에서 데이터 세트에 계산된 필드를 추가할 수 있습니다. 데이터 준비 중에 데이터 세트에 계산된 필드를 추가하는 경우, 해당 데이터 세트를 사용하는 모든 분석에서 이 필드를 사용할 수 있습니다. 분석에서 데이터 세트에 계산된 필드를 추가하는 경우, 해당 분석에서만 이 필드를 사용할 수 있습니다. 계산된 필드 추가에 대한 자세한 내용은 다음 주제를 참조하십시오.

**Topics**
+ [계산된 필드 추가](adding-a-calculated-field-analysis.md)
+ [Amazon Quick Sight의 평가 순서](order-of-evaluation-quicksight.md)
+ [Quick Sight에서 레벨 인식 계산 사용](level-aware-calculations.md)
+ [Amazon Quick에 대해 계산된 필드 함수 및 연산자 참조](calculated-field-reference.md)

# 계산된 필드 추가
<a name="adding-a-calculated-field-analysis"></a>

다음 중 하나 이상을 사용하여 계산된 필드를 만들어 데이터를 변환합니다.
+ [연산자](arithmetic-and-comparison-operators.md)
+ [함수](functions.md)
+ 집계 함수(분석에 이러한 함수만 추가할 수 있음)
+ 데이터가 포함된 필드
+ 계산된 다른 필드

데이터 준비 중에 또는 분석 페이지에서 데이터 세트에 계산된 필드를 추가할 수 있습니다. 데이터 준비 중에 데이터 세트에 계산된 필드를 추가하는 경우, 해당 데이터 세트를 사용하는 모든 분석에서 이 필드를 사용할 수 있습니다. 분석에서 데이터 세트에 계산된 필드를 추가하는 경우, 해당 분석에서만 이 필드를 사용할 수 있습니다.

분석은 단일 행 작업과 집계 작업을 모두 지원합니다. 단일 행 작업은 모든 행에 대하여 (잠재적으로) 다른 결과를 제공합니다. 집계 작업은 전체 행 집합의 경우와 항상 동일한 결과를 제공합니다. 예를 들어, 조건 없는 단순한 문자열 함수를 사용하는 경우 모든 행이 변경됩니다. 집계 함수를 사용하는 경우 그룹의 모든 행에 적용됩니다. 미국의 총 매출액을 요청하면 동일한 수치가 전체 집합에 적용됩니다. 특정 상태에서의 데이터를 요청하면, 총 매출액이 새 그룹화를 반영하기 위해 변경되며, 마찬가지로 전체 집합에 대한 결과를 제공합니다.

분석 내에서 집계된 계산된 필드를 만들면 데이터를 드릴다운할 수 있습니다. 집계된 필드의 값이 각 수준에 대해 적절하게 다시 계산됩니다. 데이터 세트 준비 동안 이 유형의 집계는 가능하지 않습니다.

예를 들어, 각 국가, 리전 및 주에 대한 이익의 비율을 파악하기를 원한다고 가정해 봅시다. 계산된 필드를 분석 `(sum(salesAmount - cost)) / sum(salesAmount)`에 추가할 수 있습니다. 그러고 나면 이 필드가 각 국가, 리전 및 주에 대해 계산되고 이때 담당 분석가가 지역으로 드릴다운합니다.

**Topics**
+ [분석에 계산된 필드 추가](#using-the-calculated-field-editor-analysis)
+ [데이터 세트에 계산된 필드 추가](#using-the-calculated-field-editor)
+ [계산된 필드에서 10진수 값 처리](#handling-decimal-fields)

## 분석에 계산된 필드 추가
<a name="using-the-calculated-field-editor-analysis"></a>

분석에 데이터 세트를 추가하면 데이터 세트에 있는 모든 계산된 필드가 분석에 추가됩니다. 분석 수준에서 계산된 필드를 추가하여 해당 분석에서만 사용할 수 있는 계산된 필드를 만들 수 있습니다.

**분석에 계산된 필드 추가하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 분석을 엽니다.

1. **데이터** 창의 왼쪽 상단에 **추가**를 선택한 다음 **\$1 계산된 필드**를 선택합니다.

   1. 표시되는 계산 편집기에서 다음을 수행하십시오.

   1. 계산된 필드의 이름을 입력합니다.

   1. 데이터 세트, 함수, 연산자의 필드를 사용하여 수식을 입력합니다.

1. 완료하였으면 **저장**을 선택합니다.

Quick Sight에서 사용 가능한 함수를 사용하여 공식을 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick에 대해 계산된 필드 함수 및 연산자 참조함수 및 연산자](calculated-field-reference.md).

## 데이터 세트에 계산된 필드 추가
<a name="using-the-calculated-field-editor"></a>

Amazon Quick Sight 작성자는 데이터 세트 생성의 데이터 준비 단계에서 계산된 필드를 생성할 수 있습니다. 데이터 세트에 대해 계산된 필드를 생성하면 해당 필드는 데이터 세트의 새 열이 됩니다. 데이터 세트를 사용하는 모든 분석은 데이터 세트의 계산된 필드를 상속합니다.

계산된 필드가 행 수준에서 작동하고 데이터 세트가에 저장된 경우 SPICEQuick Sight는에서 결과를 계산하고 구체화합니다SPICE. 계산된 필드가 집계 함수에 의존하는 경우 Quick Sight는 공식을 유지하고 분석이 생성될 때 계산을 수행합니다. 이러한 유형의 계산된 필드를 구체화되지 않은 계산 필드라고 합니다.

**데이터셋의 계산된 필드 추가 또는 편집하기**

1. 작업할 데이터 세트를 엽니다. 자세한 내용은 [데이터 세트 편집](edit-a-data-set.md) 단원을 참조하십시오.

1. 데이터 준비 페이지에서 다음을 수행합니다.
   + 새 필드를 만들려면 왼쪽에서 **계산된 필드 추가**를 선택합니다.
   + 기존 계산된 필드를 편집하려면 왼쪽의 **계산된 필드**에서 해당 필드를 선택한 다음 컨텍스트(오른쪽 클릭) 메뉴에서 **편집** 을선택합니다.

1. 계산 에디터에서 **제목 추가**에 설명이 포함된 이름을 입력하여 새 계산된 필드의 이름을 지정합니다. 이 이름은 데이터 세트의 필드 목록에 나타나므로 다른 필드와 비슷해야 합니다. 이 예에서는 필드 이름을 `Total Sales This Year`(으)로 지정합니다.

1. (선택사항) 예를 들어 텍스트를 슬래시와 별표로 묶어 표현식의 역할을 설명하는 댓글을 추가합니다.

   ```
   /* Calculates sales per year for this year*/
   ```

1. 사용할 지표, 함수 및 기타 항목을 식별하십시오. 이 예시에서는 다음을 식별해야 합니다.
   + 사용할 지표
   + 함수: `ifelse` 및 `datediff`

   “올해 판매가 발생한 경우 총 판매량을 표시하고 그렇지 않으면 0을 표시합니다”와 같은 문구를 작성하려고 합니다.

   `ifelse` 함수를 추가하려면 **함수** 목록을 여십시오. **모두**를 선택하여 모든 함수 목록을 닫습니다. 이제 **집계**, **조건부**, **날짜** 등의 함수 그룹이 표시됩니다.

   **조건부**를 선택한 다음 `ifelse`에서 두 번 클릭하여 작업 공간에 추가합니다.

   ```
   ifelse()
   ```

1. 작업 영역의 괄호 안에 커서를 놓고 빈 줄 세 개를 추가합니다.

   ```
   ifelse(
                                               
                                               
                                               
   )
   ```

1. 첫 번째 빈 줄에 커서를 놓고 `dateDiff` 함수를 찾습니다. **날짜** 아래 **함수**에 대해 나열되어 있습니다. **검색 기능**에 **date**을(를) 입력하여 찾을 수도 있습니다. `dateDiff` 함수는 이름의 일부가 포함된 모든 *`date`* 함수를 반환합니다. **날짜** 아래에 나열된 모든 함수를 반환하지는 않습니다. 예를 들어 검색 결과에 해당 `now` 함수가 누락된 경우를 들 수 있습니다.

   `ifelse` 명령문의 첫 번째 빈 줄에 추가하려면 `dateDiff`을(를) 두 번 클릭합니다.

   ```
   ifelse(
   dateDiff()                                            
                                               
                                               
   )
   ```

   `dateDiff`에서 사용하는 매개변수를 추가합니다. `dateDiff` 괄호 안에 커서를 놓으면 `date1`, `date2`, 및 `period`을(를) 추가하기 시작합니다.

   1. `date1`의 경우 첫 번째 파라미터는 날짜가 포함된 필드입니다. **필드**에서 찾은 다음 두 번 클릭하거나 이름을 입력하여 작업 공간에 추가합니다.

   1. `date2`의 경우 쉼표를 추가한 다음 **함수**에 대한 `truncDate()`을(를) 선택합니다. 괄호 안에 **truncDate( "YYYY", now() )** 같은 마침표와 날짜를 추가합니다.

   1. `period`의 경우 `date2` 뒤에 쉼표를 추가하고 **YYYY**을(를) 입력합니다. 해당 연도의 기간입니다. 지원되는 모든 기간의 목록을 보려면 **함수** 목록에서 `dateDiff`을(를) 찾은 다음 **자세히 알아보기**를 선택하여 설명서를 여십시오. 지금과 같이 이미 설명서를 보고 있다면 [dateDiff](dateDiff-function.md)을(를) 참조하십시오.

   원하는 경우 가독성을 위해 공백을 몇 개 추가합니다. 표현식이 다음과 같아야 합니다.

   ```
   ifelse(
      dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" )                                       
                                               
                                               
   )
   ```

1. 변환 값을 지정합니다. 이 예제에서는 `ifelse`의 첫 번째 파라미터가 `TRUE` 또는 `FALSE` 값을 반환해야 합니다. 현재 연도를 원하고 이 연도를 올해와 비교하기 때문에 `dateDiff` 명령문이 `0`을(를) 반환히도록 지정합니다. `ifelse`의 `if` 부분은 판매 연도와 올해 사이에 차이가 없는 행에 대해 참으로 평가됩니다.

   ```
      dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0 
   ```

   `TotalSales`에 대한 작년의 필드를 생성하려면 `0`을(를) `1`(으)로 변경할 수 있습니다.

   같은 작업을 수행하는 또 다른 방법은 `truncDate` 대신 `addDateTime`을(를) 사용하는 것입니다. 그런 다음 이전 연도마다 `addDateTime`에 대해 첫 번째 파라미터를 각 연도를 나타내도록 변경합니다. 이 경우 작년의 `-1` 및 그 전년도 `-2` 등을 사용합니다. `addDateTime`을(를) 사용하는 경우 연도별로 `dateDiff` 함수 `= 0`을(를) 종료합니다.

   ```
      dateDiff( {Discharge Date}, addDateTime(-1, "YYYY", now() ) ,"YYYY" ) = 0 /* Last year */
   ```

1. 커서를 `dateDiff` 바로 아래에 있는 첫 번째 빈 줄로 이동합니다. 쉼표를 추가합니다.

   `ifelse`문의 `then` 부분에서는 판매액 `TotalSales`이(가) 포함된 측정값(지표)을 선택해야 합니다.

   필드를 선택하려면 필드 목록을 열고 **필드**를 두 번 클릭하여 화면에 추가합니다. 또는 이름을 입력할 수 있습니다. 공백이 포함된 이름 주위에 중괄호 `{ }`을(를) 추가합니다. 지표의 이름이 다를 수 있습니다. 앞에 있는 숫자 기호(**\$1**)로 어떤 필드가 지표인지 알 수 있습니다.

   이제 표현식이 다음과 같이 보여야 합니다.

   ```
   ifelse(
      dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0
      ,{TotalSales}                            
                                              
   )
   ```

1. `else`절을 추가합니다. `ifelse` 함수에는 필요하지 않지만 추가하려고 합니다. Null이 있는 행이 생략되는 경우가 있기 때문에 일반적으로 보고를 위해 null 값은 사용하지 않는 것이 좋습니다.

   ifelse의 else 부분은 `0`(으)로 설정했습니다. 결과적으로 이 필드는 이전 연도의 매출이 포함된 행의 `0`에 대한 것입니다.

   이렇게 하려면 빈 줄에 쉼표를 추가한 다음 `0`을(를) 추가합니다. 처음에 설명을 추가한 경우 완성된 `ifelse` 표현식은 다음과 같이 보일 것입니다.

   ```
   /* Calculates sales per year for this year*/
   ifelse(
      dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0
      ,{TotalSales}                            
      ,0                                         
   )
   ```

1. 오른쪽 상단의 **저장**을 선택하여 작업 내용을 저장합니다.

   표현식에 오류가 있는 경우 편집기 하단에 오류 메시지가 표시됩니다. 표현식에 빨간색 구불구불한 선이 있는지 확인한 다음 커서를 해당 선 위에 올려 놓으면 오류 메시지가 무엇인지 확인할 수 있습니다. 일반적인 오류로는 구두점 누락, 파라미터 누락, 철자 오류, 잘못된 데이터 유형 등이 있습니다.

   변경하지 않으려면 **취소**를 선택합니다.

**계산된 필드에 파라미터 값 추가하기**

1. 계산된 필드의 파라미터를 참조할 수 있습니다. 표현식에 파라미터를 추가하여 해당 파라미터의 현재 값을 추가합니다.

1. 파라미터를 추가하려면 **파라미터** 목록을 열고 값을 포함하려는 파라미터를 선택합니다.

1. (선택 사항) 표현식에 파라미터를 수동으로 추가하려면 파라미터 이름을 입력합니다. 그런 다음 중괄호(`{}`)로 묶고 앞에 `$`을(를) 붙입니다(예: `${parameterName}`).

계산된 필드의 유형을 포함하여 데이터 세트에 있는 모든 필드의 데이터 유형을 변경할 수 있습니다. 필드에 있는 데이터와 일치하는 데이터 유형만 선택할 수 있습니다.

**계산된 필드의 데이터 유형 변경하기**
+ **계산된 필드**(왼쪽)의 경우 변경하려는 필드를 선택한 다음 컨텍스트(오른쪽 클릭) 메뉴에서 **데이터 유형 변경**을 선택합니다.

데이터 세트의 다른 필드와 달리 계산된 필드는 비활성화할 수 없습니다. 그 대신 삭제합니다.

**계산된 필드 삭제하기**
+ **계산된 필드**(왼쪽)의 경우 변경하려는 필드를 선택한 다음 컨텍스트(오른쪽 클릭) 메뉴에서 **삭제**를 선택합니다.

## 계산된 필드에서 10진수 값 처리
<a name="handling-decimal-fields"></a>

데이터 세트가 Direct Query 모드를 사용하는 경우 10진수 데이터 유형의 계산은 데이터 세트를 생성한 소스 엔진의 동작에 따라 결정됩니다. 경우에 따라 Quick Sight는 특수 처리를 적용하여 출력 계산의 데이터 유형을 결정합니다.

데이터 세트가 SPICE 쿼리 모드를 사용하고 계산된 필드가 구체화되면 결과의 데이터 유형은 특정 함수 연산자와 입력의 데이터 유형에 따라 달라집니다. 아래 표에는 일부 숫자 계산된 필드의 예상 동작이 나와 있습니다.

**단항 연산자**

다음 표는 사용하는 연산자와 입력한 값의 데이터 유형에 따라 출력되는 데이터 유형을 보여줍니다. 예를 들어 `abs` 계산에 정수를 입력하면 출력 값의 데이터 유형은 정수입니다.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/adding-a-calculated-field-analysis.html)

**이항 연산자**

다음 표는 입력한 두 값의 데이터 유형에 따라 출력되는 데이터 유형을 보여줍니다. 예를 들어 산술 연산자의 경우 두 개의 정수 데이터 유형을 제공하면 계산 결과가 정수로 출력됩니다.

기본 연산자(\$1, -, \$1)의 경우:


|  | **정수** | **고정 소수점** | **부동 소수점** | 
| --- | --- | --- | --- | 
|  **정수**  |  정수  |  고정 소수점  |  부동 소수점  | 
|  **고정 소수점**  |  고정 소수점  |  고정 소수점  |  부동 소수점  | 
|  **부동 소수점**  |  부동 소수점  |  부동 소수점  |  부동 소수점  | 

나눗셈 연산자(/)의 경우:


|  | **정수** | **고정 소수점** | **부동 소수점** | 
| --- | --- | --- | --- | 
|  **정수**  |  부동 소수점  |  부동 소수점  |  부동 소수점  | 
|  **고정 소수점**  |  부동 소수점  |  고정 소수점  |  부동 소수점  | 
|  **부동 소수점**  |  부동 소수점  |  부동 소수점  |  부동 소수점  | 

지수 연산자와 모드 연산자(^,%)의 경우:


|  | **정수** | **고정 소수점** | **부동 소수점** | 
| --- | --- | --- | --- | 
|  **정수**  |  부동 소수점  |  부동 소수점  |  부동 소수점  | 
|  **고정 소수점**  |  부동 소수점  |  부동 소수점  |  부동 소수점  | 
|  **부동 소수점**  |  부동 소수점  |  부동 소수점  |  부동 소수점  | 

# Amazon Quick Sight의 평가 순서
<a name="order-of-evaluation-quicksight"></a>

분석을 열거나 업데이트할 때 표시하기 전에 Amazon Quick Sight는 분석에 구성된 모든 항목을 특정 순서로 평가합니다. Amazon Quick Sight는 구성을 데이터베이스 엔진이 실행할 수 있는 쿼리로 변환합니다. 쿼리는 데이터베이스, 서비스형 소프트웨어(SaaS) 소스 또는 Amazon Quick Sight 분석 엔진()에 연결하는 것과 유사한 방식으로 데이터를 반환합니다[SPICE](spice.md).

구성이 평가되는 순서를 이해하면 특정 필터 또는 계산이 데이터에 언제 적용되는지를 결정하는 순서를 알 수 있습니다.

다음 그림은 평가 순서를 보여줍니다. 왼쪽 열에는 레벨 인식 계산 창(LAC-W)이나 집계(LAC-A) 함수가 포함되지 않은 경우의 평가 순서가 표시됩니다. 두 번째 열에는 사전 필터(`PRE_FILTER`) 수준에서 LAC-W 표현식을 컴퓨팅 할 계산된 필드가 포함된 분석에 대한 평가 순서가 표시됩니다. 세 번째 열에는 사전 집계(`PRE_AGG`) 수준에서 LAC-W 표현식을 컴퓨팅 할 계산된 필드가 포함된 분석에 대한 평가 순서가 표시됩니다. 마지막 열에는 LAC-A 표현식을 컴퓨팅 할 계산된 필드가 포함된 분석에 대한 평가 순서가 표시됩니다. 그림 다음에는 평가 순서에 대한 더 자세한 설명이 있습니다. 레벨 인식 계산에 대한 자세한 내용은 [Quick Sight에서 레벨 인식 계산 사용](level-aware-calculations.md)을(를) 참조하십시오.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/order-of-evaluation2.png)


다음 목록은 Amazon Quick Sight가 분석에서 구성을 적용하는 순서를 보여줍니다. 데이터 세트에서 설정하는 모든 항목(예: 데이터 세트 수준의 계산, 필터 및 보안 설정)은 분석 외부에서 수행됩니다. 이러한 항목은 모두 기본 데이터에 적용됩니다. 다음 목록은 분석 내부에서 수행되는 항목만 다룹니다.

1. **LAC-W 사전 필터 수준: 분석 필터** 이전에 원래 테이블 카디널리티에서 데이터를 평가합니다.

   1. **단순 계산**: 집계 또는 창 계산 없이 스칼라 수준에서 계산합니다. 예를 들어 `date_metric/60, parseDate(date, 'yyyy/MM/dd'), ifelse(metric > 0, metric, 0), split(string_column, '|' 0)`입니다.

   1. **LAC-W 함수 PRE\$1FILTER**: LAC-W PRE\$1FILTER 표현식이 시각적 객체와 관련된 경우 Amazon Quick Sight는 먼저 원래 테이블 수준에서 창 함수를 계산한 다음 필터를 실행합니다. LAC-W PRE\$1FILTER 표현식을 필터에 사용하는 경우 이 시점에서 적용됩니다. 예를 들어 `maxOver(Population, [State, County], PRE_FILTER) > 1000`입니다.

1. **LAC-W PRE\$1AGG**: 집계 전에 원래 테이블 카디널리티에서 데이터를 평가합니다.

   1. **분석 중에 추가된 필터**: 시각 자료의 집계되지 않은 필드에 대해 생성된 필터는 이 시점에서 적용되며, 이는 WHERE 절과 유사합니다. 예를 들어 `year > 2020`입니다.

   1. **LAC-W 함수 PRE\$1AGG**: LAC-W PRE\$1AGG 표현식이 시각적 객체와 관련된 경우 Amazon Quick Sight는 집계가 적용되기 전에 창 함수를 계산합니다. LAC-W PRE\$1AGG 표현식을 필터에 사용하는 경우 이 시점에서 적용됩니다. 예를 들어 `maxOver(Population, [State, County], PRE_AGG) > 1000`입니다.

   1. **상위/하위 N 필터**: 상위/하위 N개 항목을 표시하도록 차원에 구성된 필터입니다.

1. **LAC-A 수준**: 시각적 집계 전에 사용자 지정 수준에서 집계를 평가합니다.

   1. **사용자 지정 수준 집계**: 시각적 객체에 포함된 LAC-A 표현식이 있는 경우 이 시점에서 계산됩니다. Amazon QuickSight는 위에서 언급한 필터 뒤에 있는 표를 기반으로 계산된 필드에 지정된 차원별로 그룹화하여 집계를 계산합니다. 예를 들어 `max(Sales, [Region])`입니다.

1. **시각적 객체 수준**: 시각적 객체 수준에서 집계를 평가하고 나머지 구성을 시각적 객체에 적용하여 집계 후 테이블 계산을 평가합니다.

   1. **시각적 객체 수준 집계**: 테이블 형식 테이블(차원이 비어 있는 경우)을 제외하고는 항상 시각적 객체의 집계를 적용해야 합니다. 이 설정을 사용하면 필드 모음의 필드를 기반으로 한 집계가 시각적 객체에 포함된 차원별로 그룹화되어 계산됩니다. 집계를 기반으로 하는 필터가 있으면 HAVING 절과 마찬가지로 이 시점에서 필터가 적용됩니다. 예를 들어 `min(distance) > 100`입니다.

   1. **테이블 계산**: 시각에서 참조되는 집계 후 테이블 계산(집계 표현식을 피연산자로 사용해야 함)이 있는 경우 이 시점에서 계산됩니다. Amazon Quick Sight는 시각적 집계 후 창 계산을 수행합니다. 마찬가지로 이러한 계산을 기반으로 구축된 필터가 적용됩니다.

   1. **기타 카테고리 계산**: 이 유형의 계산은 선형/막대/파이/도넛형 차트에서만 사용할 수 있습니다. 자세한 내용은 [표시 제한](working-with-visual-types.md#display-limits) 단원을 참조하십시오.

   1. **총계 및 소계**: 총계 및 소계는 요청 시 도넛형 차트(총계만), 테이블(총계만) 및 피벗 테이블로 계산됩니다.

# Quick Sight에서 레벨 인식 계산 사용
<a name="level-aware-calculations"></a>


|  | 
| --- |
|    적용 대상: 엔터프라이즈 에디션 및 스탠다드 에디션  | 

정도 인식 계산(LAC)을 사용하면 창 함수 또는 집계 함수를 계산할 세부 수준을 지정할 수 있습니다. LAC 함수에는 레벨 인식 계산 - 집계(LAC-A) 함수와 레벨 인식 계산 - 창(LAC-W) 함수의 두 가지 유형이 있습니다.

**Topics**
+ [LAC-A 함수](#level-aware-calculations-aggregate)
+ [LAC-W 함수](#level-aware-calculations-window)

## 레벨 인식 계산 - 집계 -(LAC-A) 함수
<a name="level-aware-calculations-aggregate"></a>

LAC-A 함수를 사용하면 계산을 그룹화할 수준을 지정할 수 있습니다. `sum() , max() , count()`와(과) 같은 기존 집계 함수에 인수 하나를 추가하면 집계에 사용할 그룹별 수준을 정의할 수 있습니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다. 예제:

```
sum(measure,[group_field_A])
```

LAC-A 함수를 사용하려면 대괄호 사이에 의도한 집계 수준을 두 번째 인수로 추가하여 계산 에디터에서 직접 함수를 입력합니다. 다음은 비교를 위한 집계 함수와 LAC-A 함수의 예입니다.
+ 집계 함수: `sum({sales})`
+ LAC-A 함수: `sum({sales}, [{Country},{Product}])`

LAC-A 결과는 대괄호 `[ ]` 안의 지정된 수준으로 계산되며 집계 함수의 피연산자로 사용할 수 있습니다. 집계 함수의 그룹별 수준은 시각적 수준이며, 시각적 필드 모음에 **그룹화 기준** 필드가 추가됩니다.

괄호 `[ ]` 안에 정적 LAC 그룹 키를 생성하는 것 외에도 괄호 안에 파라미터 `$visualDimensions`을(를) 입력하여 시각적 그룹별 필드에 동적으로 적용할 수 있습니다. 이 파라미터는 사용자 정의 파라미터와는 대조적으로 시스템에서 제공하는 파라미터입니다. `[$visualDimensions]` 파라미터는 현재 시각에서 **그룹화 기준** 필드에 추가된 필드를 잘 나타냅니다. 다음 예제는 시각적 차원에 그룹 키를 동적으로 추가하거나 시각적 차원에서 그룹 키를 제거하는 방법을 보여줍니다.
+ 동적 추가 그룹 키가 있는 LAC-A: `sum({sales}, [${visualDimensions},{Country},{Products}])`

  시각적 수준 집계를 계산하기 전에 매출 합계, `country`별 그룹화, `products` 및 **그룹화 기준** 필드의 기타 필드를 잘 계산합니다.
+ 동적으로 제거된 그룹 키가 있는 LAC-A: `sum({sales}, [${visualDimensions},!{Country},!{Products}])` 

  시각적 수준 집계를 계산하기 전에 시각적 객체의 **그룹화 기준** 필드(`country` 및 `product` 제외)에서 필드별로 그룹화하여 매출 합계를 계산합니다.

LAC 표현식에 추가된 그룹 키 또는 제거된 그룹 키를 지정할 수 있지만 둘 다 지정할 수는 없습니다.

LAC-A 함수는 다음 집계 함수에 대해 지원됩니다.
+ [avg](avg-function.md)
+ [count](count-function.md)
+ [distinct\$1count](distinct_count-function.md)
+ [max](max-function.md)
+ [median](median-function.md)
+ [min](min-function.md)
+ [percentile](percentile-function.md)
+ [percentileCont](percentileCont-function.md)
+ [percentileDisc(백분위수)](percentileDisc-function.md)
+ [stdev](stdev-function.md)
+ [stdevp](stdevp-function.md)
+ [sum](sum-function.md)
+ [var](var-function.md)
+ [varp](varp-function.md)

### LAC-A 예제
<a name="level-aware-calculations-aggregate-examples"></a>

LAC-A 함수를 사용하여 다음 작업을 수행할 수 있습니다.
+ 시각적 객체의 수준과 무관하게 계산을 실행하십시오. 예를 들어 다음 계산을 사용하는 경우 판매량은 국가 수준에서만 집계되고 시각의 다른 차원(리전 또는 제품)에서는 집계되지 않습니다.

  ```
  sum({Sales},[{Country}])
  ```
+ 시각적 객체에 없는 차원에 대해 계산을 실행하십시오. 예를 들어 다음 함수가 있는 경우 리전별 평균 국가 총매출을 계산할 수 있습니다.

  ```
  sum({Sales},[{Country}])
  ```

  국가는 시각에 포함되지 않지만 LAC-A 함수는 먼저 국가 수준에서 매출을 집계한 다음 시각적 수준 계산을 통해 각 리전의 평균 수치를 생성합니다. LAC-A 함수를 사용하여 수준을 지정하지 않는 경우 평균 매출은 각 리전의 가장 낮은 세분화 수준(데이터 세트의 기본 수준)에서 계산됩니다(판매 열에 표시).
+ LAC-A를 다른 집계 함수 및 LAC-W 함수와 함께 사용하십시오. LAC-A 함수를 다른 함수와 중첩하는 방법에는 다음 두 가지가 있습니다.
  + 계산을 생성할 때 중첩 구문을 작성할 수 있습니다. 예를 들어 LAC-A 함수를 LAC-W 함수와 중첩하여 각 제품 평균 가격의 국가별 총 판매량을 계산할 수 있습니다.

    ```
    sum(avgOver({Sales},[{Product}],PRE_AGG),[{Country}])
    ```
  + LAC-A 함수를 시각적 객체에 추가하면 필드에서 잘 선택한 시각적 수준 집계 함수를 사용하여 계산을 추가로 중첩할 수 있습니다. 시각적 필드의 집계 변경에 대한 자세한 내용은 [필드 모음을 사용하여 필드에 대한 집계 변경 또는 추가](changing-field-aggregation.md#change-field-aggregation-field-wells)을(를) 참조하십시오.

### LAC-A 제한 사항
<a name="level-aware-calculations-aggregate-limitations"></a>

LAC-A 함수에는 다음과 같은 제한 사항이 적용됩니다.
+ LAC-A 함수는, 및 같은 모든 가산 및 비가산 집계 함수(예: `sum()`, `count()` 및 `percentile()`.)에서 지원됩니다. LAC-A 함수는 “if”로 끝나는 조건부 집계 함수(예: `sumif()` 및 `countif()`)나 “periodToDate”로 시작하는 기간 집계 함수 (예: `periodToDateSum()` 및 `periodToDateMax()`)에는 지원되지 않습니다.
+ 테이블 및 피벗 테이블의 LAC-A 함수에는 현재 행 수준 및 열 수준 합계가 지원되지 않습니다. 차트에 행 수준 또는 열 수준 합계를 추가하면 총계가 공백으로 표시됩니다. LAC가 아닌 다른 차원은 영향을 받지 않습니다.
+ 중첩된 LAC-A 함수는 현재 지원되지 않습니다. 일반 집계 함수 및 LAC-W 함수와 중첩된 LAC-A 함수의 제한된 기능은 지원됩니다.

  예를 들어 다음과 같은 기능이 유효합니다.
  + `Aggregation(LAC-A())`. 예: `max(sum({sales}, [{country}]))`
  + `LAC-A(LAC-W())`. 예: `sum(sumOver({Sales},[{Product}],PRE_AGG), [{Country}])`

  다음 함수는 유효하지 않습니다.
  + `LAC-A(Aggregation())`. 예: `sum(max({sales}), [{country}])`
  + `LAC-A(LAC-A())`. 예: `sum(max({sales}, [{country}]),[category])`
  + `LAC-W(LAC-A())`. 예: `sumOver(sum({Sales},[{Product}]),[{Country}],PRE_AGG)`

## 레벨 인식 계산 - 윈도우(LAC-W) 함수
<a name="level-aware-calculations-window"></a>

LAC-W 함수를 사용하면 계산을 계산할 창이나 파티션을 지정할 수 있습니다. LAC-W 함수는 사전 필터 또는 사전 집계 수준에서 실행할 수 있는 창 함수(예: `sumover()`, `(maxover)`, `denseRank`) 그룹입니다. 예를 들어 `sumOver(measure,[partition_field_A],pre_agg)`입니다.

LAC-W 함수는 이전에는 수준 인식 집계(LAA)라고 불렸습니다.

LAC-W 함수는 다음과 같은 유형의 질문에 대답하는 데 도움이 됩니다.
+ 내 고객 중 몇 명이 구매 주문을 1회만 했습니까? 또는 10? 또는 50? 우리는 시각적 객체가 카운트를 시각적 객체의 메트릭이 아닌 차원으로 사용하기를 원합니다.
+ 평생 소비액이 100,000 USD를 초과하는 고객에 대한 시장 세그먼트당 총 매출은 얼마입니까? 시각적 객체는 시장 세그먼트와 각 부문의 총 매출만 표시해야 합니다.
+ 회사 전체의 이익(전체 비율)에 대한 각 산업의 기여도는 얼마입니까? 일부 산업을 보여주기 위해 시각적 객체를 필터링하고 이들이 표시된 산업의 총 매출에 기여하는 방식을 필터링하기를 원합니다. 그러나 또한 필터링된 산업을 포함하여 회사 전체에 대한 각 산업의 총 매출 비율을 확인하려고 합니다.
+ 업계 평균과 비교하여 각 카테고리의 총 판매량은 얼마입니까? 필터링 후에도 업계 평균에는 모든 범주가 포함되어야 합니다.
+ 고객은 어떻게 누적 지출 범위로 분류됩니까? 그룹화를 지표가 아닌 차원으로 사용하려고 합니다.

보다 복잡한 질문의 경우 Quick Sight가 설정 평가의 특정 지점에 도달하기 전에 계산 또는 필터를 주입할 수 있습니다. 결과에 직접 영향을 주기 위해 계산 수준 키워드를 테이블 계산에 추가합니다. Quick Sight가 쿼리를 평가하는 방법에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick Sight의 평가 순서](order-of-evaluation-quicksight.md).

LAC-W 함수에는 다음과 같은 계산 수준이 지원됩니다.
+ **`PRE_FILTER`** - Quick Sight는 분석의 필터를 적용하기 전에 사전 필터 계산을 평가합니다. 그런 다음 이러한 사전 필터 계산에 구성된 모든 필터를 적용합니다.
+ **`PRE_AGG`** - 디스플레이 수준 집계를 계산하기 전에 Quick Sight는 사전 집계 계산을 수행합니다. 그런 다음 이러한 사전 집계 계산에 구성된 모든 필터를 적용합니다. 이 작업은 상위 및 하위 *N* 필터를 적용하기 전에 수행됩니다.

다음 표 계산 함수에서 `PRE_FILTER` 또는 `PRE_AGG` 키워드를 파라미터로 사용할 수 있습니다. 계산 수준을 지정하면 함수에서 집계되지 않은 측정 값을 사용합니다. 예를 들어 `countOver({ORDER ID}, [{Customer ID}], PRE_AGG)`를 사용할 수 있습니다. `PRE_AGG`를 사용하여 사전 집계 수준에서 `countOver`가 실행되도록 지정합니다.
+ [avgOver](avgOver-function.md)
+ [countOver](countOver-function.md)
+ [denseRank](denseRank-function.md)
+ [distinctCountOver](distinctCountOver-function.md)
+ [minOver](minOver-function.md)
+ [maxOver](maxOver-function.md)
+ [percentileRank](percentileRank-function.md)
+ [rank](rank-function.md)
+ [stdevOver](stdevOver-function.md)
+ [stdevpOver](stdevpOver-function.md)
+ [sumOver](sumOver-function.md)
+ [varOver](varOver-function.md)
+ [varpOver](varpOver-function.md)

기본적으로 각 함수의 첫 번째 매개 변수는 집계된 측정 값이어야 합니다. `PRE_FILTER` 또는 `PRE_AGG`를 사용하는 경우 첫 번째 파라미터에 대해 집계되지 않는 측정을 사용합니다.

LAC-W 함수의 경우 시각적 집계는 기본적으로 중복을 제거하기 위해 `MIN`(으)로 설정됩니다. 집계를 변경하려면 필드의 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) 다른 집계를 선택합니다.

실제 시나리오에서 LAC-W 함수를 사용하는 시기와 방법에 대한 예는 AWS 빅 데이터 블로그: [ Amazon QuickSight에서 레벨 인식 집계를 사용하여 고급 인사이트 생성의 게시물을 참조하세요.](https://aws.amazon.com/jp/blogs/big-data/create-advanced-insights-using-level-aware-aggregations-in-amazon-quicksight/)

# Amazon Quick에 대해 계산된 필드 함수 및 연산자 참조
<a name="calculated-field-reference"></a>

데이터 준비 중에 또는 분석 페이지에서 데이터 세트에 계산된 필드를 추가할 수 있습니다. 데이터 준비 중에 데이터 세트에 계산된 필드를 추가하는 경우, 해당 데이터 세트를 사용하는 모든 분석에서 이 필드를 사용할 수 있습니다. 분석에서 데이터 세트에 계산된 필드를 추가하는 경우, 해당 분석에서만 이 필드를 사용할 수 있습니다.

다음 함수와 연산자를 사용하여 데이터를 변환하는 계산된 필드를 생성할 수 있습니다.

**Topics**
+ [연산자](arithmetic-and-comparison-operators.md)
+ [범주별 함수](functions-by-category.md)
+ [함수](functions.md)
+ [집계 함수](calculated-field-aggregations.md)
+ [테이블 계산 함수](table-calculation-functions.md)

# 연산자
<a name="arithmetic-and-comparison-operators"></a>

계산된 필드에서 다음 연산자를 사용할 수 있습니다. Quick은 괄호, 지수, 곱하기, 나누기, 더하기, 빼기(PEMDAS)와 같은 표준 작업 순서를 사용합니다. 같음(=) 및 같지 않음(<>) 비교는 대/소문자를 구분합니다.
+ 더하기(\$1)
+ 빼기(-)
+ 곱하기(\$1)
+ 나누기(/)
+ 모듈로(%) - 다음 목록에서 `mod()`을(를) 참조하십시오.
+ 거듭제곱(^) - 다음 목록에서 `exp()`을(를) 참조하십시오.
+ 같음(=)
+ 같지 않음(<>)
+ 큼 (>)
+ 크거나 같음(>=)
+ 작음(<)
+ 작거나 같음(<=)
+ AND
+ 또는
+ NOT

Amazon Quick은 표현식에 다음과 같은 수학 함수를 적용할 수 있도록 지원합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/mod-function.html](https://docs.aws.amazon.com/quicksight/latest/user/mod-function.html)(number, divisor)` - 숫자를 제수로 나눈 후 나머지를 구합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/log-function.html](https://docs.aws.amazon.com/quicksight/latest/user/log-function.html)(expression) `- 임의의 표현식의 밑이 10인 로그를 반환합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/ln-function.html](https://docs.aws.amazon.com/quicksight/latest/user/ln-function.html)(expression) `- 임의의 표현식의 자연로그를 반환합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/abs-function.html](https://docs.aws.amazon.com/quicksight/latest/user/abs-function.html)(expression) `- 임의의 표현식의 절대값을 반환합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/sqrt-function.html](https://docs.aws.amazon.com/quicksight/latest/user/sqrt-function.html)(expression) `- 임의의 표현식의 제곱근을 반환합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/exp-function.html](https://docs.aws.amazon.com/quicksight/latest/user/exp-function.html)(expression) `- 임의의 표현식의 자연로그 밑 e의 거듭제곱을 반환합니다.

긴 계산을 보다 쉽게 읽을 수 있도록 괄호를 사용하여 계산에서 그룹화 및 우선 순위를 명확히 지정할 수 있습니다. 다음 문에서는 괄호가 필요하지 않습니다. 곱하기 명령문이 먼저 처리된 후 그 결과에 5를 더하여 26이라는 값을 반환합니다. 하지만 괄호는 문을 보다 쉽게 읽을 수 있게 해줍니다.

```
5 + (7 * 3)
```

괄호는 연산 순서에서 가장 빠르므로 다른 연산자가 적용되는 순서를 변경할 수 있습니다. 예를 들어 다음 문에서 더하기 명령문이 먼저 처리된 후 그 결과에 3을 곱하여 36이라는 값을 반환합니다.

```
(5 + 7) * 3
```

## 예: 산술 연산자
<a name="operator-example-multiple-operators"></a>

다음 예에서는 여러 산술 연산자를 사용하여 할인 후 총 매출액을 계산합니다.

```
(Quantity * Amount) - Discount
```

## 예: (/)나누기
<a name="operator-example-division-operators"></a>

다음 예제에서는 나누기를 사용하여 3을 2로 나눕니다. 1.5 값이 반환됩니다. Amazon Quick은 부동 소수점 분할을 사용합니다.

```
3/2
```

## 예: (=)같음
<a name="operator-example-equal"></a>

=를 사용하여 값의 대/소문자 구분 비교를 수행합니다. 비교가 TRUE인 행이 결과 집합에 포함됩니다.

다음 예에서 `Region` 필드가 **South**인 행이 결과에 포함됩니다. `Region`이 **south**인 경우 이들 행은 제외됩니다.

```
Region = 'South'
```

다음 예에서 비교는 FALSE로 평가됩니다.

```
Region = 'south'
```

다음 예는 `Region`을 모두 대문자(**SOUTH**)로 변환하여 **SOUTH**와 비교합니다. 그러면 리전이 **south**, **South** 또는 **SOUTH**인 행이 반환됩니다.

```
toUpper(Region) = 'SOUTH'
```

## 예: (<>)
<a name="operator-example-not-equal"></a>

같지 않음 기호 <>는 보다 작음 또는 큼을 의미합니다.

그러므로 **x<>1**이라고 할 경우 *x가 1보다 작은 경우 또는 x가 1보다 큰 경우*를 의미하는 것입니다. < 및 >가 동시에 평가됩니다. 다시 말하면, *x가 1 이외의 임의 값일 경우*입니다. 또는 *x가 1이 아님*입니다.

**참고**  
\$1=이 아닌 <>을 사용합니다.

다음 예는 `Status Code`를 숫자 값과 비교합니다. 그러면 `Status Code`가 **1**이 아닌 행이 반환됩니다.

```
statusCode <> 1
```

다음 예는 여러 `statusCode` 값을 비교합니다. 이 경우 활성 레코드에는 `activeFlag = 1`이 있습니다. 이 예는 다음 중 하나가 적용되는 행을 반환합니다.
+ 활성 레코드에 대해 상태가 1 또는 2가 아닌 행을 표시
+ 비활성 레코드에 대해 상태가 99 또는 -1인 행을 표시

```
( activeFlag = 1 AND (statusCode <> 1 AND statusCode <> 2) )
OR
( activeFlag = 0 AND (statusCode= 99 OR statusCode= -1) )
```

## 예: (^)
<a name="operator-example-power"></a>

거듭제곱 기호 `^`는 *같은 수를 계속 곱한다*는 뜻입니다. 유효한 지수와 함께 숫자 필드와 함께 파워 연산자를 사용할 수 있습니다.

다음 예는 2의 4 거듭제곱(2\$12\$12\$12)의 단순 표현식입니다. 이 예제는 값 16을 반환합니다.

```
2^4
```

다음 예제에서는 수익 필드의 제곱근을 계산합니다.

```
revenue^0.5
```

## 예: AND, OR, NOT
<a name="operator-example-and-or-not"></a>

다음 예제에서는 AND, OR, NOT을 사용하여 여러 식을 비교합니다. 이는 조건부 연산자를 사용하여 10개 이상의 주문을 한 워싱턴 또는 오리건 주에 있지 않은 상위 고객을 특별 프로모션으로 태그합니다. 아무 값도 반환되지 않으면 값 'n/a'가 사용됩니다.

```
ifelse(( (NOT (State = 'WA' OR State = 'OR')) AND Orders > 10), 'Special Promotion XYZ', 'n/a')
```

## 예: "in" 또는 "not in"과 같은 비교 목록 생성
<a name="operator-example-in-or-not-in"></a>

이 예에서는 연산자를 사용하여 지정된 값 목록에서 존재 또는 부재하는 값을 찾는 비교를 생성합니다.

다음 예는 `promoCode`를 지정된 값 목록과 비교합니다. 이 예제에서는 `promoCode`가 목록 **(1, 2, 3)**에 포함된 행이 반환됩니다.

```
promoCode    = 1
OR promoCode = 2
OR promoCode = 3
```

다음 예는 `promoCode`를 지정된 값 목록과 비교합니다. 이 예에서 `promoCode`가 목록 **(1, 2, 3)**에 포함되지 않은 행이 반환됩니다.

```
NOT(promoCode = 1
OR promoCode  = 2
OR promoCode  = 3
)
```

이를 표현하는 다른 방법은 `promoCode`가 목록의 어떤 항목과도 같지 않은 목록을 제공하는 것입니다.

```
promoCode     <> 1
AND promoCode <> 2
AND promoCode <> 3
```

## 예: "between" 비교 생성
<a name="operator-example-between"></a>

이 예제에서는 비교 연산자를 사용하여 한 값과 다른 값 사이에 존재하는 값을 표시하는 비교를 생성합니다.

다음 예는 `OrderDate`를 검사하여 `OrderDate`가 2016년의 첫 번째 날과 마지막 날 사이에 존재하는 행을 반환합니다. 이 경우 첫 번째 날과 마지막 날을 포함시키기 원하므로 비교 연산자에 "or equal to"를 사용합니다.

```
OrderDate >= "1/1/2016" AND OrderDate <= "12/31/2016"
```

# 범주별 함수
<a name="functions-by-category"></a>

이 섹션에서는 Amazon Quick에서 사용할 수 있는 함수 목록을 범주별로 정렬하여 찾을 수 있습니다.

**Topics**
+ [집계 함수](#aggregate-functions)
+ [조건 함수](#conditional-functions)
+ [날짜 함수](#date-functions)
+ [숫자 함수](#numeric-functions)
+ [수학 함수](#mathematical-functions)
+ [문자열 함수](#string-functions)
+ [테이블 계산](#table-calculations)

## 집계 함수
<a name="aggregate-functions"></a>

Amazon Quick에서 계산된 필드의 집계 함수에는 다음이 포함됩니다. 분석 및 시각화 도중에만 제공됩니다. 이들 함수는 각각 선택된 차원(들)로 그룹화된 값을 반환합니다. 각 집계의 경우 조건 집계도 있습니다. 조건을 기반으로 동일한 유형의 집계를 수행합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/avg-function.html](https://docs.aws.amazon.com/quicksight/latest/user/avg-function.html)의 경우 선택된 차원으로 그룹화된 지정된 치수(들)의 숫자 집합을 평균합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/avgIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/avgIf-function.html)은(는) 조건문을 기반으로 평균을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/count-function.html](https://docs.aws.amazon.com/quicksight/latest/user/count-function.html)의 경우 선택된 차원(들)로 그룹화된 차원 또는 치수의 값 개수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/countIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/countIf-function.html)은(는) 조건문을 기반으로 개수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/distinct_count-function.html](https://docs.aws.amazon.com/quicksight/latest/user/distinct_count-function.html)의 경우 선택된 차원(들)로 그룹화된 차원 또는 치수의 개별 값 개수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/distinct_countIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/distinct_countIf-function.html)은(는) 조건문을 기반으로 고유 개수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/max-function.html](https://docs.aws.amazon.com/quicksight/latest/user/max-function.html)의 경우 선택된 차원(들)로 그룹화된 지정된 치수의 최대값을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/maxIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/maxIf-function.html)은(는) 조건문을 기반으로 최대값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/median-function.html](https://docs.aws.amazon.com/quicksight/latest/user/median-function.html)의 경우 선택된 차원(들)로 그룹화된 지정된 치수의 중간값을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/medianIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/medianIf-function.html)은(는) 조건문을 기반으로 중간값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/min-function.html](https://docs.aws.amazon.com/quicksight/latest/user/min-function.html)의 경우 선택된 차원(들)로 그룹화된 지정된 치수의 최소값을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/minIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/minIf-function.html)은(는) 조건문을 기반으로 최소값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentile-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentile-function.html)(`percentileDisc`의 가명)은(는) 선택된 차원으로 그룹화된 지정된 치수의 n번째 백분위를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentileCont-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentileCont-function.html)은(는) 지정된 측정값 수의 연속 분포를 선택한 차원 또는 차원별로 그룹화하여 n번째 백분위수를 계산합니다.
+ [percentileDisc (백분위수)](https://docs.aws.amazon.com/quicksight/latest/user/percentileDisc-function.html)는 선택한 차원으로 그룹화된 지정된 치수의 실제 수를 기준으로 *n*번째 백분위수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateAvg-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateAvg-function.html)은(는) 특정 시점까지의 지정된 시간의 세분성(예: 분기)에 대해 지정된 측정값의 숫자 집합의 평균을 설정합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateCount-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateCount-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대한 차원 또는 측정값의 값 수를 중복을 포함하여 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMax-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMax-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대해 지정된 측정값의 최대값을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMedian-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMedian-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대해 지정된 측정값의 중앙값을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMin-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMin-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대해 지정된 측정값 또는 날짜의 최소값을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDatePercentile-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDatePercentile-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대한 실제 측정값을 기준으로 백분위수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDatePercentileCont-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDatePercentileCont-function.html)은(는) 특정 시점까지의 지정된 시간의 세분성(예: 분기)에 대한 측정값에 포함된 숫자의 연속 분포를 기반으로 백분위수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateStDev-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateStDev-function.html)은(는) 특정 시점까지의 주어진 시간 세분성(예: 분기)에 대해 표본을 기준으로 지정된 측정값에 있는 숫자 집합의 표준 편차를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateStDevP-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateStDevP-function.html)은(는) 표본을 기반으로 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대해 지정된 측정값에 포함된 숫자 집합의 모집단 표준 편차를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateSum-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateSum-function.html)은(는) 주어진 시간 세분성에 대해 지정된 측정값의 숫자 집합을 특정 시점까지 점진적으로(예: 분기) 더합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateVar-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateVar-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 1/4)에 대해 지정된 측정값에 포함된 숫자 집합의 표본 분산을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateVarP-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateVarP-function.html)은(는) 지정된 시간 세분성(예: 분기)에 대해 특정 시점까지의 지정된 측정값에 포함된 숫자 집합의 모집단 분산을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/stdev-function.html](https://docs.aws.amazon.com/quicksight/latest/user/stdev-function.html))샘플을 기반으로 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 표준 편차를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/stdevIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/stdevIf-function.html)은(는)조건문을 기반으로 표본 표준 편차를 계산합니다.
+ 편향된 모집단을 기반으로 [https://docs.aws.amazon.com/quicksight/latest/user/stdevp-function.html](https://docs.aws.amazon.com/quicksight/latest/user/stdevp-function.html)은 선택된 차원으로 그룹화된 지정된 치수의 표준 편차를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/stdevpIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/stdevpIf-function.html)은(는) 조건문을 기반으로 모집단 편차를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/var-function.html](https://docs.aws.amazon.com/quicksight/latest/user/var-function.html))샘플을 기반으로 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 분산을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/varIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/varIf-function.html)은(는) 조건문을 기반으로 표본 분산을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/varp-function.html](https://docs.aws.amazon.com/quicksight/latest/user/varp-function.html))편향된 모집단을 기반으로 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 분산을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/varpIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/varpIf-function.html)은(는) 조건문을 기반으로 모집단 분산을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/sum-function.html](https://docs.aws.amazon.com/quicksight/latest/user/sum-function.html))선택된 차원으로 그룹화된 지정된 치수의 숫자 집합을 더합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/sumIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/sumIf-function.html))조건문을 기반으로 합계를 계산합니다.

## 조건 함수
<a name="conditional-functions"></a>

Amazon Quick에서 계산된 필드의 조건부 함수에는 다음이 포함됩니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/coalesce-function.html](https://docs.aws.amazon.com/quicksight/latest/user/coalesce-function.html)는 null이 아닌 첫 번째 인수의 값을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/ifelse-function.html](https://docs.aws.amazon.com/quicksight/latest/user/ifelse-function.html)는 *if*, *then* 표현식 쌍을 평가해 true로 평가된 첫 번째 *if* 인수에 대한 *then* 인수의 값을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/in-function.html](https://docs.aws.amazon.com/quicksight/latest/user/in-function.html)은(는) 표현식을 평가하여 해당 표현식이 지정된 값 목록에 포함되는지 확인합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/isNotNull-function.html](https://docs.aws.amazon.com/quicksight/latest/user/isNotNull-function.html)은 표현식이 null이 아닌지 평가합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/isNull-function.html](https://docs.aws.amazon.com/quicksight/latest/user/isNull-function.html)은 표현식이 null인지 평가합니다. 표현식이 null인 경우 `isNull`은 true를 반환하고 그렇지 않은 경우 false를 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html](https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html)은(는) 표현식을 평가하여 해당 표현식이 지정된 값 목록에 없는지 확인합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/nullIf-function.html](https://docs.aws.amazon.com/quicksight/latest/user/nullIf-function.html)는 두 표현식을 비교합니다. 두 표현식이 동일하면 이 함수는 null을 반환합니다. 두 표현식이 동일하지 않으면 이 함수는 첫 번째 표현식을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/switch-function.html](https://docs.aws.amazon.com/quicksight/latest/user/switch-function.html)은(는) 첫 번째 레이블이 조건 표현식과 동일하게 일치하는 표현식을 반환합니다.

## 날짜 함수
<a name="date-functions"></a>

Amazon Quick에서 계산된 필드의 날짜 함수에는 다음이 포함됩니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/addDateTime-function.html](https://docs.aws.amazon.com/quicksight/latest/user/addDateTime-function.html)은 제공된 날짜 또는 시간에 시간 단위를 더하거나 뺍니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/addWorkDays-function.html](https://docs.aws.amazon.com/quicksight/latest/user/addWorkDays-function.html)은(는) 지정된 근무일 수를 제공된 날짜 또는 시간에 더하거나 뻅니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/dateDiff-function.html](https://docs.aws.amazon.com/quicksight/latest/user/dateDiff-function.html)는 두 날짜 필드 간의 일수 차이를 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/epochDate-function.html](https://docs.aws.amazon.com/quicksight/latest/user/epochDate-function.html)는 epoch 날짜를 표준 날짜로 변환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/extract-function.html](https://docs.aws.amazon.com/quicksight/latest/user/extract-function.html)는 날짜 값의 지정된 부분을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/formatDate-function.html](https://docs.aws.amazon.com/quicksight/latest/user/formatDate-function.html)는 사용자가 지정한 패턴을 사용하여 날짜의 형식을 지정합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/isWorkDay-function.html](https://docs.aws.amazon.com/quicksight/latest/user/isWorkDay-function.html)은(는) 지정된 날짜-시간 값이 근무일 또는 영업일인 경우 TRUE를 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/netWorkDays-function.html](https://docs.aws.amazon.com/quicksight/latest/user/netWorkDays-function.html)은(는) 제공된 두 날짜 값 사이의 근무일 수를 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/now-function.html](https://docs.aws.amazon.com/quicksight/latest/user/now-function.html)는 데이터베이스 설정 또는 파일 및 Salesforce용 UTC를 사용하여 현재 날짜와 시간을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/truncDate-function.html](https://docs.aws.amazon.com/quicksight/latest/user/truncDate-function.html)는 날짜의 지정된 부분을 나타내는 날짜 값을 반환합니다.

## 숫자 함수
<a name="numeric-functions"></a>

Amazon Quick에서 계산된 필드의 숫자 함수에는 다음이 포함됩니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/ceil-function.html](https://docs.aws.amazon.com/quicksight/latest/user/ceil-function.html)은 10진수 값을 다음 높은 정수로 올립니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/decimalToInt-function.html](https://docs.aws.amazon.com/quicksight/latest/user/decimalToInt-function.html)는 10진수 값을 정수로 변환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/floor-function.html](https://docs.aws.amazon.com/quicksight/latest/user/floor-function.html)은 10진수 값을 다음 낮은 정수로 내립니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/intToDecimal-function.html](https://docs.aws.amazon.com/quicksight/latest/user/intToDecimal-function.html)는 정수 값을 10진수로 변환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/round-function.html](https://docs.aws.amazon.com/quicksight/latest/user/round-function.html)는 소수 자릿수가 지정되지 않은 경우 10진수 값을 가장 가까운 정수로 올리고 지정된 경우에는 가장 가까운 소수 자릿수로 올립니다.

## 수학 함수
<a name="mathematical-functions"></a>

Amazon Quick의 계산된 필드에 대한 수학 함수에는 다음이 포함됩니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/mod-function.html](https://docs.aws.amazon.com/quicksight/latest/user/mod-function.html)(number, divisor)` - 숫자를 제수로 나눈 후 나머지를 구합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/log-function.html](https://docs.aws.amazon.com/quicksight/latest/user/log-function.html)(expression) `- 임의의 표현식의 밑이 10인 로그를 반환합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/ln-function.html](https://docs.aws.amazon.com/quicksight/latest/user/ln-function.html)(expression) `- 임의의 표현식의 자연로그를 반환합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/abs-function.html](https://docs.aws.amazon.com/quicksight/latest/user/abs-function.html)(expression) `- 임의의 표현식의 절대값을 반환합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/sqrt-function.html](https://docs.aws.amazon.com/quicksight/latest/user/sqrt-function.html)(expression) `- 임의의 표현식의 제곱근을 반환합니다.
+ `[https://docs.aws.amazon.com/quicksight/latest/user/exp-function.html](https://docs.aws.amazon.com/quicksight/latest/user/exp-function.html)(expression) `- 임의의 표현식의 자연로그 밑 e의 거듭제곱을 반환합니다.

## 문자열 함수
<a name="string-functions"></a>

Amazon Quick에서 계산된 필드의 문자열(텍스트) 함수에는 다음이 포함됩니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/concat-function.html](https://docs.aws.amazon.com/quicksight/latest/user/concat-function.html)은 두 개 이상의 문자열을 연결합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/contains-function.html](https://docs.aws.amazon.com/quicksight/latest/user/contains-function.html)은(는) 표현식에 하위 문자열이 포함되어 있는지 확인합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/endsWith-function.html](https://docs.aws.amazon.com/quicksight/latest/user/endsWith-function.html)은(는) 표현식이 지정된 하위 문자열로 끝나는지 확인합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/left-function.html](https://docs.aws.amazon.com/quicksight/latest/user/left-function.html)는 문자열의 가장 왼쪽부터 지정된 개수의 문자를 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/locate-function.html](https://docs.aws.amazon.com/quicksight/latest/user/locate-function.html)는 다른 문자열 내에서 지정한 하위 문자열을 찾아 해당 하위 문자열 전까지의 문자 수를 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/ltrim-function.html](https://docs.aws.amazon.com/quicksight/latest/user/ltrim-function.html)은(는) 문자열 앞에 오는 공백을 제거합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/parseDate-function.html](https://docs.aws.amazon.com/quicksight/latest/user/parseDate-function.html)는 문자열을 구문 분석하여 문자열에 날짜 값이 포함되어 있는지 확인하고 발견된 경우 날짜 값을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/parseDecimal-function.html](https://docs.aws.amazon.com/quicksight/latest/user/parseDecimal-function.html)은 문자열을 구문 분석하여 문자열에 10진수 값이 포함되어 있는지 확인합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/parseInt-function.html](https://docs.aws.amazon.com/quicksight/latest/user/parseInt-function.html)는 문자열을 구문 분석하여 문자열에 정수 값이 포함되어 있는지 확인합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/parseJson-function.html](https://docs.aws.amazon.com/quicksight/latest/user/parseJson-function.html)은 기본 JSON 또는 텍스트 필드 내 JSON 객체로부터 값을 구문 분석합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/replace-function.html](https://docs.aws.amazon.com/quicksight/latest/user/replace-function.html)는 문자열의 일부를 새 문자열로 바꿉니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/right-function.html](https://docs.aws.amazon.com/quicksight/latest/user/right-function.html)는 문자열의 가장 오른쪽부터 지정된 개수의 문자를 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/rtrim-function.html](https://docs.aws.amazon.com/quicksight/latest/user/rtrim-function.html)은(는) 문자열 뒤에 오는 공백을 제거합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/split-function.html](https://docs.aws.amazon.com/quicksight/latest/user/split-function.html)은 선택한 구분자를 기준으로 문자열을 하위 문자열 배열로 분할한 다음 위치에 따라 항목을 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/startsWith-function.html](https://docs.aws.amazon.com/quicksight/latest/user/startsWith-function.html)은(는) 표현식이 지정된 하위 문자열로 시작하는지 확인합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/strlen-function.html](https://docs.aws.amazon.com/quicksight/latest/user/strlen-function.html)는 문자열의 문자 수를 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/substring-function.html](https://docs.aws.amazon.com/quicksight/latest/user/substring-function.html)는 문자열에서 지정된 위치부터 시작하여 지정된 개수의 문자를 반환합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/toLower-function.html](https://docs.aws.amazon.com/quicksight/latest/user/toLower-function.html)는 문자열을 모두 소문자로 바꿉니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/toString-function.html](https://docs.aws.amazon.com/quicksight/latest/user/toString-function.html)은 입력 표현식을 문자열로 바꿉니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/toUpper-function.html](https://docs.aws.amazon.com/quicksight/latest/user/toUpper-function.html)는 문자열을 모두 대문자로 바꿉니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/trim-function.html](https://docs.aws.amazon.com/quicksight/latest/user/trim-function.html)은(는) 문자열 앞/뒤의 공백을 둘 다 제거합니다.

## 테이블 계산
<a name="table-calculations"></a>

테이블 계산은 분석에 맥락을 제공하는 함수 그룹을 형성합니다. 이것은 강화된 집계 분석을 지원합니다. 이런 계산을 사용하면 총 비율, 누계, 차이, 공통 기준, 순위 계산과 같은 흔한 비즈니스 시나리오를 해결할 수 있습니다. 

특정 시각적 객체에서 데이터를 분석할 때 현재 데이터 세트에 테이블 계산을 적용하여 차원이 치수나 다른 차원에 미치는 영향을 알아볼 수 있습니다. 시각적으로 표현된 데이터는 현재 데이터 세트를 바탕으로 각종 필터와 필드 선택, 사용자 지정 사항이 적용된 결과입니다. 이 결과 세트를 정확히 보려면 시각적 객체를 파일로 내보내기하면 됩니다. 테이블 계산 함수는 데이터에 연산을 수행하여 필드 사이의 관계를 알아냅니다.

**조회 기반 함수**
+ [https://docs.aws.amazon.com/quicksight/latest/user/difference-function.html](https://docs.aws.amazon.com/quicksight/latest/user/difference-function.html)는 분할과 정렬 한 세트를 바탕으로 한 치수와 다른 세트를 바탕으로 한 치수 간의 차이를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/lag-function.html](https://docs.aws.amazon.com/quicksight/latest/user/lag-function.html)는 치수에 뒤떨어지는(이전) 값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/lead-function.html](https://docs.aws.amazon.com/quicksight/latest/user/lead-function.html)는 치수에 이어지는(다음) 값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentDifference-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentDifference-function.html)는 현재 값과 비교 값 간의 비율 차이를 계산합니다.

**Over 함수:**
+ [https://docs.aws.amazon.com/quicksight/latest/user/avgOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/avgOver-function.html)는 하나 이상의 차원에서 치수의 평균을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/countOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/countOver-function.html)는 하나 이상의 차원에서 필드의 개수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/distinctCountOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/distinctCountOver-function.html)은(는) 지정된 수준에서 지정된 속성으로 분할된 피연산자의 고유 개수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/maxOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/maxOver-function.html)는 하나 이상의 차원에서 치수의 최댓값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/minOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/minOver-function.html) 하나 이상의 차원에서 측정치의 최소.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentileOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentileOver-function.html)(`percentileDiscOver`의 가명)은(는) 차원 목록으로 분할된 측정치의 n번째 백분위 수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentileContOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentileContOver-function.html)은(는) 차원 목록으로 분할된 측정값 수의 연속 분포를 기준으로 n번째 백분위 수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentileDiscOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentileDiscOver-function.html)은(는) 차원 목록으로 분할된 실제 측정값 수의 n번째 백분위 수를 기준으로 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentOfTotal-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentOfTotal-function.html)은(는) 총합에 대한 치수의 비율을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodOverPeriodDifference-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodOverPeriodDifference-function.html)은(는) 기간 세분성 및 오프셋으로 지정된 서로 다른 두 기간 동안의 측정값 차이를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodOverPeriodLastValue-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodOverPeriodLastValue-function.html)은(는) 기간 세분성 및 오프셋으로 지정된 대로 이전 기간의 마지막 (이전) 측정값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodOverPeriodPercentDifference-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodOverPeriodPercentDifference-function.html)은(는) 시간 세분성 및 오프셋으로 지정된 서로 다른 두 시간의 측정값 백분율 차이를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateAvgOverTime-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateAvgOverTime-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대한 측정값의 평균을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateCountOverTime-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateCountOverTime-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대한 차원 또는 측정값의 수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMaxOverTime-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMaxOverTime-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대한 측정값 또는 날짜의 최대값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMinOverTime-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateMinOverTime-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대한 측정값 또는 날짜의 최소값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/periodToDateSumOverTime-function.html](https://docs.aws.amazon.com/quicksight/latest/user/periodToDateSumOverTime-function.html)은(는) 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대한 측정값의 합계를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/sumOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/sumOver-function.html)는 하나 이상의 차원에서 치수의 합을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/stdevOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/stdevOver-function.html)은 샘플을 기반으로 선택한 특성 별로 분할된 지정된 치수의 표준 편차를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/stdevpOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/stdevpOver-function.html)은 편향된 모집단을 기준으로 선택한 특성 별로 분할된 지정된 치수의 표준 편차를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/varOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/varOver-function.html)은 샘플을 기반으로 선택된 특성 별로 분할된 지정된 치수의 분산을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/varpOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/varpOver-function.html)은 편향된 모집단을 기준으로 선택한 특성 별로 분할된 지정된 치수의 분산을 계산합니다.

**순위 함수**
+ [https://docs.aws.amazon.com/quicksight/latest/user/rank-function.html](https://docs.aws.amazon.com/quicksight/latest/user/rank-function.html)는 차원 또는 치수의 순위를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/denseRank-function.html](https://docs.aws.amazon.com/quicksight/latest/user/denseRank-function.html)은 중복을 무시하고 차원 또는 치수의 순위를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentileRank-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentileRank-function.html)은 백분위를 토대로 치수 또는 규격의 순위를 계산합니다.

**실행 함수:**
+ [https://docs.aws.amazon.com/quicksight/latest/user/runningAvg-function.html](https://docs.aws.amazon.com/quicksight/latest/user/runningAvg-function.html)은 측정치의 실행 평균을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/runningCount-function.html](https://docs.aws.amazon.com/quicksight/latest/user/runningCount-function.html)은 측정치의 실행 개수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/runningMax-function.html](https://docs.aws.amazon.com/quicksight/latest/user/runningMax-function.html)은 측정치의 실행 최대를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/runningMin-function.html](https://docs.aws.amazon.com/quicksight/latest/user/runningMin-function.html)은 측정치의 실행 최소를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/runningSum-function.html](https://docs.aws.amazon.com/quicksight/latest/user/runningSum-function.html)은 치수의 누계를 계산합니다.

**윈도 함수**
+ [https://docs.aws.amazon.com/quicksight/latest/user/firstValue-function.html](https://docs.aws.amazon.com/quicksight/latest/user/firstValue-function.html)은(는) 지정된 속성을 기준으로 분할 및 정렬된 집계된 측정치 또는 차원의 첫 번째 값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/lastValue-function.html](https://docs.aws.amazon.com/quicksight/latest/user/lastValue-function.html)은(는) 지정된 속성 기준으로 분할 및 정렬된 집계된 측정치 또는 차원의 마지막 값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/windowAvg-function.html](https://docs.aws.amazon.com/quicksight/latest/user/windowAvg-function.html)은 지정된 속성에 따라 분할 및 정렬된 사용자 지정 창에서 집계된 측정치의 평균을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/windowCount-function.html](https://docs.aws.amazon.com/quicksight/latest/user/windowCount-function.html)은 지정된 속성에 따라 분할 및 정렬된 사용자 지정 창에서 집계된 측정치의 개수를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/windowMax-function.html](https://docs.aws.amazon.com/quicksight/latest/user/windowMax-function.html)은 지정된 속성에 따라 분할 및 정렬된 사용자 지정 창에서 집계된 측정치의 최대를 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/windowMin-function.html](https://docs.aws.amazon.com/quicksight/latest/user/windowMin-function.html)은 지정된 속성에 따라 분할 및 정렬된 사용자 지정 창에서 집계된 측정치의 최소값을 계산합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/windowSum-function.html](https://docs.aws.amazon.com/quicksight/latest/user/windowSum-function.html)은 지정된 속성에 따라 분할 및 정렬된 사용자 지정 창에서 집계된 측정치의 합계를 계산합니다.

# 함수
<a name="functions"></a>

이 섹션에서는 Amazon Quick에서 사용할 수 있는 함수 목록을 찾을 수 있습니다. 간단한 정의와 함께 범주별로 정렬된 함수 목록을 보려면 [범주별 함수를 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/functions-by-category.html).

**Topics**
+ [addDateTime](addDateTime-function.md)
+ [addWorkDays](addWorkDays-function.md)
+ [Abs](abs-function.md)
+ [Ceil](ceil-function.md)
+ [Coalesce](coalesce-function.md)
+ [Concat](concat-function.md)
+ [contains](contains-function.md)
+ [decimalToInt](decimalToInt-function.md)
+ [dateDiff](dateDiff-function.md)
+ [endsWith](endsWith-function.md)
+ [epochDate](epochDate-function.md)
+ [Exp](exp-function.md)
+ [Extract](extract-function.md)
+ [Floor](floor-function.md)
+ [formatDate](formatDate-function.md)
+ [Ifelse](ifelse-function.md)
+ [in](in-function.md)
+ [intToDecimal](intToDecimal-function.md)
+ [isNotNull](isNotNull-function.md)
+ [isNull](isNull-function.md)
+ [isWorkDay](isWorkDay-function.md)
+ [Left](left-function.md)
+ [Locate](locate-function.md)
+ [Log](log-function.md)
+ [Ln](ln-function.md)
+ [Ltrim](ltrim-function.md)
+ [Mod](mod-function.md)
+ [netWorkDays](netWorkDays-function.md)
+ [Now](now-function.md)
+ [notIn](notIn-function.md)
+ [nullIf](nullIf-function.md)
+ [parseDate](parseDate-function.md)
+ [parseDecimal](parseDecimal-function.md)
+ [parseInt](parseInt-function.md)
+ [parseJson](parseJson-function.md)
+ [Replace](replace-function.md)
+ [Right](right-function.md)
+ [Round](round-function.md)
+ [Rtrim](rtrim-function.md)
+ [Split](split-function.md)
+ [Sqrt](sqrt-function.md)
+ [startsWith](startsWith-function.md)
+ [Strlen](strlen-function.md)
+ [Substring](substring-function.md)
+ [switch](switch-function.md)
+ [toLower](toLower-function.md)
+ [toString](toString-function.md)
+ [toUpper](toUpper-function.md)
+ [trim](trim-function.md)
+ [truncDate](truncDate-function.md)

# addDateTime
<a name="addDateTime-function"></a>

`addDateTime`은 datetime 값에서 시간 단위를 더하거나 뺍니다. 예를 들어, `addDateTime(2,'YYYY',parseDate('02-JUL-2018', 'dd-MMM-yyyy') )`은 `02-JUL-2020`을 반환합니다. 이 함수를 이용해 날짜와 시간 데이터에서 날짜를 계산할 수 있습니다.

## 구문
<a name="addDateTime-function-syntax"></a>

```
addDateTime(amount, period, datetime)
```

## 인수
<a name="addDateTime-function-arguments"></a>

 *amount*   
제공된 datetime 필드에서 더하거나 빼려는 시간의 양을 나타내는 양수 또는 음수인 정수 값.

 *period*   
제공된 datetime 필드에서 더하거나 빼려는 시간의 양을 나타내는 양수 또는 음수의 값. 유효한 기간은 다음과 같습니다.  
+ YYYY: 날짜의 연도 부분을 반환합니다.
+ Q: 날짜가 속하는 분기를 반환합니다(1\$14).
+ MM: 날짜의 월 부분을 반환합니다.
+ DD: 날짜의 일 부분을 반환합니다.
+ WK: 날짜의 주 부분을 반환합니다. 주가 Amazon Quick에서 일요일에 시작됩니다.
+ HH: 날짜의 시간 부분을 반환합니다.
+ MI: 날짜의 분 부분을 반환합니다.
+ SS: 날짜의 초 부분을 반환합니다.
+ MS: 날짜의 밀리초 부분을 반환합니다.

 *datetime*   
날짜를 계산하려는 날짜 또는 시간.

## 반환 타입
<a name="addDateTime-function-return-type"></a>

날짜시간

## 예제
<a name="addDateTime-function-example"></a>

다음 값을 가진 `purchase_date`라는 필드가 있다고 가정해 보겠습니다.

```
2018 May 13 13:24
2017 Jan 31 23:06
2016 Dec 28 06:45
```

다음 계산을 사용하여 `addDateTime`는 다음과 같이 값을 수정합니다.

```
addDateTime(-2, 'YYYY', purchaseDate)

2016 May 13 13:24
2015 Jan 31 23:06
2014 Dec 28 06:45


addDateTime(4, 'DD', purchaseDate)

2018 May 17 13:24
2017 Feb 4 23:06
2017 Jan 1 06:45


addDateTime(20, 'MI', purchaseDate)

2018 May 13 13:44
2017 Jan 31 23:26
2016 Dec 28 07:05
```

# addWorkDays
<a name="addWorkDays-function"></a>

`addWorkDays` 지정된 날짜 값에 지정된 근무일 수를 더하거나 뺍니다. 이 함수는 지정된 입력 날짜 값 이후 또는 그 이전의 지정된 근무일에 해당하는 근무일의 날짜를 반환합니다.

## 구문
<a name="addWorkDays-function-syntax"></a>

```
addWorkDays(initDate, numWorkDays)
```

## 인수
<a name="addWorkDays-function-arguments"></a>

initDate  
계산 시작 날짜 역할을 하는 NULL이 아닌 유효한 날짜입니다.  
+ **데이터 세트 필드** - 이 함수를 추가하는 데이터 세트의 `date` 필드.
+ **날짜 함수** - 다른 `date` 함수의 모든 날짜 출력(예: `parseDate`, `epochDate`, `addDateTime` 등).  
**Example**  

  ```
  addWorkDays(epochDate(1659484800), numWorkDays)
  ```
+ **계산된 필드** - `date` 값을 반환하는 빠른 계산된 필드입니다.  
**Example**  

  ```
  calcFieldStartDate = addDateTime(10, “DD”, startDate)
  addWorkDays(calcFieldStartDate, numWorkDays)
  ```
+ **파라미터** - 모든 빠른 `datetime` 파라미터입니다.  
**Example**  

  ```
  addWorkDays($paramStartDate, numWorkDays)
  ```
+ 위에 명시된 인수 값의 조합입니다.

 numWorkDays   
계산 종료 날짜 역할을 하는 NULL이 아닌 정수입니다.  
+ **리터럴** - 표현식 편집기에 직접 입력되는 정수 리터럴입니다.  
**Example**  

  ```
  ```
+ **데이터 세트 필드** - 데이터 세트의 날짜 필드   
**Example**  

  ```
  ```
+ **스칼라 함수 또는 계산** - `decimalToInt`, 등과 같이 다른의 정수 출력을 반환하는 모든 스칼라 빠른 함수`abs`입니다.  
**Example**  

  ```
  addWorkDays(initDate, decimalToInt(sqrt (abs(numWorkDays)) ) )
  ```
+ **계산된 필드** - `date` 값을 반환하는 빠른 계산된 필드입니다.  
**Example**  

  ```
  someOtherIntegerCalcField = (num_days * 2) + 12
  addWorkDays(initDate, someOtherIntegerCalcField)
  ```
+ **파라미터** - 모든 빠른 `datetime` 파라미터입니다.  
**Example**  

  ```
  addWorkDays(initDate, $param_numWorkDays)
  ```
+ 위에 명시된 인수 값의 조합입니다.

## 반환 타입
<a name="addWorkDays-function-return-type"></a>

Integer 

## 출력 값
<a name="addWorkDays-function-output-type"></a>

예상 출력 값은 다음과 같습니다.
+ 양의 정수(start\$1date < end\$1date인 경우)
+ 양의 정수(start\$1date > end\$1date인 경우)
+ 인수 중 하나 또는 둘 모두가 `dataset field`에서 null 값을 가져오면 NULL입니다.

## 입력 오류
<a name="addWorkDays-function-errors"></a>

허용되지 않는 인수 값은 다음 예제와 같이 오류를 발생시킵니다.
+ 표현식에서 리터럴 NULL을 인수로 사용하는 것은 허용되지 않습니다.  
**Example**  

  ```
  addWorkDays(NULL, numWorkDays) 
  ```  
**Example**  

  ```
  Error
  At least one of the arguments in this function does not have correct type. 
  Correct the expression and choose Create again.
  ```
+ 표현식에서 문자열 리터럴을 인수로 사용하거나 날짜 이외의 다른 데이터 유형을 사용하는 것은 허용되지 않습니다. 다음 예제에서 문자열 **"2022-08-10"**은(는) 날짜처럼 보이지만 실제로는 문자열입니다. 이 함수를 사용하려면 날짜 데이터 유형으로 변환하는 함수를 사용해야 합니다.  
**Example**  

  ```
  addWorkDays("2022-08-10", 10)
  ```  
**Example**  

  ```
  Error
  Expression addWorkDays("2022-08-10", numWorkDays) for function addWorkDays has 
  incorrect argument type addWorkDays(String, Number). 
  Function syntax expects Date, Integer.
  ```

## 예제
<a name="addWorkDays-function-example"></a>

양의 정수를 `numWorkDays` 인수로 사용하면 입력 날짜의 미래 날짜가 산출됩니다. 음의 정수를 `numWorkDays`인수로 사용하면 입력 날짜 이전의 결과 날짜가 산출됩니다. `numWorkDays` 인수 값이 0이면 근무일이든 주말이든 상관없이 입력 날짜와 동일한 값을 산출합니다.

`addWorkDays` 함수는 `DAY`와(과) 같은 세분화 수준에서 작동합니다. `DAY` 레벨보다 낮거나 높은 세분도에서는 정확도를 유지할 수 없습니다.

```
addWorkDays(startDate, endDate)
```

다음 값을 포함하며 `employmentStartDate`이라고 이름이 지정된 필드가 있다고 가정해 보겠습니다.

```
2022-08-10 2022-08-06 2022-08-07 
```

위 필드와 다음 계산을 사용하여 `addWorkDays`은(는) 아래와 같이 수정된 값을 반환합니다.

```
addWorkDays(employmentStartDate, 7)

2022-08-19 
2022-08-16 
2022-08-16 

addWorkDays(employmentStartDate, -5)

2022-08-02 
2022-08-01 
2022-08-03 

addWorkDays(employmentStartDate, 0)

2022-08-10 
2022-08-06 
2022-08-07
```

다음 예제에서는 각 직원이 실제로 근무한 일수를 기준으로 각 직원에게 2년간 지급될 총 비례 배분된 상여금을 계산합니다.

```
last_day_of_work = addWorkDays(employment_start_date, 730)
total_days_worked = netWorkDays(employment_start_date, last_day_of_work)
total_bonus = total_days_worked * bonus_per_day
```

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/addWorkDays-function-example.png)


# Abs
<a name="abs-function"></a>

`abs`는 임의의 표현식의 절댓값을 반환합니다.

## 구문
<a name="abs-function-syntax"></a>

```
abs(expression)
```

## 인수
<a name="abs-function-arguments"></a>

 *expression*   
표현식은 숫자여야 합니다. 필드 이름, 리터럴 값, 또 다른 함수가 될 수 있습니다.

# Ceil
<a name="ceil-function"></a>

`ceil`은 10진수 값을 다음 높은 정수로 올립니다. 예를 들어, `ceil(29.02)`은 `30`을 반환합니다.

## 구문
<a name="ceil-function-syntax"></a>

```
ceil(decimal)
```

## 인수
<a name="ceil-function-arguments"></a>

 *decimal*   
10진수 데이터 형식을 사용하는 필드, **17.62**와 같은 리터럴 값 또는 10진수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="ceil-function-return-type"></a>

Integer

## 예제
<a name="ceil-function-example"></a>

다음 예에서는 10진수 필드를 다음 높은 정수로 올립니다.

```
ceil(salesAmount)
```

다음은 주어진 필드 값의 예입니다.

```
20.13
892.03
57.54
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
21
893
58
```

# Coalesce
<a name="coalesce-function"></a>

`coalesce`는 null이 아닌 첫 번째 인수의 값을 반환합니다. null이 아닌 값이 있으면 목록의 나머지 인수는 평가되지 않습니다. 인수가 nill인, 결과가 null인 경우 0-length 문자열은 유효한 값으로 null과 동일하게 간주되지 않습니다.

## 구문
<a name="coalesce-function-syntax"></a>

```
coalesce(expression1, expression2 [, expression3, ...])
```

## 인수
<a name="coalesce-function-arguments"></a>

`coalesce`는 두 개 이상의 표현식을 인수로 사용합니다. 모든 표현식은 데이터 형식이 동일하거나 동일한 데이터 형식으로 암시적으로 캐스팅할 수 있어야 합니다.

 *expression*   
숫자, 날짜 및 시간(datetime), 문자열로 구성될 수 있는 표현식입니다. 필드 이름, 리터럴 값, 또 다른 함수가 될 수 있습니다.

## 반환 타입
<a name="coalesce-function-return-type"></a>

`coalesce`는 동일한 데이터 형식의 값을 입력 인수로 반환합니다.

## 예제
<a name="coalesce-function-example"></a>

다음 예에서는 고객의 청구 주소를 검색하여 있는 경우 거리 주소를, 청구 주소가 없거나 사용 가능한 주소가 없는 경우에는 "No address listed"를 반환합니다.

```
coalesce(billingAddress, streetAddress, 'No address listed')
```

# Concat
<a name="concat-function"></a>

`concat`은 두 개 이상의 문자열을 연결합니다.

## 구문
<a name="concat-function-syntax"></a>

```
concat(expression1, expression2 [, expression3 ...])
```

## 인수
<a name="concat-function-arguments"></a>

`concat`는 두 개 이상의 문자열 표현식을 인수로 사용합니다.

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="concat-function-return-type"></a>

문자열

## 예제
<a name="concat-function-example"></a>

다음 예에서는 문자열 필드 3개를 연결하고 적절한 간격을 추가합니다.

```
concat(salutation, ' ', firstName, ' ', lastName)
```

다음은 주어진 필드 값의 예입니다.

```
salutation     firstName          lastName
-------------------------------------------------------
Ms.            Li                  Juan
Dr.            Ana Carolina        Silva
Mr.            Nikhil              Jayashankar
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
Ms. Li Juan
Dr. Ana Carolina Silva
Mr. Nikhil Jayashankar
```

다음 예에서는 문자열 리터럴 2개를 연결합니다.

```
concat('Hello', 'world')
```

다음과 같은 값이 반환됩니다.

```
Helloworld
```

# contains
<a name="contains-function"></a>

`contains`은(는) 지정한 하위 문자열이 표현식 내에 존재하는지 평가합니다. 표현식에 하위 문자열이 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

## 구문
<a name="contains-function-syntax"></a>

```
contains(expression, substring, string-comparison-mode)
```

## 인수
<a name="contains-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
표현식과 비교하여 확인할 문자 세트입니다. 이 하위 문자열은 표현식에서 2회 이상 나타날 수 있습니다.

 string-comparison-mode   
(선택 사항) 사용할 문자열 비교 모드를 지정합니다.  
+ `CASE_SENSITIVE` - 문자열 비교는 대/소문자를 구분합니다.
+ `CASE_INSENSITIVE` - 문자열 비교는 대/소문자를 구분하지 않습니다.
비어 있을 때 이 값은 기본적으로 `CASE_SENSITIVE`로 설정됩니다.

## 반환 타입
<a name="contains-function-return-type"></a>

부울

## 예제
<a name="contains-function-example"></a>

### 대/소문자를 구분하는 예
<a name="contains-function-example-default-case-sensitive"></a>

다음 대소문자를 구분하는 예에서는 `state_nm`이 **New**로 포함되는지 평가합니다.

```
contains(state_nm, "New")
```

다음은 주어진 필드 값의 예입니다.

```
New York
new york
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
false
```

### 대소문자를 구분하지 않는 예
<a name="contains-function-example-case-insensitive"></a>

다음 대소문자를 구분하지 않는 예에서는 `state_nm`이 **new**로 포함되는지 평가합니다.

```
contains(state_nm, "new", CASE_INSENSITIVE)
```

다음은 주어진 필드 값의 예입니다.

```
New York
new york
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
true
```

### 조건문을 사용한 예
<a name="contains-function-example-conditional-statements"></a>

contains 함수는 [avgIf](https://docs.aws.amazon.com/quicksight/latest/user/avgIf-function.html), [minIf](https://docs.aws.amazon.com/quicksight/latest/user/minIf-function.html), [distinct\$1countIf](https://docs.aws.amazon.com/quicksight/latest/user/distinct_countIf-function.html), [countIf](https://docs.aws.amazon.com/quicksight/latest/user/countIf-function.html), [maxIf](https://docs.aws.amazon.com/quicksight/latest/user/maxIf-function.html), [medianIf](https://docs.aws.amazon.com/quicksight/latest/user/medianIf-function.html), [stdevIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevIf-function.html), [stdevpIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevpIf-function.html), [sumIf](https://docs.aws.amazon.com/quicksight/latest/user/sumIf-function.html), [varIf](https://docs.aws.amazon.com/quicksight/latest/user/varIf-function.html), and [varpIf](https://docs.aws.amazon.com/quicksight/latest/user/varpIf-function.html) 등의 If 함수 내에서 조건문으로 사용할 수 있습니다.

다음 예제에서는 `state_nm`에 **New**이(가)포함된 경우에만 `Sales` 합계를 계산합니다.

```
sumIf(Sales,contains(state_nm, "New"))
```

### 예제는 포함되어 있지 않습니다.
<a name="contains-function-example-does-not-contain"></a>

표현식에 지정된 하위 문자열이 포함되어 있지 않은지 여부를 평가하는 데 조건 `NOT` 연산자를 사용할 수 있습니다.

```
NOT(contains(state_nm, "New"))
```

### 숫자 값을 사용한 예
<a name="contains-function-example-numeric-values"></a>

`toString`함수를 적용하여 표현식 또는 하위 문자열 인수에 숫자 값을 사용할 수 있습니다.

```
contains(state_nm, toString(5) )
```

# decimalToInt
<a name="decimalToInt-function"></a>

`decimalToInt`는 소수점과 그 뒤에 오는 모든 숫자를 잘라내 10진수 값을 정수 데이터 형식으로 변환합니다. `decimalToInt`는 반올림하지 않습니다. 예를 들어, `decimalToInt(29.99)`은 `29`을 반환합니다.

## 구문
<a name="decimalToInt-function-syntax"></a>

```
decimalToInt(decimal)
```

## 인수
<a name="decimalToInt-function-arguments"></a>

 *decimal*   
10진수 데이터 형식을 사용하는 필드, **17.62**와 같은 리터럴 값 또는 10진수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="decimalToInt-function-return-type"></a>

Integer

## 예제
<a name="decimalToInt-function-example"></a>

다음 예에서는 10진수 필드를 정수로 변환합니다.

```
decimalToInt(salesAmount)
```

다음은 주어진 필드 값의 예입니다.

```
 20.13
892.03
 57.54
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
 20
892
 57
```

# dateDiff
<a name="dateDiff-function"></a>

`dateDiff`는 두 날짜 필드 간의 일수 차이를 반환합니다. 기간 값을 포함하면, `dateDiff`는 일이 아닌 기간의 차이를 반환합니다.

## 구문
<a name="dateDiff-function-syntax"></a>

```
dateDiff(date1, date2,[period])
```

## 인수
<a name="dateDiff-function-arguments"></a>

`dateDiff`는 표현식 두 날짜를 인수로 사용합니다. 기간 지정은 옵션 사항입니다.

 날짜 1   
비교의 첫 날짜입니다. 날짜 필드이거나 날짜를 출력하는 다른 함수에 대한 호출입니다.

 날짜 2   
비교의 두 번째 날짜입니다. 날짜 필드이거나 날짜를 출력하는 다른 함수에 대한 호출입니다.

 *period*   
반환하려는 차이 기간을 따옴표로 묶습니다. 유효한 기간은 다음과 같습니다.  
+ YYYY: 날짜의 연도 부분을 반환합니다.
+ Q: 날짜가 속하는 분기의 첫 번째 날짜를 반환합니다.
+ MM: 날짜의 월 부분을 반환합니다.
+ DD: 날짜의 일 부분을 반환합니다.
+ WK: 날짜의 주 부분을 반환합니다. 주가 Amazon Quick에서 일요일에 시작됩니다.
+ HH: 날짜의 시간 부분을 반환합니다.
+ MI: 날짜의 분 부분을 반환합니다.
+ SS: 날짜의 초 부분을 반환합니다.
+ MS: 날짜의 밀리초 부분을 반환합니다.

## 반환 타입
<a name="dateDiff-function-return-type"></a>

Integer

## 예제
<a name="dateDiff-function-example"></a>

다음 예에서는 두 날짜 간의 차이 일수를 반환합니다.

```
dateDiff(orderDate, shipDate, "MM")
```

다음은 주어진 필드 값의 예입니다.

```
orderDate          shipdate
=============================
01/01/18            03/05/18
09/13/17            10/20/17
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
2
1
```

# endsWith
<a name="endsWith-function"></a>

`endsWith`은(는) 표현식이 지정한 하위 문자열로 끝나는지 평가합니다. 표현식이 하위 문자열로 끝나는 경우 true를 반환하고 그렇지 않으면 `endsWith`에서 false를 반환합니다.

## 구문
<a name="endsWith-function-syntax"></a>

```
endsWith(expression, substring, string-comparison-mode)
```

## 인수
<a name="endsWith-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
표현식과 비교하여 확인할 문자 세트입니다. 이 하위 문자열은 표현식에서 2회 이상 나타날 수 있습니다.

 string-comparison-mode   
(선택 사항) 사용할 문자열 비교 모드를 지정합니다.  
+ `CASE_SENSITIVE` - 문자열 비교는 대/소문자를 구분합니다.
+ `CASE_INSENSITIVE` - 문자열 비교는 대/소문자를 구분하지 않습니다.
비어 있을 때 이 값은 기본적으로 `CASE_SENSITIVE`로 설정됩니다.

## 반환 타입
<a name="endsWith-function-return-type"></a>

부울

## 예제
<a name="endsWith-function-example"></a>

### 대/소문자를 구분하는 예
<a name="endsWith-function-example-default-case-sensitive"></a>

다음 대소문자를 구분하는 예에서는 `state_nm`이 **"York"**로 종료되는지 평가합니다.

```
endsWith(state_nm, "York")
```

다음은 주어진 필드 값의 예입니다.

```
New York
new york
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
false
```

### 대소문자를 구분하지 않는 예
<a name="endsWith-function-example-case-insensitive"></a>

다음 대소문자를 구분하지 않는 예에서는 `state_nm`이 **"york"**로 종료되는지 평가합니다.

```
endsWith(state_nm, "york", CASE_INSENSITIVE)
```

다음은 주어진 필드 값의 예입니다.

```
New York
new york
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
true
```

### 조건문을 사용한 예
<a name="endsWith-function-example-conditional-statements"></a>

`endsWith` 함수는 [avgIf](https://docs.aws.amazon.com/quicksight/latest/user/avgIf-function.html), [minIf](https://docs.aws.amazon.com/quicksight/latest/user/minIf-function.html), [distinct\$1countIf](https://docs.aws.amazon.com/quicksight/latest/user/distinct_countIf-function.html), [countIf](https://docs.aws.amazon.com/quicksight/latest/user/countIf-function.html), [maxIf](https://docs.aws.amazon.com/quicksight/latest/user/maxIf-function.html), [medianIf](https://docs.aws.amazon.com/quicksight/latest/user/medianIf-function.html), [stdevIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevIf-function.html), [stdevpIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevpIf-function.html), [sumIf](https://docs.aws.amazon.com/quicksight/latest/user/sumIf-function.html), [varIf](https://docs.aws.amazon.com/quicksight/latest/user/varIf-function.html), 그리고 [varpIf](https://docs.aws.amazon.com/quicksight/latest/user/varpIf-function.html) 함수 내에서 조건문으로 사용할 수 있습니다.

다음 예제에서는 `state_nm`이(가) **"York"**(으)로 종료되는 경우에만 `Sales` 합계를 계산합니다.

```
sumIf(Sales,endsWith(state_nm, "York"))
```

### 예제는 포함되어 있지 않습니다.
<a name="endsWith-function-example-does-not-start-with"></a>

조건부 `NOT` 연산자는 표현식이 지정된 하위 문자열로 시작하지 않는지 평가하는 데 사용할 수 있습니다.

```
NOT(endsWith(state_nm, "York"))
```

### 숫자 값을 사용한 예
<a name="endsWith-function-example-numeric-values"></a>

`toString`함수를 적용하여 표현식 또는 하위 문자열 인수에 숫자 값을 사용할 수 있습니다.

```
endsWith(state_nm, toString(5) )
```

# epochDate
<a name="epochDate-function"></a>

`epochDate`은(는) Joda 프로젝트 문서의 [Class DateTimeFormat](http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html)에 지정된 포맷 패턴 구문을 사용하여 에포크 날짜를 yyyy-MM-dd**T**kk:mm:ss.SSS**Z** 형식의 표준 날짜로 변환합니다. 예를 들면, `2015-10-15T19:11:51.003Z`입니다.

`epochDate`는 Quick()에 저장된 데이터 세트를 기반으로 하는 분석에 사용할 수 있습니다SPICE.

## 구문
<a name="epochDate-function-syntax"></a>

```
epochDate(epochdate)
```

## 인수
<a name="epochDate-function-arguments"></a>

 *epochdate*   
epoch 날짜는 날짜의 정수 표현으로, 00:00:00 UTC on January 1, 1970년 1월 1일 00:00:00 UTC 이후 경과된 시간을 초 수로 표시합니다.  
*epochdate*는 정수여야 합니다. 이 값은 정수 데이터 형식을 사용하는 필드의 이름, '3'과 같은 리터럴 값 또는 정수를 출력하는 다른 함수에 대한 호출일 수 있습니다. 정수 값이 10자리보다 길면 10번째 자리 이후 숫자는 잘립니다.

## 반환 타입
<a name="epochDate-function-return-type"></a>

Date

## 예제
<a name="epochDate-function-example"></a>

다음 예에서는 epoch 날짜를 표준 날짜로 변환합니다.

```
epochDate(3100768000)
```

다음과 같은 값이 반환됩니다.

```
2068-04-04T12:26:40.000Z
```

# Exp
<a name="exp-function"></a>

`exp`는 임의의 표현식의 자연로그 밑 e의 거듭제곱을 반환합니다.

## 구문
<a name="exp-function-syntax"></a>

```
exp(expression)
```

## 인수
<a name="exp-function-arguments"></a>

 *expression*   
표현식은 숫자여야 합니다. 필드 이름, 리터럴 값, 또 다른 함수가 될 수 있습니다.

# Extract
<a name="extract-function"></a>

`extract`는 날짜 값의 지정된 부분을 반환합니다. 시간 정보가 포함되지 않은 날짜의 시간 관련 부분을 요청하면 0이 반환됩니다.

## 구문
<a name="extract-function-syntax"></a>

```
extract(period, date)
```

## 인수
<a name="extract-function-arguments"></a>

 *period*   
날짜 값에서 추출하고자 하는 기간입니다. 유효한 기간은 다음과 같습니다.  
+ YYYY: 날짜의 연도 부분을 반환합니다.
+ Q: 날짜가 속하는 분기를 반환합니다(1\$14).
+ MM: 날짜의 월 부분을 반환합니다.
+ DD: 날짜의 일 부분을 반환합니다.
+ WD: 요일을 정수로 반환합니다. 일요일은 1입니다.
+ HH: 날짜의 시간 부분을 반환합니다.
+ MI: 날짜의 분 부분을 반환합니다.
+ SS: 날짜의 초 부분을 반환합니다.
+ MS: 날짜의 밀리초 부분을 반환합니다.
**참고**  
밀리초 추출은 버전 0.216 미만의 Presto 데이터베이스에서는 지원되지 않습니다.

 *date*   
날짜 필드이거나 날짜를 출력하는 다른 함수에 대한 호출입니다.

## 반환 타입
<a name="extract-function-return-type"></a>

Integer

## 예제
<a name="extract-function-example"></a>

다음 예에서는 날짜 값에서 요일을 추출합니다.

```
extract('DD', orderDate)
```

다음은 주어진 필드 값의 예입니다.

```
orderDate
=========
01/01/14  
09/13/16
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
01
13
```

# Floor
<a name="floor-function"></a>

`floor`은 10진수 값을 다음 낮은 정수로 내립니다. 예를 들어, `floor(29.08)`은 `29`을 반환합니다.

## 구문
<a name="floor-function-syntax"></a>

```
floor(decimal)
```

## 인수
<a name="floor-function-arguments"></a>

 *decimal*   
10진수 데이터 형식을 사용하는 필드, **17.62**와 같은 리터럴 값 또는 10진수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="floor-function-return-type"></a>

Integer

## 예제
<a name="floor-function-example"></a>

다음 예에서는 10진수 필드를 다음 낮은 정수로 내립니다.

```
floor(salesAmount)
```

다음은 주어진 필드 값의 예입니다.

```
20.13
892.03
57.54
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
20
892
57
```

# formatDate
<a name="formatDate-function"></a>

`formatDate`는 사용자가 지정한 패턴을 사용하여 날짜의 형식을 지정합니다. 데이터를 준비하는 동안 `formatDate`을(를) 사용하여 날짜 형식을 변경할 수 있습니다. 분석에서 날짜 형식을 변경하려면 날짜 필드의 컨텍스트 메뉴에서 형식 옵션을 선택합니다.

## 구문
<a name="formatDate-function-syntax"></a>

```
formatDate(date, ['format'])
```

## 인수
<a name="formatDate-function-arguments"></a>

 *date*   
날짜 필드이거나 날짜를 출력하는 다른 함수에 대한 호출입니다.

 *format*   
(선택 사항) 적용할 형식 패턴을 포함한 문자열입니다. 이 인수는 [지원되는 날짜 형식에 지정된 형식](https://docs.aws.amazon.com/quicksight/latest/user/supported-date-formats.html) 패턴을 허용합니다.  
형식을 지정하지 않으면 이 문자열에 yyyy-MM-dd**T**kk:mm:ss:SSS가 기본 형식으로 사용됩니다.

## 반환 타입
<a name="formatDate-function-return-type"></a>

문자열

## 예제
<a name="formatDate-function-example"></a>

다음 예에서는 UTC 날짜의 형식을 변경합니다.

```
formatDate(orderDate, 'dd-MMM-yyyy')
```

다음은 주어진 필드 값의 예입니다.

```
order date      
=========
2012-12-14T00:00:00.000Z  
2013-12-29T00:00:00.000Z
2012-11-15T00:00:00.000Z
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
13 Dec 2012
28 Dec 2013
14 Nov 2012
```

## 예제
<a name="formatDate-function-example2"></a>

`yyyyMMdd'T'HHmmss`을(를) 예로 들어 날짜에 작은따옴표나 아포스트로피가 포함된 경우 다음 방법 중 하나를 사용하여 이 날짜 형식을 처리할 수 있습니다.
+ 다음 예제와 같이 날짜 전체를 큰따옴표로 묶습니다.

  ```
  formatDate({myDateField}, "yyyyMMdd'T'HHmmss")
  ```
+ 다음 예제와 같이 왼쪽에 백슬래시(`\`)를 추가하여 작은따옴표나 아포스트로피를 피합니다.

  ```
  formatDate({myDateField}, 'yyyyMMdd\'T\'HHmmss')
  ```

# Ifelse
<a name="ifelse-function"></a>

`ifelse`는 *if*, *then* 표현식 쌍을 평가해 true로 평가된 첫 번째 *if* 인수에 대한 *then* 인수의 값을 반환합니다. true로 평가되는 *if* 인수가 없으면 *else* 인수의 값이 반환됩니다.

## 구문
<a name="ifelse-function-syntax"></a>

```
ifelse(if-expression-1, then-expression-1 [, if-expression-n, then-expression-n ...], else-expression)
```

## 인수
<a name="ifelse-function-arguments"></a>

`ifelse`은(는) 한 개 이상의 if, then 표현식 쌍 한 개 이상과 else 인수 표현식에 대한 단 한 개의 표현식을 요구합니다.

 IF 표현식   
true 또는 true가 아닌 것으로 평가되는 표현식입니다. 이것은 **address1**과 같은 필드 이름, **'Unknown'**과 같은 리터럴 값 또는 `toString(salesAmount)`과 같은 또 다른 함수일 수 있습니다. 예를 들면, `isNotNull(FieldName)`입니다.  
`if` 인수에서 AND 및 OR 연산자를 여러 개 사용하는 경우 명령문을 괄호로 묶어 처리 순서를 정할 수 있습니다. 예를 들어, 다음 `if` 인수는 1월, 2월 또는 5월과 2000년이 포함된 레코드를 반환합니다.  

```
ifelse((month = 5 OR month < 3) AND year = 2000, 'yes', 'no')
```
다음`if` 인수는 동일한 연산자를 사용하지만 5월과 임의 연도 혹은 1월 또는 2월과 2000년이 포함된 레코드를 반환합니다.  

```
ifelse(month = 5 OR (month < 3 AND year = 2000), 'yes', 'no')
```

 THEN 표현식   
true로 평가되는 *if* 인수가 있는 경우 반환하는 표현식입니다. 이것은 **address1**과 같은 필드 이름, **'Unknown'**과 같은 리터럴 값 또는 다른 함수에 대한 호출일 수 있습니다. 이 표현식의 데이터 유형은 `then` 인수 및 `else` 인수와 동일해야 합니다.

 ELSE 표현식   
true로 평가되는 *if* 인수가 없는 경우 반환하는 표현식입니다. 이것은 **address1**과 같은 필드 이름, **'Unknown'**과 같은 리터럴 값 또는 `toString(salesAmount)`과 같은 또 다른 함수일 수 있습니다. 이 표현식의 데이터 유형은 모든 `then` 인수와 동일해야 합니다.

## 반환 타입
<a name="ifelse-function-return-type"></a>

`ifelse`은(는) then 표현식의 값과 동일한 데이터 유형의 값을 반환합니다. then 표현식과 else 표현식이 반환되는 모든 데이터는 동일한 데이터 유형이거나 동일한 데이터 유형으로 변환되어야 합니다.

## 예제
<a name="ifelse-function-example"></a>

다음 예제에서는 `country` 필드의 별칭 열을 생성합니다.

```
ifelse(country = "United States", "US", country = "China", "CN", country = "India", "IN", "Others") 
```

리터럴 목록을 기준으로 필드의 각 값을 평가하고 첫 번째로 일치하는 값에 해당하는 결과를 반환하는 사용 사례의 경우 작업을 단순화하기 위해 함수 전환을 사용하는 것이 좋습니다. 이전 예제는 [https://docs.aws.amazon.com/quicksight/latest/user/switch-function.html](https://docs.aws.amazon.com/quicksight/latest/user/switch-function.html)을(를) 사용하여 다음 문장으로 다시 작성할 수 있습니다.

```
switch(country,"United States","US","China","CN","India","IN","Others")
```

다음 예에서는 고객당 매출을 사람이 읽을 수 있는 수준으로 분류합니다.

```
ifelse(salesPerCustomer < 1000, “VERY_LOW”, salesPerCustomer < 10000, “LOW”, salesPerCustomer < 100000, “MEDIUM”, “HIGH”)
```

다음 예에서는 AND, OR, NOT을 사용하여 조건 연산자를 사용하는 여러 표현식을 비교하여 10회 이상 주문한 워싱턴 또는 오리건 비거주(NOT) 최우수 고객을 태깅합니다. 아무 값도 반환되지 않으면 값 `'n/a'`이(가) 사용됩니다.

```
ifelse(( (NOT (State = 'WA' OR State =  'OR')) AND Orders > 10),  'Special Promotion XYZ',  'n/a')
```

다음 예시에서는 OR만 사용하여 각 `country`에 해당하는 대륙 이름이 포함된 새 열을 생성합니다.

```
ifelse(country = "United States" OR country = "Canada", "North America", country = "China" OR country = "India" OR country = "Japan", "Asia", "Others")
```

이전 예제는 다음 예와 같이 단순화할 수 있습니다. 다음 예제에서는 테스트된 값이 리터럴 목록에 있는 모든 행의 새 열에 `ifelse` 및 [https://docs.aws.amazon.com/quicksight/latest/user/in-function.html](https://docs.aws.amazon.com/quicksight/latest/user/in-function.html)을(를) 사용하여 값을 만듭니다. `ifelse` 및 [https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html](https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html)을(를) 사용할 수 있습니다.

```
ifelse(in(country,["United States", "Canada"]), "North America", in(country,["China","Japan","India"]),"Asia","Others")
```

작성자는 리터럴 목록을 다중값 파라미터에 저장하여 [https://docs.aws.amazon.com/quicksight/latest/user/in-function.html](https://docs.aws.amazon.com/quicksight/latest/user/in-function.html) 또는 [https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html](https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html) 함수에서 사용할 수 있습니다. 다음 예제는 리터럴 목록이 두 개의 다중값 파라미터에 저장된다는 점을 제외하면 이전 예제와 동일합니다.

```
ifelse(in(country,${NorthAmericaCountryParam}), "North America", in(country,${AsiaCountryParam}),"Asia", "Others") 
```

다음 예에서는 총 매출을 기준으로 판매 레코드에 그룹을 할당합니다. between의 각 `if-then` 구문의 구조는 현재 계산된 필드 표현식에서는 작동하지 않는 키워드인 betone의 동작을 모방합니다. 예를 들어 비교 결과 `salesTotal >= 0 AND salesTotal < 500`은 SQL 비교 `salesTotal between 0 and 499`와(과) 동일한 값을 반환합니다.

```
ifelse(salesTotal >= 0 AND salesTotal < 500, 'Group 1', salesTotal >= 500 AND salesTotal < 1000, 'Group 2', 'Group 3')
```

다음 예제에서는 `coalesce`을(를) 사용하여 NULL이 아닌 첫 번째 값을 반환하여 NULL 값을 테스트합니다. 날짜 필드에서 NULL의 의미를 기억할 필요 없이 읽을 수 있는 설명을 대신 사용할 수 있습니다. 연결 해제 날짜가 NULL인 경우 이 예제에서는 일시 중지 날짜를 반환합니다. 단, 둘 다 NULL인 경우는 예외입니다. 그러면 `coalesce(DiscoDate, SuspendDate, '12/31/2491')`에서 `'12/31/2491'`을(를) 반환합니다. 반환 값은 다른 데이터 유형과 일치해야 합니다. 이 날짜는 특이한 값처럼 보일 수 있지만 25세기의 날짜는 데이터 마트에서 가장 높은 날짜로 정의되는 “시간의 끝”을 합리적으로 시뮬레이션합니다.

```
ifelse (  (coalesce(DiscoDate, SuspendDate, '12/31/2491') = '12/31/2491'),  'Active subscriber', 'Inactive subscriber')
```

다음은 코드를 모두 하나의 긴 줄로 압축할 필요가 없다는 것을 보여주기 위해 좀 더 읽기 쉬운 형식으로 더 복잡한 예를 보여줍니다. 이 예시에서는 설문조사 결과의 가치를 여러 번 비교할 수 있습니다. 이 필드의 잠재적 NULL 값을 처리하고 허용 가능한 두 범위를 분류합니다. 또한 추가 테스트가 필요한 범위 하나와 유효하지 않은 범위 범위를 (벗어남)에 레이블을 지정합니다. 나머지 모든 값에 대해서는 `else` 조건을 적용하고 해당 행의 날짜로부터 3년 후 재테스트가 필요한 것으로 행에 레이블을 지정합니다.

```
ifelse
( 
    isNull({SurveyResult}), 'Untested',  
    {SurveyResult}=1, 'Range 1', 
    {SurveyResult}=2, 'Range 2', 
    {SurveyResult}=3, 'Need more testing',
    {SurveyResult}=99, 'Out of Range',
    concat  
    (
        'Retest by ', 
        toString    
        (
           addDateTime(3, "YYYY", {Date}) 
        )
    )
)
```

다음 예시에서는 “수동으로” 만든 리전 이름을 주 그룹에 할당합니다. 또한 공백과 주석을 `/* */`에 감싸서 사용하여 코드를 더 쉽게 유지 관리할 수 있도록 합니다.

```
ifelse 
(    /* NE REGION*/
     locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0,
    'Northeast',

     /* SE REGION*/
     locate('Georgia, Alabama, South Carolina, Louisiana',{State}) > 0,
    'Southeast',

    'Other Region'
)
```

리전 태깅의 로직은 다음과 같이 분류됩니다.

1. 다음과 같이 각 리전에 대해 원하는 주를 나열하고, 각 목록을 따옴표로 묶어 각 목록을 문자열로 만듭니다.
   + `'New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire'`
   + `'Georgia, Alabama, South Carolina, Louisiana'`
   + 원하는 경우 세트를 더 추가하거나 국가, 도시, 지방 또는 What3Words를 사용할 수 있습니다.

1. 다음과 같이 목록에서 `State`(각 행의) 값을 찾을 수 있는지 확인합니다. 예를 들어 목록에서 주를 찾으면 `locate` 함수를 사용하여 0이 아닌 값을 반환합니다.

   ```
   locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) 
   
   and
   
   locate('Georgia, Alabama, South Carolina, Louisiana',{State})
   ```

1. `locate` 함수는 `TRUE` 또는 `FALSE` 대신 숫자를 반환하지만 `ifelse`에는 `TRUE`/`FALSE` Boolean 값이 필요합니다. 이 문제를 해결하기 위해 `locate`의 결과를 숫자와 비교할 수 있습니다. 상태가 목록에 있는 경우 반환 값은 0보다 큽니다.

   1. 상태가 존재하는지 물어보십시오.

      ```
      locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0
      ```

   1. 해당 리전이 있는 경우 특정 리전(이 경우에는 북동부 리전)으로 라벨을 붙이세요.

      ```
      /*The if expression:*/     locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0,
      /*The then expression:*/   'Northeast',
      ```

1. 목록에 없는 주가 있고 하나의 `else` 표현식만 `ifelse`에 필요하기 때문에 남은 주에 대한 레이블로 `'Other Region'`을(를) 제공합니다.

   ```
   /*The if expression:*/     locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0,
   /*The then expression:*/   'Northeast',
   /*The else expression:*/   'Other Region'
   ```

1. 이 모든 내용을 `ifelse( )` 함수에 포함시켜 최종 버전을 구합니다. 다음 예시에서는 원본에 있던 남동부 리전의 주를 제외합니다. *`<insert more regions here>`* 태그 대신 다시 추가할 수 있습니다.

   더 많은 리전을 추가하려는 경우 두 줄의 사본을 더 만들고 용도에 맞게 주 목록을 변경할 수 있습니다. 리전 이름을 자신에게 맞는 이름으로 변경하고 필드 이름을 `State`에서 필요한 이름으로 변경할 수 있습니다.

   ```
   ifelse 
   (
   /*The if expression:*/     locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0,
   /*The then expression:*/   'Northeast',
   
   /*<insert more regions here>*/
   
   /*The else expression:*/   'Other Region'
   )
   ```
**참고**  
if 표현식의 초기 비교를 수행하는 다른 방법도 있습니다. 예를 들어 “이 목록에서 빠지지 않은 주는 무엇입니까?” 라는 질문을 던진다고 가정해 보겠습니다. 대신 “목록에 있는 주는 어디입니까?” 이렇게 하면 다르게 표현할 수 있습니다. 다음과 같이 locate 문을 0과 비교하여 목록에서 누락된 값을 찾은 다음 NOT 연산자를 사용하여 해당 값을 “누락되지 않음”으로 분류할 수 있습니다.  

   ```
   /*The if expression:*/      NOT (locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) = 0),
   ```
두 버전 모두 정확합니다. 어떤 버전을 선택하든 팀원들과 가장 잘 맞아야 쉽게 유지 관리할 수 있습니다. 모든 옵션이 같으면 가장 간단한 것을 선택하세요.

# in
<a name="in-function"></a>

`in`은(는) 표현식이 리터럴 목록 내에 존재하는지 평가합니다. 목록에 표현식이 포함된 경우 in은 true를 반환하고 그렇지 않으면 false를 반환합니다. `in`은(는) 문자열 유형 입력의 경우 대소문자를 구분합니다.

`in`은(는) 두 종류의 리터럴 목록을 받아들입니다. 하나는 수동으로 입력한 목록이고 다른 하나는 [다중 값 파라미터](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)입니다.

## 구문
<a name="in-function-syntax"></a>

수동으로 입력한 목록 사용:

```
in(expression, [literal-1, ...])  
```

다중값 파라미터 사용:

```
in(expression, $multivalue_parameter)
```

## 인수
<a name="in-function-arguments"></a>

 *expression*   
리터럴 목록의 요소와 비교할 표현식입니다. 이는 `address`와(과) 같은 필드 이름, '**Unknown**'와(과) 같은 리터럴 값, 단일 값 파라미터 또는 다른 스칼라 함수에 대한 호출일 수 있습니다. 단, 이 함수는 집계 함수나 테이블 계산이 아닙니다.

 리터럴 목록   
(필수 사항) 수동으로 입력한 목록이거나 다중 값 파라미터일 수 있습니다. 이 인수에는 최대 5,000개의 요소를 사용할 수 있습니다. 하지만 서드파티 데이터 소스(예: Oracle 또는 Teradata)에 대한 직접 쿼리에서는 제한이 더 작을 수 있습니다.  
+ **수동으로 입력한 목록** - 표현식과 비교할 목록에 있는 하나 이상의 리터럴 값입니다. 목록은 대괄호로 묶어야 합니다. 비교할 모든 리터럴은 표현식과 동일한 데이터 유형을 가져야 합니다.
+ **다중 값 파라미터** - 리터럴 목록으로 전달되는 미리 정의된 다중 값 파라미터입니다. 다중값 파라미터는 표현식과 동일한 데이터 유형을 가져야 합니다.


## 반환 타입
<a name="in-function-return-type"></a>

부울 참/거짓

## 정적 목록이 있는 예
<a name="in-function-example-static-list"></a>

다음 예제에서는 문자열 목록의 `origin_state_name` 필드 값을 평가합니다. 문자열 유형 입력을 비교할 때는 대소문자를 구분하는 `in` 비교만 지원합니다.

```
in(origin_state_name,["Georgia", "Ohio", "Texas"])
```

다음은 주어진 필드 값의 예입니다.

```
"Washington"
        "ohio"
        "Texas"
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
false
        false
        true
```

포함된 값 중 하나는 “Texas”뿐이므로 세 번째 반환 값은 true입니다.

다음 예제에서는 문자열 목록의 `fl_date` 필드 값을 평가합니다. 유형을 일치시키기 위해 날짜 유형을 문자열 유형으로 변환하는 데 `toString`이 사용됩니다.

```
in(toString(fl_date),["2015-05-14","2015-05-15","2015-05-16"])
```

![\[함수 예제의 결과 이미지로, 표 형식으로 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/in-function-example-manual-list.png)


리스트의 리터럴과 비교할 표현식 인수에는 리터럴과 NULL 값이 지원됩니다. 다음 두 예제 모두 TRUE 값의 새 열을 생성합니다.

```
in("Washington",["Washington","Ohio"])
```

```
in(NULL,[NULL,"Ohio"])
```

## 예: 다중 값 파라미터를 사용하는 예
<a name="in-function-example-mutivalue-parameter"></a>

작성자가 모든 상태 이름 목록이 포함된 [다중값 파라미터](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)를 만든다고 가정해 보겠습니다. 그런 다음 작성자는 독자가 목록에서 값을 선택할 수 있도록 콘트롤을 추가합니다.

그런 다음 판독기는 파라미터의 드롭다운 목록 컨트롤에서 “Georgia”, “Ohio”, “Texas”의 세 가지 값을 선택합니다. 이 경우 다음 표현식은 첫 번째 예와 동일합니다. 첫 번째 예에서는 이 세 개의 주 이름을 리터럴 목록으로 전달하여 `original_state_name` 필드와 비교합니다.

```
in (origin_state_name, ${stateName MultivalueParameter})
```

## `ifelse`을(를) 사용한 예
<a name="in-function-example-with-ifelse"></a>

`in`은(는) 다른 함수에 부울 값으로 중첩될 수 있습니다. 한 가지 예를 들어 작성자는 목록에 있는 모든 식을 평가하고`in` 및 `ifelse`을(를) 사용하여 원하는 값을 반환할 수 있습니다. 다음 예제에서는 `dest_state_name` 항공편이 미국의 특정 주 목록에 속하는지 평가하고 비교 결과를 기반으로 여러 주의 카테고리를 반환합니다.

```
ifelse(in(dest_state_name,["Washington", "Oregon","California"]), "WestCoastUSState", "Other US State")
```

![\[함수 예제의 결과 이미지로, 표 형식으로 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/in-function-with-ifelse.png)


# intToDecimal
<a name="intToDecimal-function"></a>

`intToDecimal`은 정수 값을 10진수 데이터 형식으로 변환합니다.

## 구문
<a name="intToDecimal-function-syntax"></a>

```
intToDecimal(integer)
```

## 인수
<a name="intToDecimal-function-arguments"></a>

 *int*   
이 값은 정수 데이터 형식을 사용하는 필드, **14**와 같은 리터럴 값 또는 정수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="intToDecimal-function-return-type"></a>

레거시 데이터 준비 경험의 소수(고정)입니다.

새로운 데이터 준비 경험의 소수(Float)입니다.

## 예제
<a name="intToDecimal-function-example"></a>

다음 예에서는 정수 필드를 10진수로 변환합니다.

```
intToDecimal(price)
```

다음은 주어진 필드 값의 예입니다.

```
20
892
57
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
20.0
892.0
58.0
```

분석 내에서 형식 지정을 적용하여, 예를 들어 화폐 단위로써 `price`로 형식 지정할 수 있습니다.

# isNotNull
<a name="isNotNull-function"></a>

`isNotNull`은 표현식이 null이 아닌지 평가합니다. 표현식이 null이 아니면 `isNotNull`은 true를 반환하고 null이면 false를 반환합니다.

## 구문
<a name="isNotNull-function-syntax"></a>

```
isNotNull(expression)
```

## 인수
<a name="isNotNull-function-arguments"></a>

 *expression*   
null 또는 null이 아닌 것으로 평가되는 표현식입니다. 이 표현식은 **address1**과 같은 필드 이름 또는 문자열을 출력하는 또 다른 함수일 수 있습니다.

## 반환 타입
<a name="isNotNull-function-return-type"></a>

부울

## 예제
<a name="isNotNull-function-example"></a>

다음 예에서는 sales\$1amount 필드에 null 값이 있는지 평가합니다.

```
isNotNull(salesAmount)
```

다음은 주어진 필드 값의 예입니다.

```
20.13
(null)
57.54
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
false
true
```

# isNull
<a name="isNull-function"></a>

`isNull`은 표현식이 null인지 평가합니다. 표현식이 null인 경우 `isNull`은 true를 반환하고 그렇지 않은 경우 false를 반환합니다.

## 구문
<a name="isNull-function-syntax"></a>

```
isNull(expression)
```

## 인수
<a name="isNull-function-arguments"></a>

 *expression*   
null 또는 null이 아닌 것으로 평가되는 표현식입니다. 이 표현식은 **address1**과 같은 필드 이름 또는 문자열을 출력하는 또 다른 함수일 수 있습니다.

## 반환 타입
<a name="isNull-function-return-type"></a>

부울

## 예제
<a name="isNull-function-example"></a>

다음 예에서는 sales\$1amount 필드에 null 값이 있는지 평가합니다.

```
isNull(salesAmount)
```

다음은 주어진 필드 값의 예입니다.

```
20.13
(null)
57.54
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
false
true
false
```

다음 예제에서는 `ifelse` 명령문의 NULL 값을 테스트하고 사람이 읽을 수 있는 값을 대신 반환합니다.

```
ifelse( isNull({ActiveFlag}) , 'Inactive',  'Active') 
```

# isWorkDay
<a name="isWorkDay-function"></a>

`isWorkDay`은(는) 지정된 날짜-시간 값을 평가하여 값이 근무일인지 아닌지를 확인합니다.

`isWorkDay`은(는) 월요일에 시작하여 금요일에 끝나는 표준 주 5일 근무를 가정합니다. 토요일과 일요일은 주말인 것으로 간주됩니다. 함수는 항상 `DAY` 세부 수준에서 결과를 계산하며 지정된 입력 날짜를 제외합니다.

## 구문
<a name="isWorkDay-function-syntax"></a>

```
isWorkDay(inputDate)
```

## 인수
<a name="isWorkDay-function-arguments"></a>

 inputDate   
평가하려는 날짜-시간 값입니다. 유효한 값은 다음과 같습니다.  
+ 데이터 세트 필드: 이 함수를 추가하려는 데이터 세트의 `date` 필드.
+ 날짜 함수: 다른 `date` 함수의 모든 날짜 출력(예:`parseDate`).
+ 계산된 필드: `date` 값을 반환하는 빠른 계산된 필드입니다.
+ 파라미터: 모든 빠른 `DateTime` 파라미터입니다.

## 반환 타입
<a name="isWorkDay-function-return-type"></a>

정수(`0` 또는 `1`)

## 예제
<a name="isWorkDay-function-example"></a>

다음 예는 해당 `application_date` 필드가 근무일인지 여부를 결정합니다.

다음 값을 포함하며 `application_date`이라고 이름이 지정된 필드가 있다고 가정해 보겠습니다.

```
2022-08-10 
2022-08-06 
2022-08-07
```

이러한 필드를 사용하고 다음 계산을 추가하면 `isWorkDay`에서는 아래 값이 반환됩니다.

```
isWorkDay({application_date})     
                                                     
1
0
0
```

다음 예에서는 근무일에 고용이 종료되는 직원을 필터링하고 조건부 서식을 사용하여 고용이 근무일에 시작되었는지 주말에 시작되었는지 확인합니다.

```
is_start_date_work_day = isWorkDay(employment_start_date)
is_end_date_work_day = isWorkDay(employment_end_date)
```

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/isWorkDay-example.png)


# Left
<a name="left-function"></a>

`left`는 문자열에서 공백을 포함해 가장 왼쪽에 있는 문자를 반환합니다. 반환되는 문자 수를 지정합니다.

## 구문
<a name="left-function-syntax"></a>

```
left(expression, limit)
```

## 인수
<a name="left-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *limit*   
문자열의 처음 문자부터 시작해 *표현식*에서 반환될 문자 수입니다.

## 반환 타입
<a name="left-function-return-type"></a>

문자열

## 예제
<a name="left-function-example"></a>

다음 예에서는 문자열의 처음 3자를 반환합니다.

```
left('Seattle Store #14', 3)
```

다음과 같은 값이 반환됩니다.

```
Sea
```

# Locate
<a name="locate-function"></a>

`locate`는 다른 문자열 내에서 지정한 하위 문자열을 찾아 하위 문자열의 첫 번째 문자까지 문자 수를 반환합니다. 이 함수는 하위 문자열을 찾지 못할 경우 0을 반환합니다. 함수는 1부터 시작하는 함수입니다.

## 구문
<a name="locate-function-syntax"></a>

```
locate(expression, substring, start)
```

## 인수
<a name="locate-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
찾으려는 *표현식*의 문자 세트. 이 하위 문자열은 *표현식*에서 2회 이상 나타날 수 있습니다.

 *start*   
(선택 사항) *하위 문자열*이 2회 이상 나타나면 *start*를 사용하여 함수가 하위 문자열을 찾기 시작해야 하는 문자열 내 위치를 식별합니다. 예를 들어, 하위 문자열의 두 번째 예를 찾으려 하고 일반적으로 이 하위 문자열이 처음 10개 문자 이후에 나타나는 것을 알고 있다고 가정합시다. 그러면 *start* 값을 10으로 지정합니다. 1부터 시작해야 합니다.

## 반환 타입
<a name="locate-function-return-type"></a>

Integer

## 예제
<a name="locate-function-example"></a>

다음 예에서는 문자열에서 하위 문자열 'and'가 처음 나타나는 위치에 대한 정보를 반환합니다.

```
locate('1 and 2 and 3 and 4', 'and')
```

다음과 같은 값이 반환됩니다.

```
3
```

다음 예에서는 문자열에서 4번째 문자 다음에 하위 문자열 'and'가 처음 나타나는 위치에 대한 정보를 반환합니다.

```
locate('1 and 2 and 3 and 4', 'and', 4)
```

다음과 같은 값이 반환됩니다.

```
9
```

# Log
<a name="log-function"></a>

`log`는 임의의 표현식의 밑이 10인 로그를 반환합니다.

## 구문
<a name="log-function-syntax"></a>

```
log(expression)
```

## 인수
<a name="log-function-arguments"></a>

 *expression*   
표현식은 숫자여야 합니다. 필드 이름, 리터럴 값, 또 다른 함수가 될 수 있습니다.

# Ln
<a name="ln-function"></a>

`ln`은 임의의 표현식의 자연로그를 반환합니다.

## 구문
<a name="ln-function-syntax"></a>

```
ln(expression)
```

## 인수
<a name="ln-function-arguments"></a>

 *expression*   
표현식은 숫자여야 합니다. 필드 이름, 리터럴 값, 또 다른 함수가 될 수 있습니다.

# Ltrim
<a name="ltrim-function"></a>

`ltrim`은(는) 문자열 앞에 오는 공백을 제거합니다.

## 구문
<a name="ltrim-function-syntax"></a>

```
ltrim(expression)
```

## 인수
<a name="ltrim-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="ltrim-function-return-type"></a>

문자열

## 예제
<a name="ltrim-function-example"></a>

다음 예에서는 문자열 앞에 오는 공백을 제거합니다.

```
ltrim('   Seattle Store #14')
```

다음과 같은 값이 반환됩니다.

```
Seattle Store #14
```

# Mod
<a name="mod-function"></a>

숫자를 제수로 나눈 후 나머지를 구하려면 `mod` 함수를 사용합니다. `mod` 함수 또는 모듈로 연산자(%)를 서로 바꿔서 사용할 수 있습니다.

## 구문
<a name="mod-function-syntax"></a>

```
mod(number, divisor)
```

```
number%divisor
```

## 인수
<a name="mod-function-arguments"></a>

 *number*   
number는 나누고 나머지를 구하려는 양의 정수입니다.

 *divisor*   
divisor는 나누는 양의 정수입니다. divisor가 0이면, 이 함수는 0으로 나누는 오류를 반환합니다.

## 예제
<a name="mod-function-example"></a>

다음 예제에서는 6으로 나눌 때 17의 모듈로를 반환합니다. 첫 번째 예제에서는 % 연산자를 사용하고 두 번째 예제에서는 mod 함수를 사용합니다.

```
17%6
```

```
mod( 17, 6 )
```

다음과 같은 값이 반환됩니다.

```
5
```

# netWorkDays
<a name="netWorkDays-function"></a>

`netWorkDays`는 제공된 두 날짜 필드 사이의 근무일 수 또는 `parseDate` 또는와 같은 다른 빠른 날짜 함수를 사용하여 생성된 사용자 지정 날짜 값을 정수`epochDate`로 반환합니다.

`netWorkDays`은(는) 월요일에 시작하여 금요일에 끝나는 표준 주 5일 근무를 가정합니다. 토요일과 일요일은 주말인 것으로 간주됩니다. 계산에는 `startDate` 및 `endDate`, 이 두 가지가 모두 포함됩니다. 이 함수는 DAY 세분성에 대해 작동하며 결과를 표시합니다.

## 구문
<a name="netWorkDays-function-syntax"></a>

```
netWorkDays(startDate, endDate)
```

## 인수
<a name="netWorkDays-function-arguments"></a>

 startDate   
계산 시작 날짜 역할을 하는 NULL이 아닌 유효한 날짜입니다.  
+ 데이터 세트 필드: 이 함수를 추가하려는 데이터 세트의 `date` 필드.
+ 날짜 함수: 다른 `date` 함수의 모든 날짜 출력(예:`parseDate`).
+ 계산된 필드: `date` 값을 반환하는 빠른 계산된 필드입니다.
+ 파라미터: 모든 빠른 `DateTime` 파라미터입니다.
+ 위에 명시된 인수 값의 조합입니다.

 endDate   
계산 종료 날짜 역할을 하는 NULL이 아닌 유효한 날짜입니다.  
+ 데이터 세트 필드: 이 함수를 추가하려는 데이터 세트의 `date` 필드.
+ 날짜 함수: 다른 `date` 함수의 모든 날짜 출력(예:`parseDate`).
+ 계산된 필드: `date` 값을 반환하는 빠른 계산된 필드입니다.
+ 파라미터: 모든 빠른 `DateTime` 파라미터입니다.
+ 위에 명시된 인수 값의 조합입니다.

## 반환 타입
<a name="netWorkDays-function-return-type"></a>

Integer 

## 출력 값
<a name="netWorkDays-function-output-type"></a>

예상 출력 값은 다음과 같습니다.
+ 양의 정수(start\$1date < end\$1date인 경우)
+ 양의 정수(start\$1date > end\$1date인 경우)
+ 인수 중 하나 또는 둘 모두가 `dataset field`에서 null 값을 가져오면 NULL입니다.

## 예제
<a name="netWorkDays-function-example"></a>

다음 예에서는 두 날짜 사이에 있는 근무일 수를 반환합니다.

다음 값을 포함하며 `application_date`이라고 이름이 지정된 필드가 있다고 가정해 보겠습니다.

```
netWorkDays({startDate}, {endDate})
```

다음은 주어진 필드 값의 예입니다.

```
startDate	endDate	netWorkDays
        9/4/2022	9/11/2022	5
        9/9/2022	9/2/2022	-6
        9/10/2022	9/11/2022	0
        9/12/2022	9/12/2022	1
```

다음 예제는 각 직원의 근무 일수와 각 직원의 하루 지출 급여를 계산합니다.

```
days_worked = netWorkDays({employment_start_date}, {employment_end_date})
        salary_per_day = {salary}/{days_worked}
```

다음 예에서는 근무일에 고용이 종료되는 직원을 필터링하고 조건부 서식을 사용하여 고용이 근무일에 시작되었는지 주말에 시작되었는지 확인합니다.

```
is_start_date_work_day = netWorkDays(employment_start_date)
        is_end_date_work_day = netWorkDays(employment_end_date)
```

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/netWorkDays-function-example.png)


# Now
<a name="now-function"></a>

데이터베이스를 직접 쿼리하는 데이터베이스 데이터 세트의 경우 `now`은(는) 데이터베이스 서버에 지정된 설정 및 형식을 사용하여 현재 날짜 및 시간을 반환합니다. SPICE 및 Salesforce 데이터 세트의 경우 `now`은(는) UTC 날짜 및 시간을 `yyyy-MM-ddTkk:mm:ss:SSSZ` 형식(예: 2015-10-15T19:11:51:003Z)으로 반환합니다.

## 구문
<a name="now-function-syntax"></a>

```
now()
```

## 반환 타입
<a name="now-function-return-type"></a>

Date

# notIn
<a name="notIn-function"></a>

`notIn`은(는) 표현식이 리터럴 목록 내에 존재하는지 평가합니다. 목록에 표현식이 없으면 true를 반환하고 그렇지 않으면 `notIn`은(는) false를 반환합니다. `notIn`은(는) 문자열 유형 입력의 경우 대소문자를 구분합니다.

`notIn`은(는) 두 종류의 리터럴 목록을 받아들입니다. 하나는 수동으로 입력한 목록이고 다른 하나는 [다중 값 파라미터](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)입니다.

## 구문
<a name="notIn-function-syntax"></a>

수동으로 입력한 목록 사용:

```
notIn(expression, [literal-1, ...])  
```

다중값 파라미터 사용:

```
notIn(expression, $multivalue_parameter)
```

## 인수
<a name="notIn-function-arguments"></a>

 *expression*   
리터럴 목록의 요소와 비교할 표현식입니다. 이는 `address`와(과) 같은 필드 이름, '**Unknown**'와(과) 같은 리터럴 값, 단일 값 파라미터 또는 다른 스칼라 함수에 대한 호출일 수 있습니다. 단, 이 함수는 집계 함수나 테이블 계산이 아닙니다.

 리터럴 목록   
(필수 사항) 수동으로 입력한 목록이거나 다중 값 파라미터일 수 있습니다. 이 인수에는 최대 5,000개의 요소를 사용할 수 있습니다. 하지만 서드파티 데이터 소스(예: Oracle 또는 Teradata)에 대한 직접 쿼리에서는 제한이 더 작을 수 있습니다.  
+ **수동으로 입력한 목록** - 표현식과 비교할 목록에 있는 하나 이상의 리터럴 값입니다. 목록은 대괄호로 묶어야 합니다. 비교할 모든 리터럴은 표현식과 동일한 데이터 유형을 가져야 합니다.
+ **다중 값 파라미터** - 리터럴 목록으로 전달되는 미리 정의된 다중 값 파라미터입니다. 다중값 파라미터는 표현식과 동일한 데이터 유형을 가져야 합니다.


## 반환 타입
<a name="notIn-function-return-type"></a>

부울 참/거짓

## 수동으로 입력한 목록이 있는 예
<a name="notIn-function-example-manual-list"></a>

다음 예제에서는 문자열 목록의 `origin_state_name` 필드 값을 평가합니다. 문자열 유형 입력을 비교할 때는 대소문자를 구분하는 `notIn` 비교만 지원합니다.

```
notIn(origin_state_name,["Georgia", "Ohio", "Texas"])
```

다음은 주어진 필드 값의 예입니다.

```
"Washington"
        "ohio"
        "Texas"
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
        true
        false
```

제외된 값 중 하나는 “Texas”뿐이므로 세 번째 반환 값은 false입니다.

다음 예제에서는 문자열 목록의 `fl_date` 필드 값을 평가합니다. 유형을 일치시키기 위해 날짜 유형을 문자열 유형으로 변환하는 데 `toString`이 사용됩니다.

```
notIn(toString(fl_date),["2015-05-14","2015-05-15","2015-05-16"])
```

![\[함수 예제의 결과 이미지로, 표 형식으로 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/notin-function-example-manual-list.png)


리스트의 리터럴과 비교할 표현식 인수에는 리터럴과 NULL 값이 지원됩니다. 다음 두 예제 모두 FALSE 값의 새 열을 생성합니다.

```
notIn("Washington",["Washington","Ohio"])
```

```
notIn(NULL,[NULL,"Ohio"])
```

## 예: 다중 값 파라미터를 사용하는 예
<a name="notIn-function-example-mutivalue-parameter"></a>

작성자가 모든 상태 이름 목록이 포함된 [다중값 파라미터](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)를 만든다고 가정해 보겠습니다. 그런 다음 작성자는 독자가 목록에서 값을 선택할 수 있도록 콘트롤을 추가합니다.

그런 다음 판독기는 파라미터의 드롭다운 목록 컨트롤에서 “Georgia”, “Ohio”, “Texas”의 세 가지 값을 선택합니다. 이 경우 다음 표현식은 첫 번째 예와 동일합니다. 첫 번째 예에서는 이 세 개의 주 이름을 리터럴 목록으로 전달하여 `original_state_name` 필드와 비교합니다.

```
notIn (origin_state_name, ${stateName MultivalueParameter})
```

## `ifelse`을(를) 사용한 예
<a name="notIn-function-example-with-ifelse"></a>

`notIn`은(는) 다른 함수에 부울 값으로 중첩될 수 있습니다. 한 가지 예를 들어 작성자는 목록에 있는 모든 식을 평가하고`notIn` 및 `ifelse`을(를) 사용하여 원하는 값을 반환할 수 있습니다. 다음 예제에서는 `dest_state_name` 항공편이 미국의 특정 주 목록에 속하는지 평가하고 비교 결과를 기반으로 여러 주의 카테고리를 반환합니다.

```
ifelse(notIn(dest_state_name,["Washington", "Oregon","California"]), "notWestCoastUSState", "WestCoastUSState")
```

![\[함수 예제의 결과 이미지로, 표 형식으로 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/notin-function-with-ifelse.png)


# nullIf
<a name="nullIf-function"></a>

`nullIf`는 두 표현식을 비교합니다. 두 표현식이 동일하면 이 함수는 null을 반환합니다. 두 표현식이 동일하지 않으면 이 함수는 첫 번째 표현식을 반환합니다.

## 구문
<a name="nullIf-function-syntax"></a>

```
nullIf(expression1, expression2)
```

## 인수
<a name="nullIf-function-arguments"></a>

`nullIf`는 표현식 두 개를 인수로 사용합니다.

 *expression*   
숫자, 날짜 및 시간(datetime), 문자열로 구성될 수 있는 표현식입니다. 필드 이름, 리터럴 값, 또 다른 함수가 될 수 있습니다.

## 반환 타입
<a name="nullIf-function-return-type"></a>

문자열

## 예제
<a name="nullIf-function-example"></a>

다음 예에서는 배송 지연 사유를 알 수 없는 경우 null을 반환합니다.

```
nullIf(delayReason, 'unknown')
```

다음은 주어진 필드 값의 예입니다.

```
delayReason
============
unknown         
back ordered 
weather delay
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
(null)
back ordered 
weather delay
```

# parseDate
<a name="parseDate-function"></a>

`parseDate`는 문자열을 구문 분석하여 문자열에 날짜 값이 있는지 확인하고 표준 날짜를 `yyyy-MM-ddTkk:mm:ss.SSSZ` 형식(Joda 프로젝트 문서의 [Class DateTimeFormat](http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html)에 지정된 형식 패턴 구문 사용)으로 반환합니다(예: 2015-10-15T19:11:51.003Z). 이 함수는 유효한 형식으로 표시된 날짜가 포함된 행을 모두 반환하고 이러한 값이 포함되지 않은 행은 모두 건너뜁니다. 따라서 null 값을 포함하는 행을 포함합니다.

Quick은 1900년 1월 1일 00:00:00 UTC\$12037년 12월 31일 23:59:59 UTC 범위의 날짜를 지원합니다. 자세한 내용은 [지원되는 날짜 형식을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/supported-date-formats.html).

## 구문
<a name="parseDate-function-syntax"></a>

```
parseDate(expression, ['format'])
```

## 인수
<a name="parseDate-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'1/1/2016'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *format*   
(선택 사항) *date\$1string*과 일치해야 하는 형식 패턴이 포함된 문자열입니다. 예를 들어, **01/03/2016**과 같은 데이터가 포함된 필드를 사용하는 경우 형식 'MM/dd/yyyy'를 지정합니다. 형식을 지정하지 않으면 `yyyy-MM-dd`가 기본 형식으로 사용됩니다. 데이터가 *format*을 따르지 않는 행은 건너뜁니다.  
사용되는 데이터 세트 유형에 따라 여러 데이터 형식이 지원됩니다. 다음 표에서 지원되는 날짜 형식에 대한 세부 정보를 확인하십시오.    
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/parseDate-function.html)

## 반환 타입
<a name="parseDate-function-return-type"></a>

Date

## 예제
<a name="parseDate-function-example"></a>

다음 예에서는 `prodDate`를 평가하여 이 필드에 날짜 값이 포함되어 있는지 확인합니다.

```
parseDate(prodDate, 'MM/dd/yyyy')
```

다음은 주어진 필드 값의 예입니다.

```
prodDate
--------
01-01-1999
12/31/2006
1/18/1982 
7/4/2010
```

이러한 필드 값의 경우 다음 행이 반환됩니다.

```
12-31-2006T00:00:00.000Z
01-18-1982T00:00:00.000Z
07-04-2010T00:00:00.000Z
```

# parseDecimal
<a name="parseDecimal-function"></a>

`parseDecimal`은 문자열을 구문 분석하여 문자열에 10진수 값이 포함되어 있는지 확인합니다. 이 함수는 10진수, 정수 또는 null 값이 포함된 행을 모두 반환하고 이러한 값이 포함되지 않은 행은 모두 건너뜁니다. 행에 정수 값이 포함되어 있으면 소수점 이하 4자리까지의 십진수로 반환됩니다. 예를 들어, 값 '2'는 '2.0'으로 반환됩니다.

## 구문
<a name="parseDecimal-function-syntax"></a>

```
parseDecimal(expression)
```

## 인수
<a name="parseDecimal-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'9.62'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="parseDecimal-function-return-type"></a>

레거시 데이터 준비 경험의 소수(고정)입니다.

새로운 데이터 준비 경험의 소수(Float)입니다.

## 예제
<a name="parseDecimal-function-example"></a>

다음 예에서는 `fee`를 평가하여 이 필드에 소수점 아래 값이 포함되어 있는지 확인합니다.

```
parseDecimal(fee)
```

다음은 주어진 필드 값의 예입니다.

```
fee
--------
2
2a
12.13
3b
3.9
(null)
198.353398
```

이러한 필드 값의 경우 다음 행이 반환됩니다.

```
2.0
12.13
3.9
(null)
198.3533
```

# parseInt
<a name="parseInt-function"></a>

`parseInt`는 문자열을 구문 분석하여 문자열에 정수 값이 포함되어 있는지 확인합니다. 이 함수는 10진수, 정수 또는 null 값이 포함된 행을 모두 반환하고 이러한 값이 포함되지 않은 행은 모두 건너뜁니다. 행에 10진수 값이 포함되어 있는 경우 해당 값은 반내림한 가장 가까운 정수로 반환됩니다. 예를 들어, 값 '2.99'는 '2'로 반환됩니다.

## 구문
<a name="parseInt-function-syntax"></a>

```
parseInt(expression)
```

## 인수
<a name="parseInt-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'3'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="parseInt-function-return-type"></a>

Integer

## 예제
<a name="parseInt-function-example"></a>

다음 예에서는 `feeType`를 평가하여 이 필드에 정수 값이 포함되어 있는지 확인합니다.

```
parseInt(feeType)
```

다음은 주어진 필드 값의 예입니다.

```
feeType
--------
2
2.1
2a
3
3b
(null)
5
```

이러한 필드 값의 경우 다음 행이 반환됩니다.

```
2
2
3
(null)
5
```

# parseJson
<a name="parseJson-function"></a>

`parseJson`을 사용하여 JSON 객체에서 값을 추출합니다.

데이터 세트가 빠른에 저장된 경우 데이터 세트를 준비SPICE할 `parseJson` 때를 사용할 수 있지만 분석 중에는 계산된 필드에는 사용할 수 없습니다.

직접 쿼리의 경우, 데이터 준비 및 분석 모두에서 `parseJson`을 사용할 수 있습니다. `parseJson` 함수는 언어에 따라 문자열 또는 JSON 기본 데이터 형식에 적용됩니다(다음 표 참조).


| 언어 | Type | 
| --- | --- | 
| PostgreSQL | JSON | 
| Amazon Redshift | 문자열 | 
| Microsoft SQL Server | 문자열 | 
| MySQL | JSON | 
| Teradata | JSON | 
| Oracle | 문자열 | 
| Presto | 문자열 | 
| Snowflake | 반구조화 데이터 형식 객체 및 배열 | 
| Hive | 문자열 | 

## 구문
<a name="parseJson-function-syntax"></a>

```
parseJson(fieldName, path)
```

## 인수
<a name="parseJson-function-arguments"></a>

 *fieldName*   
구문 분석할 JSON 객체를 포함하는 필드입니다.

 *경로*   
JSON 객체에서 구문 분석할 데이터 요소의 경로입니다. 경로 인수에는 문자, 숫자 및 공백만 지원됩니다. 유효한 경로 구문은 다음과 같습니다.  
+ \$1 - 루트 객체
+ . - 하위 연산자.
+ [ ] - 구독 배열 연산자

## 반환 타입
<a name="parseJson-function-return-type"></a>

문자열

## 예제
<a name="parseJson-function-example-query"></a>

다음 예제에서는 수신되는 JSON을 평가하여 항목 수량 값을 추출합니다. 데이터 준비 시 이를 사용하여 JSON에서 테이블을 생성할 수 있습니다.

```
parseJson({jsonField}, “$.items.qty”)
```

다음은 JSON입니다.

```
{
    "customer": "John Doe",
    "items": {
        "product": "Beer",
        "qty": 6
    },
    "list1": [
        "val1",
        "val2"
    ],
    "list2": [
        {
            "list21key1": "list1value1"
        }
    ]
}
```

이 예제에서는 다음 값이 반환됩니다.

```
6
```

## 예제
<a name="parseJson-function-example"></a>

다음 예제에서는 `JSONObject1`을(를) 평가하여 `"State"`(이)라는 이름의 첫 번째 키 값 페어(KVP)를 추출하고, 이 값을 생성하려는 계산 필드에 할당합니다.

```
parseJson(JSONObject1, “$.state”)
```

다음은 주어진 필드 값의 예입니다.

```
JSONObject1
-----------
{"State":"New York","Product":"Produce","Date Sold":"1/16/2018","Sales Amount":"$3423.39"}
{"State":"North Carolina","Product":"Bakery Products","Date Sold":"2/1/2018","Sales Amount":"$3226.42"}
{"State":"Utah","Product":"Water","Date Sold":"4/24/2018","Sales Amount":"$7001.52"}
```

이러한 필드 값의 경우 다음 행이 반환됩니다.

```
New York
North Carolina
Utah
```

# Replace
<a name="replace-function"></a>

`replace`는 문자열의 일부를 지정한 다른 문자열로 바꿉니다.

## 구문
<a name="replace-function-syntax"></a>

```
replace(expression, substring, replacement)
```

## 인수
<a name="replace-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
대체하려는 *표현식*의 문자 세트. 이 하위 문자열은 *표현식*에서 2회 이상 나타날 수 있습니다.

 replacement**   
*하위 문자열*을 대체하려는 문자열

## 반환 타입
<a name="replace-function-return-type"></a>

문자열

## 예제
<a name="replace-function-example"></a>

다음 예에서는 하위 문자열 'and'를 'or'로 대체합니다.

```
replace('1 and 2 and 3', 'and', 'or')
```

다음 문자열이 반환됩니다.

```
1 or 2 or 3
```

# Right
<a name="right-function"></a>

`right`는 문자열에서 공백을 포함해 가장 오른쪽에 있는 문자를 반환합니다. 반환되는 문자 수를 지정합니다.

## 구문
<a name="right-function-syntax"></a>

```
right(expression, limit)
```

## 인수
<a name="right-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *limit*   
문자열의 마지막 문자부터 시작해 *표현식*에서 반환될 문자 수입니다.

## 반환 타입
<a name="right-function-return-type"></a>

문자열

## 예제
<a name="right-function-example"></a>

다음 예에서는 문자열의 마지막 5자를 반환합니다.

```
right('Seattle Store#14', 12)
```

다음과 같은 값이 반환됩니다.

```
tle Store#14
```

# Round
<a name="round-function"></a>

`round`는 소수 자릿수가 지정되지 않은 경우 10진수 값을 가장 가까운 정수로 올리고 지정된 경우에는 가장 가까운 소수 자릿수로 올립니다.

## 구문
<a name="round-function-syntax"></a>

```
round(decimal, scale)
```

## 인수
<a name="round-function-arguments"></a>

 *decimal*   
10진수 데이터 형식을 사용하는 필드, **17.62**와 같은 리터럴 값 또는 10진수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *사용*   
반환 값에 사용되는 소수 자릿수입니다.

## 반환 타입
<a name="round-function-return-type"></a>


| 피연산자 | 레거시 데이터 준비 환경의 반환 유형 | 새 데이터 준비 환경의 반환 유형 | 
| --- | --- | --- | 
|  INT  |  소수(고정)  |  소수(고정)  | 
|  소수(고정)  |  소수(고정)  |  소수(고정)  | 
|  DECIMAL(FLOAT)  |  소수(고정)  |  DECIMAL(FLOAT)  | 

## 예제
<a name="round-function-example"></a>

다음 예에서는 10진수 필드를 가장 가까운 두 번째 소수 자릿수로 올립니다.

```
round(salesAmount, 2)
```

다음은 주어진 필드 값의 예입니다.

```
20.1307
892.0388
57.5447
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
20.13
892.04
58.54
```

# Rtrim
<a name="rtrim-function"></a>

`rtrim`은(는) 문자열 뒤에 오는 공백을 제거합니다.

## 구문
<a name="rtrim-function-syntax"></a>

```
rtrim(expression)
```

## 인수
<a name="rtrim-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="rtrim-function-return-type"></a>

문자열

## 예제
<a name="rtrim-function-example"></a>

다음 예에서는 문자열 뒤에 오는 공백을 제거합니다.

```
rtrim('Seattle Store #14   ')
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
Seattle Store #14
```

# Split
<a name="split-function"></a>

`split`은 선택한 구분자를 기준으로 문자열을 하위 문자열 배열로 분할한 다음 위치에 따라 항목을 반환합니다.

분석이 아닌 데이터 준비 중 계산된 필드에만 `split`을 추가할 수 있습니다. Microsoft SQL Server에 대한 직접 쿼리에서는 이 함수가 지원되지 않습니다.

## 구문
<a name="split-function-syntax"></a>

```
split(expression, delimiter , position)
```

## 인수
<a name="split-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street;1402 35th Ave;1818 Elm Ct;11 Janes Lane'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *delimiter*   
문자열이 하위 문자열로 분할되는 지점을 구분하는 문자입니다. 예를 들어 `split('one|two|three', '|', 2)`은 다음이 됩니다.  

```
one
two
three
```
`position = 2`를 선택한 경우 `split`은 `'two'`을 반환합니다.

 *position*   
(필수) 배열에서 반환할 항목의 위치입니다. 배열의 첫 번째 항목 위치는 1입니다.

## 반환 타입
<a name="split-function-return-type"></a>

문자열 배열

## 예제
<a name="split-function-example"></a>

다음 예에서는 세미콜론 문자(;)를 사용하여 문자열을 배열로 분할하고 배열의 세 번째 요소를 반환합니다.

```
split('123 Test St;1402 35th Ave;1818 Elm Ct;11 Janes Lane', ';', 3)
```

다음 항목이 반환됩니다.

```
1818 Elm Ct
```

이 함수는 null 값을 포함한 항목이나 빈 문자열을 건너뜁니다.

# Sqrt
<a name="sqrt-function"></a>

`sqrt`는 임의의 표현식의 제곱근을 반환합니다.

## 구문
<a name="sqrt-function-syntax"></a>

```
sqrt(expression)
```

## 인수
<a name="sqrt-function-arguments"></a>

 *expression*   
표현식은 숫자여야 합니다. 필드 이름, 리터럴 값, 또 다른 함수가 될 수 있습니다.

# startsWith
<a name="startsWith-function"></a>

`startsWith`은(는) 표현식이 지정한 하위 문자열로 시작하는지 평가합니다. 표현식이 하위 문자열로 시작하는 경우 true를 반환하고 그렇지 않으면 `startsWith`에서 false를 반환합니다.

## 구문
<a name="startsWith-function-syntax"></a>

```
startsWith(expression, substring, string-comparison-mode)
```

## 인수
<a name="startsWith-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
표현식과 비교하여 확인할 문자 세트입니다. 이 하위 문자열은 표현식에서 2회 이상 나타날 수 있습니다.

 string-comparison-mode   
(선택 사항) 사용할 문자열 비교 모드를 지정합니다.  
+ `CASE_SENSITIVE` - 문자열 비교는 대/소문자를 구분합니다.
+ `CASE_INSENSITIVE` - 문자열 비교는 대/소문자를 구분하지 않습니다.
비어 있을 때 이 값은 기본적으로 `CASE_SENSITIVE`로 설정됩니다.

## 반환 타입
<a name="startsWith-function-return-type"></a>

부울

## 예제
<a name="startsWith-function-example"></a>

### 대/소문자를 구분하는 예
<a name="startsWith-function-example-default-case-sensitive"></a>

다음 대소문자를 구분하는 예에서는 `state_nm`이 **New**로 시작되는지 평가합니다.

```
startsWith(state_nm, "New")
```

다음은 주어진 필드 값의 예입니다.

```
New York
new york
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
false
```

### 대소문자를 구분하지 않는 예
<a name="startsWith-function-example-case-insensitive"></a>

다음 대소문자를 구분하지 않는 예에서는 `state_nm`이 **new**로 시작되는지 평가합니다.

```
startsWith(state_nm, "new", CASE_INSENSITIVE)
```

다음은 주어진 필드 값의 예입니다.

```
New York
new york
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
true
```

### 조건문을 사용한 예
<a name="startsWith-function-example-conditional-statements"></a>

`startsWith` 함수는 [avgIf](https://docs.aws.amazon.com/quicksight/latest/user/avgIf-function.html), [minIf](https://docs.aws.amazon.com/quicksight/latest/user/minIf-function.html), [distinct\$1countIf](https://docs.aws.amazon.com/quicksight/latest/user/distinct_countIf-function.html), [countIf](https://docs.aws.amazon.com/quicksight/latest/user/countIf-function.html), [maxIf](https://docs.aws.amazon.com/quicksight/latest/user/maxIf-function.html), [medianIf](https://docs.aws.amazon.com/quicksight/latest/user/medianIf-function.html), [stdevIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevIf-function.html), [stdevpIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevpIf-function.html), [sumIf](https://docs.aws.amazon.com/quicksight/latest/user/sumIf-function.html), [varIf](https://docs.aws.amazon.com/quicksight/latest/user/varIf-function.html), 그리고 [varpIf](https://docs.aws.amazon.com/quicksight/latest/user/varpIf-function.html) 함수 내에서 조건문으로 사용할 수 있습니다.

다음 예제에서는 state\$1nm이 **New**(으)로 시작되는 경우에만 `Sales` 합계를 계산합니다.

```
sumIf(Sales,startsWith(state_nm, "New"))
```

### 예제는 포함되어 있지 않습니다.
<a name="startsWith-function-example-does-not-start-with"></a>

조건부 `NOT` 연산자는 표현식이 지정된 하위 문자열로 시작하지 않는지 평가하는 데 사용할 수 있습니다.

```
NOT(startsWith(state_nm, "New"))
```

### 숫자 값을 사용한 예
<a name="startsWith-function-example-numeric-values"></a>

`toString`함수를 적용하여 표현식 또는 하위 문자열 인수에 숫자 값을 사용할 수 있습니다.

```
startsWith(state_nm, toString(5) )
```

# Strlen
<a name="strlen-function"></a>

`strlen`은 문자열 내에서 공백을 포함한 문자 수를 반환합니다.

## 구문
<a name="strlen-function-syntax"></a>

```
strlen(expression)
```

## 인수
<a name="strlen-function-arguments"></a>

 *expression*   
표현식은 문자열 데이터 형식(예: **address1**)을 사용하는 필드의 이름, 리터럴 값(예: **'Unknown'**) 또는 다른 함수(예: `substring(field_name,0,5)`)일 수 있습니다.

## 반환 타입
<a name="strlen-function-return-type"></a>

Integer

## 예제
<a name="strlen-function-example"></a>

다음 예에서는 지정된 문자열의 길이를 반환합니다.

```
strlen('1421 Main Street')
```

다음과 같은 값이 반환됩니다.

```
16
```

# Substring
<a name="substring-function"></a>

`substring`은 *start* 인수로 지정된 위치에서 시작하여 *length* 인수로 지정된 문자 수까지 앞쪽으로 계산해 문자열에 포함된 문자 수를 반환합니다.

## 구문
<a name="substring-function-syntax"></a>

```
substring(expression, start, length)
```

## 인수
<a name="substring-function-arguments"></a>

 *expression*   
표현식은 문자열 데이터 형식(예: **address1**)을 사용하는 필드의 이름, 리터럴 값(예: **'Unknown'**) 또는 다른 함수(예: `substring(field_name,1,5)`)일 수 있습니다.

 *start*   
시작할 문자 위치. *start*는 자신도 포함하므로 시작 위치에 있는 문자가 반환 값의 첫 번째 문자가 됩니다. 시작의 최소값은 1입니다.

 *length*   
시작 다음에 포함할 추가 문자 수. 길이에는 시작도 포함되므로 반환되는 마지막 문자는 시작 문자 다음에 (길이 - 1만큼) 이동한 문자입니다.

## 반환 타입
<a name="substring-function-return-type"></a>

문자열

## 예제
<a name="substring-function-example"></a>

다음 예에서는 문자열의 13\$119번째 문자를 반환합니다. 문자열의 시작은 인덱스 1이므로 첫 문자부터 계산을 시작합니다.

```
substring('Fantasy and Science Fiction',13,7)
```

다음과 같은 값이 반환됩니다.

```
Science
```

# switch
<a name="switch-function"></a>

`switch`은(는) 리터럴 레이블 및 반환-표현식 쌍 세트 내에서 조건식과 리터럴 레이블을 비교합니다. 그런 다음 조건 표현식과 동일한 첫 번째 리터럴 레이블에 해당하는 반환 표현식을 반환합니다. 조건 표현식과 동일한 레이블이 없는 경우 `switch`은(는) 기본 표현식을 반환합니다. 모든 반환 표현식과 기본 표현식은 동일한 데이터 유형을 가져야 합니다.

## 구문
<a name="switch-function-syntax"></a>

```
switch(condition-expression, label-1, return-expression-1 [, label-n, return-expression-n ...], 
        default-expression)
```

## 인수
<a name="switch-function-arguments"></a>

`switch`은(는) 한 개 이상의 if, then 표현식 쌍 한 개 이상과 else 인수 표현식에 대한 단 한 개의 표현식을 요구합니다.

 조건 표현식   
레이블 리터럴과 비교되는 표현식입니다. 이것은 `address`와(과) 같은 필드 이름, `Unknown`와(과) 같은 리터럴 값 또는 `toString(salesAmount)`와(과) 같은 또 다른 스칼라 함수일 수 있습니다.

 라벨   
리터럴을 조건 표현식 인수와 비교할 때 모든 리터럴은 조건 표현식 인수와 동일한 데이터 유형을 가져야 합니다.`switch`에서 최대 5000개의 레이블을 허용합니다.

 반환 표현식   
레이블 값이 조건 표현식의 값과 같은 경우 반환되는 표현식입니다. 이것은 `address`와(과) 같은 필드 이름, `Unknown`와(과) 같은 리터럴 값 또는 `toString(salesAmount)`와(과) 같은 또 다른 스칼라 함수일 수 있습니다. 모든 반환 표현식 인수는 기본 표현식과 동일한 데이터 유형을 가져야 합니다.

 기본 표현식   
조건 표현식 값과 동일한 레이블 인수 값이 없는 경우 반환되는 표현식입니다. 이것은 `address`와(과) 같은 필드 이름, `Unknown`와(과) 같은 리터럴 값 또는 `toString(salesAmount)`와(과) 같은 또 다른 스칼라 함수일 수 있습니다. 기본 표현식의 데이터 유형은 모든 반환 표현식 인수와 동일해야 합니다.

## 반환 타입
<a name="switch-function-return-type"></a>

`switch`은(는) 반환 표현식의 값과 동일한 데이터 유형의 값을 반환합니다. 반환되는 모든 데이터는 반환 표현식과 기본 표현식이 동일한 데이터 유형이거나 동일한 데이터 유형으로 변환되어야 합니다.

## 일반 예제
<a name="switch-function-example"></a>

다음 예제에서는 입력 리전 이름의 AWS 리전 코드를 반환합니다.

```
switch(region_name, 
               "US East (N. Virginia)", "us-east-1", 
               "Europe (Ireland)", "eu-west-1", 
               "US West (N. California)", "us-west-1", 
               "other regions")
```

다음은 주어진 필드 값의 예입니다.

```
"US East (N. Virginia)"
        "US West (N. California)"
        "Asia Pacific (Tokyo)"
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
"us-east-1"
        "us-west-1"
        "other regions"
```

## 스위치를 사용하여 `ifelse` 변경
<a name="switch-instead-of-ifelse"></a>

다음 `ifelse` 사용 사례는 이전 예제와 동일합니다. `ifelse`은(는) 한 필드의 값이 다른 리터럴 값과 같은지 여부를 평가하는 경우에는 대신 `switch`을(를) 사용하는 것이 좋습니다.

```
ifelse(region_name = "US East (N. Virginia)", "us-east-1", 
               region_name = "Europe (Ireland)", "eu-west-1", 
               region_name = "US West (N. California)", "us-west-1", 
               "other regions")
```

## 반환값으로서의 표현식
<a name="switch-expression-as-return-value"></a>

다음 예제에서는 반환 표현식에 표현식을 사용합니다.

```
switch({origin_city_name}, 
               "Albany, NY", {arr_delay} + 20, 
               "Alexandria, LA", {arr_delay} - 10,
               "New York, NY", {arr_delay} * 2, 
               {arr_delay})
```

위 예시에서는 특정 도시에서 출발하는 각 항공편의 예상 지연 시간을 변경합니다.

![\[함수 예제의 결과 이미지로, 표 형식으로 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/switch-function-example.png)


# toLower
<a name="toLower-function"></a>

`toLower`는 문자열을 모두 소문자로 바꿉니다. `toLower`는 null 값이 포함된 행을 건너뜁니다.

## 구문
<a name="toLower-function-syntax"></a>

```
toLower(expression)
```

## 인수
<a name="toLower-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="toLower-function-return-type"></a>

문자열

## 예제
<a name="toLower-function-example"></a>

다음 예에서는 문자열 값을 소문자로 변환합니다.

```
toLower('Seattle Store #14')
```

다음과 같은 값이 반환됩니다.

```
seattle store #14
```

# toString
<a name="toString-function"></a>

`toString`은 입력 표현식을 문자열로 바꿉니다. `toString`는 null 값이 포함된 행을 건너뜁니다.

## 구문
<a name="toString-function-syntax"></a>

```
toString(expression)
```

## 인수
<a name="toString-function-arguments"></a>

 *expression*   
 표현식은 데이터 형식 필드, 리터럴 값(예: **14.62**) 또는 데이터 형식을 반환하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="toString-function-return-type"></a>

문자열

## 예제
<a name="toString-function-example"></a>

다음 예에서는 `payDate`(`date` 데이터 형식 사용)의 값을 문자열로 반환합니다.

```
toString(payDate)
```

다음은 주어진 필드 값의 예입니다.

```
payDate
--------
1992-11-14T00:00:00.000Z
2012-10-12T00:00:00.000Z
1973-04-08T00:00:00.000Z
```

이러한 필드 값의 경우 다음 행이 반환됩니다.

```
1992-11-14T00:00:00.000Z
2012-10-12T00:00:00.000Z
1973-04-08T00:00:00.000Z
```

# toUpper
<a name="toUpper-function"></a>

`toUpper`는 문자열을 모두 대문자로 바꿉니다. `toUpper`는 null 값이 포함된 행을 건너뜁니다.

## 구문
<a name="toUpper-function-syntax"></a>

```
toUpper(expression)
```

## 인수
<a name="toUpper-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="toUpper-function-return-type"></a>

문자열

## 예제
<a name="toUpper-function-example"></a>

다음 예에서는 문자열 값을 대문자로 변환합니다.

```
toUpper('Seattle Store #14')
```

다음과 같은 값이 반환됩니다.

```
SEATTLE STORE #14
```

# trim
<a name="trim-function"></a>

`trim`은(는) 문자열 앞/뒤의 공백을 둘 다 제거합니다.

## 구문
<a name="trim-function-syntax"></a>

```
trim(expression)
```

## 인수
<a name="trim-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="trim-function-return-type"></a>

문자열

## 예제
<a name="trim-function-example"></a>

다음 예에서는 문자열 뒤에 오는 공백을 제거합니다.

```
trim('   Seattle Store #14   ')
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
Seattle Store #14
```

# truncDate
<a name="truncDate-function"></a>

`truncDate`는 날짜의 지정된 부분을 나타내는 날짜 값을 반환합니다. 예를 들어, 값 2012-09-02T00:00:00.000Z의 연도 부분을 요청하면 2012-01-01T00:00:00.000Z가 반환됩니다. 시간 정보가 포함되지 않은 날짜의 시간 관련 기간을 지정하면 처음 날짜 값이 그대로 반환됩니다.

## 구문
<a name="truncDate-function-syntax"></a>

```
truncDate('period', date)
```

## 인수
<a name="truncDate-function-arguments"></a>

 *period*   
반환하고자 하는 날짜의 기간입니다. 유효한 기간은 다음과 같습니다.  
+ YYYY: 날짜의 연도 부분을 반환합니다.
+ Q: 날짜가 속하는 분기의 첫 번째 날짜를 반환합니다.
+ MM: 날짜의 월 부분을 반환합니다.
+ DD: 날짜의 일 부분을 반환합니다.
+ WK: 날짜의 주 부분을 반환합니다. 주가 Amazon Quick에서 일요일에 시작됩니다.
+ HH: 날짜의 시간 부분을 반환합니다.
+ MI: 날짜의 분 부분을 반환합니다.
+ SS: 날짜의 초 부분을 반환합니다.
+ MS: 날짜의 밀리초 부분을 반환합니다.

 *date*   
날짜 필드이거나 날짜를 출력하는 다른 함수에 대한 호출입니다.

## 반환 타입
<a name="truncDate-function-return-type"></a>

Date

## 예제
<a name="truncDate-function-example"></a>

다음 예에서는 주문 날짜의 월을 나타내는 날짜를 반환합니다.

```
truncDate('MM', orderDate)
```

다음은 주어진 필드 값의 예입니다.

```
orderDate      
=========
2012-12-14T00:00:00.000Z  
2013-12-29T00:00:00.000Z
2012-11-15T00:00:00.000Z
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
2012-12-01T00:00:00.000Z
2013-12-01T00:00:00.000Z
2012-11-01T00:00:00.000Z
```

# 집계 함수
<a name="calculated-field-aggregations"></a>

집계 함수는 분석 및 시각화 도중에만 제공됩니다. 이들 함수는 각각 선택된 차원(들)로 그룹화된 값을 반환합니다. 각 집계의 경우 조건 집계도 있습니다. 조건을 기반으로 동일한 유형의 집계를 수행합니다.

계산된 필드 공식에 집계가 포함된 경우 사용자 지정 집계가 됩니다. 데이터가 정확하게 표시되도록 Amazon Quick은 다음 규칙을 적용합니다.
+ 사용자 지정 집계는 중첩된 집계 함수를 포함할 수 없습니다. 예를 들어 다음 공식(`sum(avg(x)/avg(y))`)은 작동하지 않습니다. 하지만 집계 함수 내부 또는 외부에 집계되지 않은 중첩 함수는 작동합니다. 예를 들어, `ceil(avg(x))`는 작동합니다. `avg(ceil(x))`도 작동합니다.
+ 사용자 지정 집계는 어떤 조합에서든 집계된 필드와 집계되지 않은 필드를 둘 다 포함할 수는 없습니다. 예를 들어 다음 공식(`Sum(sales)+quantity`)은 작동하지 않습니다.
+ 필터 그룹은 집계된 필드와 집계되지 않은 필드를 둘 다 포함할 수는 없습니다.
+ 사용자 지정 집계는 차원으로 변환되지 않습니다. 또한 차원으로 필드 모음에 넣을 수도 없습니다.
+ 피벗 테이블에서는 사용자 지정 집계를 테이블 계산에 추가할 수 없습니다.
+ 사용자 지정 집계가 포함된 산점도는 필드 모음의 [**Group/Color**] 아래에 최소 하나 이상의 차원이 필요합니다.

지원되는 함수 및 연산자에 대한 자세한 내용은 [Amazon Quick의 계산된 필드 함수 및 연산자 참조를 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/calculated-field-reference.html).

Quick의 계산된 필드에 대한 집계 함수에는 다음이 포함됩니다.

**Topics**
+ [avg](avg-function.md)
+ [avgIf](avgIf-function.md)
+ [count](count-function.md)
+ [countIf](countIf-function.md)
+ [distinct\$1count](distinct_count-function.md)
+ [distinct\$1countIf](distinct_countIf-function.md)
+ [max](max-function.md)
+ [maxIf](maxIf-function.md)
+ [median](median-function.md)
+ [medianIf](medianIf-function.md)
+ [min](min-function.md)
+ [minIf](minIf-function.md)
+ [percentile](percentile-function.md)
+ [percentileCont](percentileCont-function.md)
+ [percentileDisc(백분위수)](percentileDisc-function.md)
+ [periodToDateAvg](periodToDateAvg-function.md)
+ [periodToDateCount](periodToDateCount-function.md)
+ [periodToDateMax](periodToDateMax-function.md)
+ [periodToDateMedian](periodToDateMedian-function.md)
+ [periodToDateMin](periodToDateMin-function.md)
+ [periodToDatePercentile](periodToDatePercentile-function.md)
+ [periodToDatePercentileCont](periodToDatePercentileCont-function.md)
+ [periodToDateStDev](periodToDateStDev-function.md)
+ [periodToDateStDevP](periodToDateStDevP-function.md)
+ [periodToDateSum](periodToDateSum-function.md)
+ [periodToDateVar](periodToDateVar-function.md)
+ [periodToDateVarP](periodToDateVarP-function.md)
+ [stdev](stdev-function.md)
+ [stdevp](stdevp-function.md)
+ [stdevIf](stdevIf-function.md)
+ [stdevpIf](stdevpIf-function.md)
+ [sum](sum-function.md)
+ [sumIf](sumIf-function.md)
+ [var](var-function.md)
+ [varIf](varIf-function.md)
+ [varp](varp-function.md)
+ [varpIf](varpIf-function.md)

# avg
<a name="avg-function"></a>

`avg` 함수는 선택된 차원(들)로 그룹화된 지정된 치수의 숫자 집합을 평균합니다. 예를 들어, `avg(salesAmount)`는 선택된(선택 사항) 차원으로 그룹화된 해당 치수에 대한 평균을 반환합니다.

## 구문
<a name="avg-function-syntax"></a>

```
avg(decimal, [group-by level])
```

## 인수
<a name="avg-function-arguments"></a>

 *decimal*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="avg-function-example"></a>

다음 예에서는 평균 매출을 계산합니다.

```
avg({Sales})
```

또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제에서는 국가 수준에서의 평균 매출을 계산하지만 시각적 객체의 다른 차원(리전 또는 제품) 에서의 평균 매출을 계산하지는 않습니다.

```
avg({Sales}, [{Country}])
```

![\[평균 판매량은 국가 수준에서만 집계됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/avg-function-example.png)


# avgIf
<a name="avgIf-function"></a>

조건 문을 기반으로 `avgIf` 함수는 선택된 차원(들)로 그룹화된 지정된 치수의 숫자 집합 평균을 계산합니다. 예를 들어 조건이 true로 평가된 경우 `avgIf(ProdRev,CalendarDay >= ${BasePeriodStartDate} AND CalendarDay <= ${BasePeriodEndDate} AND SourcingType <> 'Indirect')`에서 (선택 사항)선택한 차원으로 그룹화된 측정에 대한 평균을 계산합니다.

## 구문
<a name="avgIf-function-syntax"></a>

```
avgIf(dimension or measure, condition) 
```

## 인수
<a name="avgIf-function-arguments"></a>

 *decimal*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

# count
<a name="count-function"></a>

`count` 함수는 선택된 차원(들)로 그룹화된 차원 또는 치수의 값 개수를 계산합니다. 예를 들어, `count(product type)`는 중복 항목을 포함하여 선택된(선택 사항) 차원으로 그룹화된 제품 유형의 총 개수를 반환합니다. `count(sales)` 함수는 선택된(선택 사항) 차원(예: 영업 담당자)으로 그룹화된 완료된 판매의 총 개수를 반환합니다.

## 구문
<a name="count-function-syntax"></a>

```
count(dimension or measure, [group-by level])
```

## 인수
<a name="count-function-arguments"></a>

 *차원 또는 치수*   
인수는 치수 또는 차원이어야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="count-function-example"></a>

다음 예제에서는 시각적 객체에서 지정된 차원을 기준으로 판매량을 계산합니다. 이 예제에서는 월별 판매 수를 보여 줍니다.

```
count({Sales})
```

![\[월별 판매 수입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/count-function-example.png)


또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제에서는 시각적 객체의 다른 차원(리전 또는 제품)이 아닌 국가 수준에서의 판매 수를 계산합니다.

```
count({Sales}, [{Country}])
```

![\[판매 수는 국가 수준에서만 집계됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/count-function-example2.png)


# countIf
<a name="countIf-function"></a>

조건 문을 기반으로 `countIf` 함수는 선택된 차원(들)로 그룹화된 차원 또는 치수의 개별 값 개수를 계산합니다.

## 구문
<a name="countIf-function-syntax"></a>

```
countIf(dimension or measure, condition)
```

## 인수
<a name="countIf-function-arguments"></a>

 *차원 또는 치수*   
인수는 치수 또는 차원이어야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

## 반환 타입
<a name="countIf-function-return-type"></a>

Integer

## 예제
<a name="countIf-function-example"></a>

다음 함수는 중복 항목을 포함하여 조건을 충족하는 판매 거래 수(`Revenue`)를 반환합니다.

```
countIf (
    Revenue,
    # Conditions
        CalendarDay >= ${BasePeriodStartDate} AND 
        CalendarDay <= ${BasePeriodEndDate} AND 
        SourcingType <> 'Indirect'
)
```

# distinct\$1count
<a name="distinct_count-function"></a>

`distinct_count` 함수는 선택된 차원(들)로 그룹화된 차원 또는 치수의 개별 값 개수를 계산합니다. 예를 들어, `distinct_count(product type)`는 중복 항목을 포함하지 않고 선택된(선택 사항) 차원으로 그룹화된 고유한 제품 유형의 총 개수를 반환합니다. `distinct_count(ship date)` 함수는 선택된(선택 사항) 차원(예: 리전)으로 그룹화된 제품 선적 날짜의 총 개수를 반환합니다.

## 구문
<a name="distinct_count-function-syntax"></a>

```
distinct_count(dimension or measure, [group-by level])
```

## 인수
<a name="distinct_count-function-arguments"></a>

 *차원 또는 치수*   
인수는 치수 또는 차원이어야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="distinct_count-function-examples"></a>

다음 예제에서는 시각적 객체에서 선택한 차원(선택 사항)을 기준으로 그룹화하여 제품을 주문한 총 날짜 수를 계산합니다(예: 리전).

```
distinct_count({Order Date})
```

![\[각 리전에서 제품을 주문한 총 날짜 수입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/distinct_count-function-example.png)


또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제에서는 국가 수준에서의 평균 매출을 계산하지만 시각적 객체의 다른 차원(리전)에서의 평균 매출을 계산하지는 않습니다.

```
distinct_count({Order Date}, [Country])
```

![\[각 국가에서 제품을 주문한 총 날짜 수입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/distinct_count-function-example2.png)


# distinct\$1countIf
<a name="distinct_countIf-function"></a>

조건 문을 기반으로 `distinct_countIf` 함수는 선택된 차원(들)로 그룹화된 차원 또는 치수의 개별 값 개수를 계산합니다. 예를 들어, `distinct_countIf(product type)`는 중복 항목을 포함하지 않고 선택된(선택 사항) 차원으로 그룹화된 고유한 제품 유형의 총 개수를 반환합니다. 조건이 true로 평가된 경우 `distinct_countIf(ProdRev,CalendarDay >= ${BasePeriodStartDate} AND CalendarDay <= ${BasePeriodEndDate} AND SourcingType <> 'Indirect')` 함수는 (선택 사항) 선택한 차원(예: 리전)으로 그룹화된 제품 배송 날짜의 총 개수를 반환합니다.

## 구문
<a name="distinct_countIf-function-syntax"></a>

```
distinct_countIf(dimension or measure, condition)
```

## 인수
<a name="distinct_countIf-function-arguments"></a>

 *차원 또는 치수*   
인수는 치수 또는 차원이어야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

# max
<a name="max-function"></a>

`max` 함수는 선택된 차원(들)로 그룹화된 지정된 치수 또는 날짜의 최대값을 반환합니다. 예를 들어, `max(sales goal)`는 선택된(선택 사항) 차원으로 그룹화된 최대 판매 목표를 반환합니다.

## 구문
<a name="max-function-syntax"></a>

```
max(measure, [group-by level])
```

## 인수
<a name="max-function-arguments"></a>

 *치수*   
인수는 치수 또는 날짜여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.  
최대 날짜는 테이블 및 피벗 테이블의 **값** 필드 웰에서만 작동합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="max-function-example"></a>

다음 예에서는 각 리전의 최대 판매량을 반환합니다. 총액, 최소값, 중앙값 판매액과 비교됩니다.

```
max({Sales})
```

![\[각 리전의 최대 판매액입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/min-max-median-function-example.png)


또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제에서는 국가 수준에서의 최대 판매량을 계산하지만 시각적 객체의 다른 차원(리전)에서는 계산하지 않습니다.

```
max({Sales}, [Country])
```

![\[각 국가의 최대 판매액입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/max-function-example2.png)


# maxIf
<a name="maxIf-function"></a>

조건 문을 기반으로 `maxIf` 함수는 선택된 차원(들)로 그룹화된 지정된 치수의 최대값을 반환합니다. 예를 들어 조건이 true로 평가된 경우 `maxIf(ProdRev,CalendarDay >= ${BasePeriodStartDate} AND CalendarDay <= ${BasePeriodEndDate} AND SourcingType <> 'Indirect')`에서 (선택 사항)선택한 차원으로 그룹화된 최대 판매 목표를 반환합니다.

## 구문
<a name="maxIf-function-syntax"></a>

```
maxIf(measure, condition)
```

## 인수
<a name="maxIf-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

# median
<a name="median-function"></a>

`median` 집계는 선택된 차원으로 그룹화된 지정된 치수의 중간값을 반환합니다. 예를 들어, `median(revenue)`는 선택 사항인 선택한 차원으로 그룹화된 중간값 수익을 반환합니다.

## 구문
<a name="median-function-syntax"></a>

```
median(measure, [group-by level])
```

## 인수
<a name="median-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="median-function-example"></a>

다음 예에서는 리전의 판매량 중앙값을 반환합니다. 총, 최대, 최소 판매량과 비교됩니다.

```
median({Sales})
```

![\[각 리전의 평균 판매액입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/min-max-median-function-example.png)


또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예에서는 시각적 객체의 다른 차원(리전)이 아닌 국가 수준에서의 평균 판매량을 계산합니다.

```
median({Sales}, [Country])
```

![\[각 국가의 판매량 중간값입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/median-function-example2.png)


# medianIf
<a name="medianIf-function"></a>

조건 문을 기반으로 `medianIf` 집계는 선택한 차원으로 그룹화된 지정된 치수의 중간값을 반환합니다. 예를 들어, 조건이 true로 평가된 경우 `medianIf(Revenue,SaleDate >= ${BasePeriodStartDate} AND SaleDate <= ${BasePeriodEndDate})`는 (선택 사항)선택한 차원으로 그룹화된 중간값 수익을 반환합니다.

## 구문
<a name="medianIf-function-syntax"></a>

```
medianIf(measure, condition)
```

## 인수
<a name="medianIf-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

# min
<a name="min-function"></a>

`min` 함수는 선택된 차원(들)로 그룹화된 지정된 치수 또는 날짜의 최소값을 반환합니다. 예를 들어, `min(return rate)`는 선택된(선택 사항) 차원으로 그룹화된 최소 수익률을 반환합니다.

## 구문
<a name="min-function-syntax"></a>

```
min(measure, [group-by level])
```

## 인수
<a name="min-function-arguments"></a>

 *치수*   
인수는 치수 또는 날짜여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.  
최소 날짜는 테이블 및 피벗 테이블의 **값** 필드 웰에서만 작동합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="min-function-example"></a>

다음 예에서는 리전의 최소 판매량을 반환합니다. 총, 최대, 중앙값 판매량과 비교됩니다.

```
min({Sales})
```

![\[각 리전의 최소 판매액입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/min-max-median-function-example.png)


또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제에서는 국가 수준에서의 최소 판매량을 계산하지만 시각적 객체의 다른 차원(리전)에서는 계산하지 않습니다.

```
min({Sales}, [Country])
```

![\[각 국가의 최소 판매량.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/min-function-example2.png)


# minIf
<a name="minIf-function"></a>

조건 문을 기반으로 `minIf` 함수는 선택된 차원(들)로 그룹화된 지정된 치수의 최소값을 반환합니다. 예를 들어 조건이 true로 평가된 경우 `minIf(ProdRev,CalendarDay >= ${BasePeriodStartDate} AND CalendarDay <= ${BasePeriodEndDate} AND SourcingType <> 'Indirect')`에서 (선택 사항)선택한 차원으로 그룹화된 최소 수익률을 반환합니다.

## 구문
<a name="minIf-function-syntax"></a>

```
minIf(measure, condition)
```

## 인수
<a name="minIf-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

# percentile
<a name="percentile-function"></a>

`percentile` 함수는 필드 모음에 있는 측정값을 기준으로 그룹화하여 측정값의 백분위수를 계산합니다. Quick에는 두 가지 백분위수 계산이 있습니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentileCont-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentileCont-function.html)은(는) 선형 보간을 사용하여 결과를 결정합니다.
+ [percentileDisc (백분위수)](https://docs.aws.amazon.com/quicksight/latest/user/percentileDisc-function.html)는 실제 값을 사용하여 결과를 결정합니다.

`percentile` 함수는 `percentileDisc`의 별칭입니다.

# percentileCont
<a name="percentileCont-function"></a>

`percentileCont` 함수는 측정값에 있는 숫자의 연속 분포를 기반으로 백분위수를 계산합니다. 필드 모음에 적용된 그룹화 및 정렬을 사용합니다. 다음과 같은 질문에 대한 답을 제공합니다. 이 백분위수를 대표하는 값은 무엇입니까? 데이터 세트에 없을 수도 있는 정확한 백분위수 값을 반환하려면 `percentileCont`을(를) 사용하십시오. 데이터 세트에 있는 가장 가까운 백분위수 값을 반환하려면 `percentileDisc`을(를) 대신 사용하십시오.

## 구문
<a name="percentileCont-function-syntax"></a>

```
percentileCont(expression, percentile, [group-by level])
```

## 인수
<a name="percentileCont-function-arguments"></a>

 *치수*   
백분위수를 계산하는 데 사용할 숫자 값을 지정합니다. 인수는 치수 또는 지표여야 합니다. 이 계산에서 Null 값은 무시됩니다.

 *Percentile*   
백분위수 값은 0\$1100의 임의의 숫자 상수일 수 있습니다. 50의 백분위 값은 치수의 중간값을 계산합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 반환
<a name="percentileCont-function-return-type"></a>

함수의 결과는 숫자입니다.

## 사용 노트
<a name="percentileCont-usage-notes"></a>

`percentileCont` 함수는 지정된 측정값의 연속 분포를 기반으로 결과를 계산합니다. 결과는 시각적 객체의 설정에 따라 값을 정렬한 후 값 간의 선형 보간을 통해 계산됩니다. 단순히 집계된 값 집합에서 값을 반환하는 `percentileDisc`(와)과는 다릅니다. `percentileCont`의 결과가 지정된 측정값의 값에 존재할 수도 있고 없을 수도 있습니다.

## percentileCont의 예
<a name="percentileCont-examples"></a>

다음 예제는 percentileCont의 작동 방식을 설명하는 데 도움이 됩니다.

**Example 중앙값, `percentileCont` 및 `percentileDisc`**  
다음 예제에서는`median`, `percentileCont`, `percentileDisc` 함수를 사용하여 차원(범주)의 중앙값을 보여줍니다. 중앙값은 백분위수 값과 동일합니다. `percentileCont` 값은 데이터 세트에 있을 수도 있고 없을 수도 있는 값을 보간합니다. 하지만 `percentileDisc`은(는) 항상 데이터 세트에 있는 값을 표시하기 때문에 두 결과가 일치하지 않을 수 있습니다. 이 예의 마지막 열에는 두 값 간의 차이 일수를 반환합니다. 각 계산된 필드의 코드는 다음과 같습니다.  
+ `50%Cont = percentileCont( example , 50 )`
+ `median = median( example )`
+ `50%Disc = percentileDisc( example , 50 )`
+ `Cont-Disc = percentileCont( example , 50 ) − percentileDisc( example , 50 )`
+ `example = left( category, 1 )`(더 간단한 예를 만들기 위해 이 표현식을 사용하여 범주 이름을 첫 글자로 줄였습니다.)

```
  example     median       50%Cont      50%Disc      Cont-Disc
 -------- ----------- ------------ -------------- ------------ 
 A          22.48          22.48          22.24          0.24
 B          20.96          20.96          20.95          0.01
 C          24.92          24.92          24.92          0
 D          24.935         24.935         24.92          0.015
 E          14.48          14.48          13.99          0.49
```

**Example 최대 100번째 백분위수**  
다음 예제는 `example` 필드에 대한 `percentileCont` 값을 보여 줍니다. 계산된 필드인 `n%Cont`은(는) `percentileCont( {example} ,n)`와(과) 같이 정의됩니다. 각 열의 보간된 값은 해당 백분위수 버킷에 속하는 숫자를 나타냅니다. 실제 데이터 값이 보간된 값과 일치하는 경우도 있습니다. 예를 들어 6783.02가 가장 큰 숫자이므로 열 `100%Cont`에 모든 행에 동일한 값이 표시됩니다.  

```
 example      50%Cont     75%Cont      99%Cont    100%Cont  
 --------- ----------- ----------- ------------ ----------- 

 A             20.97       84.307      699.99      6783.02  
 B             20.99       88.84       880.98      6783.02  
 C             20.99       90.48       842.925     6783.02  
 D             21.38       85.99       808.49      6783.02
```

또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제에서는 30번째 백분위수를 계산하지만 시각적 객체의 다른 차원(리전)에는 적용되지 않고 국가 수준에서의 연속 분포를 기반으로 30번째 백분위수를 계산합니다.

```
percentileCont({Sales}, 30, [Country])
```

![\[각 국가의 판매 백분위수입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/percentileCont-function-example-lac.png)


# percentileDisc(백분위수)
<a name="percentileDisc-function"></a>

`percentileDisc` 함수는 `measure`의 실제 수치를 기반으로 백분위수를 계산합니다. 필드 모음에 적용된 그룹화 및 정렬을 사용합니다. `percentile` 함수는 `percentileDisc`의 별칭입니다.

이 함수를 사용하면 다음 질문에 답할 수 있습니다. 이 백분위수에 있는 실제 데이터 포인트는 무엇입니까? 데이터 세트에 있는 가장 가까운 백분위수 값을 반환하려면 `percentileDisc`을(를) 사용하십시오. 데이터 세트에 없을 수도 있는 정확한 백분위수 값을 반환하려면 `percentileCont`을(를) 대신 사용하십시오.

## 구문
<a name="percentileDisc-function-syntax"></a>

```
percentileDisc(expression, percentile, [group-by level])
```

## 인수
<a name="percentileDisc-function-arguments"></a>

 *치수*   
백분위수를 계산하는 데 사용할 숫자 값을 지정합니다. 인수는 치수 또는 지표여야 합니다. 이 계산에서 Null 값은 무시됩니다.

 *Percentile*   
백분위수 값은 0\$1100의 임의의 숫자 상수일 수 있습니다. 50의 백분위 값은 치수의 중간값을 계산합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 반환
<a name="percentileDisc-function-return-type"></a>

함수의 결과는 숫자입니다.

## 사용 노트
<a name="percentileDisc-usage-notes"></a>

`percentileDisc`는 이산 분포 모델을 가정하는 역분포 함수로서 백분위 값과 정렬 명세를 가지며, 지정된 집합에서 요소를 반환합니다.

지정된 백분위수 값인 `P`에 대해 `percentileDisc`에서 시각적으로 정렬된 값을 사용하고 누적 분포 값이 가장 작으며 `P`보다 크거나 같은 값을 반환합니다.

## percentileDisc의 예
<a name="percentileDisc-examples"></a>

다음 예제는 percentileDisc의 작동 방식을 설명하는 데 도움이 됩니다.

**Example 중앙값, `percentileDisc` 및 `percentileCont`**  
다음 예제에서는 `percentileCont`, `percentileDisc`, `median` 함수를 사용하여 차원(범주)의 중앙값을 보여줍니다. 중앙값은 백분위수 값과 동일합니다. `percentileCont` 값은 데이터 세트에 있을 수도 있고 없을 수도 있는 값을 보간합니다. 하지만 `percentileDisc`은(는) 항상 데이터 세트에 있는 값 중 가장 가까운 값을 표시하기 떄문에 두 결과가 일치하지 않을 수 있습니다. 이 예의 마지막 열에는 두 값 간의 차이 일수를 반환합니다. 각 계산된 필드의 코드는 다음과 같습니다.  
+ `50%Cont = percentileCont( example , 50 )`
+ `median = median( example )`
+ `50%Disc = percentileDisc( example , 50 )`
+ `Cont-Disc = percentileCont( example , 50 ) − percentileDisc( example , 50 )`
+ `example = left( category, 1 )`(더 간단한 예를 만들기 위해 이 표현식을 사용하여 범주 이름을 첫 글자로 줄였습니다.)

```
 example     median       50%Cont      50%Disc      Cont-Disc
 -------- ----------- ------------ -------------- ------------ 
 A          22.48          22.48          22.24          0.24
 B          20.96          20.96          20.95          0.01
 C          24.92          24.92          24.92          0
 D          24.935         24.935         24.92          0.015
 E          14.48          14.48          13.99          0.49
```

**Example 최대 100번째 백분위수**  
다음 예제는 `example` 필드에 대한 `percentileDisc` 값을 보여 줍니다. 계산된 필드인 `n%Disc`은(는) `percentileDisc( {example} ,n)`와(과) 같이 정의됩니다. 각 열의 값은 데이터 세트에서 가져온 실제 수입니다.  

```
 example     50%Disc      75%Disc        99%Disc      100%Disc
 -------- ----------- ------------ -------------- ------------ 
 A            20.97        73.98         699.99       6783.02
 B            42.19        88.84         820.08       6783.02
 C            30.52        90.48         733.44       6783.02
 D            41.38        85.99         901.29       6783.0
```

또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제에서는 30번째 백분위수를 계산하지만 시각적 객체의 다른 차원(리전)에는 적용되지 않고 국가 수준에서의 연속 분포를 기반으로 30번째 백분위수를 계산합니다.

```
percentile({Sales}, 30, [Country])
```

![\[각 국가의 판매 백분위수입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/percentile-function-example-lac.png)


# periodToDateAvg
<a name="periodToDateAvg-function"></a>

`periodToDateAvg` 함수는 지정된 기간 세분화(예: 분기) 동안 지정된 측정값의 숫자 집합을 해당 기간을 기준으로 특정 시점까지의 평균을 구합니다.

## 구문
<a name="periodToDateAvg-function-syntax"></a>

```
periodToDateAvg(
	measure, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDateAvg-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateAvg-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 최저 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateAvg(fare_amount, pickUpDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDAvgResults.png)


# periodToDateCount
<a name="periodToDateCount-function"></a>

`periodToDateCount` 함수는 해당 기간을 기준으로 특정 시점까지의 지정된 시간 세분성(예: 1/4)에 대해 차원 또는 측정값의 값 수 (중복 포함) 를 계산합니다.

## 구문
<a name="periodToDateCount-function-syntax"></a>

```
periodToDateCount(
	measure, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDateCount-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateCount-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 최저 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateCount(fare_amount, pickUpDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDCountResults.png)


# periodToDateMax
<a name="periodToDateMax-function"></a>

`periodToDateMax` 함수는 해당 시점을 기준으로 특정 시점까지의 지정된 시간 세분성(예: 1/4)에 대해 지정된 측정값의 최대값을 반환합니다.

## 구문
<a name="periodToDateMax-function-syntax"></a>

```
periodToDateMax(
	measure, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDateMax-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateMax-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 최저 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateMax(fare_amount, pickUpDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDMaxResults.png)


# periodToDateMedian
<a name="periodToDateMedian-function"></a>

`periodToDateMedian` 함수는 해당 시점을 기준으로 특정 시점까지의 지정된 시간 세분성(예: 1/4)에 대해 지정된 측정값의 중앙값을 반환합니다.

## 구문
<a name="periodToDateMedian-function-syntax"></a>

```
periodToDateMedian(
	measure, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDateMedian-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateMedian-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 최저 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateMedian(fare_amount, pickUpDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDMedianResults.png)


# periodToDateMin
<a name="periodToDateMin-function"></a>

이 `periodToDateMin` 함수는 해당 기간을 기준으로 지정된 측정값 또는 날짜의 최소값 또는 특정 시점까지의 지정된 시간 세분성(예: 1/4)을 반환합니다.

## 구문
<a name="periodToDateMin-function-syntax"></a>

```
periodToDateMin(
	measure, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDateMin-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateMin-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 최저 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateMin(fare_amount, pickUpDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDMinResults.png)


# periodToDatePercentile
<a name="periodToDatePercentile-function"></a>

`periodToDatePercentile` 함수는 해당 기간을 기준으로 특정 시점까지의 주어진 시간 세분성(예: 분기)에 대한 실제 측정값을 기반으로 백분위수를 계산합니다. 필드 모음에 적용된 그룹화 및 정렬을 사용합니다.

데이터 세트에 있는 가장 가까운 백분위수 값을 반환하려면 `periodToDatePercentile`을(를) 사용하십시오. 데이터 세트에 없을 수도 있는 정확한 백분위수 값을 반환하려면 `periodToDatePercentileCont`을(를) 대신 사용하십시오.

## 구문
<a name="periodToDatePercentile-function-syntax"></a>

```
periodToDatePercentile(
	measure, 
	percentile, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDatePercentile-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *Percentile*   
백분위수 값은 0\$1100의 임의의 숫자 상수일 수 있습니다. 50의 백분위는 치수의 중간값을 계산합니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDatePercentile-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 90분위수 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDatePercentile(fare_amount, 90, pickupDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산에서 얻은 수익의 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDPercentileResults.png)


# periodToDatePercentileCont
<a name="periodToDatePercentileCont-function"></a>

이 `periodToDatePercentileCont` 함수는 해당 기간의 특정 시점까지 주어진 시간 세분성(예: 분기) 동안 측정값에 포함된 숫자의 연속 분포를 기반으로 백분위수를 계산합니다. 필드 모음에 적용된 그룹화 및 정렬을 사용합니다.

데이터 세트에 없을 수도 있는 정확한 백분위수 값을 반환하려면 `periodToDatePercentileCont`을(를) 사용하십시오. 데이터 세트에 있는 가장 가까운 백분위수 값을 반환하려면 `periodToDatePercentile`을(를) 대신 사용하십시오.

## 구문
<a name="periodToDatePercentileCont-function-syntax"></a>

```
periodToDatePercentileCont(
	measure, 
	percentile, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDatePercentileCont-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *Percentile*   
백분위수 값은 0\$1100의 임의의 숫자 상수일 수 있습니다. 50의 백분위는 치수의 중간값을 계산합니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDatePercentileCont-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 90분위수 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDatePercentileCont(fare_amount, 90, pickupDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산에서 얻은 수익의 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDContPercentileResults.png)


# periodToDateStDev
<a name="periodToDateStDev-function"></a>

`periodToDateStDev` 함수는 표본을 기반으로 해당 기간을 기준으로 특정 시점까지의 지정된 시간 세분성(예: 1/4)에 대해 지정된 측정값에 포함된 숫자 집합의 표준 편차를 계산합니다.

## 구문
<a name="periodToDateStDev-function-syntax"></a>

```
periodToDateStDev(
	measure, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDateStDev-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
(선택 사항) 계산을 수행하는 기간입니다. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateStDev-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 최저 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateStDev(fare_amount, pickUpDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDStDevResults.png)


# periodToDateStDevP
<a name="periodToDateStDevP-function"></a>

`periodToDateStDevP` 함수는 해당 기간의 표본을 기반으로 특정 시점까지의 지정된 시간 세분성(예: 1/4)에 대해 지정된 측정값에 있는 숫자 집합의 모집단 표준 편차를 계산합니다.

## 구문
<a name="periodToDateStDevP-function-syntax"></a>

```
periodToDateStDevP(
	measure, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDateStDevP-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateStDevP-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 최저 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateStDevP(fare_amount, pickUpDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDStDevPResults.png)


# periodToDateSum
<a name="periodToDateSum-function"></a>

`periodToDateSum` 함수는 주어진 시간 세분성(예: 분기)에 대해 지정된 측정값을 해당 기간을 기준으로 특정 시점까지 추가합니다.

## 구문
<a name="periodToDateSum-function-syntax"></a>

```
periodToDateSum(
	measure, 
	dateTime, 
	period, 
	endDate)
```

## 인수
<a name="periodToDateSum-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateSum-function-example"></a>

다음 함수는 2021년 6월 30일에 해당하는 주에 대한 결제당 요금 총액 합계를 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateSum(fare_amount, pickUpDateTime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[다음은 예제의 결과 이미지와 그림입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDSumResults.png)


# periodToDateVar
<a name="periodToDateVar-function"></a>

`periodToDateVar` 함수는 해당 기간의 특정 시점까지의 주어진 시간 세분성(예: 1/4)에 대해 지정된 측정값에 포함된 숫자 집합의 표본 분산을 계산합니다.

## 구문
<a name="periodToDateVar-function-syntax"></a>

```
periodToDateVar(
	measure, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDateVar-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateVar-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 최저 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateVar(fare_amount, pickUpDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDVarResults.png)


# periodToDateVarP
<a name="periodToDateVarP-function"></a>

`periodToDateVarP` 함수는 특정 기간과 관련된 특정 시점까지의 지정된 시간 세분성(예: 분기)에 대해 지정된 측정값에 포함된 숫자 집합의 모집단 분산을 계산합니다.

## 구문
<a name="periodToDateVarP-function-syntax"></a>

```
periodToDateVarP(
	measure, 
	dateTime, 
	period, 
	endDate (optional))
```

## 인수
<a name="periodToDateVarP-function-arguments"></a>

 *치수*   
인수는 필드여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다.

 *dateTime*   
PeriodToDate 집계를 계산할 날짜 측정기준입니다.

 *period*   
계산을 수행하는 기간. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.

 endDate   
(선택 사항) periodToDate 집계를 종료하는 날짜 측정기준입니다. 생략할 경우 기본값은 `now()`입니다.

## 예제
<a name="periodToDateVarP-function-example"></a>

다음 예에서는 2021년 6월 30일에 해당하는 주의 결제 유형별 주간 최저 요금을 계산합니다. 이 예시에서는 단순화를 위해 단일 결제만 필터링했습니다. 06-30-21은 수요일입니다. Quick은 매주 일요일에 시작됩니다. 이 예시에서는 06-27-21입니다.

```
periodToDateVarP(fare_amount, pickUpDatetime, WEEK, parseDate("06-30-2021", "MM-dd-yyyy"))
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDVarPResults.png)


# stdev
<a name="stdev-function"></a>

샘플을 기반으로 `stdev` 함수는 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 표준 편차를 계산합니다.

## 구문
<a name="stdev-function-syntax"></a>

```
stdev(measure, [group-by level])
```

## 인수
<a name="stdev-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="stdev-function-example"></a>

다음 예제에서는 기록된 시험 점수 표본을 사용하여 학급 시험 점수의 표준 편차를 반환합니다.

```
stdev({Score})
```

또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제는 주제 수준에서의 시험 점수의 표준 편차를 계산하지만 시각적 객체의 다른 차원(클래스)에서는 계산하지 않습니다.

```
stdev({Score}, [Subject])
```

# stdevp
<a name="stdevp-function"></a>

`stdevp` 함수는 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 모집단 표준 편차를 계산합니다.

## 구문
<a name="stdevp-function-syntax"></a>

```
stdevp(measure, [group-by level])
```

## 인수
<a name="stdevp-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="stdev-function-example"></a>

다음 예제는 기록된 모든 점수를 사용하여 학급 시험 점수의 표준 편차를 반환합니다.

```
stdevp({Score})
```

또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제는 기록된 모든 점수를 사용하여 시각적 객체의 다른 차원(클래스)이 아닌 주제 수준에서의 시험 점수 표준 편차를 계산합니다.

```
stdevp({Score}, [Subject])
```

# stdevIf
<a name="stdevIf-function"></a>

조건문을 기반으로, 샘플을 기반으로 `stdevIf` 함수는 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 표준 편차를 계산합니다.

## 구문
<a name="stdevIf-function-syntax"></a>

```
stdevIf(measure, conditions)
```

## 인수
<a name="stdevIf-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

# stdevpIf
<a name="stdevpIf-function"></a>

조건문을 기반으로, 편향된 모집단을 기반으로 `stdevpIf` 함수는 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 표준 편차를 계산합니다.

## 구문
<a name="stdevpIf-function-syntax"></a>

```
stdevpIf(measure, conditions)
```

## 인수
<a name="stdevpIf-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

# sum
<a name="sum-function"></a>

`sum` 함수는 선택된 차원(들)로 그룹화된 지정된 치수의 숫자 집합을 더합니다. 예를 들어, `sum(profit amount)`는 선택된(선택 사항) 차원으로 그룹화된 총 수익을 반환합니다.

## 구문
<a name="sum-function-syntax"></a>

```
sum(measure, [group-by level])
```

## 인수
<a name="sum-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="sum-function-example"></a>

다음 예제에서는 판매 합계를 반환합니다.

```
sum({Sales})
```

또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제에서는 시각적 객체의 다른 차원(리전 및 제품)을 제외한 국가 수준에서의 판매 합계를 계산합니다.

```
sum(Sales, [Country])
```

![\[각 국가별 매출의 합계입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sum-function-example.png)


# sumIf
<a name="sumIf-function"></a>

조건 문을 기반으로 `sumIf` 함수는 선택된 차원(들)로 그룹화된 지정된 치수의 숫자 집합 평균을 더합니다. 예를 들어 조건이 true로 평가된 경우 `sumIf(ProdRev,CalendarDay >= ${BasePeriodStartDate} AND CalendarDay <= ${BasePeriodEndDate} AND SourcingType <> 'Indirect')`에서 (선택 사항)선택한 차원으로 그룹화된 총 수익 금액을 반환합니다.

## 구문
<a name="sumIf-function-syntax"></a>

```
sumIf(measure, conditions)
```

## 인수
<a name="sumIf-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

## 예제
<a name="sumIf-function-example"></a>

다음 예제에서는 `sumIf`(이)가 포함된 계산된 필드를 사용하여 `Segment`(이)가 `SMB`와(과) 같으면 판매 금액을 표시합니다.

```
sumIf(Sales, Segment=’SMB’)
```

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sumIfCalc.png)


다음 예제에서는 `sumIf`(이)가 있는 계산된 필드를 사용하여 `Segment`이(가) `SMB` 및 `Order Date`(와)과 2022년과 같거나 큰 경우 판매액을 표시합니다.

```
sumIf(Sales, Segment=’SMB’ AND {Order Date} >=’2022-01-01’)
```

# var
<a name="var-function"></a>

`var`함수는 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 샘플 분산을 계산합니다.

## 구문
<a name="var-function-syntax"></a>

```
var(measure, [group-by level])
```

## 인수
<a name="var-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="var-function-example"></a>

다음 예에서는 시험 점수 표본의 분산을 반환합니다.

```
var({Scores})
```

또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제는 대상 수준에서의 모집단 테스트 점수 분산을 반환하지만 시각적 객체의 다른 차원(클래스)에서는 반환하지 않습니다.

```
var({Scores}, [Subject]
```

# varIf
<a name="varIf-function"></a>

조건문을 기반으로, 샘플을 기반으로 `varIf` 함수는 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 분산을 계산합니다.

## 구문
<a name="varIf-function-syntax"></a>

```
varIf(measure, conditions)
```

## 인수
<a name="varIf-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

# varp
<a name="varp-function"></a>

`varp`함수는 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 모집단 분산을 계산합니다.

## 구문
<a name="varp-function-syntax"></a>

```
varp(measure, [group-by level])
```

## 인수
<a name="varp-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 레벨별 그룹   
(선택 사항) 집계를 그룹화할 수준을 지정합니다. 추가된 수준은 시각적 객체에 추가된 차원과는 별개인 임의의 차원일 수 있습니다.  
인수는 차원 필드여야 합니다. 그룹별 레벨은 대괄호 `[ ]`(으)로 묶어야 합니다. 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요.

## 예제
<a name="varp-function-example"></a>

다음 예에서는 시험 점수 모집단의 분산을 반환합니다.

```
varp({Scores})
```

또한 뷰 또는 데이터 세트에서 하나 이상의 측정기준을 사용하여 계산을 그룹화할 수준을 지정할 수 있습니다. 이를 LAC-A 함수라고 합니다. LAC-A 함수에 대한 자세한 내용은 [레벨 인식 계산 - 집계(LAC-A) 함수](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations-aggregate.html)를 참조하세요. 다음 예제는 대상 수준에서의 모집단 테스트 점수 분산을 반환하지만 시각적 객체의 다른 차원(클래스)에서는 반환하지 않습니다.

```
varp({Scores}, [Subject]
```

# varpIf
<a name="varpIf-function"></a>

조건문을 기반으로, 편향된 모집단을 기반으로 `varpIf` 함수는 선택된 차원으로 그룹화된 지정된 치수의 숫자 집합의 분산을 계산합니다.

## 구문
<a name="varpIf-function-syntax"></a>

```
varpIf(measure, conditions)
```

## 인수
<a name="varpIf-function-arguments"></a>

 *치수*   
인수는 치수여야 합니다. null 값은 결과에서 생략됩니다. 리터럴 값은 작동하지 않습니다. 인수는 필드여야 합니다.

 *condition*   
단일 문의 하나 이상의 조건.

# 테이블 계산 함수
<a name="table-calculation-functions"></a>

특정 시각적 객체에서 데이터를 분석할 때 현재 데이터 세트에 테이블 계산을 적용하여 차원이 치수나 다른 차원에 미치는 영향을 알아볼 수 있습니다. *시각적으로 표현된 데이터*는 현재 데이터 세트를 바탕으로 각종 필터와 필드 선택, 사용자 지정 사항이 적용된 결과입니다. 이 결과 세트를 정확히 보려면 시각적 객체를 파일로 내보내기하면 됩니다. *테이블 계산 함수*는 데이터에 연산을 수행하여 필드 사이의 관계를 알아냅니다.

이 섹션에서는 Amazon Quick에서 시각화된 데이터에 대해 수행할 수 있는 테이블 계산에 사용할 수 있는 함수 목록을 찾을 수 있습니다.

간단한 정의와 함께 범주별로 정렬된 함수 목록을 보려면 [범주별 함수를 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/functions-by-category.html).

**Topics**
+ [difference](difference-function.md)
+ [distinctCountOver](distinctCountOver-function.md)
+ [lag](lag-function.md)
+ [lead](lead-function.md)
+ [percentDifference](percentDifference-function.md)
+ [avgOver](avgOver-function.md)
+ [countOver](countOver-function.md)
+ [maxOver](maxOver-function.md)
+ [minOver](minOver-function.md)
+ [percentileOver](percentileOver-function.md)
+ [percentileContOver](percentileContOver-function.md)
+ [percentileDiscOver](percentileDiscOver-function.md)
+ [percentOfTotal](percentOfTotal-function.md)
+ [periodOverPeriodDifference](periodOverPeriodDifference-function.md)
+ [periodOverPeriodLastValue](periodOverPeriodLastValue-function.md)
+ [periodOverPeriodPercentDifference](periodOverPeriodPercentDifference-function.md)
+ [periodToDateAvgOverTime](periodToDateAvgOverTime-function.md)
+ [periodToDateCountOverTime](periodToDateCountOverTime-function.md)
+ [periodToDateMaxOverTime](periodToDateMaxOverTime-function.md)
+ [periodToDateMinOverTime](periodToDateMinOverTime-function.md)
+ [periodToDateSumOverTime](periodToDateSumOverTime-function.md)
+ [stdevOver](stdevOver-function.md)
+ [stdevpOver](stdevpOver-function.md)
+ [varOver](varOver-function.md)
+ [varpOver](varpOver-function.md)
+ [sumOver](sumOver-function.md)
+ [denseRank](denseRank-function.md)
+ [rank](rank-function.md)
+ [percentileRank](percentileRank-function.md)
+ [runningAvg](runningAvg-function.md)
+ [runningCount](runningCount-function.md)
+ [runningMax](runningMax-function.md)
+ [runningMin](runningMin-function.md)
+ [runningSum](runningSum-function.md)
+ [firstValue](firstValue-function.md)
+ [lastValue](lastValue-function.md)
+ [windowAvg](windowAvg-function.md)
+ [windowCount](windowCount-function.md)
+ [windowMax](windowMax-function.md)
+ [windowMin](windowMin-function.md)
+ [windowSum](windowSum-function.md)

# difference
<a name="difference-function"></a>

`difference` 함수는 분할과 정렬 한 세트를 바탕으로 한 치수와 다른 세트를 바탕으로 한 치수 간의 차이를 계산합니다.

`difference` 함수는 SPICE와(과) 직접 쿼리 데이터 세트를 기반으로 한 분석에 사용할 수 있습니다.

## 구문
<a name="difference-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
difference
	(
	     measure 
	     ,[ sortorder_field ASC_or_DESC, ... ]
	     ,lookup_index,
	     ,[ partition field, ... ] 
	)
```

## 인수
<a name="difference-function-arguments"></a>

 *치수*   
차이를 확인하려는 집계 치수입니다.

 *정렬 순서 필드*   
하나 이상의 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *lookup index*   
lookup index는 양수 또는 정수입니다. 정렬의 다음 행(양수) 또는 정렬의 이전 행(음수)을 말합니다. 조화 인덱스는 1–2,147,483,647이 될 수 있습니다. 엔진 MySQL, MariaDB 및 호환되는 에디션의 Aurora MySQL이 있는 경우 조회 인덱스는 1로만 제한됩니다.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="difference-function-example"></a>

다음 예제는 `sum({Billed Amount})` 기준으로 오름차순 정렬한 `Customer Region`과 다음 행의 차이를 계산하고 `Service Line` 기준으로 분할합니다.

```
difference(
     sum( {Billed Amount} ), 
     [{Customer Region} ASC],
     1,
     [{Service Line}]
)
```

다음 예제는 `Billed Amount`과 다음 행의 차이를 계산하고 기준대로(`[{Customer Region}]`) 분할합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
difference(
     sum( {Billed Amount} ), 
     [{Customer Region} ASC],
     1
)
```

빨간색 강조 표시는 각 금액을 더한 방식을 보여주면서(a \$1 b = c) a와 c의 차이를 보여줍니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/differenceCalc.png)


# distinctCountOver
<a name="distinctCountOver-function"></a>

`distinctCountOver` 함수는 지정된 수준에서 지정된 속성으로 분할된 피연산자의 고유 개수를 계산합니다. 지원되는 수준은 `PRE_FILTER` 및 `PRE_AGG`입니다. 피연산자는 집계되지 않아야 합니다.

## 구문
<a name="distinctCountOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
distinctCountOver
(
  measure or dimension field 
  ,[ partition_field, ... ]  
  ,calculation level 
)
```

## 인수
<a name="distinctCountOver-function-arguments"></a>

 *측정치 또는 차원 필드*   
계산하려는 측정값 또는 차원으로, 예를 들면 `{Sales Amt}`입니다. 유효 값은 `PRE_FILTER` 및 `PRE_AGG`입니다.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
`POST_AGG_FILTER`에 대한 기본값은 공백입니다. `POST_AGG_FILTER`이(가) 작업에 적합한 레벨이 아니므로 오류 메시지가 표시됩니다. 자세한 내용은 [Amazon Quick에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="distinctCountOver-function-example"></a>

다음 예에서는 `PRE_AGG` 수준에서 `City` 및 `State`(으)로 분할된 `Sales`의 고유한 수를 가져옵니다.

```
distinctCountOver
(
  Sales, 
  [City, State], PRE_AGG
)
```

# lag
<a name="lag-function"></a>

`lag` 함수는 지정 파티션 및 정렬을 바탕으로 치수에 뒤떨어지는(이전) 값을 계산합니다.

`lag`는 SPICE와 직접 쿼리 데이터 세트를 기반으로 한 분석에 사용할 수 있습니다.

## 구문
<a name="lag-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
lag
(
lag
(
 measure
 ,[ sortorder_field ASC_or_DESC, ... ] 
 ,lookup_index
 ,[ partition_field, ... ] 
)] 
)
```

## 인수
<a name="lag-function-arguments"></a>

*치수*   
lag를 구하려는 치수입니다. 집계가 포함될 수 있으며, 예를 들면 `sum({Sales Amt})`입니다.

*정렬 순서 필드*   
하나 이상의 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

*lookup index*   
lookup index는 양수 또는 정수입니다. 정렬의 다음 행(양수) 또는 정렬의 이전 행(음수)을 말합니다. 조화 인덱스는 1–2,147,483,647이 될 수 있습니다. 엔진 MySQL, MariaDB 및 호환되는 에디션의 Amazon Aurora MySQL이 있는 경우 조회 인덱스는 1로만 제한됩니다.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="lag-function-example"></a>

다음 예제는 `cancellation_code`의 오름차순 정렬에서 출신국 기준으로 이전 `sum(sales)`을 계산합니다.

```
lag
(
     sum(Sales), 
     [cancellation_code ASC], 
     1, 
     [origin_state_nm]
)
```

다음 예제는 `lag`이(가) 포함된 계산 필드를 사용하여 `Order Date`(으)로 정렬한 현재 행 다음에 이전 행의 판매 금액을 표시합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
lag(
     sum({Sales}),
     [{Order Date} ASC],
     1
)
```

다음 스크린샷에 예제 결과가 나와 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/lagCalc.png)


다음 예제는 `lag`이(가) 포함된 계산 필드를 사용하여 `Segment`별로 분할된 `Order Date`(으)로 정렬한 현재 행 다음에 이전 행의 판매 금액을 표시합니다.

```
lag
	(
		sum(Sales),
		[Order Date ASC],
		1, [Segment]
	)
```

다음 스크린샷에 예제 결과가 나와 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/lagCalc2.png)


# lead
<a name="lead-function"></a>

`lead` 함수는 지정 파티션 및 정렬을 바탕으로 치수에 이어지는(다음) 값을 계산합니다.

## 구문
<a name="lead-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
lead
(
     measure
     ,[ sortorder_field ASC_or_DESC, ... ]  
     ,lookup_index,
     ,[ partition_field, ... ]
)
```

## 인수
<a name="lead-function-arguments"></a>

*치수*   
lead를 구하려는 치수입니다. 집계가 포함될 수 있으며, 예를 들면 `sum({Sales Amt})`입니다.

*정렬 순서 필드*   
하나 이상의 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

*lookup index*   
lookup index는 양수 또는 정수입니다. 정렬의 다음 행(양수) 또는 정렬의 이전 행(음수)을 말합니다. 조화 인덱스는 1–2,147,483,647이 될 수 있습니다. 엔진 MySQL, MariaDB 및 호환되는 에디션의 Amazon Aurora MySQL이 있는 경우 조회 인덱스는 1로만 제한됩니다.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="lead-function-example"></a>

다음 예제는 `cancellation_code`의 오름차순 정렬에서 출신국 기준으로 다음 `sum(sales)`을 계산합니다.

```
lead
(
     sum(sales), 
     [cancellation_code ASC], 
     1, 
     [origin_state_nm]
)
```

다음 예제는 lead가 포함된 계산 필드를 사용하여 `Customer Segment`로 정렬한 현재 행 옆에 다음 행 금액을 표시합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
lead(
     sum({Billed Amount}),
     [{Customer Segment} ASC],
     1
)
```

다음 스크린샷에 예제 결과가 나와 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/leadCalc.png)


# percentDifference
<a name="percentDifference-function"></a>

`percentDifference` 함수는 분할과 정렬, lookup index를 바탕으로 현재 값과 비교 값 사이의 비율 차이를 계산합니다.

## 구문
<a name="percentDifference-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
percentDifference
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,lookup index
  ,[ partition_field, ... ] 
)
```

## 인수
<a name="percentDifference-function-arguments"></a>

 *치수*   
비율 차이를 확인하려는 집계 치수입니다.

 *정렬 순서 필드*   
하나 이상의 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *lookup index*   
lookup index는 양수 또는 정수입니다. 정렬의 다음 행(양수) 또는 정렬의 이전 행(음수)을 말합니다. 조화 인덱스는 1–2,147,483,647이 될 수 있습니다. 엔진 MySQL, MariaDB 및 호환되는 에디션의 Aurora MySQL이 있는 경우 조회 인덱스는 1로만 제한됩니다.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="percentDifference-function-example"></a>

다음 예제는 `Sales` 기준으로 정렬한 현재 및 이전 `State`의 `sum(Sales)` 간 차이를 비율로 계산합니다.

```
percentDifference
(
  sum(amount), 
  [sum(amount) ASC],
  -1, 
  [State]
)
```

다음 예제는 정렬 기준(`[{Customer Region} ASC]`)에 따라 또 다른 `Billed Amount`에 대한 `Billed Amount`의 비율을 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
percentDifference
(
  sum( {Billed Amount} ), 
  [{Customer Region} ASC],
  1
)
```

다음 스크린샷에 예제 결과가 나와 있습니다. 빨간색 문자는 `Customer Region` **APAC** 에 대한 `Billed Amount`가 **EMEA** 리전 금액보다 24% 적음을 보여줍니다

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/percentDifference.png)


# avgOver
<a name="avgOver-function"></a>

`avgOver` 함수는 차원 목록으로 구분한 치수의 평균을 계산합니다.

## 구문
<a name="avgOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
avgOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

다음 예제는 `Customer Region`에 대한 평균 `Billed Amount`을 보여줍니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
avgOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

다음 스크린샷에 예제 결과가 나와 있습니다. `Service Line`를 추가한 각각의 총 청구 금액을 표시하고, 세 값의 평균을 계산된 필드에 표시합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/avgOver.png)


## 인수
<a name="avgOver-function-arguments"></a>

 *치수*   
계산하려는 측정값으로, 예를 들면 `sum({Sales Amt})`입니다. 계산 수준이 `NULL` 또는 `POST_AGG_FILTER`로 설정된 경우 집계를 사용하십시오. 계산 수준이 `PRE_FILTER` 또는 `PRE_AGG`로 설정된 경우 집계를 사용하지 마십시오.

 *partition field*  
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 수행됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="avgOver-function-example"></a>

다음 예제는 `City` 및 `State`를 분할 기준으로 한 평균 `sum(Sales)`입니다.

```
avgOver
(
     sum(Sales), 
     [City, State]
)
```

# countOver
<a name="countOver-function"></a>

`countOver` 함수는 차원 목록으로 구분한 크기 또는 치수의 개수를 계산합니다.

## 구문
<a name="countOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
countOver
(
  measure or dimension field 
  ,[ partition_field, ... ]  
  ,calculation level 
)
```

## 인수
<a name="countOver-function-arguments"></a>

 *측정치 또는 차원 필드*   
계산하려는 측정값 또는 차원으로, 예를 들면 `sum({Sales Amt})`입니다. 계산 수준이 `NULL` 또는 `POST_AGG_FILTER`로 설정된 경우 집계를 사용하십시오. 계산 수준이 `PRE_FILTER` 또는 `PRE_AGG`로 설정된 경우 집계를 사용하지 마십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 수행됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="countOver-function-example"></a>

다음 예제는 `City` 및 `State`의 `Sales` 개수입니다.

```
countOver
(
  Sales, 
  [City, State]
)
```

다음 예제는 `City` 및 `State`의 `{County}` 개수입니다.

```
countOver
(
  {County}, 
  [City, State]
)
```

다음 예제는 `Customer Region`에 대한 `Billed Amount` 개수를 보여줍니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
countOver
(
  sum({Billed Amount}),
  [{Customer Region}]
)
```

다음 스크린샷에 예제 결과가 나와 있습니다. 관련된 다른 필드가 없으므로 각 리전의 개수는 1입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/countOver1.png)


추가 필드를 추가하면 개수가 변경됩니다. 다음 스크린샷에서는 `Customer Segment` 및 `Service Line`을 추가합니다. 이러한 필드 각각에는 세 고유값이 포함됩니다. 세그먼트 3개, 서비스 라인 3개, 리전 3개이므로 계산 필드에 9라고 표시합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/countOver2.png)


계산 필드 `countOver( sum({Billed Amount}), [{Customer Region}, {Customer Segment}, {Service Line}]`의 파티션 필드에 추가 필드를 2개 추가할 경우 각 행에 대한 개수는 다시 1입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/countOver.png)


# maxOver
<a name="maxOver-function"></a>

`maxOver` 함수는 차원 목록으로 구분한 치수 또는 날짜의 최댓값을 계산합니다.

## 구문
<a name="maxOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
maxOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 인수
<a name="maxOver-function-arguments"></a>

 *치수*   
계산하려는 측정값으로, 예를 들면 `sum({Sales Amt})`입니다. 계산 수준이 `NULL` 또는 `POST_AGG_FILTER`로 설정된 경우 집계를 사용하십시오. 계산 수준이 `PRE_FILTER` 또는 `PRE_AGG`로 설정된 경우 집계를 사용하지 마십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 수행됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="maxOver-function-example"></a>

다음 예제에서는 `City` 및 `State`를 분할 기준으로 `sum(Sales)`의 최댓값을 계산합니다.

```
maxOver
(
     sum(Sales), 
     [City, State]
)
```

다음 예제는 `Customer Region`에 대한 최대 `Billed Amount`을 보여줍니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
maxOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

다음 스크린샷에 예제 결과가 나와 있습니다. `Service Line`를 추가한 각각의 총 청구 금액을 표시하고, 세 값의 최댓값을 계산된 필드에 표시합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/maxOver.png)


# minOver
<a name="minOver-function"></a>

`minOver` 함수는 차원 목록으로 구분한 치수 또는 날짜의 최솟값을 계산합니다.

## 구문
<a name="minOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
minOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 인수
<a name="minOver-function-arguments"></a>

*치수*   
계산하려는 측정값으로, 예를 들면 `sum({Sales Amt})`입니다. 계산 수준이 `NULL` 또는 `POST_AGG_FILTER`로 설정된 경우 집계를 사용하십시오. 계산 수준이 `PRE_FILTER` 또는 `PRE_AGG`로 설정된 경우 집계를 사용하지 마십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 수행됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="minOver-function-example"></a>

다음 예제는 `City` 및 `State`를 분할 기준으로 `sum(Sales)`의 최솟값을 계산합니다.

```
minOver
(     
     sum(Sales), 
     [City, State]
)
```

다음 예제는 `Customer Region`에 대한 최소 `Billed Amount`을 보여줍니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
minOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

다음 스크린샷에 예제 결과가 나와 있습니다. `Service Line`를 추가한 각각의 총 청구 금액을 표시하고, 세 값의 최솟값을 계산 필드에 표시합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/minOver.png)


# percentileOver
<a name="percentileOver-function"></a>

`percentileOver` 함수는 차원 목록으로 분할된 측정치의 n번째 백분위 수를 계산합니다. Quick에서 사용할 수 있는 `percentileOver` 계산에는 두 가지 종류가 있습니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentileContOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentileContOver-function.html)은(는) 선형 보간을 사용하여 결과를 결정합니다.
+ [https://docs.aws.amazon.com/quicksight/latest/user/percentileDiscOver-function.html](https://docs.aws.amazon.com/quicksight/latest/user/percentileDiscOver-function.html)은(는) 실제 값을 사용하여 결과를 결정합니다.

`percentileOver` 함수는 `percentileDiscOver`의 별칭입니다.

# percentileContOver
<a name="percentileContOver-function"></a>

`percentileContOver` 함수는 `measure`의 실제 수치를 기반으로 백분위수를 계산합니다. 필드 모음에 적용된 그룹화 및 정렬을 사용합니다. 결과는 지정된 계산 수준에서 지정된 차원을 기준으로 분할됩니다.

이 함수를 사용하면 다음 질문에 답할 수 있습니다. 이 백분위수에 있는 실제 데이터 포인트는 무엇입니까? 데이터 세트에 있는 가장 가까운 백분위수 값을 반환하려면 `percentileDiscOver`을(를) 사용하십시오. 데이터 세트에 없을 수도 있는 정확한 백분위수 값을 반환하려면 `percentileContOver`을(를) 대신 사용하십시오.

## 구문
<a name="percentileContOver-function-syntax"></a>

```
percentileContOver (
    measure
  , percentile-n
  , [partition-by, …]
  , calculation-level
)
```

## 인수
<a name="percentileContOver-function-arguments"></a>

 *치수*   
백분위수를 계산하는 데 사용할 숫자 값을 지정합니다. 인수는 치수 또는 지표여야 합니다. 이 계산에서 Null 값은 무시됩니다.

 *백분위 수*   
백분위수 값은 0\$1100의 임의의 숫자 상수일 수 있습니다. 50의 백분위 값은 치수의 중간값을 계산합니다.

 *파티션별*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다. 두 단어 이상이면 목록의 각 필드가 \$1 \$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *calculation-level*   
 평가 순서와 관련하여 계산을 수행할 위치를 지정합니다. 지원되는 계산 수준은 세 가지입니다.  
+ PRE\$1FILTER
+ PRE\$1AGG
+ POST\$1AGG\$1FILTER(기본값) - 이 계산 수준을 사용하려면 `sum(measure)`을(를) 예로 들어 `measure`에 대한 집계를 지정하십시오.
PRE\$1FILTER 및 PRE\$1AGG는 시각화에서 집계가 발생하기 전에 적용됩니다. 이 두 계산 수준의 경우 계산된 필드 표현식에서 `measure` 집계를 지정할 수 없습니다. 계산 수준 및 적용 시기에 대한 자세한 내용은 [Amazon Quick의 평가 순서](https://docs.aws.amazon.com/quicksight/latest/user/order-of-evaluation-quicksight.html) 및 [Quick의 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 반환
<a name="percentileContOver-function-return-type"></a>

함수의 결과는 숫자입니다.

## percentileContOver의 예
<a name="percentileContOver-examples"></a>

다음 예제는 percentileContOver의 작동 방식을 설명하는 데 도움이 됩니다.

**Example 중앙값에 대한 계산 수준 비교**  
다음 예제에서는 함수에 다양한 계산 수준을 사용하여 차원 (범주) 의 `percentileContOver` 중앙값을 보여줍니다. 백분위수는 50입니다. 데이터 세트는 리전 필드를 기준으로 필터링됩니다. 각 계산된 필드의 코드는 다음과 같습니다.  
+ `example = left( category, 1 )`(단순화된 예제.)
+ `pre_agg = percentileContOver ( {Revenue} , 50 , [ example ] , PRE_AGG)`
+ `pre_filter = percentileContOver ( {Revenue} , 50 , [ example ] , PRE_FILTER) `
+ `post_agg_filter = percentileContOver ( sum ( {Revenue} ) , 50 , [ example ], POST_AGG_FILTER )`

```
example   pre_filter     pre_agg      post_agg_filter
------------------------------------------------------
0            106,728     119,667            4,117,579
1            102,898      95,946            2,307,547
2             97,807      93,963              554,570  
3            101,043     112,585            2,709,057
4             96,533      99,214            3,598,358
5            106,293      97,296            1,875,648
6             97,118      69,159            1,320,672
7            100,201      90,557              969,807
```

# percentileDiscOver
<a name="percentileDiscOver-function"></a>

`percentileDiscOver` 함수는 `measure`의 실제 수치를 기반으로 백분위수를 계산합니다. 필드 모음에 적용된 그룹화 및 정렬을 사용합니다. 결과는 지정된 계산 수준에서 지정된 차원을 기준으로 분할됩니다. `percentileOver` 함수는 `percentileDiscOver`의 별칭입니다.

이 함수를 사용하면 다음 질문에 답할 수 있습니다. 이 백분위수에 있는 실제 데이터 포인트는 무엇입니까? 데이터 세트에 있는 가장 가까운 백분위수 값을 반환하려면 `percentileDiscOver`을(를) 사용하십시오. 데이터 세트에 없을 수도 있는 정확한 백분위수 값을 반환하려면 `percentileContOver`을(를) 대신 사용하십시오.

## 구문
<a name="percentileDiscOver-function-syntax"></a>

```
percentileDiscOver (
     measure
   , percentile-n
   , [partition-by, …]
   , calculation-level
)
```

## 인수
<a name="percentileDiscOver-function-arguments"></a>

 *치수*   
백분위수를 계산하는 데 사용할 숫자 값을 지정합니다. 인수는 치수 또는 지표여야 합니다. 이 계산에서 Null 값은 무시됩니다.

 *백분위 수*   
백분위수 값은 0\$1100의 임의의 숫자 상수일 수 있습니다. 50의 백분위 값은 치수의 중간값을 계산합니다.

 *파티션별*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다. 두 단어 이상이면 목록의 각 필드가 \$1 \$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *calculation-level*   
 평가 순서와 관련하여 계산을 수행할 위치를 지정합니다. 지원되는 계산 수준은 세 가지입니다.  
+ PRE\$1FILTER
+ PRE\$1AGG
+ POST\$1AGG\$1FILTER (기본값) - 이 계산 수준을 사용하려면 `sum(measure)`을(를) 예로 들어 `measure`에 대한 집계를 지정해야 합니다.
PRE\$1FILTER 및 PRE\$1AGG는 시각화에서 집계가 발생하기 전에 적용됩니다. 이 두 계산 수준의 경우 계산된 필드 표현식에서 `measure` 집계를 지정할 수 없습니다. 계산 수준 및 적용 시기에 대한 자세한 내용은 [Amazon Quick의 평가 순서](https://docs.aws.amazon.com/quicksight/latest/user/order-of-evaluation-quicksight.html) 및 [Quick의 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 반환
<a name="percentileDiscOver-function-return-type"></a>

함수의 결과는 숫자입니다.

## percentileDiscOver의 예
<a name="percentileDiscOver-examples"></a>

다음 예제는 percentileDiscover의 작동 방식을 설명하는 데 도움이 됩니다.

**Example 중앙값에 대한 계산 수준 비교**  
다음 예제에서는 함수에 다양한 계산 수준을 사용하여 차원 (범주) 의 `percentileDiscOver` 중앙값을 보여줍니다. 백분위수는 50입니다. 데이터 세트는 리전 필드를 기준으로 필터링됩니다. 각 계산된 필드의 코드는 다음과 같습니다.  
+ `example = left( category, 1 )`(단순화된 예제.)
+ `pre_agg = percentileDiscOver ( {Revenue} , 50 , [ example ] , PRE_AGG)`
+ `pre_filter = percentileDiscOver ( {Revenue} , 50 , [ example ] , PRE_FILTER) `
+ `post_agg_filter = percentileDiscOver ( sum ( {Revenue} ) , 50 , [ example ], POST_AGG_FILTER )`

```
example   pre_filter     pre_agg      post_agg_filter
------------------------------------------------------
0            106,728     119,667            4,117,579
1            102,898      95,946            2,307,547
2             97,629      92,046              554,570  
3            100,867     112,585            2,709,057
4             96,416      96,649            3,598,358
5            106,293      97,296            1,875,648
6             97,118      64,395            1,320,672
7             99,915      90,557              969,807
```

**Example 중앙값**  
다음 예제에서는 `City` 및 `State` 기준으로 분할된 `Sales`의 중간값(50번째 백분위수)을 계산합니다.  

```
percentileDiscOver
(
  Sales, 
  50,
  [City, State]
)
```
다음 예제에서는 `Customer Region` 기준으로 분할된 `sum({Billed Amount})`의 98번째 백분위수를 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.  

```
percentileDiscOver
(
  sum({Billed Amount}), 
  98,
  [{Customer Region}]
)
```
다음 스크린샷은 이 두 예제가 차트에서 어떻게 보이는지 보여줍니다.  

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/percentilOver-50-98.png)


# percentOfTotal
<a name="percentOfTotal-function"></a>

`percentOfTotal` 함수는 지정 차원을 바탕으로 총합에 대한 치수의 비율을 계산합니다.

## 구문
<a name="percentOfTotal-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
percentOfTotal
(
     measure 
     ,[ partition_field, ... ] 
)
```

## 인수
<a name="percentOfTotal-function-arguments"></a>

 *치수*   
총 비율을 확인하려는 집계 치수입니다. 현재 `distinct count` 집계는 `percentOfTotal`에 대해 지원되지 않습니다.

 *partition field*  
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="percentOfTotal-function-example"></a>

다음 예는 각 `State`에서 총 `Sales`에 기여한 비율의 계산을 생성합니다.

```
percentOfTotal
(
     sum(Sales), 
     [State]
)
```

다음 예시는 분할 기준(`[{Service Line} ASC]`)에 따라 총 `Billed Amount`에 비교했을 때 `Billed Amount`의 비율을 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
percentOfTotal
(
     sum( {Billed Amount} ), 
     [{Service Line}]
)
```

다음 스크린샷에 예제 결과가 나와 있습니다. 빨간 강조 표시는 값이 "`Billing`"인 파티션에 리전당 하나씩 모두 세 항목이 있음을 보여줍니다. 이 서비스 라인의 총 청구액은 세 비율로 나뉘어 총 100를 이룹니다. 비율은 반올림하므로 모두 더했을 때 정확히 100%가 아닐 수도 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/percentOfTotal.png)


# periodOverPeriodDifference
<a name="periodOverPeriodDifference-function"></a>

`periodOverPeriodDifference` 함수는 기간 세분성 및 오프셋으로 지정된 서로 다른 두 기간의 측정값 차이를 계산합니다. 차이 계산과 달리 이 함수는 고정된 크기의 오프셋 대신 날짜 기반 오프셋을 사용합니다. 이렇게 하면 데이터 세트에 데이터 포인트가 없더라도 정확한 날짜만 비교할 수 있습니다.

## 구문
<a name="periodOverPeriodDifference-function-syntax"></a>

```
periodOverPeriodDifference(
	measure, 
	date, 
	period, 
	offset)
```

## 인수
<a name="periodOverPeriodDifference-function-arguments"></a>

 *치수*   
periodOverPeriod 계산을 수행하고자 하는 집계된 측정값입니다.

 *dateTime*   
기간별 계산을 계산하는 데 사용되는 날짜 차원입니다.

 *period*   
(선택 사항) 계산을 수행하는 기간입니다. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.  
기본값은 시각적 날짜 차원 세분성입니다.

 *Offset*   
(선택 사항) 오프셋은 비교하려는 이전 기간(기간으로 지정)을 나타내는 양의 정수 또는 음의 정수일 수 있습니다. 예를 들어 오프셋이 1인 분기 기간은 이전 분기와 비교하는 것을 의미합니다.  
기본값은 1입니다.

## 예제
<a name="periodOverPeriodDifference-function-example"></a>

다음 예제에서는 계산된 필드 `PeriodOverPeriod`을(를) 사용하여 어제의 판매액 차이를 표시합니다.

```
periodOverPeriodDifference(sum(Sales), {Order Date})
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/MonthOverMonthDifference.png)


다음 예제에서는 계산된 필드 `PeriodOverPeriod`을(를) 사용하여 지난 2개월간의 판매액 차이를 표시합니다. 아래 예는 `Mar2020` 및 `Jan2020`의 매출을 비교한 것입니다.

```
periodOverPeriodDifference(sum(Sales),{Order Date}, MONTH, 1)
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/MonthOverMonthDifference2.png)


# periodOverPeriodLastValue
<a name="periodOverPeriodLastValue-function"></a>

`periodOverPeriodLastValue` 함수는 기간 세분성 및 오프셋으로 지정된 대로 이전 기간의 마지막 (이전) 측정값을 계산합니다. 이 함수는 고정된 크기의 오프셋 대신 날짜 기반 오프셋을 사용합니다. 이렇게 하면 데이터 세트에 데이터 포인트가 없더라도 정확한 날짜만 비교할 수 있습니다.

## 구문
<a name="periodOverPeriodLastValue-function-syntax"></a>

```
periodOverPeriodLastValue(
	measure, 
	date, 
	period, 
	offset)
```

## 인수
<a name="periodOverPeriodLastValue-function-arguments"></a>

 *치수*   
차이를 확인하려는 집계 치수입니다.

 *date*   
periodOverPeriod 계산할 때 사용하는 날짜 측정기준입니다.

 *period*   
(선택 사항) 계산을 수행하는 기간입니다. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.  
이 인수는 기본적으로 시각적 집계의 세분성을 사용합니다.

 *Offset*   
(선택 사항) 오프셋은 비교하려는 이전 기간(기간으로 지정)을 나타내는 양의 정수 또는 음의 정수일 수 있습니다. 예를 들어 오프셋이 1인 분기 기간은 이전 분기와 비교하는 것을 의미합니다.  
기본값은 1입니다.

## 예제
<a name="periodOverPeriodLastValue-function-example"></a>

다음 예제에서는 시각적 차원 세분성과 기본 오프셋 1을 사용하여 매출의 월별 누계 값을 계산합니다.

```
periodOverPeriodLastValue(sum(Sales), {Order Date})
```

다음 예에서는 `MONTH`의 고정 세분성과 고정 오프셋을 1로 하여 매출의 월별 대비 가치를 계산합니다.

```
periodOverPeriodLastValue(sum(Sales), {Order Date},MONTH, 1)
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/MonthOverMonthLastValue.png)


# periodOverPeriodPercentDifference
<a name="periodOverPeriodPercentDifference-function"></a>

`periodOverPeriodPercentDifference` 함수는 기간 세분성 및 오프셋으로 지정된 대로 서로 다른 두 기간의 측정값 백분율 차이를 계산합니다. percentDifference와 달리 이 함수는 고정된 크기의 오프셋 대신 날짜 기반 오프셋을 사용합니다. 이렇게 하면 데이터 세트에 데이터 포인트가 없더라도 정확한 날짜만 비교할 수 있습니다.

## 구문
<a name="periodOverPeriodPercentDifference-function-syntax"></a>

```
periodOverPeriodPercentDifference(
	measure, 
	date, 
	period, 
	offset)
```

## 인수
<a name="periodOverPeriodPercentDifference-function-arguments"></a>

 *치수*   
차이를 확인하려는 집계 치수입니다.

 *date*   
periodOverPeriod 계산할 때 사용하는 날짜 측정기준입니다.

 *period*   
(선택 사항) 계산을 수행하는 기간입니다. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.  
이 인수는 기본적으로 시각적 집계의 세분성을 사용합니다.

 *Offset*   
(선택 사항) 오프셋은 비교하려는 이전 기간(기간으로 지정)을 나타내는 양의 정수 또는 음의 정수일 수 있습니다. 예를 들어 오프셋이 1인 분기 기간은 이전 분기와 비교하는 것을 의미합니다.  
기본값은 1입니다.

## 예제
<a name="periodOverPeriodPercentDifference-function-example"></a>

다음 예제에서는 시각적 차원 세분성과 기본 오프셋 1을 사용하여 월별 매출액 퍼센트 차이를 계산합니다.

```
periodOverPeriodPercentDifference(sum(Sales),{Order Date})
```

다음 예제에서는 `MONTH`의 고정 세분성과 고정 오프셋을 1로 하여 매출의 월별 퍼센트 차이를 계산합니다.

```
periodOverPeriodPercentDifference(sum(Sales), {Order Date}, MONTH, 1)
```

![\[이 이미지는 예제 계산의 결과 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/MonthOverMonthPercentDifference.png)


# periodToDateAvgOverTime
<a name="periodToDateAvgOverTime-function"></a>

`periodToDateAvgOverTime` 함수는 특정 시점까지의 주어진 시간 세분성(예: 분기)에 대한 측정값의 평균을 계산합니다.

## 구문
<a name="periodToDateAvgOverTime-function-syntax"></a>

```
periodToDateAvgOverTime(
	measure, 
	dateTime,
	period)
```

## 인수
<a name="periodToDateAvgOverTime-function-arguments"></a>

 *치수*   
계산하려는 치수의 집계

 *dateTime*   
PeriodOverTime 계산 컴퓨팅을 수행하는 데 사용되는 날짜 측정기준입니다.

 *period*   
(선택 사항) 계산을 수행하는 기간입니다. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.  
기본값은 시각적 객체의 날짜 차원 세분성입니다.

## 예제
<a name="periodToDateAvgOverTime-function-example"></a>

다음 함수는 월별 평균 요금을 계산합니다.

```
periodToDateAvgOverTime(sum({fare_amount}), pickupDatetime, MONTH)
```

![\[이 그림은 계산 예시 결과를 그림으로 나타낸 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDAvgOverTimeResults.png)


# periodToDateCountOverTime
<a name="periodToDateCountOverTime-function"></a>

`periodToDateCountOverTime` 함수는 특정 시점까지의 지정된 시간 세분성 (예: 1/4) 에 대한 차원 또는 측정값의 수를 계산합니다.

## 구문
<a name="periodToDateCountOverTime-function-syntax"></a>

```
periodToDateCountOverTime(
	measure, 
	dateTime, 
	period)
```

## 인수
<a name="periodToDateCountOverTime-function-arguments"></a>

 *치수*   
계산하려는 치수의 집계

 *dateTime*   
PeriodOverTime 계산 컴퓨팅을 수행하는 데 사용되는 날짜 측정기준입니다.

 *period*   
(선택 사항) 계산을 수행하는 기간입니다. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.  
기본값은 시각적 객체의 날짜 차원 세분성입니다.

## 예제
<a name="periodToDateCountOverTime-function-example"></a>

다음 예제에서는 월별 공급업체 수를 계산합니다.

```
periodToDateCountOverTime(count(vendorid), pickupDatetime, MONTH)
```

![\[이 그림은 계산 예시 결과를 그림으로 나타낸 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDCountOverTimeResults.png)


# periodToDateMaxOverTime
<a name="periodToDateMaxOverTime-function"></a>

`periodToDateMaxOverTime` 함수는 특정 시점까지의 주어진 시간 세분성 (예: 1/4) 에 대한 측정값의 최대값을 계산합니다.

## 구문
<a name="periodToDateMaxOverTime-function-syntax"></a>

```
periodToDateMaxOverTime(
	measure, 
	dateTime, 
	period)
```

## 인수
<a name="periodToDateMaxOverTime-function-arguments"></a>

 *치수*   
계산하려는 치수의 집계

 *dateTime*   
PeriodOverTime 계산 컴퓨팅을 수행하는 데 사용되는 날짜 측정기준입니다.

 *period*   
(선택 사항) 계산을 수행하는 기간입니다. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.  
기본값은 시각적 객체의 날짜 차원 세분성입니다.

## 예제
<a name="periodToDateMaxOverTime-function-example"></a>

다음 예시에서는 월별 최대 운임을 계산합니다.

```
periodToDatemaxOverTime(max({fare_amount}), pickupDatetime, MONTH)
```

![\[이 그림은 계산 예시 결과를 그림으로 나타낸 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDMaxOverTimeResults.png)


# periodToDateMinOverTime
<a name="periodToDateMinOverTime-function"></a>

`periodToDateMinOverTime` 함수는 특정 시점까지의 주어진 시간 세분성 (예: 1/4) 에 대한 측정값의 최소값을 계산합니다.

## 구문
<a name="periodToDateMinOverTime-function-syntax"></a>

```
periodToDateMinOverTime(
	measure, 
	dateTime, 
	period)
```

## 인수
<a name="periodToDateMinOverTime-function-arguments"></a>

 *치수*   
계산하려는 치수의 집계

 *dateTime*   
PeriodOverTime 계산 컴퓨팅을 수행하는 데 사용되는 날짜 측정기준입니다.

 *period*   
(선택 사항) 계산을 수행하는 기간입니다. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.  
기본값은 시각적 객체의 날짜 차원 세분성입니다.

## 예제
<a name="periodToDateMinOverTime-function-example"></a>

다음 예시에서는 월별 최저 요금을 계산합니다.

```
periodToDateMinOverTime(min({fare_amount}), pickupDatetime, MONTH)
```

![\[이 그림은 계산 예시 결과를 그림으로 나타낸 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDMinOverTimeResults.png)


# periodToDateSumOverTime
<a name="periodToDateSumOverTime-function"></a>

`periodToDateSumOverTime` 함수는 특정 시점까지의 주어진 시간 세분성 (예: 1/4) 에 대한 측정값의 합계를 계산합니다.

## 구문
<a name="periodToDateSumOverTime-function-syntax"></a>

```
periodToDateSumOverTime(
	measure, 
	dateTime, 
	period)
```

## 인수
<a name="periodToDateSumOverTime-function-arguments"></a>

 *치수*   
계산하려는 치수의 집계

 *dateTime*   
PeriodOverTime 계산 컴퓨팅을 수행하는 데 사용되는 날짜 측정기준입니다.

 *period*   
(선택 사항) 계산을 수행하는 기간입니다. `YEAR` 평균 `YearToDate` 계산, `Quarter` 평균 `QuarterToDate` 등의 세분성. 유효한 세부성에는 `YEAR`, `QUARTER`, `MONTH`, `WEEK`, `DAY`, `HOUR`, `MINUTE`, `SECONDS` 등이 포함됩니다.  
기본값은 시각적 객체의 날짜 차원 세분성입니다.

## 예제
<a name="periodToDateSumOverTime-function-example"></a>

다음 함수는 월별 총 운임 금액을 반환합니다.

```
periodToDateSumOverTime(sum({fare_amount}), pickupDatetime, MONTH)
```

![\[이 그림은 계산 예시 결과를 그림으로 나타낸 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/PTDSumOverTime-example-results.png)


# stdevOver
<a name="stdevOver-function"></a>

`stdevOver` 함수는 샘플을 기반으로 선택한 특성 별로 분할된 지정된 치수의 표준 편차를 계산합니다.

## 구문
<a name="stdevOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
stdevOver
(
      measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 인수
<a name="stdevOver-function-arguments"></a>

*치수*   
계산하려는 측정값으로, 예를 들면 `sum({Sales Amt})`입니다. 계산 수준이 `NULL` 또는 `POST_AGG_FILTER`로 설정된 경우 집계를 사용하십시오. 계산 수준이 `PRE_FILTER` 또는 `PRE_AGG`로 설정된 경우 집계를 사용하지 마십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 계산됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="stdevOver-function-example"></a>

다음 예제는 샘플을 기준으로 `sum(Sales)`의 표준 편차를 계산하고 `City`, `State`로 분할한 결과를 보여줍니다.

```
stdevOver
(
     sum(Sales), 
     [City, State]
)
```

다음 예제는 샘플을 기준으로 `Customer Region`에 대한 `Billed Amount`의 표준 편차를 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
stdevOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

# stdevpOver
<a name="stdevpOver-function"></a>

`stdevpOver` 함수는 편향된 모집단을 기준으로 선택한 특성 별로 분할된 지정된 치수의 표준 편차를 계산합니다.

## 구문
<a name="stdevpOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
stdevpOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 인수
<a name="stdevpOver-function-arguments"></a>

*치수*   
계산하려는 측정값으로, 예를 들면 `sum({Sales Amt})`입니다. 계산 수준이 `NULL` 또는 `POST_AGG_FILTER`로 설정된 경우 집계를 사용하십시오. 계산 수준이 `PRE_FILTER` 또는 `PRE_AGG`로 설정된 경우 집계를 사용하지 마십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 계산됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="stdevpOver-function-example"></a>

다음 예제는 편향된 모집단을 기준으로 `City`, `State` 분할된 `sum(Sales)`의 표준 편차를 계산합니다.

```
stdevpOver
(
     sum(Sales), 
     [City, State]
)
```

다음 예제는 편향된 모집단을 기준으로 `Customer Region`에 대한 `Billed Amount`의 표준 편차를 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
stdevpOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

# varOver
<a name="varOver-function"></a>

`varOver` 함수는 샘플을 기반으로 선택된 특성 별로 분할된 지정된 치수의 분산을 계산합니다.

## 구문
<a name="varOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
varOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 인수
<a name="varOver-function-arguments"></a>

*치수*   
계산하려는 측정값으로, 예를 들면 `sum({Sales Amt})`입니다. 계산 수준이 `NULL` 또는 `POST_AGG_FILTER`로 설정된 경우 집계를 사용하십시오. 계산 수준이 `PRE_FILTER` 또는 `PRE_AGG`로 설정된 경우 집계를 사용하지 마십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 수행됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="varOver-function-example"></a>

다음 예제는 샘플을 기준으로 `sum(Sales)`의 분산을 계산하고 `City`, `State`로 분할한 결과를 보여줍니다.

```
varOver
(
     sum(Sales), 
     [City, State]
)
```

다음 예제는 샘플을 기준으로 `Customer Region`에 대한 `Billed Amount`의 분산을 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
varOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

# varpOver
<a name="varpOver-function"></a>

`varpOver` 함수는 편향된 모집단을 기준으로 선택한 특성 별로 분할된 지정된 치수의 분산을 계산합니다.

## 구문
<a name="varpOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
varpOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 인수
<a name="varpOver-function-arguments"></a>

*치수*   
계산하려는 측정값으로, 예를 들면 `sum({Sales Amt})`입니다. 계산 수준이 `NULL` 또는 `POST_AGG_FILTER`로 설정된 경우 집계를 사용하십시오. 계산 수준이 `PRE_FILTER` 또는 `PRE_AGG`로 설정된 경우 집계를 사용하지 마십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 수행됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="varpOver-function-example"></a>

다음 예제는 편향된 모집단을 기준으로 `sum(Sales)`의 분산을 계산하고 `City`, `State`로 분할한 결과를 보여줍니다.

```
varpOver
(
     sum(Sales), 
     [City, State]
)
```

다음 예제는 편향된 모집단을 기준으로 `Customer Region`에 대한 `Billed Amount`의 분산을 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
varpOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

# sumOver
<a name="sumOver-function"></a>

 `sumOver` 함수는 차원 목록으로 구분한 치수의 합을 계산합니다.

## 구문
<a name="sumOver-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
sumOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 인수
<a name="sumOver-function-arguments"></a>

*치수*   
계산하려는 측정값으로, 예를 들면 `sum({Sales Amt})`입니다. 계산 수준이 `NULL` 또는 `POST_AGG_FILTER`로 설정된 경우 집계를 사용하십시오. 계산 수준이 `PRE_FILTER` 또는 `PRE_AGG`로 설정된 경우 집계를 사용하지 마십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 계산됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="sumOver-function-example"></a>

다음 예제에서는 `City` 및 `State`를 분할 기준으로 `sum(Sales)`의 합을 계산합니다.

```
sumOver
(
     sum(Sales), 
     [City, State]
)
```

다음 예제에서는 `Customer Region`에 대한 `Billed Amount`의 합계를 구합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
sumOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

다음 스크린샷에 예제 결과가 나와 있습니다. `Customer Segment`를 추가한 각각의 총 청구 금액을 `Customer Region`의 합으로 구하고 계산 필드에 표시합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sumOver.png)


# denseRank
<a name="denseRank-function"></a>

`denseRank` 함수는 지정 분할과 비교한 차원 또는 치수의 순위를 계산합니다. 중복은 무시하고 각 항목을 단 한 번 센 후 중복값의 순위가 동일하도록 "공백 없이" 순위를 할당합니다.

## 구문
<a name="denseRank-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
denseRank
(
  [ sort_order_field ASC_or_DESC, ... ] 
  ,[ partition_field, ... ] 
)
```

## 인수
<a name="denseRank-function-arguments"></a>

 *정렬 순서 필드*   
측정치나 차원 또는 둘 모두 등 원하는 데이터 기준대로 하나 이상의 집계 필드를 정렬하고 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 수행됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="denseRank-function-example"></a>

다음 예제는 `State` 및 `City` 기준으로 내림차순으로 밀집 정렬한 `max(Sales)`의 순위입니다. `max(Sales)`가 동일한 모든 도시에 동일 순위가 할당되며, 그다음 도시는 연속으로 이어지는 순위를 매깁니다. 예를 들어 순위가 같은 도시가 세 곳이라면 네 번째 도시는 2위입니다.

```
denseRank
(
  [max(Sales) DESC], 
  [State, City]
)
```

다음 예제는 `State` 기준으로 내림차순으로 밀집 정렬한 `max(Sales)`의 순위입니다. `max(Sales)`가 동일한 모든 주에 동일 순위가 할당되며, 그다음은 연속으로 이어지는 순위를 매깁니다. 예를 들어 순위가 같은 주가 세 곳이라면 네 번째 주는 2위입니다.

```
denseRank
(
  [max(Sales) DESC], 
  [State]
)
```

# rank
<a name="rank-function"></a>

`rank` 함수는 지정 분할과 비교한 차원 또는 치수의 순위를 계산합니다. 중복까지 각 항목을 한 번 계산하며 순위에 "취약점 포함"을 할당하여 중복값을 보완합니다.

## 구문
<a name="rank-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
rank
(
  [ sort_order_field ASC_or_DESC, ... ]
  ,[ partition_field, ... ] 
)
```

## 인수
<a name="rank-function-arguments"></a>

 *정렬 순서 필드*   
하나 이상의 집계 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 수행됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="rank-function-example"></a>

다음 예제는 **WA**의 `State` 안에서 `State` 및 `City` 기준으로 내림차순으로 정렬한 `max(Sales)`의 순위입니다. `max(Sales)`가 동일한 모든 도시에는 동일 순위를 할당하지만, 그다음 순위는 앞 순위의 개수를 모두 합한 이후의 순위를 표시합니다. 예를 들어 순위가 같은 도시가 세 곳이라면 네 번째 도시는 4위입니다.

```
rank
(
  [max(Sales) DESC], 
  [State, City]
)
```

다음 예제는 `State` 기준으로 오름차순 정렬 순서에 따른 `max(Sales)`의 순위입니다. `max(Sales)`가 동일한 모든 주에는 동일 순위를 할당하지만, 그다음 순위는 앞 순위의 개수를 모두 합한 이후의 순위를 표시합니다. 예를 들어 순위가 같은 주가 세 곳이라면 네 번째 주는 4위입니다.

```
rank
(
  [max(Sales) ASC], 
  [State]
)
```

다음은 `Billed Amount` 기준의 `Customer Region` 순위 예시입니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
rank(
  [sum({Billed Amount}) DESC]
)
```

다음 스크린샷은 총 `Billed Amount`와 함께 예제의 결과를 표시하므로 각 리전의 순위를 볼 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/rankCalc.png)


# percentileRank
<a name="percentileRank-function"></a>

`percentileRank` 함수는 지정 분할과 비교한 치수 또는 규격의 백분위 순위를 계산합니다. 이 백분위 순위 값(*x*)은 현재 항목이 지정된 파티션 내 값의 *x*%를 상회함을 나타냅니다. 백분위 순위 값은 0 이상 100 미만의 수를 범위로 합니다.

## 구문
<a name="percentileRank-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
percentileRank
(
      [ sort_order_field ASC_or_DESC, ... ] 
     ,[ {partition_field}, ... ]
)
```

## 인수
<a name="percentileRank-function-arguments"></a>

 *정렬 순서 필드*   
하나 이상의 집계 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *계산 수준*  
(선택 사항) 사용할 계산 수준을 지정합니다.  
+ **`PRE_FILTER`** - 사전 필터 계산이 데이터 세트 필터보다 먼저 계산됩니다.
+ **`PRE_AGG`** - 사전 집계 계산이 집계 및 상위/하위 N 필터를 시각적 객체에 적용하기 전에 계산됩니다.
+ **`POST_AGG_FILTER`** - (기본값) 시각적 객체가 표시될 때 테이블 계산이 수행됩니다.
비어 있을 때 이 값은 기본적으로 `POST_AGG_FILTER`로 설정됩니다. 자세한 내용은 [빠른에서 레벨 인식 계산 사용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/level-aware-calculations.html).

## 예제
<a name="percentileRank-function-example"></a>

다음 예제에서는 `State` 기준으로 `max(Sales)`의 내림차순 백분위 순위를 결정합니다.

```
percentileRank
(
     [max(Sales) DESC], 
     [State]
)
```

다음 예제에서는 총 `Billed Amount` 기준으로 `Customer Region`의 백분위 순위를 결정합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
percentileRank(
     [sum({Billed Amount}) DESC],
     [{Customer Region}]
)
```

다음 스크린샷은 총 `Billed Amount`와 함께 예제의 결과를 표시하므로 각 리전의 비교해 볼 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/percentileRank.png)


# runningAvg
<a name="runningAvg-function"></a>

`runningAvg` 함수는 지정 차원과 정렬 순서를 바탕으로 측정치의 실행 평균을 계산합니다.

## 구문
<a name="runningAvg-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
runningAvg
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 인수
<a name="runningAvg-function-arguments"></a>

 *치수*   
실행 평균을 확인하려는 집계 측정치입니다.

 *정렬 순서 필드*   
하나 이상의 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *partition field*  
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="runningAvg-function-example"></a>

다음 예제에서는 `City` 및 `State` 기준으로 분할되고, `Sales` 기준으로 정렬된 `sum(Sales)`의 실행 평균을 계산합니다.

```
runningAvg
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

다음 예제에서는 월(`[truncDate("MM",Date) ASC]`) 기준으로 정렬된 `Billed Amount`의 실행 평균을 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
runningAvg
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

# runningCount
<a name="runningCount-function"></a>

`runningCount` 함수는 지정된 차원과 정렬 순서에 따라 측정치 또는 치수의 실행 개수를 계산합니다.

## 구문
<a name="runningCount-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
runningCount
(
  measure_or_dimension 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 인수
<a name="runningCount-function-arguments"></a>

 *측정치 또는 차원*   
실행 개수를 확인하려는 집계 측정치 또는 차원입니다.

 *정렬 순서 필드*   
하나 이상의 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *partition field*  
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="runningCount-function-example"></a>

다음 예제에서는 `City` 및 `State` 기준으로 분할되고, `Sales` 기준으로 정렬된 `sum(Sales)`의 실행 개수를 계산합니다.

```
runningCount
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

다음 예제에서는 월(`[truncDate("MM",Date) ASC]`) 기준으로 정렬된 `Billed Amount`의 실행 개수를 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
runningCount
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

# runningMax
<a name="runningMax-function"></a>

`runningMax` 함수는 지정된 차원 및 정렬 순서에 따라 측정치의 실행 최대값을 계산합니다.

## 구문
<a name="runningMax-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
runningMax
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 인수
<a name="runningMax-function-arguments"></a>

 *치수*   
실행 최대값을 확인하려는 집계 측정치입니다.

 *정렬 순서 필드*   
하나 이상의 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *partition field*  
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="runningMax-function-example"></a>

다음 예제에서는 `City` 및 `State` 기준으로 분할되고, `Sales` 기준으로 정렬된 `sum(Sales)`의 실행 최대를 계산합니다.

```
runningMax
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

다음 예제에서는 월 `[truncDate("MM",Date) ASC]`) 기준으로 정렬된 `Billed Amount`의 실행 최대값을 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
runningMax
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

# runningMin
<a name="runningMin-function"></a>

`runningMin` 함수는 지정된 차원 및 정렬 순서에 따라 측정치의 실행 최소를 계산합니다.

## 구문
<a name="runningMin-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
runningMin
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 인수
<a name="runningMin-function-arguments"></a>

 *치수*   
실행 최소값을 확인하려는 집계 측정치입니다.

 *정렬 순서 필드*   
하나 이상의 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *partition field*  
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="runningMin-function-example"></a>

다음 예제에서는 `City` 및 `State` 기준으로 분할되고, `Sales` 기준으로 정렬된 `sum(Sales)`의 실행 최소를 계산합니다.

```
runningMin
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

다음 예제에서는 월 `[truncDate("MM",Date) ASC]`) 기준으로 정렬된 `Billed Amount`의 실행 최소를 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
runningMin
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

# runningSum
<a name="runningSum-function"></a>

`runningSum` 함수는 지정 차원과 정렬 순서를 바탕으로 치수의 누계를 계산합니다.

## 구문
<a name="runningSum-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
runningSum
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 인수
<a name="runningSum-function-arguments"></a>

 *치수*   
누계를 확인하려는 집계 치수입니다.

 *정렬 순서 필드*   
하나 이상의 치수와 차원 데이터를 정렬하는 기준으로, 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

 *partition field*  
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="runningSum-function-example"></a>

다음 예제는 `Sales` 정렬, `City` 및 `State` 분할 기준으로 `sum(Sales)`의 누계를 계산합니다.

```
runningSum
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

다음 예제는 월(`[truncDate("MM",Date) ASC]`) 정렬 기준으로 `Billed Amount`의 누계를 계산합니다. 테이블 계산의 필드는 시각적 객체의 필드 모음에 있습니다.

```
runningSum
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

다음 스크린샷에 예제 결과가 나와 있습니다. 빨간색 레이블은 각 금액을 다음 금액에 더한(`a + b = c`) 결과 새롭게 나온 총계입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/runningSum.png)


# firstValue
<a name="firstValue-function"></a>

`firstValue` 함수는 지정된 속성에 따라 분할되고 정렬된 집계된 측정값 또는 차원의 첫 번째 값을 계산합니다.

## 구문
<a name="firstValue-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
firstValue
	(
	     aggregated measure or dimension, 
	     [ sort_attribute ASC_or_DESC, ... ],
	     [ partition_by_attribute, ... ] 
	)
```

## 인수
<a name="firstValue-function-arguments"></a>

집계된 측정값 또는 차원   
첫 번째 값을 확인하려는 집계 측정치 또는 차원입니다.

*정렬 속성*   
측정치나 차원 또는 둘 모두 등 원하는 데이터 기준대로 하나 이상의 집계 필드를 정렬하고 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

속성별 파티션  
(선택 사항) 하나 이상의 측정값 또는 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="firstValue-function-example"></a>

다음 예제에서는 `Flight Date`별로 정렬된, `Flight Date` 기준 오름차순 및 `Origin Airport`(으)로 분할된 첫 번째 `Destination Airport`을(를) 계산합니다.

```
firstValue(
    {Destination Airport}
    [{Flight Date} ASC],
    [
        {Origin Airport},
        {Flight Date}
    ]
)
```

# lastValue
<a name="lastValue-function"></a>

`lastValue` 함수는 지정된 속성을 기준으로 분할 및 정렬된 집계된 측정값 또는 차원의 마지막 값을 계산합니다.

## 구문
<a name="lastValue-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
lastValue
	(
	     aggregated measure or dimension,
	     [ sort_attribute ASC_or_DESC, ... ],
	     [ partition_by_attribute, ... ] 
	)
```

## 인수
<a name="lastValue-function-arguments"></a>

집계된 측정값 또는 차원   
마지막 값을 확인하려는 집계 측정치 또는 차원입니다.

*정렬 속성*   
측정치나 차원 또는 둘 모두 등 원하는 데이터 기준대로 하나 이상의 집계 필드를 정렬하고 쉼표로 구분합니다. 오름차순(`ASC`) 또는 내림차순(`DESC`)으로 정렬 순서를 지정할 수 있습니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

속성별 파티션  
(선택 사항) 하나 이상의 측정값 또는 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="lastValue-function-example"></a>

다음 예제에서는 `Destination Airport`의 마지막 값을 계산합니다. 이 계산은 `Flight Date` 값을 기준으로 정렬되고 오름차순으로 정렬된 `Flight Date` 값과 `Origin Airport` 값을 기준으로 분할됩니다.

```
lastValue(
    [{Destination Airport}],
    [{Flight Date} ASC],
    [
        {Origin Airport},
    	truncDate('DAY', {Flight Date})
    ]
)
```

# windowAvg
<a name="windowAvg-function"></a>

`windowAvg` 함수는 지정된 속성에 따라 분할 및 정렬된 사용자 지정 창에서 집계된 측정치의 평균을 계산합니다. 일반적으로 시각적으로 지표 및 날짜 필드를 보여주는 시계열에서 사용자 지정 창 함수를 사용합니다. 예를 들어 `windowAvg`을 사용하여 이동 평균을 계산할 수 있습니다. 이동 평균은 흔히 선형 차트의 노이즈를 없애는 데 사용됩니다.

창 함수는 MySQL 8 이전 버전과 MariaDB 10.2 이전 버전에서는 지원되지 않습니다.

## 구문
<a name="windowAvg-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
windowAvg
	(
	     measure 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 인수
<a name="windowAvg-function-arguments"></a>

*치수*   
평균을 구하려는 집계된 지표(예: `sum({Revenue})`)입니다.

*정렬 속성*   
측정치나 차원 또는 둘 모두 등 원하는 데이터 기준대로 하나 이상의 집계 필드를 정렬하고 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1 \$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

*시작 인덱스*   
시작 인덱스는 양수이며 현재 행 위의 *n* 행을 나타냅니다. 시작 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 위에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

*종료 인덱스*   
종료 인덱스는 양수이며 현재 행 아래의 *n* 행을 나타냅니다. 종료 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 아래에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="windowAvg-function-example"></a>

다음 예제에서는 `SaleDate` 기준으로 분할된 `sum(Revenue)`의 이동 평균을 계산합니다. 계산에는 현재 행의 위 3행과 아래 2행이 포함됩니다.

```
windowAvg
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     3,
            2
	)
```

다음 스크린샷은 이 이동 평균 예제의 결과를 보여줍니다. 수익과 수익의 이동 평균 간의 차이를 보여주기 위해 합계(수익) 필드가 차트에 추가됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/windowAvg.png)


# windowCount
<a name="windowCount-function"></a>

`windowCount` 함수는 지정된 속성 기준으로 분할 및 정렬된 사용자 지정 창에서 집계된 측정치 또는 차원의 개수를 계산합니다. 일반적으로 시각적으로 지표 및 날짜 필드를 보여주는 시계열에서 사용자 지정 창 함수를 사용합니다.

창 함수는 MySQL 8 이전 버전과 MariaDB 10.2 이전 버전에서는 지원되지 않습니다.

## 구문
<a name="windowCount-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
windowCount
	(
	     measure_or_dimension 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 인수
<a name="windowCount-function-arguments"></a>

*측정치 또는 차원*   
평균을 구하려는 집계된 지표(예: `sum({Revenue})`)입니다.

*정렬 속성*   
측정치나 차원 또는 둘 모두 등 원하는 데이터 기준대로 하나 이상의 집계 필드를 정렬하고 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

*시작 인덱스*   
시작 인덱스는 양수이며 현재 행 위의 *n* 행을 나타냅니다. 시작 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 위에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

*종료 인덱스*   
종료 인덱스는 양수이며 현재 행 아래의 *n* 행을 나타냅니다. 종료 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 아래에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="windowCount-function-example"></a>

다음 예제에서는 `SaleDate` 기준으로 분할된 `sum(Revenue)`의 이동 개수를 계산합니다. 계산에는 현재 행의 위 3행과 아래 2행이 포함됩니다.

```
windowCount
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     3,
               2
	)
```

# windowMax
<a name="windowMax-function"></a>

`windowMax` 함수는 지정된 속성에 따라 분할 및 정렬된 사용자 지정 창에서 집계된 측정치의 최대를 계산합니다. 일반적으로 시각적으로 지표 및 날짜 필드를 보여주는 시계열에서 사용자 지정 창 함수를 사용합니다. `windowMax`을 사용하면 일정 기간 동안 지표의 최대를 파악할 수 있습니다.

창 함수는 MySQL 8 이전 버전과 MariaDB 10.2 이전 버전에서는 지원되지 않습니다.

## 구문
<a name="windowMax-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
windowMax
	(
	     measure 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 인수
<a name="windowMax-function-arguments"></a>

*치수*   
평균을 구하려는 집계된 지표(예: `sum({Revenue})`)입니다.

*정렬 속성*   
측정치나 차원 또는 둘 모두 등 원하는 데이터 기준대로 하나 이상의 집계 필드를 정렬하고 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

*시작 인덱스*   
시작 인덱스는 양수이며 현재 행 위의 *n* 행을 나타냅니다. 시작 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 위에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

*종료 인덱스*   
종료 인덱스는 양수이며 현재 행 아래의 *n* 행을 나타냅니다. 종료 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 아래에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
두 단어 이상이면 목록의 각 필드가 \$1\$1(중괄호)로 묶입니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="windowMax-function-example"></a>

다음 예제에서는 `SaleDate` 기준으로 분할된 `sum(Revenue)`의 검사하는 12개월 최대값을 계산합니다. 계산에는 현재 행의 위 12행과 아래 0행이 포함됩니다.

```
windowMax
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     12,
               0
	)
```

다음 스크린샷은 이 검사하는 12개월 예제의 결과를 보여줍니다. 수익과 검사하는 12개월 최대 수익의 차이를 보여주기 위해 합계(수익) 필드가 차트에 추가됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/windowMax.png)


# windowMin
<a name="windowMin-function"></a>

`windowMin` 함수는 지정된 속성에 따라 분할 및 정렬된 사용자 지정 창에서 집계된 측정치의 최소값을 계산합니다. 일반적으로 시각적으로 지표 및 날짜 필드를 보여주는 시계열에서 사용자 지정 창 함수를 사용합니다. `windowMin`을 사용하면 일정 기간 동안 지표의 최소를 파악할 수 있습니다.

창 함수는 MySQL 8 이전 버전과 MariaDB 10.2 이전 버전에서는 지원되지 않습니다.

## 구문
<a name="windowMin-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
windowMin
	(
	     measure 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 인수
<a name="windowMin-function-arguments"></a>

*치수*   
평균을 구하려는 집계된 지표(예: `sum({Revenue})`)입니다.

*정렬 속성*   
측정치나 차원 또는 둘 모두 등 원하는 데이터 기준대로 하나 이상의 집계 필드를 정렬하고 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

*시작 인덱스*   
시작 인덱스는 양수이며 현재 행 위의 *n* 행을 나타냅니다. 시작 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 위에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

*종료 인덱스*   
종료 인덱스는 양수이며 현재 행 아래의 *n* 행을 나타냅니다. 종료 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 아래에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="windowMin-function-example"></a>

다음 예제에서는 `SaleDate` 기준으로 분할된 `sum(Revenue)`의 검사하는 12개월 최소를 계산합니다. 계산에는 현재 행의 위 12행과 아래 0행이 포함됩니다.

```
windowMin
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     12,
               0
	)
```

다음 스크린샷은 이 검사하는 12개월 예제의 결과를 보여줍니다. 수익과 검사하는 12개월 최소 수익의 차이를 보여주기 위해 합계(수익) 필드가 차트에 추가됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/windowMin.png)


# windowSum
<a name="windowSum-function"></a>

`windowSum` 함수는 지정된 속성에 따라 분할 및 정렬된 사용자 지정 창에서 집계된 측정치의 합계를 계산합니다. 일반적으로 시각적으로 지표 및 날짜 필드를 보여주는 시계열에서 사용자 지정 창 함수를 사용합니다.

창 함수는 MySQL 8 이전 버전과 MariaDB 10.2 이전 버전에서는 지원되지 않습니다.

## 구문
<a name="windowSum-function-syntax"></a>

괄호를 사용해야 합니다. 어떤 인수가 옵션인지 보려면 다음 설명을 확인합니다.

```
windowSum
	(
	     measure 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 인수
<a name="windowSum-function-arguments"></a>

*치수*   
합계를 구하려는 집계된 지표(예: `sum({Revenue})`)입니다.  
엔진 MySQL, MariaDB 및 MySQL 호환성이 있는 Amazon Aurora의 경우 조회 인덱스는 1로만 제한됩니다. 창 함수는 MySQL 8 이하 버전과 MariaDB 10.2 이전 버전에서는 지원되지 않습니다.

*정렬 속성*   
측정치나 차원 또는 둘 모두 등 원하는 데이터 기준대로 하나 이상의 집계 필드를 정렬하고 쉼표로 구분합니다. 오름차순(**ASC**) 또는 내림차순(**DESC**)으로 정렬 순서를 지정할 수 있습니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

*시작 인덱스*   
시작 인덱스는 양수이며 현재 행 위의 *n* 행을 나타냅니다. 시작 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 위에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

*종료 인덱스*   
종료 인덱스는 양수이며 현재 행 아래의 *n* 행을 나타냅니다. 종료 인덱스는 실제 시간을 계산하는 것이 아니라 현재 행 아래에 있는 사용 가능한 데이터 포인트를 계산합니다. 데이터가 희박한 경우(예: 몇 개월 또는 몇 년 누락) 인덱스를 적절히 조정하십시오.

 *partition field*   
(선택 사항) 하나 이상의 차원을 분할하는 기준으로, 쉼표로 구분합니다.  
목록의 각 필드는 두 개 이상의 단어인 경우 \$1\$1(중괄호)로 묶습니다. 전체 목록은 [ ](대괄호)로 묶입니다.

## 예제
<a name="windowSum-function-example"></a>

다음 예제에서는 `SaleDate` 기준으로 정렬된 `sum(Revenue)`의 이동 합계를 계산합니다. 계산에는 현재 행의 위 2행과 아래 1행이 포함됩니다.

```
windowSum
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     2,
            1
	)
```

다음 예제에서는 검사하는 12개월 합계를 보여줍니다.

```
windowSum(sum(Revenue),[SaleDate ASC],12,0)
```

다음 스크린샷은 이 검사하는 12개월 합계 예제의 결과를 보여줍니다. 수익과 검사하는 12개월 합계 수익의 차이를 보여주기 위해 `sum(Revenue)` 필드가 차트에 추가됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/windowSum.png)


# 데이터 조인
<a name="joining-data"></a>

Amazon Quick Sight의 조인 인터페이스를 사용하여 하나 이상의 데이터 소스에서 객체를 조인할 수 있습니다. Amazon Quick Sight를 사용하여 데이터를 조인하면 다른 소스의 데이터를 복제하지 않고도 서로 다른 데이터를 병합할 수 있습니다.

## 조인된 데이터 세트 유형
<a name="join-dataset-types"></a>

조인은 두 Quick Sight *논리 테이블* 간에 수행되며, 각 논리 테이블에는 데이터를 가져오는 방법에 대한 정보가 포함되어 있습니다. Quick Sight에서 데이터 세트를 편집할 때 페이지 상단 절반의 조인 다이어그램은 각 논리적 테이블을 직사각형 블록으로 표시합니다.

Quick Sight에는 동일한 소스와 교차 소스라는 두 가지 유형의 조인된 데이터 세트가 있습니다. 데이터 세트에 조인이 없거나 다음 조건이 모두 충족되는 경우 데이터 세트는 동일 소스로 간주됩니다.
+ 논리적 테이블 중 하나라도 Quick Sight 데이터 소스를 참조하는 경우:
  + 이 데이터 세트의 모든 논리적 테이블은 동일한 Quick Sight 데이터 소스를 참조해야 합니다. 두 개의 개별 Quick Sight 데이터 소스가 동일한 기본 데이터베이스를 참조하는 경우에는 적용되지 않습니다. 정확히 동일한 Quick Sight 데이터 소스여야 합니다. 단일 데이터 소스 사용에 대한 자세한 내용은 [기존 데이터 소스를 사용하여 데이터 세트 생성](create-a-data-set-existing.md)을(를) 참조하십시오.
+ 논리적 테이블 중 상위 데이터 세트인 Quick Sight 데이터 세트를 참조하는 테이블이 있는 경우:
  + 상위 데이터 세트는 직접 쿼리를 사용해야 합니다.
  + 상위 데이터 세트는 동일한 Quick Sight 데이터 소스를 참조해야 합니다.

위 조건이 충족되지 않는 경우 데이터 세트는 크로스 소스 조인으로 간주됩니다.

## 데이터 세트 조인에 관한 정보
<a name="join-faqs"></a>

동일 소스 데이터 세트 조인과 크로스 소스 데이터 세트 조인 모두 다음과 같은 제한이 있습니다.

### 조인된 데이터 세트에 포함할 수 있는 최대 테이블 수는 몇 개입니까?
<a name="w2aac35c13c25b9b9b5"></a>

조인된 모든 데이터 세트에는 최대 32개의 테이블이 포함될 수 있습니다.

### 조인된 데이터의 크기는 얼마나 되나요?
<a name="w2aac35c13c25b9b9b7"></a>

조인의 최대 허용 크기는 사용되는 쿼리 모드 및 쿼리 엔진에 따라 결정됩니다. 아래 목록은 조인할 테이블의 다양한 크기 제한에 대한 정보를 제공합니다. 크기 제한은 결합된 모든 보조 테이블에 적용됩니다. 기본 테이블에는 조인 크기 제한이 없습니다.
+ **동일 소스 테이블 -** 테이블이 단일 쿼리 데이터 소스에서 시작되는 경우 Quick Sight는 조인 크기를 제한하지 않습니다. 그래도 소스 쿼리 엔진에 있을 수 있는 조인 크기 제한은 재정의되지 않습니다.
+ **교차 소스 데이터세트** - 이 유형의 조인에는 SPICE에 저장되지 않은 다양한 데이터 소스의 테이블이 포함됩니다. 이러한 유형의 조인에 대해 Quick Sight는 데이터 세트에서 가장 큰 테이블을 자동으로 식별합니다. 다른 모든 보조 테이블의 결합 크기는 1GB 미만이어야 합니다.
+ **SPICE에 저장된 데이터세트** - 이 유형의 조인에는 SPICE에 모두 수집되는 테이블이 포함되어 있습니다. 이 조인의 모든 보조 테이블 결합 크기는 20GB를 초과할 수 없습니다.

SPICE 데이터세트 크기 계산에 대한 자세한 정보는 [SPICE 데이터 세트 크기 추정](spice.md#spice-capacity-formula) 섹션을 참조하세요.

### 조인된 데이터 세트에 직접 쿼리를 사용할 수 있습니까?
<a name="w2aac35c13c25b9b9b9"></a>

직접 쿼리 사용에 다른 제한이 없다는 전제 하에 동일 소스 데이터 세트는 직접 쿼리를 지원합니다. 예를 들어 S3 데이터 소스는 직접 쿼리를 지원하지 않으므로 동일한 소스의 S3 데이터 세트는 여전히 SPICE를 사용해야 합니다.

교차 소스 데이터 세트는 SPICE를 사용해야 합니다.

### 계산된 필드를 조인에 사용할 수 있습니까?
<a name="w2aac35c13c25b9b9c11"></a>

조인된 모든 데이터 세트는 계산된 필드를 사용할 수 있지만 계산된 필드는 조항에 사용할 수 없습니다.

### 조인에 지리 데이터를 사용할 수 있습니까?
<a name="w2aac35c13c25b9b9c13"></a>

동일한 소스 데이터셋은 지리 데이터 유형을 지원하지만 지리적 필드는 조항에 사용할 수 없습니다.

교차 소스 데이터 세트는 어떤 형태의 지리 데이터도 지원하지 않습니다.

데이터 소스 간에 테이블을 조인하는 몇 가지 예는 AWS 빅 데이터 블로그의 [Amazon Quick Sight에서 데이터 소스 간 조인](https://aws.amazon.com/blogs/big-data/joining-across-data-sources-on-amazon-quicksight/) 게시물을 참조하세요.

## 조인 생성하기
<a name="create-a-join"></a>

데이터 세트에 사용할 테이블을 조인하려면 다음 절차를 따르십시오. 시작하기 전에 데이터를 가져오거나 데이터에 연결합니다. 사물 인터넷(IoT) 데이터를 제외하고 Amazon Quick Sight에서 지원하는 모든 데이터 소스 간에 조인을 생성할 수 있습니다. 예를 들어 Amazon S3 버킷에 쉼표로 구분된 값(.csv) 파일, 테이블, 뷰어, SQL 쿼리 또는 JSON 객체를 추가할 수 있습니다.

**조인을 하나 이상 추가하기**

1. 작업할 데이터 세트를 엽니다.

1. (선택 사항) 시작하기 전에 데이터 샘플을 기반으로 자동 생성된 미리 보기를 비활성화할지 여부를 결정합니다. 이 기능을 끄려면 오른쪽 상단의 **자동 미리보기**를 선택하세요. 기본적으로 활성화되어 있습니다.

1. 아직 쿼리 모드를 선택하지 않았다면 **쿼리 모드**를 선택하세요.

   **SPICE**을(를) 선택하여 데이터 세트를 [SPICE](spice.md)에 저장하거나 **직접 쿼리**를 선택하여 매번 라이브 데이터를 가져옵니다. 데이터 세트에 수동으로 업로드한 파일이 하나 이상 포함된 경우 데이터 세트가 SPICE에 자동으로 저장됩니다.

   **SPICE**를 선택하면 데이터가 Quick Sight에 수집됩니다. 데이터 세트를 사용하는 시각적 객체는 데이터베이스 대신에 SPICE에서 쿼리를 실행합니다.

   **직접 쿼리**를 선택하면 데이터가 SPICE(으)로 수집되지 않습니다. 데이터 세트를 사용하는 시각적 객체는 SPICE 대신 데이터베이스에서 쿼리를 실행합니다.

   **쿼리 모드**를 선택하는 경우 시각 자료를 로드할 때 성능을 향상시키려면 해당하는 경우 조인에 고유 키를 설정해야 합니다.

1. 데이터 준비 페이지에서 **데이터 추가**를 선택합니다.

1. **데이터 추가 페이지**가 열리면 다음 옵션 중 하나를 선택하고 다음 옵션 중 하나를 선택합니다.
   + 데이터 집합에서 데이터를 추가합니다.

     1. **데이터 세트**를 선택합니다.

     1. 목록에서 데이터 세트를 선택합니다.

     1. **선택**을 선택하세요.
   + 데이터 소스에서 데이터를 추가합니다.

     1. **데이터 소스**를 선택합니다.

     1. 목록에서 데이터 소스를 선택합니다.

     1. **선택**을 선택하세요.

     1. 목록에서 AMI를 선택합니다.

     1. **선택**을 선택하세요.
   + 테이블을 여러 번 추가하여 셀프 조인을 생성합니다. 이름 뒤에 카운터가 나타납니다. **Product**, **Product (2)** 및 **Product (3)**이 그 예입니다. **필드** 또는 **필터** 섹션에 있는 필드 이름에는 동일한 카운터가 포함되어 있어 필드의 출처인 테이블의 인스턴스를 확인할 수 있습니다.
   + **파일 업로드**를 선택하여 새 파일을 추가한 다음 조인할 파일을 선택합니다.

1. (선택 사항) **사용자 지정 SQL 사용**을 선택하여 쿼리 편집기를 열고 SQL 데이터 소스에 대한 쿼리를 작성합니다.

1. (선택 사항) 데이터를 추가한 후 해당 메뉴 아이콘을 선택하여 각 테이블과 상호 작용합니다. 테이블을 드래그 앤 드롭하여 재정렬합니다.

   빨간색 점이 있는 아이콘은 이 조인을 구성해야 함을 나타냅니다. 아직 구성되지 않은 조인에는 빨간색 점 두 개가 나타납니다. 조인을 만들려면 첫 번째 조인 구성 아이콘을 선택합니다.

1. (선택 사항) 기존 조인을 변경하려면 두 테이블 사이의 조인 아이콘을 선택하여 **조인 구성**을 다시 엽니다.

   **조인 구성** 창이 열립니다. 조인 인터페이스를 사용하면 테이블 조인에 사용할 조인 유형 및 필드를 지정합니다.

1. 화면 하단에서 다른 테이블의 필드와 동일하게 테이블의 필드를 설정할 수 있는 옵션이 있습니다.

   1. **Join clauses(절 조인)** 섹션에서 각 테이블에 대한 조인 열을 선택합니다.

     (선택 사항) 선택한 테이블이 여러 열에서 조인하는 경우 **Add a new join clause(새 조인 절 추가)**를 선택합니다. 이를 수행하면 조인 절에 또 다른 행이 추가되고, 조인할 다음 열 세트를 지정할 수 있습니다. 두 데이터 객체의 모든 조인 열을 식별할 때까지 이 절차를 반복합니다.

1. **조인 구성** 창에 있는 적용할 조인 종류를 선택합니다. 조인 필드가 하나 또는 두 테이블의 고유 키인 경우 고유 키 설정을 활성화하십시오. 고유 키는 직접 쿼리에만 적용되며 SPICE 데이터에는 적용되지 않습니다.

   조인 대한 자세한 내용은 [조인 유형](#join-types)을(를) 참조하십시오.

1. **적용**을 선택하여 선택을 확인합니다.

   변경 없이 취소하려면 **취소**를 선택합니다.

1. 작업 영역의 조인 아이콘이 변경되어 새 관계가 표시됩니다.

1. (선택 사항) **필드** 섹션에서 각 필드의 메뉴를 사용하여 다음 중 하나 이상을 수행할 수 있습니다.
   + 지리 공간 필드에 **계층 추가**.
   + 필드를 **포함**하거나 **제외**.
   + 필드 **이름 및 설명 편집**.
   + **데이터 유형을 변경**.
   + **계산(계산된 필드) 추가**.
   + **사용자에게만 액세스 허용**을 선택하면 사용자만 볼 수 있습니다. 이는 이미 사용 중인 데이터 세트에 필드를 추가할 때 유용할 수 있습니다.

1. (선택 사항) **필터** 섹션에서 필터를 추가 또는 편집할 수 있습니다. 자세한 내용은 [Amazon Quick Sight에서 데이터 필터링](adding-a-filter.md) 단원을 참조하십시오.

## 조인 유형
<a name="join-types"></a>

Amazon Quick Sight는 다음 조인 유형을 지원합니다.
+ 내부 조인
+ 왼쪽 및 오른쪽 외부 조인
+ 전체 외부 조인

이러한 조인 유형과 데이터의 관계를 자세히 살펴보겠습니다. 다음 예제 데이터에서 이름이 `widget` 및 `safety rating`인 테이블을 사용합니다.

```
SELECT * FROM safety-rating

rating_id	safety_rating
1		    A+
2		    A
3		    A-
4		    B+
5		    B

SELECT * FROM WIDGET

widget_id	   widget	safety_rating_id
1		    WidgetA		3
2		    WidgetB		1
3		    WidgetC		1
4		    WidgetD		2
5		    WidgetE
6		    WidgetF		5
7		    WidgetG
```

### 내부 조인
<a name="join-inner"></a>

두 테이블 간에 일치하는 데이터만 보려는 경우 내부 조인을 사용합니다. 예를 들어, 다음 **safety-rating** 및 **widget** 테이블에서 내부 조인을 수행하는 경우를 가정합니다.

다음 결과 세트에서 안전 등급이 없는 위젯은 제거되고 위젯과 연결되지 않은 안전 등급은 제거됩니다. 완벽하게 일치하는 행만 포함됩니다.

```
SELECT * FROM safety-rating
INNER JOIN widget
ON safety_rating.rating_id = widget.safety_rating_id

rating_id    safety_rating    widget_id    widget        safety_rating_id
3	        A-                1        WidgetA        3
1	        A+                2        WidgetB        1
1	        A+                3        WidgetC        1
2	        A                 4        WidgetD        2
5	        B                 6        WidgetF        5
```

### 왼쪽 및 오른쪽 외부 조인
<a name="join-left-or-right"></a>

왼쪽 또는 오른쪽 외부 조인이라고도 합니다. 한 테이블의 모든 데이터와 다른 테이블의 일치하는 행만 보려면 왼쪽 또는 오른쪽 외부 조인을 사용합니다.

그래픽 인터페이스에서 어떤 테이블이 오른쪽 또는 왼쪽에 있는지 볼 수 있습니다. SQL 문에서 첫 번째 테이블이 왼쪽에 있는 것으로 간주됩니다. 따라서 오른쪽 외부 조인과는 반대로 왼쪽 외부 조인을 선택하는 것은 테이블이 쿼리 도구에서 어떻게 배치되느냐에 따라서만 달라집니다.

예를 들어 (왼쪽 테이블) 및 `safety-rating` (오른쪽 테이블)에서 왼쪽 외부 조인`widgets`을 수행한다고 가정해 보겠습니다. 이러한 경우 모든 `safety-rating` 행이 반환되고, 일치하는 `widget` 행만이 반환됩니다. 결과에 공백이 있는 경우 일치하는 데이터가 없는 것입니다.

```
SELECT * FROM safety-rating
LEFT OUTER JOIN widget
ON safety_rating.rating_id = widget.safety_rating_id

rating_id    safety_rating    widget_id   widget          safety_rating_id
1	        A+                2        WidgetB   	1
1	        A+                3        WidgetC   	1
2	        A                 4        WidgetD   	2
3	        A-                1        WidgetA   	3
4	        B+
5	        B                 6        WidgetF   	5
```

대신 오른쪽 외부 조인을 사용하는 경우가 왼쪽에 있고 `safety-rating`가 오른쪽에 있도록 동일한 순서로 테이블을 호출`widgets`합니다. 이러한 경우 일치하는 `safety-rating` 행만이 반환되고, 모든 `widget` 행이 반환됩니다. 결과에 공백이 있는 경우 일치하는 데이터가 없는 것입니다.

```
SELECT * FROM safety-rating
RIGHT OUTER JOIN widget
ON safety_rating.rating_id = widget.safety_rating_id

rating_id    safety_rating    widget_id   widget          safety_rating_id
3	        A-                1	WidgetA   	 3
1	        A+                2	WidgetB   	 1
1	        A+                3	WidgetC   	 1
2	        A                 4	WidgetD   	 2
                                  5       WidgetE
5	        B                 6	WidgetF   	 5
                                  7       WidgetG
```

### 전체 외부 조인
<a name="join-full-outer"></a>

완전 외부 조인이라고도 하지만 이 용어는 왼쪽 외부, 오른쪽 외부 또는 전체 외부 조인 중 하나를 의미할 수 있습니다. 의미를 정의하기 위해 전체 외부 조인이라는 용어를 사용합니다.

전체 외부 조인을 사용하여 일치하는 데이터와 일치하지 않는 두 테이블의 데이터를 확인합니다. 조인의 유형에는 두 테이블 모두의 모든 행이 포함됩니다. 예를 들어, `safety-rating` 및 `widget` 테이블에서 전체 외부 조인을 수행하는 경우 모든 행이 반환됩니다. 행은 일치하는 행과 연결되고, 모든 추가 데이터는 별도의 행에 포함됩니다. 결과에 공백이 있는 경우 일치하는 데이터가 없는 것입니다.

```
SELECT * FROM safety-rating
FULL OUTER JOIN widget
ON safety_rating.rating_id = widget.safety_rating_id

rating_id    safety_rating    widget_id   widget         safety_rating_id
1	        A+                2	WidgetB   	1
1	        A+                3	WidgetC   	1
2	        A                 4	WidgetD   	2
3	        A-                1	WidgetA   	3
4	        B+
5	        B                 6	WidgetF   	5
                                  5	WidgetE
                                  7	WidgetG
```

# Amazon Quick Sight에서 분석을 위한 데이터 필드 준비
<a name="preparing-data-fields"></a>

데이터 분석 및 시각화를 시작하기 전에 분석을 위해 데이터 세트에 있는 필드(열)를 준비할 수 있습니다. 필드 이름과 설명을 편집하고, 필드의 데이터 유형을 변경하고, 필드에 대한 드릴다운 계층을 설정하는 등의 작업을 수행할 수 있습니다.

다음 주제를 사용하여 데이터 세트의 필드를 준비하세요.

**Topics**
+ [필드 이름 및 설명 편집](changing-a-field-name.md)
+ [필드를 차원 또는 치수로 설정](setting-dimension-or-measure.md)
+ [필드 데이터 형식 변경](changing-a-field-data-type.md)
+ [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)
+ [필드 선택](selecting-fields.md)
+ [Amazon QuickSight에서 필드를 폴더로 구성](organizing-fields-folder.md)
+ [필드 매핑 및 조인](mapping-and-joining-fields.md)

# 필드 이름 및 설명 편집
<a name="changing-a-field-name"></a>

데이터 원본에서 제공된 필드 이름과 설명을 변경할 수 있습니다. 계산된 필드에 사용되는 필드의 이름을 변경하면 계산된 필드 함수에서도 해당 필드의 이름을 변경해야 합니다. 그렇지 않으면 함수가 실패한 것입니다.

**필드 이름 또는 설명을 변경하려면**

1. 데이터 준비 페이지의 **필드** 창에서 변경하려는 필드의 세 개의 점 아이콘을 선택합니다. 그런 다음 **이름 및 설명 편집**을 선택합니다.

1. 변경하려는 새 이름이나 설명을 입력하고 **적용**을 선택합니다.

데이터 준비 페이지에서 필드 이름과 설명을 변경할 수도 있습니다. 이렇게 하려면 페이지 하단에 있는 **데이터 세트** 테이블에서 변경하려는 필드의 열 머리글을 선택합니다. 그런 다음 거기서 원하는 대로 변경하세요.

# 필드를 차원 또는 치수로 설정
<a name="setting-dimension-or-measure"></a>

[**Field list**] 창에서 차원 필드는 파란색 아이콘으로, 치수 필드는 초록색 아이콘으로 표시됩니다. *차원*은 제품과 같은 항목 또는 치수와 관련된 속성일 수 있는 텍스트 또는 날짜 필드입니다 매출 수치에 대한 판매 날짜와 같이 차원을 사용하여 이러한 항목이나 속성을 분할할 수 있습니다. *Measures(치수)*는 측정, 비교 및 집계에 사용하는 숫자 값입니다.

경우에 따라 Quick Sight는 필드를 차원(또는 반대 방향)으로 사용하려는 측정값으로 해석합니다. 이러한 경우 해당 필드에 대한 설정을 변경할 수 있습니다.

필드의 치수 또는 차원 설정을 변경하면 분석에서 해당 데이터 세트를 사용하는 모든 시각적 객체의 설정이 변경됩니다. 하지만 데이터 세트 자체의 데이터 형식은 변경되지 않습니다.

## 필드의 차원 또는 치수 설정 변경
<a name="change-dimension-or-measure"></a>

필드의 차원 또는 치수 설정을 변경하려면 다음 절차에 따르세요.

**필드의 차원 또는 치수 설정을 변경하려면**

1. **필드 목록** 창에서 변경하려는 필드 위에 마우스 포인터를 올려 놓습니다.

1. 필드 이름의 오른쪽에 있는 선택기 아이콘을 선택한 다음 적절한 [**Convert to dimension**] 또는 [**Convert to measure**]를 선택합니다.

# 필드 데이터 형식 변경
<a name="changing-a-field-data-type"></a>

Quick Sight는 데이터를 검색할 때 필드의 데이터를 기반으로 각 필드에 데이터 유형을 할당합니다. 가능한 데이터 형식은 다음과 같습니다.
+ 날짜 - 날짜 데이터 형식은 지원되는 형식의 날짜 데이터에 사용됩니다. Quick Sight가 지원하는 날짜 형식에 대한 자세한 내용은 섹션을 참조하세요[데이터 소스 할당량](data-source-limits.md).
+ 10진수 - 10진수 데이터 형식은 소수점 자리 하나 이상이 정확해야 하는 숫자 데이터에 사용됩니다(예: 18.23). 10진수 데이터 형식에서는 소수점 오른쪽으로 소수 네 자리까지 있는 값을 지원합니다. 이보다 큰 값은 두 가지 경우에 소수점 네 번째 자리까지 잘립니다. 하나는 이러한 값이 데이터 준비 또는 분석에 표시되는 것이고 다른 하나는 이러한 값을 Quick Sight로 가져오는 것입니다. 예를 들어, 13.00049는 13.0004로 잘립니다.
+ 지리 공간 - 지리 공간 데이터 형식은 지리 공간 데이터(예: 경도 및 위도 또는 도시 및 국가)에 사용됩니다.
+ 정수 - 정수 데이터 형식은 정수만 포함된 숫자 데이터에 사용됩니다(예: 39).
+ 문자열 - 문자열 데이터 형식은 날짜가 아닌 영숫자 데이터에 사용됩니다.

Quick Sight는 열의 작은 행 샘플을 읽어 데이터 유형을 결정합니다. 작은 샘플 크기에서 가장 많이 나타나는 데이터 유형은 제안된 유형입니다. 경우에 따라 대부분 숫자가 포함된 열에 빈 값(Quick Sight에서 문자열로 처리)이 있을 수 있습니다. 이러한 경우 샘플 행 집합에서 문자열 데이터 형식이 가장 자주 사용되는 유형일 수 있습니다. 열의 데이터 유형을 수동으로 수정하여 정수로 만들 수 있습니다. 방법을 알아보려면 다음 절차에 따르세요.

## 데이터 준비 중 필드 데이터 유형 변경
<a name="changing-a-field-data-type-prep"></a>

데이터를 준비하는 동안 데이터 원본에서 모든 필드의 데이터 유형을 변경할 수 있습니다. **데이터 유형 변경** 메뉴에서 집계를 포함하지 않는 계산된 필드를 지리 공간 유형으로 변경할 수 있습니다. 계산된 필드의 표현식을 직접 수정하여 계산된 필드의 데이터 유형을 다르게 변경할 수 있습니다. Quick Sight는 선택한 데이터 유형에 따라 필드 데이터를 변환합니다. 데이터 형식과 호환되지 않는 데이터가 포함된 행은 건너뜁니다. 예를 들어 다음 필드의 데이터 형식을 String에서 Integer로 변환한 경우를 가정합니다.

```
10020
36803
14267a
98457
78216b
```

다음에 표시된 것과 같이 해당 필드에서 영숫자 문자가 포함된 모든 레코드는 건너뜁니다.

```
10020
36803
98457
```

Quick Sight에서 데이터 유형을 지원하지 않는 필드가 있는 데이터베이스 데이터 세트가 있는 경우 데이터 준비 중에 SQL 쿼리를 사용합니다. 그런 다음 `CAST` 또는 `CONVERT` 명령(원본 데이터베이스에서의 지원 여부에 따라 다름)을 사용하여 필드 데이터 형식을 변경합니다. 데이터 준비 중 SQL 쿼리 추가에 대한 자세한 내용은 [SQL을 사용하여 데이터 사용자 지정](adding-a-SQL-query.md) 단원을 참조하십시오. Quick Sight에서 다양한 소스 데이터 유형을 해석하는 방법에 대한 자세한 내용은 섹션을 참조하세요[외부 데이터 소스에서 지원되는 데이터 유형](supported-data-types-and-values.md#supported-data-types).

지표가 아닌 차원으로 취급되는 숫자 필드가 있을 수 있습니다(예: 우편 번호 및 대부분의 ID 번호). 이러한 경우 데이터 준비 중에 해당 필드에 문자열 데이터 형식을 지정하는 것이 좋습니다. 이렇게 하면 Quick Sight가 수학 계산을 수행하는 데 유용하지 않으며 `Count` 함수로만 집계할 수 있음을 이해할 수 있습니다. Quick Sight가 차원 및 치수를 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[필드를 차원 또는 치수로 설정](setting-dimension-or-measure.md).

[SPICE](spice.md)에서, 숫자에서 정수로 변환된 숫자는 기본적으로 잘립니다. 그 대신 숫자를 반올림하려면, [`round`](round-function.md) 함수를 사용하여 계산된 필드를 생성할 수 있습니다. 숫자가 SPICE로 수집되기 전에 반올림되는지 또는 잘리는지 알아보려면 데이터베이스 엔진을 확인합니다.

**데이터 준비 중에 필드 데이터 유형을 변경하려면**

1. Quick Sight 홈페이지에서 왼쪽의 **데이터를** 선택합니다. **데이터** 탭에서 원하는 데이터 세트를 선택한 다음 **데이터 세트 편집**을 선택합니다.

1. 데이터 미리 보기 창에서 변경할 필드 아래의 데이터 형식 아이콘을 선택합니다.

1. 대상 데이터 형식을 선택합니다. 현재 사용 중인 데이터 형식 이외의 데이터 형식만 나열됩니다.

## 분석에서 필드 데이터 유형 변경
<a name="changing-an-analysis-field-data-type"></a>

분석의 컨텍스트 안에서 **Field list** 창이나 시각적 객체 필드 모음 또는 시각적 객체 편집기를 사용하여 숫자로 된 필드 데이터 형식을 변경할 수 있습니다. 숫자 필드에는 기본적으로 숫자가 표시되지만, 그 대신 통화 또는 백분율이 표시되게 할 수도 있습니다. 문자열 또는 날짜 필드의 데이터 형식은 변경할 수 없습니다.

분석에서 필드의 데이터 형식을 변경하면 분석에서 해당 데이터 세트를 사용하는 모든 시각적 객체의 데이터 형식이 변경됩니다. 하지만 데이터 세트 자체의 데이터 형식은 변경되지 않습니다.

**참고**  
피벗 테이블 시각적 객체에서 작업하는 경우, 테이블 계산을 적용하면 일부 경우에 셀 값의 데이터 형식이 변경됩니다. 이러한 유형의 변경은 적용된 계산과 데이터 형식이 맞지 않는 경우에 발생합니다.  
예를 들어, 통화 데이터 형식을 사용하도록 수정한 숫자 필드에 `Rank` 함수를 적용한다고 가정합니다. 이 경우 셀 값은 통화 대신 숫자로 표시됩니다. 마찬가지로, 그 대신 `Percent difference` 함수를 적용하면 셀 값이 통화가 아니라 백분율로 표시됩니다.

**필드의 데이터 형식을 변경하려면**

1. 다음 옵션 중 하나를 선택하세요.
   + **필드 목록** 창에서 변경하려는 숫자 필드 위에 마우스 포인터를 올려 놓습니다. 그런 다음 필드 이름 오른쪽에 있는 선택기 아이콘을 선택합니다.
   + 변경하려는 숫자 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다.
   + **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.

1. **표시 형식**를 선택한 다음 **숫자**, **통화** 또는 **퍼센트**을 선택합니다.

# Quick Sight에서 시각적 데이터에 드릴다운 추가
<a name="adding-drill-downs"></a>

피벗 테이블을 제외한 모든 시각적 객체 유형은 시각적 요소에 대한 필드 계층 구조를 생성합니다. 이 계층 구조를 사용하여 여러 수준에서 데이터를 볼 수 있습니다. 예를 들어 국가, 주 및 도시 필드를 막대 차트의 X축과 연결할 수 있습니다. 그런 다음 드릴다운 또는 드릴업하여 각 수준에서 데이터를 볼 수 있습니다. 각 수준을 드릴다운하면 표시되는 데이터는 드릴다운한 필드 값을 기준으로 구체화됩니다. 예를 들어, 캘리포니아 주에서 드릴다운하면 캘리포니아에 있는 모든 도시에 대한 데이터를 볼 수 있습니다.

드릴다운을 생성하는 데 사용할 수 있는 필드 모음은 표시 유형에 따라 다릅니다. 드릴다운 지원에 대한 자세한 내용을 보려면 각 시각 유형에 대한 항목을 참조하십시오.

날짜 필드와 시각적 객체의 드릴다운 필드 모음을 연결한 경우 날짜에 대한 드릴다운 기능이 자동으로 추가됩니다. 이 경우 항상 날짜 단위 수준을 드릴업 및 드릴다운할 수 있습니다. 또한 데이터 세트에 지리 공간 그룹을 정의하면 지역 공간 그룹에 대해서도 드릴다운 기능이 자동으로 추가됩니다.

다음 표를 사용하면 각 시각적 객체 유형에 대해 드릴다운을 지원하는 필드 모음/시각적 객체 편집기를 식별할 수 있습니다.


****  

| 시각적 객체 유형 | 필드 모음 또는 시각적 객체 편집기 | 
| --- | --- | 
| 막대 차트(모두 가로) | Y축 및 그룹/색상 | 
| 막대 차트(모두 세로) | X축 및 그룹/색상 | 
| 콤보 차트(모두) | X축 및 그룹/색상 | 
| 지리 공간 차트 | 지리 공간 및 색상 | 
| 열 지도 | 행 및 열 | 
| KPI | 추세 그룹 | 
| 선 차트(모두) | X축 및 색상 | 
| 파이 차트 | 그룹/색상 | 
| 산점도 | 그룹/색상 | 
| 트리 맵 | 그룹화 기준 | 

**중요**  
테이블 또는 피벗 테이블에 대해서는 드릴다운이 지원되지 않습니다.

## 드릴다운 추가
<a name="add-drill-downs"></a>

시각적 객체에 드릴다운 수준을 추가하려면 다음 절차에 따르십시오.

**시각적 객체에 드릴다운 수준을 추가하려면**

1. 분석 페이지에서 드릴다운을 추가할 시각적 객체를 선택합니다.

1. 필드 항목을 **필드 모음**으로 드래그합니다.

1. 데이터 세트에 계층이 정의되어 있는 경우, 전체 계층을 필드 모음에 하나의 계층으로 끌어올 수 있습니다. 지리 공간 데이터 또는 좌표 데이터를 예로 들 수 있습니다. 이 경우 나머지 단계를 적용할 필요가 없습니다.

   사전에 정의된 계층이 없는 경우, 나머지 단계의 설명에 따라 분석을 위한 계층을 생성할 수 있습니다.

1. 시각적 객체 유형에 따라, 드릴다운 계층 구조로 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 끌어온 필드의 레이블에 **드릴다운 계층 추가**라고 적혀 있는지 확인합니다. 생성한 계층에서 원하는 위치를 기준으로 기존 필드 위나 아래에 끌어온 필드를 위치시킵니다.

1. 원하는 계층 구조의 레벨을 모두 추가할 때까지 계속합니다. (선택 사항) 계층 구조에서 필드를 제거하려면 필드를 선택하고 **제거**를 선택합니다.

1. 계층 구조의 여러 다른 레벨의 데이터를 확인하기 위해 드릴다운 또는 드릴업하려면, 시각적 객체의 요소(예: 선 또는 막대)를 선택한 다음 **<더 낮은 수준>으로 드릴다운** 또는 **<더 높은 수준>으로 드릴업**을 선택합니다. 이 예제에서는 `car-make` 수준에서 `car-model`로 드릴다운해서 해당 수준에서 데이터를 확인할 수 있습니다. **Ford** `car-make`에서 `car-model`로 드릴다운하면 Ford라는 자동차 메이커의 `car-model`만 볼 수 있습니다.

   `car-model` 수준으로 드릴다운 한 후 더 드릴다운을 해서 `make-year`를 보거나, `car-make`로 돌아갈 수 있습니다. **Ranger** 를 대표하는 막대에서 `make-year`로 드릴다운을 할 경우 Ranger라는 자동차 모델의 연식만 볼 수 있습니다.

# 필드 선택
<a name="selecting-fields"></a>

데이터를 준비할 때 하나 이상의 필드를 선택하여 필드 제외나 폴더에 필드 추가와 같은 작업을 수행할 수 있습니다.

데이터 준비 창에서 하나 이상의 필드를 선택하려면 왼쪽의 **필드** 창에서 필드를 클릭하거나 탭합니다. 그런 다음 필드 이름 오른쪽에 있는 필드 메뉴(점 세 개)를 선택하고 수행할 작업을 선택할 수 있습니다. 선택한 모든 필드에서 작업이 수행됩니다.

**필드** 창 상단에서 **모두** 또는 **없음**을 선택하여 한 번에 모든 필드를 선택하거나 선택 취소할 수 있습니다.

데이터 세트를 편집하고 시각적 객체에 사용되는 필드를 제외하면 시각적 객체가 손상됩니다. 다음 번에 분석을 열 때 이를 수정할 수 있습니다.

## 필드 검색하기
<a name="searching-for-a-field-data-prep"></a>

**필드** 창에 긴 필드 목록이 있는 경우 **필드 검색**에 검색어를 입력하여 특정 필드를 검색할 수 있습니다. 이름에 검색어가 포함된 모든 필드가 표시됩니다.

검색은 대/소문자를 구분하며 와일드카드는 사용할 수 없습니다. 검색 상자 오른쪽에 있는 취소 아이콘(**X**)을 선택하면 뒤로 돌아가 모든 필드가 표시됩니다.

# Amazon QuickSight에서 필드를 폴더로 구성
<a name="organizing-fields-folder"></a>

Quick Sight에서 데이터를 준비할 때 폴더를 사용하여 엔터프라이즈 전체에서 여러 작성자를 위한 필드를 구성할 수 있습니다. 필드를 폴더와 하위 폴더로 정렬하면 작성자가 데이터 세트에서 필드를 더 쉽게 찾고 이해할 수 있습니다.

데이터 세트를 준비하거나 데이터 세트를 편집할 때 폴더를 생성할 수 있습니다. 새 데이터 세트 생성 및 준비에 대한 자세한 내용은 [데이터 세트 생성](creating-data-sets.md) 단원을 참조하십시오. 데이터 준비를 위해 기존 데이터 세트를 여는 방법에 대한 자세한 내용은 [데이터 세트 편집](edit-a-data-set.md) 단원을 참조하십시오.

분석을 수행하는 동안 작성자는 폴더를 확장 및 축소하고, 폴더 내의 특정 필드를 검색하고, 폴더 메뉴에서 폴더에 대한 설명을 볼 수 있습니다. 폴더는 **필드** 창 상단에 알파벳 순으로 표시됩니다.

## 폴더 생성
<a name="organizing-fields-folder-create"></a>

**필드** 창에 새 폴더를 생성하려면 다음 절차에 따르세요.

**새 폴더를 생성하려면**

1. 데이터 준비 페이지의 **필드** 창에서 점 3개 아이콘을 선택하고 **폴더에 추가를** 선택합니다.

   한 번에 둘 이상의 필드를 선택하려면 Ctrl 키를 누른 상태에서(Mac의 경우 Command 키) 필드를 선택합니다.

1. 표시되는 **폴더에 추가** 페이지에서 **새 폴더 생성**을 선택하고 새 폴더의 이름을 입력합니다.

1. **적용**을 선택합니다.

선택한 필드가 포함된 폴더가 **필드** 창 상단에 표시됩니다. 폴더 내의 필드는 알파벳 순으로 정렬됩니다.

## 하위 폴더 생성
<a name="organizing-fields-folder-subfolder"></a>

**필드** 창에서 데이터 필드를 더 체계적으로 정리하려면 상위 폴더 내에 하위 폴더를 생성할 수 있습니다.

**하위 폴더를 생성하려면**

1. 데이터 준비 페이지의 **필드** 창에서 폴더에 이미 있는 필드의 필드 메뉴를 선택하고 **폴더로 이동**을 선택합니다.

1. 표시되는 **폴더로 이동** 페이지에서 **새 폴더 생성**을 선택하고 새 폴더의 이름을 입력합니다.

1. **적용**을 선택합니다.

하위 폴더는 필드 목록의 상단에 있는 상위 폴더에 표시됩니다. 하위 폴더는 알파벳 순으로 정렬됩니다.

## 기존 폴더에 필드 추가
<a name="organizing-fields-folder-add"></a>

**필드** 창의 기존 폴더에 필드를 추가하려면 다음 절차에 따르세요.

**폴더에 하나 이상의 필드를 추가하려면**

1. 데이터 준비 페이지의 **필드** 창에서 폴더에 추가할 필드를 선택합니다.

   한 번에 둘 이상의 필드를 선택하려면 Ctrl 키를 누른 상태에서(Mac의 경우 Command 키) 필드를 선택합니다.

1. 필드 메뉴에서 **폴더에 추가**를 선택합니다.

1. 표시되는 **폴더에 추가** 페이지에서 **기존 폴더**의 폴더를 선택합니다.

1. **적용**을 선택합니다.

하나 이상의 필드가 폴더에 추가됩니다.

## 폴더 간 필드 이동
<a name="organizing-fields-folder-move"></a>

**필드** 창에서 폴더 간에 필드를 이동하려면 다음 절차에 따르세요.

**폴더 간에 필드를 이동하려면**

1. 데이터 준비 페이지의 **필드** 창에서 다른 폴더로 이동하려는 필드를 선택합니다.

   한 번에 둘 이상의 필드를 선택하려면 Ctrl 키를 누른 상태에서(Mac의 경우 Command 키) 필드를 선택합니다.

1. 필드 메뉴에서 **폴더로 이동**을 선택합니다.

1. 표시되는 **폴더로 이동** 페이지에서 **기존 폴더**의 폴더를 선택합니다.

1. **적용**을 선택합니다.

## 폴더에서 필드 제거
<a name="organizing-fields-folder-remove"></a>

**필드** 창의 폴더에서 필드를 제거하려면 다음 절차에 따르세요. 폴더에서 필드를 제거해도 필드는 삭제되지 않습니다.

**폴더에서 필드를 제거하려면**

1. 데이터 준비 페이지의 **필드** 창에서 제거하려는 필드를 선택합니다.

1. 필드 메뉴에서 **폴더에서 제거**를 선택합니다.

선택한 필드가 폴더에서 제거되고 필드 목록에 알파벳 순으로 다시 배치됩니다.

## 폴더 이름 편집 및 폴더 설명 추가
<a name="organizing-fields-folder-edit"></a>

폴더 이름을 편집하거나 폴더 설명을 추가하여 폴더 내의 데이터 필드에 대한 컨텍스트를 제공할 수 있습니다. 폴더 이름은 **필드** 창에 표시됩니다. 분석을 수행하는 동안 작성자는 **필드** 창에서 폴더 메뉴를 선택하여 폴더의 설명을 읽을 수 있습니다.

**폴더 이름을 편집하거나 폴더 설명을 편집 또는 추가하려면**

1. 데이터 준비 페이지의 **필드** 창에서 편집하려는 폴더의 폴더 메뉴를 선택하고 **이름 및 설명 편집**을 선택합니다.

1. 표시되는 **폴더 편집** 페이지에서 다음을 수행합니다.
   + **이름**에 폴더 이름을 입력합니다.
   + **설명**에 폴더 설명을 입력합니다.

1. **적용**을 선택합니다.

## 폴더 이동
<a name="organizing-fields-folder-move-folder"></a>

**필드** 창에서 폴더와 하위 폴더를 새 폴더 또는 기존 폴더로 이동할 수 있습니다.

**폴더를 이동하려면**

1. 데이터 준비 페이지의 **필드** 창에서 폴더 메뉴에서 **폴더 이동**을 선택합니다.

1. 표시되는 **폴더 이동** 페이지에서 다음 중 하나를 수행합니다.
   + **새 폴더 생성**을 선택하고 폴더 이름을 입력합니다.
   + **기존 폴더**의 경우 폴더를 선택합니다.

1. **적용**을 선택합니다.

폴더는 **필드** 창에서 선택한 폴더 내에 표시됩니다.

## 필드 창에서 폴더 제거
<a name="organizing-fields-folder-delete"></a>

**필드** 창에서 폴더를 제거하려면 다음 절차에 따르세요.

**폴더를 제거하려면**

1. 데이터 준비 페이지의 **필드** 창에서 폴더 메뉴에서 **폴더 제거**를 선택합니다.

1. 표시되는 **폴더를 제거할까요?** 페이지에서 **제거**를 선택합니다.

폴더가 **필드** 창에서 제거됩니다. 폴더에 있던 모든 필드는 알파벳 순서로 필드 목록에 다시 배치됩니다. 폴더를 제거해도 보기에서 필드가 제외되거나 데이터 세트에서 필드가 삭제되지 않습니다.

# 필드 매핑 및 조인
<a name="mapping-and-joining-fields"></a>

Quick Sight에서 서로 다른 데이터 세트를 함께 사용하는 경우 데이터 준비 단계에서 필드를 매핑하거나 테이블을 조인하는 프로세스를 간소화할 수 있습니다. 필드에 올바른 데이터 형식과 적절한 필드 이름이 있는지 미리 확인해야 합니다. 그러나 함께 사용할 데이터 세트를 이미 알고 있는 경우, 나중에 작업을 더 쉽게 할 수 있도록 몇 가지 추가 단계를 수행할 수 있습니다.

## 필드 매핑
<a name="mapping-and-joining-fields-automatic"></a>

Quick Sight는 동일한 분석의 데이터 세트 간에 필드를 자동으로 매핑할 수 있습니다. 다음 팁은 예를 들어 데이터 세트 간에 필터 작업을 생성하는 경우 Quick Sight가 데이터 세트 간에 필드를 자동으로 매핑하는 데 도움이 될 수 있습니다.
+ 필드 이름 일치 - 필드 이름은 대/소문자, 간격 또는 구두점의 차이 없이 정확히 일치해야 합니다. 자동 매핑이 정확하게 수행되도록 동일한 데이터를 설명하는 필드의 이름을 바꿀 수 있습니다.
+ 데이터 형식 일치 - 필드를 자동으로 매핑하려면 데이터 형식이 서로 동일해야 합니다. 데이터를 준비하는 동안 데이터 형식을 변경할 수 있습니다. 또한 이 단계에서는 올바른 데이터 형식이 아닌 데이터를 필터링해야 하는지 여부를 확인할 수 있습니다.
+ 계산된 필드 사용 - 계산된 필드를 사용하여 일치하는 필드를 만들고 자동 매핑을 위한 올바른 이름과 데이터 형식을 지정할 수 있습니다.

**참고**  
자동 매핑이 수행된 후에는 필드 매핑을 중단하지 않고 필드의 이름을 바꿀 수 있습니다. 그러나 데이터 형식을 변경하면 매핑이 중단됩니다.

데이터 세트 간 필터 작업을 위한 필드 매핑에 대한 자세한 내용은 [Amazon Quick Sight에서 사용자 지정 작업 생성 및 편집](custom-actions.md) 단원을 참조하십시오.

## 필드 조인
<a name="mapping-and-joining-fields-manual"></a>

파일 또는 데이터베이스를 포함하여 서로 다른 데이터 원본의 데이터 간에 조인을 생성할 수 있습니다. 다음 팁을 사용하면 서로 다른 파일이나 데이터 원본의 데이터를 더 쉽게 조인할 수 있습니다.
+ 비슷한 필드 이름 - 일치해야 할 항목을 볼 수 있으면 필드를 더 간단히 조인할 수 있습니다. 예를 들어 **주문 ID**와 **주문-id**는 동일한 항목을 나타내는 것일 수 있습니다. 그러나 하나가 작업 주문이고 다른 하나가 구매 주문인 경우 필드의 데이터는 아마도 다를 것입니다. 가능한 경우 조인하려는 파일 및 테이블에는 포함된 데이터를 명확하게 나타내는 필드 이름이 있어야 합니다.
+ 데이터 형식 일치 - 필드를 조인하려면 데이터 형식이 서로 동일해야 합니다. 조인하려는 파일과 테이블이 조인 필드에서 데이터 형식이 일치하는지 확인합니다. 계산된 필드를 조인에 사용할 수 없습니다. 또한 기존 데이터 세트 두 개를 조인할 수 없습니다. 원본 데이터에 직접 액세스하여 조인된 데이터 세트를 생성합니다.

데이터 원본에서 데이터를 조인하는 방법에 대한 자세한 내용은 [데이터 조인](joining-data.md) 단원을 참조하십시오.

# Amazon Quick Sight에서 데이터 필터링
<a name="adding-a-filter"></a>

필터를 사용하여 데이터 세트 또는 분석의 데이터를 구체화할 수 있습니다. 예를 들어 데이터 세트에서 특정 리전의 데이터를 제외하는 리전 필드에 필터를 생성할 수 있습니다. 분석의 모든 시각적 객체에 포함하려는 날짜 범위에 대한 필터와 같은 필터를 분석에 추가할 수도 있습니다.

데이터 세트에 필터를 만들면 해당 필터가 전체 데이터 세트에 적용됩니다. 해당 데이터 세트에서 생성된 분석 및 후속 대시보드에는 필터가 포함됩니다. 누군가 데이터 세트에서 데이터 세트를 만들면 필터는 새 데이터 세트에도 포함됩니다.

분석에서 필터를 만들면 해당 필터는 해당 분석과 해당 분석에서 게시한 모든 대시보드에만 적용됩니다. 분석을 복제하는 사람이 있는 경우 필터는 새 분석에서 계속 유지됩니다. 분석에서 단일 비주얼이나 일부 시각적 객체나 이 데이터 세트를 사용하는 모든 시각적 객체나 해당하는 모든 시각적 객체로 필터 범위를 지정할 수 있습니다.

또한 분석에서 필터를 만들 때 대시보드에 필터 컨트롤을 추가할 수 있습니다. 필터 제어에 대한 자세한 내용은 [분석 시트에 필터 컨트롤 추가](filter-controls.md)을(를) 참조하십시오.

생성한 각 필터는 필드 하나에만 적용됩니다. 일반 필드 및 계산된 필드 모두 필터를 적용할 수 있습니다.

데이터 세트 및 분석에 추가할 수 있는 필터 유형에는 여러 가지가 있습니다. 추가할 수 있는 필터 유형 및 일부 옵션에 대한 자세한 내용은 [Amazon Quick의 필터 유형](filtering-types.md)을(를) 참조하십시오.

여러 필터를 생성할 경우 AND를 사용하면 모든 최상위 필터가 동시에 적용됩니다. 최상위 필터 내부에 추가하여 필터를 그룹화할 경우 OR을 사용하면 해당 그룹의 필터가 적용됩니다.

Amazon Quick Sight는 활성화된 모든 필터를 필드에 적용합니다. 예를 들어, `state = WA`의 필터 하나와 `sales >= 500`의 다른 필터 하나가 있다고 가정합니다. 데이터 세트 또는 분석에는 해당 기준을 모두 충족하는 레코드만 포함됩니다. 이 중 하나를 비활성화할 경우 한 필터만 적용됩니다.

동일한 필드에 적용된 여러 필터가 상호 배타적이지 않도록 주의합니다.

다음 섹션을 사용하여 필터를 보고, 추가하고, 수정하고, 삭제하는 방법을 알아보십시오.

**Topics**
+ [기존 필터 보기](viewing-filters-data-prep.md)
+ [필터 추가](add-a-filter-data-prep.md)
+ [교차 시트 필터 및 제어](cross-sheet-filters.md)
+ [Amazon Quick의 필터 유형](filtering-types.md)
+ [분석 시트에 필터 컨트롤 추가](filter-controls.md)
+ [필터 편집](edit-a-filter-data-prep.md)
+ [필터 활성화 또는 비활성화](disable-a-filter-data-prep.md)
+ [필터 삭제](delete-a-filter-data-prep.md)

# 기존 필터 보기
<a name="viewing-filters-data-prep"></a>

데이터 세트를 편집하거나 분석을 열면 생성된 기존 필터를 모두 볼 수 있습니다. 방법을 알아보려면 다음 절차에 따르세요.

## 데이터 세트에서 필터 보기
<a name="viewing-filters-data-prep-datasets"></a>

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터 세트** 탭에서 원하는 데이터 세트를 선택한 다음 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 준비 페이지에서 왼쪽 하단의 **필터**를 선택하여 **필터** 섹션을 확장합니다.

   데이터 세트에 적용된 필터가 여기에 표시됩니다. 필드 하나에 필터가 여러 개인 경우, 필터를 그룹화합니다. 필터는 생성 날짜 순으로 표시되며 가장 오래된 필터가 맨 위에 옵니다.

## 분석에서 필터 보기
<a name="viewing-filters-data-prep-analyses"></a>

분석에서 필터를 보려면 다음 절차를 따르십시오.

**분석에서 필터를 보기**

1. 빠른 홈페이지에서 **분석을** 선택합니다.

1. **분석** 페이지에서 사용할 분석을 선택합니다.

1. 분석에서 **필터** 아이콘을 선택하여 **필터** 창을 엽니다.

   분석에 적용된 필터가 여기에 표시됩니다.

   필터의 범위가 지정되는 방식은 각 필터의 하단에 나열되어 있습니다. 필터 범위 지정에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

# 필터 추가
<a name="add-a-filter-data-prep"></a>

데이터 세트 또는 분석에 필드를 추가할 수 있습니다. 방법을 알아보려면 다음 절차에 따르세요.

## 데이터 세트에 필터 추가
<a name="add-a-filter-data-prep-datasets"></a>

데이터 세트에 필터를 추가하려면 다음 절차를 따르세요.

**데이터 세트에 필터를 추가하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터 세트** 탭에서 원하는 데이터 세트를 선택한 다음 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 준비 페이지에서 왼쪽 하단의 **필터 추가**를 선택한 다음 필터링할 필드를 선택합니다.

   필터가 **필터** 창에 추가됩니다.

1. 창에서 새 필터를 선택하여 필터를 구성합니다. 또는 새 필터 오른쪽에 있는 세 개의 점을 선택하고 **편집**을 선택할 수 있습니다.

   필드의 데이터 유형에 따라 필터 구성 옵션이 다릅니다. 생성할 수 있는 필터 유형 및 구성에 대한 자세한 내용은 [Amazon Quick의 필터 유형](filtering-types.md)을(를) 참조하십시오.

1. 완료되면 **적용**을 선택합니다.
**참고**  
데이터 미리 보기에는 결합된 필터의 결과가 처음 1,000개 행에 적용되는 경우에만 표시됩니다. 처음 1,000개의 행이 모두 필터링되면 미리 보기에 행이 표시되지 않습니다. 처음 1,000개 이후의 행이 필터링되지 않은 경우에도 이 효과가 발생합니다.

## 분석에 필터 추가
<a name="add-a-filter-data-prep-analyses"></a>

다음 절차에 따라 분석에 필터를 추가합니다.

**분석에 필터 추가하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 **분석을** 선택합니다.

1. **분석** 페이지에서 사용할 분석을 선택합니다.

1. 분석에서 **필터** 아이콘을 선택하여 **필터** 창을 연 다음 **추가**를 선택합니다.

1. 창에서 새 필터를 선택하여 구성합니다. 또는 새 필터 오른쪽에 있는 세 개의 점을 선택하고 **편집**을 선택할 수 있습니다.

1. 표시되는 **필터 편집** 창에서 **적용 대상**에 대해 다음 옵션 중 하나를 선택합니다.
   + **단일 시각적 객체** - 필터가 선택한 항목에만 적용됩니다.
   + **단일 시트** - 필터가 단일 시트에 적용됩니다.
   + **교차 시트** - 필터가 데이터세트의 여러 시트에 적용됩니다.

   필드의 데이터 유형에 따라 필터 구성을 위한 나머지 옵션이 달라집니다. 생성할 수 있는 필터 유형 및 구성에 대한 자세한 내용은 [Amazon Quick의 필터 유형](filtering-types.md)을(를) 참조하십시오.

# 교차 시트 필터 및 제어
<a name="cross-sheet-filters"></a>

교차 시트 필터 및 제어는 전체 분석 또는 대시보드나 분석 및 대시보드 내의 여러 시트로 범위가 지정된 필터입니다.

## 필터
<a name="filters"></a>

**교차 시트 필터 생성**

1. [필터가 추가](https://docs.aws.amazon.com/quicksight/latest/user/add-a-filter-data-prep.html#add-a-filter-data-prep-analyses)된 후에는 필터 범위를 교차 시트로 업데이트합니다. 기본적으로 이는 분석의 모든 시트에 적용됩니다.

1. **교차 데이터세트 적용** 확인란을 선택하면 필터 범위의 모든 시트에 적용할 수 있는 최대 100개의 서로 다른 데이터세트의 모든 시각적 객체에 필터가 적용됩니다.

1. 적용되는 시트를 사용자 지정하려면 교차 시트 아이콘을 선택합니다. 그런 다음 필터가 현재 적용되는 시트를 보거나 사용자 지정 선택 시트를 전환할 수 있습니다.

1. **사용자 지정 선택 시트를** 활성화하면 필터를 적용할 시트를 선택할 수 있습니다.

1. [분석에서 필터 편집](https://docs.aws.amazon.com/quicksight/latest/user/edit-a-filter-data-prep.html#edit-a-filter-data-prep-analyses)의 단계를 따릅니다. 변경 사항은 선택한 모든 시트의 모든 필터에 적용됩니다. 여기에는 필터가 전체 분석의 범위에 포함되는 경우 새로 추가된 시트가 포함됩니다.

**교차 시트 필터 제거**

**삭제 중**

이러한 필터에서 생성된 제어가 없는 경우 [분석에서 필터 삭제](https://docs.aws.amazon.com/quicksight/latest/user/delete-a-filter-data-prep.html#delete-a-filter-data-prep-analyses)를 참조하세요.

제어가 생성되면 다음을 수행합니다.

****

1. [분석에서 필터 삭제](https://docs.aws.amazon.com/quicksight/latest/user/delete-a-filter-data-prep.html#delete-a-filter-data-prep-analyses)의 지침을 따릅니다.

1. **필터 및 제어 삭제**를 선택하면 모든 페이지에서 제어가 삭제됩니다. 이는 분석 레이아웃에 영향을 미칠 수 있습니다. 또는 이러한 제어를 개별적으로 제거할 수 있습니다.

**범위 축소**

교차 시트 필터를 제거하기 위해 필터 범위를 변경하여 이 작업을 수행할 수도 있습니다.

****

1. [분석에서 필터 편집](https://docs.aws.amazon.com/quicksight/latest/user/edit-a-filter-data-prep.html#edit-a-filter-data-prep-analyses)의 지침에 따라 필터로 이동합니다.

1. 편집 가능한 항목 중 하나는 범위 변경입니다. **단일 시트** 또는 **단일 시각적 객체**로 전환할 수 있습니다. 교차 시트 선택에서 시트를 제거할 수도 있습니다.

   또는 사용자 지정 시트 선택:  
![\[Quick Sight의 필터 삭제 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/cross-sheet-7.png)

1. 컨트롤이 있는 경우 필터가 더 이상 적용되지 않고 레이아웃에 영향을 미칠 수 있는 시트에서 컨트롤을 대량 제거할 것임을 경고하는 모달이 표시됩니다. 제어를 개별적으로 제거할 수도 있습니다. 자세한 내용은 [교차 시트 제어 제거](#cross-sheet-removing-control) 단원을 참조하십시오.

1. **필터 범위의 모든 시트 상단**에 제어를 추가하면 필터가 전체 분석으로 범위가 지정되는 경우 기본적으로 이 새 제어와 함께 새 시트가 추가됩니다.

## 제어
<a name="cross-sheet-controls"></a>

### 교차 시트 제어 생성
<a name="cross-sheet-controls-creating-control"></a>

**새 필터 제어**

1. 교차 시트 필터를 생성합니다. 자세한 내용은 [필터](#filters) 단원을 참조하십시오.

1. 점 3개 메뉴에서 **제어 추가** 옵션을 볼 수 있습니다. 이 위로 마우스를 가져가면 다음의 세 가지 옵션이 표시됩니다.
   + **필터 범위의 모든 시트 상단**
   + **이 시트의 상단**
   + **이 시트 내부**

   시트 자체 내에서 여러 시트에 추가하려면 해당 시트별로 수행할 수 있습니다. 또는 상단에 추가한 다음 각 제어의 옵션을 사용하여 **시트로 이동**할 수 있습니다. 자세한 내용은 [교차 시트 제어 편집](#cross-sheet-controls-editing-control) 단원을 참조하십시오.

**기존 제어 범위 증가**

1. 분석에서 기존 필터로 이동합니다.

1. 이 필터가 **교차 시트**에 **적용**되는 시트의 범위를 변경합니다.

1. 필터에서 생성된 컨트롤이 이미 있는 경우 모달이 표시됩니다. 확인란을 선택하면 필터 범위의 모든 시트 상단에 컨트롤이 일괄 추가됩니다. 시트에 있는 경우 이미 생성된 컨트롤의 위치에는 영향을 주지 않습니다.

### 교차 시트 제어 편집
<a name="cross-sheet-controls-editing-control"></a>

1. 교차 시트 제어로 이동하여 제어가 상단에 고정되어 있는 경우 점 3개 메뉴를 선택하고 제어가 시트에 있는 경우 연필 편집 아이콘을 선택합니다. 다음 옵션이 표시됩니다.
   + **필터로 이동**(편집 또는 검토할 수 있도록 교차 시트 필터로 이동)
   + **시트로 이동**(제어를 분석 창으로 이동)
   + **Reset** 
   + **새로 고침** 
   + **Edit** 
   + **Remove** 

1. **편집**을 선택합니다. 그러면 분석 오른쪽에 **형식 제어** 창이 표시됩니다.

1. 그런 다음 제어를 편집할 수 있습니다. **교차 시트 설정**으로 레이블이 지정된 상단 섹션은 모든 제어에 적용되는 반면, 이 섹션 외부의 모든 설정은 모든 제어에 적용되지 않으며 편집 중인 특정 제어에만 적용됩니다. 예를 들어 **관련 값**은 교차 시트 제어 설정이 아닙니다.

1. 또한 이 제어가 켜져 있는 시트와 각 시트에 대해 제어가 켜져 있는 위치(상단 또는 시트)를 볼 수 있습니다. **Sheets(8)**를 선택하여이 작업을 수행할 수 있습니다.

### 교차 시트 제어 제거
<a name="cross-sheet-removing-control"></a>

두 곳에서 제어를 제거할 수 있습니다. 첫 번째, 제어에서 다음을 수행합니다.

1. 교차 시트 제어로 이동하여 제어가 상단에 고정되어 있는 경우 점 3개 메뉴를 선택하고 제어가 시트에 있는 경우 연필 편집 아이콘을 선택합니다. 다음 옵션이 표시됩니다.
   + **필터로 이동**(편집 또는 검토할 수 있도록 교차 시트 필터로 이동)
   + **시트로 이동**(제어를 분석 창으로 이동)
   + **Reset** 
   + **새로 고침** 
   + **Edit** 
   + **Remove** 

1. **제거**를 선택합니다.

두 번째, 필터에서 제어를 제거할 수 있습니다.

1. 교차 시트 제어가 생성되는 교차 시트 필터에서 점 3개 메뉴를 선택합니다. 이제 **제어 추가** 옵션 대신 **제어 관리** 옵션이 있음을 확인할 수 있습니다.

1. **제어 관리** 위로 마우스를 가져갑니다. 다음 옵션이 표시됩니다.
   + **이 시트 내부에서 이동** 
   + **이 시트의 상단**

   이러한 옵션은 현재 제어의 위치에 따라 시트의 제어에만 적용됩니다. 필터 범위 내의 모든 시트에 대한 제어가 없는 경우 **필터 범위의 모든 시트 상단에 추가** 옵션이 표시됩니다. 분석 시 시트에 이미 추가한 경우 시트 제어가 시트 상단으로 이동하지 않습니다. 또한 **이 시트에서 제거** 또는 **모든 시트에서 제거** 옵션이 표시됩니다.

# Amazon Quick의 필터 유형
<a name="filtering-types"></a>

Quick에서 여러 유형의 필터를 생성할 수 있습니다. 생성하는 필터 유형은 대부분 필터링하려는 필드의 데이터 유형에 따라 달라집니다.

데이터 세트에서 다음과 같은 유형의 필터를 만들 수 있습니다.
+ 텍스트 필터
+ 숫자 필터
+ 날짜 필터

분석에서는 데이터 세트에서 만들 수 있는 것과 동일한 유형의 필터를 만들 수 있습니다. 다음 사항을 생성할 수도 있습니다.
+ 및/또는 연산자를 사용하여 필터 그룹화
+ 계단식 필터
+ 중첩 필터

만들 수 있는 각 필터 유형과 일부 옵션에 대해 자세히 알아보려면 다음 섹션을 참조하십시오.

**Topics**
+ [텍스트 필터 추가](add-a-text-filter-data-prep.md)
+ [중첩 필터 추가](add-a-nested-filter-data-prep.md)
+ [숫자 필터 추가](add-a-numeric-filter-data-prep.md)
+ [날짜 필터 추가](add-a-date-filter2.md)
+ [AND 및 OR 연산자를 사용하여 필터 조건 (그룹 필터) 추가](add-a-compound-filter.md)
+ [계단식 필터 생성](use-a-cascading-filter.md)

# 텍스트 필터 추가
<a name="add-a-text-filter-data-prep"></a>

텍스트 필드를 사용하여 필터를 추가하면 다음과 같은 유형의 텍스트 필터를 생성할 수 있습니다.
+ **필터 목록**(분석만 해당) - 이 옵션은 필드의 사용 가능한 모든 값에 포함하거나 제외할 하나 이상의 필드 값을 선택하는 데 사용할 수 있는 필터를 만듭니다. 이 유형의 텍스트 필터 생성에 대한 자세한 내용은 [목록을 기준으로 텍스트 필드 값 필터링(분석만 해당)](#text-filter-list)을(를) 참조하십시오.
+ **사용자 지정 필터 목록** - 이 옵션을 사용하여 필터링할 필드 값을 하나 이상 지정하거나 해당 값이 포함된 레코드를 포함 또는 제외할지 입력할 수 있습니다. 필터가 특정 레코드에 적용되려면 입력한 값이 실제 필드 값과 정확히 일치해야 합니다. 이 유형의 텍스트 필터 생성에 대한 자세한 내용은 [사용자 지정 목록을 기준으로 텍스트 필드 값 필터링](#add-text-custom-filter-list-data-prep)을(를) 참조하십시오.
+ **사용자 지정 필터** - 이 옵션을 사용하면 필드 값이 어떤 식으로든 일치해야 하는 단일 값을 입력합니다. 필드 값이 같거나, 같지 않거나, 지정한 값으로 시작하거나, 포함하거나, 포함하지 않도록 지정할 수 있습니다. 같음 비교를 선택한 경우 지정한 레코드에 필터를 적용하려면 지정된 값과 실제 필드 값이 정확하게 일치해야 합니다. 이 유형의 텍스트 필터 생성에 대한 자세한 내용은 [단일 텍스트 필드 값 필터링](#add-text-filter-custom-list-data-prep)을(를) 참조하십시오.
+ **상위 및 하위 필터**(분석에만 해당) - 이 옵션을 사용해 다른 필드의 값을 기준으로 한 필드의 사위 또는 하위 n 값을 표시할 수 있습니다. 예를 들어 매출을 기준으로 실적이 가장 좋은 영업 사원 5명이 표시될 수 있습니다. 또한 파라미터를 사용해 대시보드 사용자가 표시할 상위 또는 하위 순위 값의 수를 동적으로 선택하도록 할 수 있습니다. 상단 및 하단 필터를 만드는 방법에 대한 자세한 내용은 [상단 또는 하단 값을 기준으로 텍스트 필드 필터링(분석만 해당)](#add-text-filter-top-and-bottom)을(를) 참조하십시오.

## 목록을 기준으로 텍스트 필드 값 필터링(분석만 해당)
<a name="text-filter-list"></a>

분석에서 필드의 모든 값 목록에 포함하거나 제외할 값을 선택하여 텍스트 필드를 필터링할 수 있습니다.

**값을 포함하거나 제외하여 텍스트 필드를 필터링하기**

1. 텍스트 필드를 사용하여 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. **필터 유형**에서 **필터 목록**을 선택합니다.

1. **필터 조건**에서 **포함** 또는 **제외**를 선택합니다.

1. 필터링하려는 필드 값을 선택합니다. 이렇게 하려면 각 값 앞에 있는 확인란을 선택하세요.

   선택할 값이 너무 많으면 체크리스트 위의 상자에 검색어를 입력하고 **검색**을 선택합니다. 검색어는 대/소문자를 구분하며 와일드카드는 사용할 수 없습니다. 검색어가 포함된 모든 필드 값이 반환됩니다. 예를 들어 L을 검색하면 al, AL, la, LA가 반환됩니다.

   1,000개 이상의 개별 값이 없는 한 값은 컨트롤에서 영문자 순으로 표시됩니다. 그런 다음 컨트롤에 검색 상자가 대신 표시됩니다. 사용할 값을 검색할 때마다 새 쿼리가 시작됩니다. 결과에 1,000개 이상의 값이 포함된 경우 페이지 매김으로 값을 스크롤할 수 있습니다.

1. 완료되면 **적용**을 선택합니다.

## 사용자 지정 목록을 기준으로 텍스트 필드 값 필터링
<a name="add-text-custom-filter-list-data-prep"></a>

필터링할 하나 이상의 필드 값을 지정하고 해당 값이 포함된 레코드를 포함할지 또는 제외할지 지정할 수 있습니다. 지정한 레코드에 필터를 적용하려면 지정된 값과 실제 필드 값이 정확하게 일치해야 합니다.

**사용자 지정 목록을 기준으로 텍스트 필드 값을 필터링하기**

1. 텍스트 필드를 사용하여 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. **필터 유형**에 대해 **필터 목록 사용자 지정**을 선택합니다.

1. **필터 조건**에서 **포함** 또는 **제외**를 선택합니다.

1. **목록**의 경우 텍스트 상자에 값을 입력합니다. 값은 기존 필드 값과 정확히 일치해야 합니다.

1. (선택 사항) 값을 더 추가하려면 텍스트 상자에 한 줄에 하나씩 값을 입력합니다.

1. **Null 옵션**의 경우 **Null 제외**, **Null 포함** 또는 **Null만** 선택합니다.

1. 완료되면 **적용**을 선택합니다.

## 단일 텍스트 필드 값 필터링
<a name="add-text-filter-custom-list-data-prep"></a>

**사용자 지정 필터** 필터 유형을 사용하면 필드 값이 같거나 같지 않아야 하거나 부분적으로 일치해야 하는 단일 값을 지정합니다. 같음 비교를 선택한 경우 지정한 레코드에 필터를 적용하려면 지정된 값과 실제 필드 값이 정확하게 일치해야 합니다.

**단일 값으로 텍스트 필드를 필터링하기**

1. 텍스트 필드를 사용하여 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. **필터 유형**에 대해 **필터 사용자 지정**을 선택합니다.

1. **필터 조건**의 경우 다음 중 하나를 선택합니다.
   + **같음** - 이 옵션을 선택하면 필드에 포함되거나 제외되는 값이 입력한 값과 정확히 일치해야 합니다.
   + **동일하지 않음** - 이 옵션을 선택할 경우 필드에 포함되거나 제외된 값이 입력한 값과 정확히 일치해야 합니다.
   + **시작 대상** - 이 옵션을 선택할 때 필드에 포함되거나 제외되는 값은 입력한 값으로 시작해야 합니다.
   + **끝점** - 이 옵션을 선택할 때 필드에 포함되거나 제외되는 값은 입력한 값으로 시작해야 합니다.
   + **포함** - 이 옵션을 선택할 경우 필드에 포함되거나 제외되는 값에는 입력한 전체 값이 포함되어야 합니다.
   + **포함하지 않음** - 이 옵션을 선택할 경우 필드에 포함되거나 제외되는 값에는 입력한 값의 일부가 포함되지 않아야 합니다.
**참고**  
비교 유형은 대/소문자를 구분합니다.

1. 다음 중 하나를 수행하세요.
   + **값**에 리터럴 값을 입력합니다.
   + 기존 파라미터를 사용하려면 **파라미터 사용**을 선택한 후 목록에서 파라미터를 선택합니다.

     먼저 파라미터를 만들어야 이 목록에 표시됩니다. 대개 파라미터를 만들고 컨트롤을 추가한 후 필터를 추가합니다. 자세한 내용은 [Amazon Quick의 파라미터](parameters-in-quicksight.md) 단원을 참조하십시오.

     1,000개 이상의 개별 값이 없는 한 값은 컨트롤에서 영문자 순으로 표시됩니다. 그런 다음 컨트롤에 검색 상자가 대신 표시됩니다. 사용할 값을 검색할 때마다 새 쿼리가 시작됩니다. 결과에 1,000개 이상의 값이 포함된 경우 페이지 매김으로 값을 스크롤할 수 있습니다.

1. **Null 옵션**의 경우 **Null 제외**, **Null 포함** 또는 **Null만** 선택합니다.

1. 완료되면 **적용**을 선택합니다.

## 상단 또는 하단 값을 기준으로 텍스트 필드 필터링(분석만 해당)
<a name="add-text-filter-top-and-bottom"></a>

**Top and bottom filter(상위 및 하위 필터)**를 사용해 다른 필드의 값을 기준으로 한 필드의 사위 또는 하위 *n* 값을 표시할 수 있습니다. 예를 들어 매출을 기준으로 실적이 가장 좋은 영업 사원 5명이 표시될 수 있습니다. 또한 파라미터를 사용해 대시보드 사용자가 표시할 상위 또는 하위 순위 값의 수를 동적으로 선택하도록 할 수 있습니다.

**상단 및 하단 텍스트 필터 생성하기**

1. 텍스트 필드를 사용하여 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. **필터 유형**에서 **상위 및 하위 필터**를 선택합니다.

1. **상위** 또는 **하위**를 선택합니다.

1. **상단 보기** 정수(또는 **하단 보기** 정수)에서 다음 중 하나를 수행합니다.
   + 표시할 상위 또는 하위 항목의 수를 입력합니다.
   + 상위 또는 하위 항목의 수를 표시하는 데 파라미터를 사용하려면 **파라미터 사용**을 선택합니다. 그런 다음 기존 정수 파라미터를 선택합니다.

     예를 들어 상위 3명의 영업 사원을 기본적으로 표시하고 싶다고 가정해 보겠습니다. 하지만 대시보드 뷰어가 1\$110명의 상위 영업 사원을 표시할지 여부를 선택할 수 있도록 하려는 경우가 있습니다. 이 경우 다음과 같은 작업을 수행합니다.
     + 기본 값과 함께 정수 파라미터를 생성합니다.
     + 파라미터 컨트롤에 표시되는 항목 수를 연결하도록 정수 파라미터에 대한 컨트롤을 생성합니다. 그런 다음, 컨트롤을 단계 크기가 1인 슬라이더로 만듭니다(최대 값은 10, 최소 값은 1).
     + 컨트롤을 작동키려면 `Weighted Revenue`에 따라 `Salesperson`에서 상위 및 하위 필터를 생성하여 필터에 컨트롤을 연결하고 **파라미터 사용**을 활성화한 다음 정수 파라미터를 선택합니다.

1. **기준**에서 기준으로 삼을 필드를 선택합니다. 매출을 기준으로 실적이 가장 좋은 영업 사원 5명을 표시하고 싶다면 매출 필드를 선택합니다. 필드에서 수행하고 싶은 집계를 설정할 수도 있습니다.

1. (선택 사항) **타이 브레이커**를 선택한 다음 다른 필드를 선택하여 하나 이상의 집계를 타이 브레이커로 추가합니다. 이 예제에서 수익당 상위 5명의 영업 사원에 대해 반환된 결과가 5개 이상인 경우에 유용합니다. 여러 명의 영업 사원이 같은 매출액을 기록하는 경우 이러한 상황이 발생할 수 있습니다.

   타이 브레이커를 제거하려면 삭제 아이콘을 이용합니다.

1. 완료되면 **적용**을 선택합니다.

# 중첩 필터 추가
<a name="add-a-nested-filter-data-prep"></a>

중첩 필터는 빠른 분석에 추가할 수 있는 고급 필터입니다. 중첩 필터는 동일한 데이터세트의 다른 필드에 의해 정의된 데이터 하위 집합을 사용하여 필드를 필터링합니다. 이를 통해 작성자는 데이터 포인트가 초기 조건을 충족하지 않는 경우 데이터를 필터링할 필요 없이 추가 컨텍스트 데이터를 표시할 수 있습니다.

중첩 필터는 SQL 또는 시장 바구니 분석의 상관 하위 쿼리와 유사하게 작동합니다. 예를 들어 판매 데이터에 대한 시장 바구니 분석을 수행하려고 한다고 가정해 보겠습니다. 중첩 필터를 사용하여 특정 제품을 구매했거나 구매하지 않은 고객의 제품별 판매량을 찾을 수 있습니다. 중첩 필터를 사용하여 선택한 제품을 구매하지 않았거나 특정 제품 목록만 구매한 고객 그룹을 식별할 수도 있습니다.

중첩 필터는 분석 수준에서만 추가할 수 있습니다. 중첩 필터는 데이터세트에 추가할 수 없습니다.

아래 절차에 따라 빠른 분석에 중첩 필터를 추가합니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. **분석**을 선택한 다음 중첩 필터를 추가할 분석을 선택합니다.

1. 필터링하려는 텍스트 필드에 새 필터를 생성합니다. 필터 생성에 대한 자세한 정보는 [분석에 필터 추가](add-a-filter-data-prep.md#add-a-filter-data-prep-analyses) 섹션을 참조하세요.

1. 새 필터를 생성한 후 **필터** 창에서 새 필터를 찾습니다. 새 필터 옆의 줄임표(…)를 선택한 다음 **필터 편집**을 선택합니다. 또는 **필터** 창에서 필터 항목을 선택하여 **필터 편집** 창을 엽니다.

1. **필터 편집** 창이 열립니다. **필터 유형** 드롭다운 메뉴를 열고 **고급 필터** 섹션으로 이동한 다음 **중첩 필터**를 선택합니다.

1. **필터 조건**에서 **포함** 또는 **제외**를 선택합니다. *자격 조건*을 사용하면 분석의 데이터에 설정에 없음 쿼리를 실행할 수 있습니다. 위의 판매 예제에서 자격 조건은 필터가 특정 제품을 구매한 고객 목록 또는 제품을 구매하지 않은 고객 목록을 반환하는지 여부를 결정합니다.

1. **중첩 필드**에서 데이터를 필터링하려는 텍스트 필드를 선택합니다. 중첩 필드는 3단계에서 선택한 기본 필드와 같을 수 없습니다. 범주 필드는 내부 필터에 대해 지원되는 유일한 필드 유형입니다.

1. **중첩 필터 유형**에서 원하는 필터 유형을 선택합니다. 선택한 필터 유형에 따라 중첩 필터의 최종 구성 단계가 결정됩니다. 사용 가능한 필터 유형 및 구성에 대한 정보는 아래 목록에서 확인할 수 있습니다.
   + [필터 목록](https://docs.aws.amazon.com/quicksuite/latest/userguide/text-filter-list)
   + [사용자 지정 필터 목록](https://docs.aws.amazon.com/quicksuite/latest/userguide/add-text-custom-filter-list-data-prep)
   + [사용자 지정 필터](https://docs.aws.amazon.com/quicksuite/latest/userguide/add-text-filter-custom-list-data-prep)

# 숫자 필터 추가
<a name="add-a-numeric-filter-data-prep"></a>

10진수 또는 int 데이터 형식의 필드를 숫자 필드라고 합니다. 비교 유형(예: [**Greater than**] 또는 [**Between**])과 비교 유형에 적절한 비교 값을 지정하여 숫자 필드에 대한 필터를 생성합니다. 비교 값은 양의 정수여야 하고 쉼표를 포함할 수 없습니다.

숫자 필터에는 다음 비교 유형을 사용할 수 있습니다.
+ 같음
+ 같지 않음
+ 보다 큼
+ 크거나 같음
+ 보다 작음
+ 작거나 같음
+ Between

**참고**  
숫자 데이터(분석에만 해당)에 대해 상위 및 하위 필터를 사용하려면 먼저 필드를 치수를 차원으로 변경합니다. 이렇게 하면 데이터가 텍스트로 변환됩니다. 그리고 텍스트 필터를 사용할 수 있게 됩니다. 자세한 내용은 [텍스트 필터 추가](add-a-text-filter-data-prep.md) 단원을 참조하십시오.

분석에서 데이터베이스 쿼리를 기반으로 하는 데이터 세트의 경우에는 비교 값에 집계 함수(예: **Sum** 또는 **Average**)를 선택적으로 적용할 수도 있습니다.

숫자 필터에는 다음 집계 함수를 사용할 수 있습니다.
+ 평균
+ 개수
+ 고유한 수
+ 최대
+ 중간
+ 최소
+ 백분위수
+ 표준 편차
+ 표준 편차 - 인구
+ Sum
+ 변화
+ 변화 - 인구

## 숫자 필터 생성
<a name="create-a-numeric-filter-data-prep"></a>

숫자 필드 필터를 생성하려면 다음 절차에 따르십시오.

**숫자 필드 필터 생성하기**

1. 텍스트 필드를 사용하여 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. (선택 사항) **집계**에서 집계를 선택합니다. 집계는 기본적으로 적용되지 않습니다. 이 옵션은 분석에서 숫자 필터를 만들 때만 사용할 수 있습니다.

1. **필터 조건**의 경우 비교 유형을 선택합니다.

1. 다음 중 하나를 수행하세요.
   + **기간** 이외의 비교 유형을 선택한 경우 비교 값 하나를 입력합니다.

     비교 유형으로 **기간**을 선택한 경우 **Minimum value(최소값)**에 값 범위의 시작을 입력하고 **Maximum value(최대값)**에 값 범위의 끝을 입력합니다.
   + (분석만 해당) 기존 파라미터를 사용하려면 **파라미터 사용**을 활성화한 후 목록에서 파라미터를 선택합니다.

     먼저 파라미터를 만들어야 이 목록에 표시됩니다. 대개 파라미터를 만들고 컨트롤을 추가한 후 필터를 추가합니다. 자세한 내용은 [Amazon Quick의 파라미터](parameters-in-quicksight.md) 단원을 참조하십시오. 1,000개 이상의 개별 값이 없는 한 값은 컨트롤에서 영문자 순으로 표시됩니다. 그런 다음 컨트롤에 검색 상자가 대신 표시됩니다. 사용할 값을 검색할 때마다 새 쿼리가 시작됩니다. 결과에 1,000개 이상의 값이 포함된 경우 페이지 매김으로 값을 스크롤할 수 있습니다.

1. (분석만 해당) **Null 옵션**의 경우 **Null 제외**, **Null 포함** 또는 **Null만 해당**을 선택합니다.

1. 완료되면 **적용**을 선택합니다.

# 날짜 필터 추가
<a name="add-a-date-filter2"></a>

사용할 필터 조건과 날짜 값을 선택하여 날짜 필드에 대한 필터를 만듭니다. 다음 세 가지 날짜 필터 유형이 있습니다.
+ **범위** - 시간 범위 및 비교 유형에 기반한 일련의 날짜. 날짜 필드 값이 지정한 날짜 이전 또는 이후인지 아니면 날짜 범위 이내인지를 기준으로 레코드를 필터링할 수 있습니다. 날짜 값은 MM/DD/YYYY 형식으로 입력합니다. 다음 비교 유형을 사용할 수 있습니다.
  + **사이** - 시작일과 종료일 사이
  + **이후** - 지정된 날짜 이후
  + **이전** - 지정된 날짜 이전
  + **같음** - 지정한 날짜에

  각 비교 유형에 대해 기간이나 데이터 세트 값을 기준으로 롤링 날짜를 선택할 수도 있습니다.
+ **관계형**(분석만 해당) - 현재 날짜에 기반한 일련의 날짜 및 시간 요소. 현재 날짜와 선택한 측정 단위(UOM)를 기반으로 레코드를 필터링할 수 있습니다. 날짜 필터 단위에는 연도, 분기, 월, 주, 일, 시간, 분이 포함됩니다. 현재 기간을 제외하고 앵커 날짜를 허용하는 기능이 추가된 Last N(마지막 N개)과 유사한 Next N(다음 N개) 필터에 대한 지원을 추가할 수 있습니다. 다음 비교 유형을 사용할 수 있습니다.
  + **Previous** - 이전 UOM(예: 전년도).
  + **This** - 향후에 발생한 경우에도 선택 UOM에 속하는 모든 날짜와 시간을 포함하는 이 UOM.
  + **현재까지 또는 지금까지** - UOM 현재까지 또는 UOM 지금까지. 표시된 문구가 선택한 UOM에 맞게 조정됩니다. 그러나 모든 경우에 이 옵션은 현재 UOM의 시작 부분과 현재 시점 사이에 있지 않은 데이터를 필터링합니다.
  + **마지막 n** - 제시된 UOM의 마지막으로 지정된 숫자로, 이 UOM 전부와 마지막 n −1 UOM 전부를 포함합니다. 예를 들어 오늘 날짜가 2017년 5월 10일이라고 가정해 보겠습니다. *years*를 선택해 UOM으로 사용하고, 마지막 *n *년을 3으로 설정합니다. 필터링된 데이터에는 2017년 전체와 2016년 전체, 2015년 전체의 데이터가 포함됩니다. 현재 연도(이 예에서는 2017)의 미래 날짜에 대한 데이터가 있으면 이 레코드가 데이터 세트에 포함됩니다.
+ **상위 및 하위**(분석에만 해당) - 다른 필드를 기준으로 한 날짜 입력 항목 수. 다른 필드의 값을 기준으로 사용자가 선택한 날짜 또는 시간 UOM 유형에 대해 상위 또는 하위 n개 값을 표시할 수 있습니다. 예를 들어 매출을 기준으로 실적이 가장 좋은 영업일 5개를 선택할 수 있습니다.

비교는 지정된 날짜를 포함하여 적용됩니다. 예를 들어, 필터 `Before 1/1/16`을(를) 적용하면 반환되는 레코드에는 1/1/16 23:59:59까지의 날짜 값을 갖는 모든 행이 포함됩니다. 지정된 날짜를 포함하지 않으려면 **이 날짜 포함** 옵션을 지우십시오. 시간 범위를 생략하려는 경우 **마지막 N 기간 제외** 옵션을 사용하여 기간(분, 일 등)의 수와 유형을 지정하여 필터링할 수 있습니다.

null을 포함하거나 제외하도록 선택하거나 이 필드에 null이 포함된 행만 표시하도록 선택할 수도 있습니다. Null 날짜 파라미터(기본값이 없는 파라미터)를 전달하면 값을 제공할 때까지 데이터가 필터링되지 않습니다.

**참고**  
열이나 속성에 시간대 정보가 없으면 클라이언트 쿼리 엔진이 해당 datetime 데이터의 기본 해석을 설정합니다. 예를 들어, 열에 timestamptz가 아닌 timestamp가 있고 사용자가 데이터의 오리진과 다른 시간대에 있다고 가정합니다. 이 경우 엔진에서 타임스탬프를 예상과 다르게 렌더링할 수 있습니다. Amazon Quick과 [SPICE](spice.md) 둘 다 협정 세계시(UTC) 시간을 사용합니다.

다음 섹션을 사용하여 데이터 세트 및 분석에서 날짜 필터를 생성하는 방법을 알아보십시오.

## 데이터 세트에 날짜 필터 생성
<a name="create-date-filter-dataset"></a>

데이터 세트의 날짜 필드 필터 범위를 생성하려면 다음 절차를 따릅니다.

**데이터 세트의 날짜 필드에 대한 범위 필터 생성하기**

1. 텍스트 필드를 사용하여 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. **조건**에서 비교 유형 (**사이**, **이후** 또는 **이전**)을 선택합니다.

   **사이**를 비교로 사용하려면 **시작일과** **종료일**을 선택하고 나타나는 날짜 선택 컨트롤에서 날짜를 선택합니다.

   **시작일 포함** 또는 **종료일 포함**을 선택하여 범위에 시작일 및 종료일 중 하나 또는 둘 다를 포함할지 선택할 수 있습니다.

   **이전** 또는 **이후** 비교를 사용하려면 날짜를 입력하거나, 그 대신 날짜 필드를 선택하여 날짜 선택기 컨트롤을 불러와 날짜를 선택합니다. 이 날짜(선택한 날짜)를 포함시키고 마지막 N 기간을 제외하고 null 처리 방법을 지정할 수 있습니다.

1. **시간 세분성**의 경우 **일**, **시간**, **분** 또는 **초**를 선택합니다.

1. 완료되면 **적용**을 선택합니다.

## 분석에서 날짜 필터 생성
<a name="create-date-filter-analyses"></a>

다음 설명에 따라 분석에서 날짜 필터를 생성할 수 있습니다.

### 분석에서 범위 날짜 필터 생성
<a name="create-a-date-filter2"></a>

분석의 날짜 필드 필터 범위를 생성하려면 다음 절차를 따릅니다.

**분석의 날짜 필드에 대한 범위 필터 생성**

1. 텍스트 필드를 사용하여 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. **필터 유형**에서 **날짜 및 시간 범위**를 선택합니다.

1. **조건**에서 비교 유형(**사이**, **이후**, **이전** 또는 **같음**)을 선택합니다.

   **사이**를 비교로 사용하려면 **시작일과** **종료일**을 선택하고 나타나는 날짜 선택 컨트롤에서 날짜를 선택합니다.

   **시작일 포함** 또는 **종료일 포함**을 선택하여 범위에 시작일과 종료일을 둘 중 하나 또는 둘 다 포함하도록 선택할 수 있습니다.

   **이전**, **이후** 또는 **같음** 비교를 사용하려면 날짜를 입력하거나, 그 대신 날짜 필드를 선택하여 날짜 선택기 컨트롤을 불러와 날짜를 선택합니다. 이 날짜(선택한 날짜)를 포함시키고 마지막 N 기간을 제외하고 null 처리 방법을 지정할 수 있습니다.

   비교할 **롤링 날짜를 설정**하려면 **롤링 날짜 설정**을 선택합니다.

   표시되는 **롤링 날짜 설정** 창에서 **기준 날짜**를 선택한 다음 날짜를 **오늘**, **어제**로 설정할지 여부를 선택합니다. 아니면 **필터 조건**(시작 또는 종료), **범위**(현재, 이전 또는 다음) 및 **기간**(연도, 분기, 월, 주 또는 일)을 지정할 수 있습니다.

1. **시간 세분성**의 경우 **일**, **시간**, **분** 또는 **초**를 선택합니다.

1. (선택 사항) 특정 날짜 대신 기존 파라미터를 사용하여 필터링을 하는 경우에는 **파라미터 사용**을 선택한 다음, 목록에서 파라미터(들)를 선택합니다. **이전**, **이후** 또는 **같음** 비교를 사용하려면 날짜 파라미터 하나를 선택합니다. 이 날짜를 범위에 포함할 수 있습니다.

   **기간**을 사용하려면 시작일과 종료일 파라미터를 둘 다 따로 입력합니다. 범위에 시작일과 종료일 중 하나만 포함시키거나 둘 다 포함시킬 수 있습니다.

   필터에 파라미터를 사용하려면 먼저 파라미터를 생성해야 합니다. 대개 파라미터를 만들고 컨트롤을 추가한 후 필터를 추가합니다. 자세한 내용은 [Amazon Quick의 파라미터](parameters-in-quicksight.md) 단원을 참조하십시오.

1. **Null 옵션**의 경우 **Null 제외**, **Null 포함** 또는 **Null만** 선택합니다.

1. 완료되면 **적용**을 선택합니다.

### 분석에서 기준 날짜 필터 생성
<a name="create-a-date-filter-relative"></a>

분석의 날짜 필드 상대 필터를 생성하려면 다음 절차를 따릅니다.

**분석의 날짜 필드에 대한 상대 필터 생성하기**

1. 텍스트 필드를 사용하여 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. **필터 유형**에서 **상대 날짜**를 선택합니다.

1. **시간 세분성**의 경우 필터링 기준으로 사용할 시간의 세분성(일, 시간, 분)을 선택합니다.

1. **기간**에서 시간 단위(년, 분기, 분기, 월, 주, 일)를 선택합니다.

1. **범주**의 경우 필터가 시간 프레임과 관련되는 방식을 선택합니다. 예를 들어 월에 대해 보고하도록 선택한 경우 옵션은 이전 달, 이번 달, 이번 달 현재까지, 지난 N개월 및 다음 N개월입니다.

   최근 N개 또는 다음 N년, 분기, 월, 주 또는 일을 선택하는 경우 수에 **숫자**를 입력합니다. 예를 들어 지난 3년, 다음 5개 분기, 최근 5일을 예로 들 수 있습니다.

1. **Null 옵션**의 경우 **Null 제외**, **Null 포함** 또는 **Null만** 선택합니다.

1. **날짜 기준 설정**에 대해 다음 옵션 중 하나를 선택합니다.
   + **현재 날짜 시간** - 이 옵션을 선택하면 **마지막 제외**로 설정한 다음 기간 수와 유형을 지정할 수 있습니다.
   + **파라미터의 날짜 및 시간** - 이 옵션을 선택한 경우 기존 날짜/시간 파라미터를 선택할 수 있습니다.

1. (선택 사항) 특정 날짜 대신 기존 파라미터를 사용하여 필터링을 하는 경우에는 **Use parameters(파라미터 사용)**을 활성화한 다음, 목록에서 파라미터(들)를 선택합니다.

   필터에 파라미터를 사용하려면 먼저 파라미터를 생성해야 합니다. 대개 파라미터를 만들고 컨트롤을 추가한 후 필터를 추가합니다. 자세한 내용은 [Amazon Quick의 파라미터](parameters-in-quicksight.md) 단원을 참조하십시오.

1. 완료되면 **적용**을 선택합니다.

### 분석에서 상위 날짜 및 하위 날짜 필터 생성
<a name="create-a-date-filter-top-bottom"></a>

분석의 날짜 필드에 대한 상위 및 하위 필터를 생성하려면 다음 절차를 따릅니다.

**분석에서 날짜 필드의 상단 및 하단 필터 생성하기**

1. 텍스트 필드를 사용하여 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. **필터 유형**에서 **상위 및 하위**를 선택합니다.

1. **상위** 또는 **하위**를 선택합니다.

1. **표시**의 경우 표시하려는 상단 또는 하단 항목 수를 입력하고 시간 단위(년, 분기, 월, 주, 일, 시간, 분)를 선택합니다.

1. **기준**에서 기준으로 삼을 필드를 선택합니다.

1. (선택 사항) **기준**으로 삼을 필드에 중복 값이 있는 경우에는 선택에 따라 또 다른 필드를 타이 브레이커로 추가합니다. **타이 브레이커**를 선택한 다음 다른 필드를 선택합니다. 타이 브레이커를 제거하려면 삭제 아이콘을 이용합니다.

1. (선택 사항) 특정 날짜 대신 기존 파라미터를 사용하여 필터링을 하는 경우에는 **파라미터 사용**을 선택한 다음, 목록에서 파라미터(들)를 선택합니다.

   **Top and bottom(상위 및 하위)**에서 파라미터를 사용하려면 상위 또는 하위 항목의 수가 표시되도록 정수 파라미터를 선택합니다.

   필터에 파라미터를 사용하려면 먼저 파라미터를 생성해야 합니다. 대개 파라미터를 만들고 컨트롤을 추가한 후 필터를 추가합니다. 자세한 내용은 [Amazon Quick의 파라미터](parameters-in-quicksight.md) 단원을 참조하십시오.

1. 완료되면 **적용**을 선택합니다.

# AND 및 OR 연산자를 사용하여 필터 조건 (그룹 필터) 추가
<a name="add-a-compound-filter"></a>

분석에서 시각적 객체에 여러 필터를 추가하면 Quick은 AND 연산자를 사용하여 필터를 결합합니다. OR 연산자를 사용하여 필터 조건을 단일 필터에 추가할 수도 있습니다. 이를 복합 필터 또는 필터 그룹이라고 합니다.

OR 연산자를 사용하여 여러 필터를 추가하려면 필터 그룹을 생성합니다. 필터 그룹화는 분석의 모든 유형의 필터에 사용할 수 있습니다.

여러 치수(\$1으로 표시된 녹색 필드)를 필터링할 때, 필터 조건을 해당 필드의 집계에 적용할 수 있습니다. 그룹의 필터는 집계된 필드 또는 집계되지 않은 필드를 포함할 수 있지만, 둘 다 포함하지는 않습니다.

**필터 그룹 생성하기**

1. 분석에서 새 필터를 생성합니다. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 새 필터를 선택하여 필터를 확장합니다.

1. 확장된 필터에서 하단의 **필터 조건 추가**를 선택한 다음 필터링 기준으로 사용할 필드를 선택합니다.

1.  필터링할 조건을 선택합니다.

   선택한 필드의 데이터 유형에 따라 여기에서 사용할 수 있는 옵션이 결정됩니다. 예를 들어 숫자 필드를 선택한 경우 집계, 필터 조건 및 값을 지정할 수 있습니다. 텍스트 필드를 선택한 경우 필터 유형, 필터 조건 및 값을 선택할 수 있습니다. 날짜 필드를 선택한 경우 필터 유형, 조건 및 시간 세분성을 지정할 수 있습니다. 이러한 옵션에 대한 자세한 내용은 [Amazon Quick의 필터 유형](filtering-types.md) 섹션을 참조하세요.

1.  (선택 사항) 하단에서 **필터 조건 추가**를 다시 선택하여 필터 그룹에 필터 조건을 더 추가할 수 있습니다.

1.  (선택 사항) 필터 그룹에서 필터를 제거하려면 필드 이름 근처의 휴지통 아이콘을 선택합니다.

1. 완료되면 **적용**을 선택합니다.

   필터는 **필터** 패널에 그룹으로 표시됩니다.

# 계단식 필터 생성
<a name="use-a-cascading-filter"></a>

필터와 같은 작업을 계단식으로 처리하는 것은 계층의 상위 수준에 있는 선택 항목이 계층의 하위 수준에 영향을 준다는 개념입니다. 계단식이라는 용어는 폭포가 한 층에서 다음 층으로 흐르는 방식에서 비롯됩니다.

계단식 필터를 설정하려면 필터가 활성화되는 트리거 지점과 필터가 적용되는 대상 지점이 필요합니다. Quick에서는 트리거와 대상 지점이 시각적 객체에 포함됩니다.

계단식 필터를 만들려면 필터가 아닌 작업을 설정합니다. 계단식 필터가 활성화되는 방식, 관련 필드 및 활성화 시 필터링되는 시각적 객체를 정의해야 하기 때문입니다. 단계별 지침을 비롯한 자세한 내용은 [필터링 및 탐색을 위한 사용자 지정 동작 사용](quicksight-actions.md) 단원을 참조하십시오.

여러 시각적 객체에서 필터를 활성화하는 다른 두 가지 방법이 있습니다.
+ **대시보드의 위젯에서 활성화되는 필터** - 시트 컨트롤이라고 하는 이 위젯은 분석 또는 대시보드 상단에 추가할 수 있는 사용자 지정 메뉴 항목입니다. 가장 일반적인 시트 컨트롤은 목록을 열 때 선택 가능한 옵션 목록을 표시하는 드롭다운 목록입니다. 이 유형의 필터를 분석에 추가하려면 파라미터를 생성하고 파라미터에 컨트롤을 추가한 다음 해당 파라미터를 사용하는 필터를 추가합니다. 자세한 내용은 [Amazon Quick에서 파라미터 설정](parameters-set-up.md), [Amazon Quick에서 파라미터와 함께 컨트롤 사용](parameters-controls.md), [분석 시트에 필터 컨트롤 추가](filter-controls.md) 섹션을 참조하세요.
+ **여러 시각적 객체에 항상 적용되는 필터** - 여러(또는 모든) 시각적 객체에 적용할 범위를 설정한다는 점을 제외하면 일반 필터입니다. 이러한 유형의 필터는 트리거 지점이 없기 때문에 실제로 계단식 필터가 아니며, 필터링하도록 구성된 모든 시각적 객체를 항상 필터링합니다. 분석에 이 유형의 필터를 추가하려면 필터를 생성하거나 편집한 다음 범위(**단일 시각적 객체**, **단일 시트** 또는 **교차 시트**)를 선택합니다. **교차 데이터세트 적용** 옵션을 기록해 둡니다. 이 확인란을 선택하면 필터 범위의 모든 시트에 적용되는 서로 다른 데이터세트의 모든 시각적 객체에 필터가 적용됩니다. 자세한 내용은 [필터](cross-sheet-filters.md#filters) 단원을 참조하십시오.

# 분석 시트에 필터 컨트롤 추가
<a name="filter-controls"></a>

분석을 설계할 때 필터링하려는 시각 자료 근처의 분석 시트에 필터를 추가할 수 있습니다. 분석을 대시보드로 게시할 때 대시보드 뷰어가 사용할 수 있는 제어로 시트에 표시됩니다. 컨트롤은 분석 테마 설정을 사용하므로 시트의 일부인 것처럼 보입니다.

필터 제어는 일부 설정을 필터와 공유합니다. 동일한 시트에 있는 개체 중 하나, 일부 또는 전체에 적용됩니다.

다음 섹션을 사용하여 분석에 필터 컨트롤을 추가하고 사용자 지정할 수 있습니다. 교차 시트 제어를 추가하는 방법은 [제어](cross-sheet-filters.md#cross-sheet-controls) 섹션을 참조하세요.

**Topics**
+ [필터 컨트롤 추가](#filter-controls-add)
+ [필터 컨트롤을 시트 상단에 고정](#filter-controls-pin)
+ [필터 컨트롤 사용자 지정](#filter-controls-customize)
+ [계단식 필터 컨트롤](#cascading-controls)

## 필터 컨트롤 추가
<a name="filter-controls-add"></a>

필터 컨트롤을 추가하려면 다음 절차에 따르십시오.

**필터 컨트롤을 추가하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 **분석을** 선택한 다음 작업할 분석을 선택합니다.

1. 분석에서 **필터를** 선택합니다.

1. 아직 일부 필터를 사용할 수 없다면 하나 생성하십시오. 필터 생성에 대한 자세한 내용은 [필터 추가](add-a-filter-data-prep.md)을(를) 참조하십시오.

1. **필터** 창에서 제어를 추가하려는 필터 오른쪽에 있는 세 개의 점을 선택하고 **시트에 추가**를 선택합니다.

   필터 컨트롤은 시트에 추가되며, 일반적으로 아래쪽에 있습니다. 크기를 조정하거나 시트의 다른 위치로 드래그할 수 있습니다. 또한 표시되는 방식과 대시보드 뷰어가 대시보드와 상호 작용하는 방식을 사용자 지정할 수 있습니다. 필터 컨트롤을 사용자 지정하는 방법에 대한 자세한 내용은 다음 섹션을 참조하십시오.

## 필터 컨트롤을 시트 상단에 고정
<a name="filter-controls-pin"></a>

필터 컨트롤을 시트 상단에 고정하려면 다음 절차를 따르십시오.

**컨트롤을 시트 상단에 고정하기**

1. 이동하려는 필터 컨트롤에서 연필 아이콘 옆에 있는 세 개의 점을 선택하고 **상단에 고정**을 선택합니다.

   필터는 시트 상단에 고정되고 접혀 있습니다. 클릭하여 펼칠 수 있습니다.

1. (선택 사항) 컨트롤을 고정 해제하려면 컨트롤을 펼치고 세 개의 점이 나타날 때까지 시트 상단에 커서를 갖다 댑니다. 세 개의 점을 선택한 다음 **시트로 이동**을 선택합니다.

## 필터 컨트롤 사용자 지정
<a name="filter-controls-customize"></a>

필드의 데이터 유형과 필터 유형에 따라 필터 컨트롤에서 사용할 수 있는 설정이 달라집니다. 시트에 표시되는 방식과 대시보드 뷰어가 해당 필드와 상호 작용하는 방식을 사용자 지정할 수 있습니다.

**필터 컨트롤을 사용자 지정하기**

1. 시트에서 필터 컨트롤을 선택합니다.

1. 필터 컨트롤에서 연필 아이콘을 선택합니다.

   필터 컨트롤이 시트 상단에 고정되어 있는 경우, 필터 컨트롤을 펼친 다음 세 개의 점이 나타날 때까지 커서를 그 위에 올려 놓습니다. 세 개의 점을 선택한 다음 **편집**을 선택합니다.

1. 표시되는 **포맷 제어** 창에서 다음 사항을 수행하십시오.

   1. **표시 이름**에 필터 제어의 이름을 입력합니다.

   1. (선택 사항) 필터 컨트롤에서 표시 이름을 숨기려면 **제목 표시** 확인란의 선택을 취소합니다.

   1. **제목 글꼴 크기**에서 사용하려는 제목 글꼴 크기를 선택합니다. 옵션은 초소형에서 초대형 사이즈까지 다양합니다. 기본 설정은 중간입니다.

나머지 단계는 컨트롤이 참조하는 필드 유형에 따라 달라집니다. 필터 유형별 옵션은 다음 섹션을 참조하십시오.

### 날짜 필터
<a name="filter-controls-customize-date"></a>

필터 컨트롤이 날짜 필터에서 제공되는 경우 다음 절차를 사용하여 나머지 옵션을 사용자 지정합니다.

**날짜 필터의 추가 옵션을 사용자 지정하기**

1. **포맷 제어** 창의 **스타일**에서 다음 옵션 중 하나를 선택합니다.
   + **날짜 선택기 - 범위** - 시간 범위를 정의하는 두 개의 필드 세트를 표시합니다. 날짜 또는 시간을 입력하거나 달력 컨트롤에서 날짜를 선택할 수 있습니다. **날짜 형식**에 날짜 토큰을 입력하여 컨트롤에 날짜가 표시되는 방식을 사용자 지정할 수도 있습니다. 자세한 내용은 [Quick에서 날짜 형식 사용자 지정](format-visual-date-controls.md) 단원을 참조하십시오.
   + **날짜 선택기 - 상대** - 기간, 현재 날짜 및 시간과의 관계, 기간 제외 옵션과 같은 설정을 표시합니다. **날짜 형식**에 날짜 토큰을 입력하여 컨트롤에 날짜가 표시되는 방식을 사용자 지정할 수도 있습니다. 자세한 내용은 [Quick에서 날짜 형식 사용자 지정](format-visual-date-controls.md) 단원을 참조하십시오.
   + **텍스트 필드** - 상단 또는 하단 N 날짜를 입력할 수 있는 상자를 표시합니다.

     도우미 텍스트는 기본적으로 텍스트 필드 컨트롤에 포함되지만 제어에 **도우미 텍스트 표시** 옵션을 선택 해제하여 제거할 수 있습니다.

   기본적으로 빠른 시각적 객체는 컨트롤을 변경할 때마다 다시 로드됩니다. 캘린더 및 상대 날짜 선택기 제어의 경우 작성자는 사용자가 **적용**을 선택할 때까지 시각적 재로드를 지연하는 제어에 **적용** 버튼을 추가할 수 있습니다. 이를 통해 사용자는 추가 쿼리 없이 한 번에 여러 번 변경할 수 있습니다. 이 설정은 **형식 제어** 창의 **제어 옵션** 섹션에 있는 **적용 버튼 표시** 확인란을 사용하여 구성할 수 있습니다.

1. 완료되면 **적용**을 선택합니다.

### 텍스트 필터
<a name="filter-controls-customize-text"></a>

차원, 범주 또는 레이블과 같은 텍스트 필터에서 필터 컨트롤을 사용하는 경우 다음 절차를 사용하여 나머지 옵션을 사용자 지정합니다.

**텍스트 필터의 추가 옵션을 사용자 지정하기**

1. **포맷 제어** 창의 **스타일**에서 다음 옵션 중 하나를 선택합니다.
   + **드롭다운** - 단일 값을 선택하는 데 사용할 수 있는 버튼이 있는 드롭다운 목록을 표시합니다.

     이 옵션을 선택하면 **값**에 대해 다음 옵션을 선택할 수 있습니다.
     + **필터** - 필터에서 사용할 수 있는 모든 값을 표시합니다.
     + **특정 값** - 표시할 값을 한 줄에 하나씩 입력할 수 있습니다.

     **컨트롤 값에서 모두 선택 옵션 숨기기**를 선택할 수도 있습니다. 그러면 필터 컨트롤의 모든 값을 선택하거나 선택을 취소하는 옵션이 제거됩니다.
   + **드롭다운 - 다중 선택** - 여러 값을 선택하는 데 사용할 수 있는 상자가 있는 드롭다운 목록을 표시합니다.

     이 옵션을 선택하면 **값**에 대해 다음 옵션을 선택할 수 있습니다.
     + **필터** - 필터에서 사용할 수 있는 모든 값을 표시합니다.
     + **특정 값** - 표시할 값을 한 줄에 하나씩 입력할 수 있습니다.

     기본적으로 빠른 시각적 객체는 컨트롤을 변경할 때마다 다시 로드됩니다. 다중 선택 드롭다운 제어의 경우 작성자는 사용자가 **적용**을 선택할 때까지 시각적 재로드를 지연하는 제어에 **적용** 버튼을 추가할 수 있습니다. 이를 통해 사용자는 추가 쿼리 없이 한 번에 여러 번 변경할 수 있습니다. 이 설정은 **형식 제어** 창의 **제어 옵션** 섹션에 있는 **적용 버튼 표시** 확인란을 사용하여 구성할 수 있습니다.
   + **목록** - 단일 값을 선택하는 데 사용할 수 있는 단추가 있는 목록을 표시합니다.

     이 옵션을 선택하면 **값**에 대해 다음 옵션을 선택할 수 있습니다.
     + **필터** - 필터에서 사용할 수 있는 모든 값을 표시합니다.
     + **특정 값** - 표시할 값을 한 줄에 하나씩 입력할 수 있습니다.

     다음을 선택할 수도 있습니다.
     + **컨트롤이 시트에 있을 때 검색 창 숨기기** - 사용자가 특정 값을 검색할 수 없도록 필터 컨트롤에서 검색 막대를 숨깁니다.
     + **제어 값에서 모두 선택 옵션 숨기기** - 필터 제어에서 모든 값을 선택하거나 선택을 취소하는 옵션을 제거합니다.
   + **목록 - 다중 선택** - 여러 값을 선택하는 데 사용할 수 있는 상자가 포함된 목록을 표시합니다.

     이 옵션을 선택하면 **값**에 대해 다음 옵션을 선택할 수 있습니다.
     + **필터** - 필터에서 사용할 수 있는 모든 값을 표시합니다.
     + **특정 값** - 표시할 값을 한 줄에 하나씩 입력할 수 있습니다.

     다음을 선택할 수도 있습니다.
     + **컨트롤이 시트에 있을 때 검색 창 숨기기** - 사용자가 특정 값을 검색할 수 없도록 필터 컨트롤에서 검색 막대를 숨깁니다.
     + **제어 값에서 모두 선택 옵션 숨기기** - 필터 제어에서 모든 값을 선택하거나 선택을 취소하는 옵션을 제거합니다.
   + **텍스트 필드** - 단일 항목을 입력할 수 있는 텍스트 상자를 표시합니다. 텍스트 필드는 최대 79,950자를 지원합니다.

     이 옵션을 선택하면 다음 역할을 선택할 수 있습니다.
     + **컨트롤에 헬퍼 텍스트 표시** - 텍스트 필드에서 헬퍼 텍스트를 제거합니다.
   + **텍스트 필드 - 여러 줄** - 여러 항목을 입력할 수 있는 텍스트 상자를 표시합니다. 다중 줄 텍스트 필드는 모든 항목에서 최대 79,950자를 지원합니다.

     이 옵션을 선택하면 다음 역할을 선택할 수 있습니다.
     + **값 분리 기준**에서 필터 컨트롤에 입력한 값을 구분할 방법을 선택합니다. 줄 바꿈, 쉼표, 파이프(\$1) 또는 세미콜론으로 값을 구분하도록 선택할 수 있습니다.
     + **컨트롤에 헬퍼 텍스트 표시** - 텍스트 필드에서 헬퍼 텍스트를 제거합니다.

1. 완료되면 **적용**을 선택합니다.

### 숫자 필터
<a name="filter-controls-customize-numeric"></a>

필터 컨트롤이 숫자 필터에서 나온 경우 다음 절차를 사용하여 나머지 옵션을 사용자 지정합니다.

**숫자 필터의 추가 옵션을 사용자 지정하기**

1. **포맷 제어** 창의 **스타일**에서 다음 옵션 중 하나를 선택합니다.
   + **드롭다운** - 단일 값을 선택할 수 있는 목록을 표시합니다.

     이 옵션을 선택하면 **값**에 대해 다음 옵션을 선택할 수 있습니다.
     + **필터** - 필터에서 사용할 수 있는 모든 값을 표시합니다.
     + **특정 값** - 표시할 값을 한 줄에 하나씩 입력할 수 있습니다.

     **컨트롤 값에서 모두 선택 옵션 숨기기**를 선택할 수도 있습니다. 그러면 필터 컨트롤의 모든 값을 선택하거나 선택을 취소하는 옵션이 제거됩니다.
     + **필터** - 필터에서 사용할 수 있는 모든 값을 표시합니다.
     + **특정 값** - 표시할 값을 한 줄에 하나씩 입력할 수 있습니다.
     + **제어 값에서 모두 선택 옵션 숨기기** - 필터 제어에서 모든 값을 선택하거나 선택을 취소하는 옵션을 제거합니다.
   + **목록** - 단일 값을 선택할 수 있는 버튼이 있는 목록을 표시합니다.

     이 옵션을 선택하면 **값**에 대해 다음 옵션을 선택할 수 있습니다.
     + **필터** - 필터에서 사용할 수 있는 모든 값을 표시합니다.
     + **특정 값** - 표시할 값을 한 줄에 하나씩 입력할 수 있습니다.

     다음을 선택할 수도 있습니다.
     + **컨트롤이 시트에 있을 때 검색 창 숨기기** - 사용자가 특정 값을 검색할 수 없도록 필터 컨트롤에서 검색 막대를 숨깁니다.
     + **제어 값에서 모두 선택 옵션 숨기기** - 필터 제어에서 모든 값을 선택하거나 선택을 취소하는 옵션을 제거합니다.
   + **슬라이더** - 토글이 있는 가로 막대를 표시합니다. 이 막대를 밀어서 값을 변경할 수 있습니다. 최소값과 최대값 사이의 값에 대한 범위 필터를 사용하는 경우 슬라이더는 각 숫자에 대한 토글 기능을 제공합니다. 슬라이드의 경우, 다음과 같은 옵션을 지정할 수 있습니다.
     + **최소값** - 슬라이더 왼쪽에 더 작은 값을 표시합니다.
     + **최대값** - 슬라이더 오른쪽에 더 큰 값을 표시합니다.
     + **단계 크기** - 막대를 분할할 증분 수를 설정할 수 있습니다.
   + **텍스트 상자** - 값을 입력할 수 있는 상자를 표시합니다. 이 옵션을 선택하면 다음 역할을 선택할 수 있습니다.
     + **컨트롤에 헬퍼 텍스트 표시** - 텍스트 필드에서 헬퍼 텍스트를 제거합니다.

1. 완료되면 **적용**을 선택합니다.

## 계단식 필터 컨트롤
<a name="cascading-controls"></a>

다른 컨트롤에서 선택되는 항목에 대해 유효한 값만 표시되도록 컨트롤에 표시되는 값을 제한할 수 있습니다. 이를 캐스케이딩 컨트롤이라고 합니다.

**계단식 컨트롤을 만들 때 다음 제한이 적용됩니다.**

1. 계단식 컨트롤은 동일한 데이터 세트의 데이터 세트 열에 연결되어야 합니다.

1. 하위 컨트롤은 드롭다운 또는 목록 컨트롤이어야 합니다.

1. 파라미터 컨트롤의 경우 하위 컨트롤을 데이터 세트 열에 연결해야 합니다.

1. 필터 컨트롤의 경우 하위 컨트롤을 필터에 연결해야 합니다(특정 값만 표시하는 대신).

1. 상위 파라미터는 반드시 다음 값 중 하나이어야 합니다.

   1. 문자열, 정수 또는 숫자형 파라미터 컨트롤입니다.

   1. 문자열 필터 컨트롤(상하 필터 제외)입니다.

   1. 집계되지 않은 숫자형 필터 컨트롤입니다.

   1. 날짜 필터 컨트롤(상하 필터 제외)입니다.

**계단식 컨트롤을 생성하는 방법**

1. **관련 값만 표시**를 선택합니다. 모든 필터 컨트롤 유형에 이 옵션을 사용할 수 있는 것은 아니라는 점에 유의하십시오.

1. 표시되는 **관련 값만 표시** 창에서 사용 가능한 목록에서 하나 이상의 컨트롤을 선택합니다.

1. 값과 일치시킬 필드를 선택합니다.

1. **업데이트**를 선택합니다.

# 필터 편집
<a name="edit-a-filter-data-prep"></a>

데이터 세트 또는 분석에서 언제든지 필터를 편집할 수 있습니다.

필터가 적용된 필드는 변경할 수 없습니다. 다른 필드에 필터를 적용하려면 대신 새 필터를 생성합니다.

다음 절차를 사용하여 필터를 편집하는 방법을 알아보세요.

## 데이터 세트의 필터 편집
<a name="edit-a-filter-data-prep-datasets"></a>

데이터 세트에서 필터를 편집하려면 다음 절차에 따르십시오.

**데이터 세트에 대한 필터 편집하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터 세트** 탭에서 원하는 데이터 세트를 선택한 다음 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 준비 페이지에서 왼쪽 하단의 **필터**를 선택합니다.

1. 편집하려는 필터를 선택합니다.

1. 편집을 마쳤으면 **적용**을 선택합니다.

## 분석의 필터 편집
<a name="edit-a-filter-data-prep-analyses"></a>

다음 절차에 따라 분석에서 필터를 편집합니다.

**분석에서 필터 편집하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 왼쪽의 **분석을** 선택합니다.

1. **분석** 페이지에서 사용할 분석을 선택합니다.

1. 분석에서 표시된 **필터** 아이콘을 선택하여 **필터** 창을 엽니다.

1. 편집하려는 필터를 선택합니다.

1. 편집을 마쳤으면 **적용**을 선택합니다.

# 필터 활성화 또는 비활성화
<a name="disable-a-filter-data-prep"></a>

필터 메뉴를 사용하여 데이터 세트 또는 분석에서 필터를 활성화 또는 비활성화할 수 있습니다. 필터를 생성하면 필터가 기본적으로 활성화됩니다. 필터를 비활성화하면 필드에서 필터가 제거되지만 데이터 세트 또는 분석에서 필터가 삭제되지는 않습니다. 비활성화된 필터는 필터 창에서 회색으로 표시됩니다. 필터를 필드에 다시 적용하려면 필터를 활성화하기만 하면 됩니다.

다음 절차를 사용하여 필터를 활성화하거나 비활성화하는 방법을 알아보십시오.

## 데이터 세트에서 필터 비활성화하기
<a name="disable-a-filter-data-prep-datasets"></a>

데이터 세트에서 필터를 비활성화하려면 다음 절차에 따르십시오.

**데이터 세트에서 필터 비활성화하기**

1. 빠른 홈페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터 세트** 탭에서 원하는 데이터 세트를 선택한 다음 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 준비 페이지에서 왼쪽 하단의 **필터**를 선택합니다.

1. 왼쪽의 **필터** 패널에서 비활성화하려는 필터 오른쪽에 있는 세 개의 점을 선택한 다음 **비활성화**를 선택합니다. 비활성화된 필터를 활성화하려면 **활성화**를 선택합니다.

## 분석에서 필터 비활성화
<a name="disable-a-filter-data-prep-analyses"></a>

분석에서 필터를 비활성화하려면 다음 절차에 따르십시오.

**분석에서 필터 비활성화하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 **분석을** 선택합니다.

1. **분석** 페이지에서 사용할 분석을 선택합니다.

1. 분석에서 **필터** 아이콘을 선택하여 **필터** 창을 엽니다.

1. 표시되는 **필터** 패널에서 비활성화하려는 필터 오른쪽에 있는 세 개의 점을 선택한 다음 **비활성화**를 선택합니다. 비활성화된 필터를 활성화하려면 **활성화**를 선택합니다.

# 필터 삭제
<a name="delete-a-filter-data-prep"></a>

데이터 세트 또는 분석에서 언제든지 필터를 삭제할 수 있습니다. 방법을 알아보려면 다음 절차에 따르세요.

## 데이터 세트에서 필터 삭제
<a name="delete-a-filter-data-prep-datasets"></a>

데이터 세트에서 필터를 삭제하려면 다음 절차에 따르십시오.

**데이터 세트에서 필터 삭제하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 **데이터를** 선택합니다.

1. **데이터 세트** 탭에서 원하는 데이터 세트를 선택한 다음 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 준비 페이지에서 왼쪽 하단의 **필터**를 선택합니다.

1. 삭제하려는 필터를 선택한 다음 **필터 삭제**를 선택합니다.

## 분석에서 필터 삭제
<a name="delete-a-filter-data-prep-analyses"></a>

분석에서 필터를 삭제하려면 다음 절차에 따르십시오.

**분석에서 필터 삭제하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 **분석을** 선택합니다.

1. **분석** 페이지에서 사용할 분석을 선택합니다.

1. 분석에서 **필터** 아이콘을 선택하여 **필터** 창을 엽니다.

1. 삭제하려는 필터를 선택한 다음 **필터 삭제**를 선택합니다.

# 데이터 세트에서 테이블 미리 보기
<a name="previewing-tables-in-a-dataset"></a>

데이터 세트 내의 각 개별 데이터 테이블을 미리 볼 수 있습니다. 미리 볼 데이터 테이블을 선택하면 데이터 미리보기 섹션의 새 탭에 테이블의 읽기 전용 미리보기가 나타납니다. 여러 개의 표 미리 보기 탭을 한 번에 열 수 있습니다.

데이터 세트에서 접근 권한이 있는 테이블만 미리 볼 수 있습니다. 테이블이 데이터 준비 공간의 위쪽 절반에 나타나지 않으면 테이블을 미리 볼 수 없습니다.

**데이터 세트** 탭에는 새 열 또는 필터와 같은 모든 변환이 포함되어 있습니다. 테이블 미리보기 탭에는 변환이 전혀 표시되지 않습니다.

**데이터 테이블 미리 보기**

1. 빠른 홈페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터** 탭에서 원하는 데이터 세트를 선택하고 **데이터 세트 편집**을 선택합니다.

1. 미리 보려는 데이터 테이블을 선택하고 아래쪽 화살표를 선택하여 메뉴를 연 다음 **테이블 미리보기 표시**를 선택합니다.

# SQL을 사용하여 데이터 사용자 지정
<a name="adding-a-SQL-query"></a>

데이터 세트를 생성하거나 분석에 사용하도록 데이터를 준비하는 경우 쿼리 편집기에서 데이터를 사용자 지정할 수 있습니다.

쿼리 편집기는 다음과 같이 여러 구성 요소로 이루어집니다.
+ ****쿼리 모드**** - 왼쪽 상단에서 직접 쿼리와 SPICE 쿼리 모드 중에 선택할 수 있습니다.
  + **직접 쿼리** - 데이터베이스에 대해 직접 SELECT 문을 실행합니다.
  + **SPICE** - 이전에 메모리에 저장된 데이터에 대해 SELECT 문을 실행합니다
+ ****필드**** - 이 섹션에서는 최종 데이터 세트에서 제거할 필드를 비활성화할 수 있습니다. 이 섹션에서 계산된 필드를 추가하고 SageMaker AI를 사용하여 데이터를 보강할 수 있습니다.
+ ****쿼리 아카이브**** - 이 섹션에서는 이전 버전의 SQL 쿼리를 찾을 수 있습니다.
+ ****필터**** - 이 섹션에서는 필터를 추가, 편집 또는 제거할 수 있습니다.
+ ****스키마 탐색기**** - 이 섹션은 SQL을 편집하는 동안에만 나타납니다. 스키마, 테이블, 필드 및 데이터 유형을 탐색할 수 있습니다.
+ ****SQL 편집기**** - SQL을 편집하는 데 사용합니다. 구문 강조, 기본 자동 완성, 자동 들여쓰기 및 줄 번호 매기기 기능이 있습니다. SQL과 호환되는 데이터 원본에서 가져온 데이터 세트에 대해서만 SQL 쿼리를 지정할 수 있습니다. 구문, 대문자 표시, 명령 종료 등과 관련된 대상 데이터베이스 요구 사항을 따라 SQL을 작성해야 합니다. 원할 경우 다른 편집기에서 SQL을 붙여 넣을 수 있습니다.
+ ****데이터 작업 영역**** - SQL 편집기를 닫으면 오른쪽 상단에 그리드 배경이 있는 데이터 작업 영역이 표시됩니다. 여기서는 쿼리, 테이블, 파일 및 조인 편집기에서 생성된 조인을 포함하여 데이터 객체의 그래픽 표현을 볼 수 있습니다.

  각 테이블에 대한 세부 정보를 보려면 데이터 소스 옵션 메뉴를 사용하고 **테이블 세부 정보** 또는 **SQL 쿼리 편집**을 선택합니다. 테이블 이름 및 별칭, 스키마, 데이터 원본 이름 및 데이터 소스 유형에 대한 세부 정보가 표시됩니다. 파일에 대한 업로드 설정의 경우 데이터 소스 옵션 메뉴에서 **업로드 설정 구성**을 선택하여 다음 설정을 보거나 변경합니다.
  + 형식 - CSV, CUSTOM, CLF 등의 파일 형식
  + 시작 행 - 시작하는 데 사용할 행
  + 텍스트 한정자 - 큰따옴표 또는 작은 따옴표
  + 헤더 - 파일에 헤더 행이 포함되는지 여부를 나타냄
+ ****행 미리 보기**** - 조인 구성 편집기를 사용하지 않는 경우 오른쪽 하단에 샘플링된 행의 미리보기가 나타납니다.
+ ****조인 구성** 편집기** - 데이터 작업 영역에 데이터 객체가 두 개 이상 있는 경우 조인 편집기가 열립니다. 조인을 편집하려면 두 테이블(또는 파일) 사이의 조인 아이콘을 선택합니다. 화면 하단의 조인 구성 패널을 사용하여 조인 유형 및 조인할 필드를 선택합니다. 그런 다음 **적용**을 선택하여 조인을 생성합니다. 작업을 저장하려면 먼저 모든 조인을 완료해야 합니다.

쿼리, 테이블 또는 파일을 더 추가하려면 작업 영역 위에 있는 **데이터 추가** 옵션을 사용합니다.

## 기본 SQL 쿼리 생성
<a name="add-a-SQL-query"></a>

사용자 지정 SQL 쿼리를 사용하여 데이터 소스에 연결하려면 다음 절차를 따르십시오.

**기본 SQL 쿼리를 생성하려면**

1. 새 데이터 소스를 생성하고 연결을 확인합니다.

1. 연결에 필요한 옵션을 작성합니다. 그러나 스키마 또는 테이블을 선택할 필요는 없습니다.

1. **사용자 지정 SQL 사용**을 선택합니다.

1. (선택 사항) SQL 편집기에서 쿼리를 입력하거나 다음 단계를 계속하여 전체 화면 버전을 사용할 수 있습니다. 지금 입력하려면 쿼리의 이름을 만듭니다. 그런 다음 SQL 쿼리를 편집기에 입력하거나 붙여 넣습니다. SQL 편집기에는 구문 강조, 기본 자동 완성, 자동 들여쓰기 및 줄 번호 매기기 기능이 있습니다.

   (선택 사항) **쿼리 확인**을 선택하여 쿼리를 검증하고 직접 쿼리, SPICE 메모리 및 SageMaker AI 설정에 대한 설정을 봅니다.

1. **데이터 편집/미리 보기**를 선택합니다. SQL 편집기가 표시된 상태로 전체 쿼리 편집기가 나타납니다. 쿼리가 처리되고, 쿼리 결과에 대한 샘플이 데이터 미리 보기 창에 표시됩니다. **적용**을 선택하여 SQL을 변경하고 확인할 수 있습니다. SQL 작업이 완료되면 **닫기**를 선택하여 계속합니다.

1.  맨 위에 데이터 세트의 이름을 입력합니다. **저장 및 시각화**를 선택합니다.

### 기존 쿼리 수정
<a name="modifying-existing-queries"></a>

**SQL 쿼리를 업데이트하려면**

1. 작업할 데이터 세트를 엽니다.

1. 그리드가 있는 작업 영역에서 기존 쿼리를 나타내는 상자 모양의 객체를 찾습니다.

1. 해당 쿼리 객체에서 옵션 메뉴를 열고 **SQL 쿼리 편집**을 선택합니다. 이 옵션이 목록에 나타나지 않으면 해당 쿼리 객체가 SQL 기반이 아닌 것입니다.

   이전 버전의 쿼리를 보려면 왼쪽에 있는 **쿼리 아카이브**를 엽니다.

# 지리 공간 데이터 추가
<a name="geospatial-data-prep"></a>

Amazon Quick Sight가 맵에 표시할 수 있도록 데이터의 지리적 필드에 플래그를 지정할 수 있습니다. Amazon Quick Sight는 위도 및 경도 좌표를 차트로 작성할 수 있습니다. 또한 국가, 주, 카운티, 시/군/구 및 우편 번호와 같은 지리적 구성 요소를 인식합니다. 2개의 주에 있는 동일한 이름의 도시와 같이 동일한 개체를 구분할 수 있는 지리 공간 계층을 추가할 수 있습니다.

**참고**  
Amazon Quick Sight의 지리 공간 차트는 현재 중국을 AWS 리전포함한 일부 에서는 지원되지 않습니다. 더 많은 리전이 곧 지원될 예정입니다.

데이터 세트에 지리 공간 데이터 유형 및 계층을 추가하려면 다음 절차를 따르십시오.

**데이터 세트에 지리 공간 데이터 유형 및 계층을 추가하기**

1. 데이터 준비 페이지에서 올바른 데이터 유형이 포함된 지리적 구성 요소를 레이블 지정합니다.

   이를 달성하는 데는 몇 가지 방법이 있습니다. 하나는 [**Fields**]에서 해당 필드를 선택하고 줄임표 아이콘([**…**])을 사용하여 컨텍스트 메뉴를 여는 것입니다.

   그런 다음 올바른 지리 데이터 유형을 선택합니다.

   데이터 샘플을 포함하는 작업 영역에서 데이터 유형을 변경할 수도 있습니다. 이렇게 하려면 필드 이름 아래 나열된 데이터 유형을 선택하십시오. 그런 다음 할당하고자 하는 데이터 유형을 선택합니다.

1. 매핑에 필요한 모든 지리 공간 필드가 지리 공간 데이터 유형으로 레이블 지정되었는지 확인합니다. 표시 마커 아이콘을 찾아 이를 확인할 수 있습니다. 이 아이콘은 페이지 상단에 걸친 필드 이름 아래에 표시되며, 왼쪽의 [**Fields**] 창에도 표시됩니다.

   또한 위도 또는 국가와 같은 데이터 유형의 이름을 확인합니다.

1. (선택 사항) 지리적 구성 요소(주, 도시) 또는 위도 및 경도 좌표에 대한 계층 또는 그룹을 설정할 수 있습니다. 좌표의 경우 지리 필드 웰에 위도 및 경도를 추가해야 합니다.

   계층 또는 그룹을 생성하려면 먼저 [**Fields**] 창의 필드 중 하나를 선택합니다. 각 필드는 한 계층에만 속할 수 있습니다. 어떤 필드를 먼저 선택하는지, 또는 필드를 추가하는 순서는 중요하지 않습니다.

   필드 이름 옆에 있는 줄임표 아이콘(**…**)을 선택합니다. 그런 다음 [**Add to a hierarchy**]를 선택합니다.

1. [**Add field to hierarchy**] 화면에서 다음 중 하나를 선택합니다.
   + [**Create a new geospatial hierarchy**]를 선택하여 새 그룹을 생성합니다.
   + [**Add to existing geospatial hierarchy**]를 선택하여 이미 존재하는 그룹에 필드를 추가합니다. 표시되는 기존 계층에는 일치하는 지리 공간 유형만을 포함합니다.

   [**Add**]를 추가하여 선택을 확인합니다.

1. [**Create hierarchy**] 화면에서 계층의 이름을 정합니다.

   위도 및 경도 그룹화를 생성하는 경우 **계층 구조 생성** 화면이 나타납니다. 이전 단계에서 위도와 경도 중 어떤 것을 선택했는지에 따라 위도 또는 경도가 이 화면에 표시됩니다. 위도 필드가 **위도에 사용할 필드** 아래에 표시되어야 합니다. 또한 경도는 **경도에 사용할 필드** 아래에 표시되어야 합니다.

   지리적 구성 요소에 대하여 [**Create hierarchy**] 화면에는 두 가지 선택이 있습니다:
   + 데이터가 하나의 국가만을 포함하는 경우 [**This hierarchy is for a single country**]를 선택합니다. 목록에서 특정 국가를 선택합니다. 데이터에 모든 수준의 계층을 포함할 필요는 없습니다. 순서에 상관없이 필드를 계층에 추가할 수 있습니다.
   + 데이터가 하나 이상의 국가를 포함하는 경우 [**This hierarchy is for multiple countries**]를 선택합니다. 국가 이름을 포함하는 필드를 선택합니다.

   하나의 계층 유형에 대해 [**Update**]를 선택하여 계속 진행합니다.

1. 필요한 만큼 여러 필드를 계층에 추가하여 계속 진행합니다.

   지리 공간 그룹은 [**Fields**] 창에 표시됩니다.

# 지리 공간 그룹 변경
<a name="geospatial-change-hierarchy"></a>

데이터 세트에 있는 지리 공간 계층 또는 그룹을 변경할 수 있습니다.

지리 공간 계층을 편집 또는 해체하려면 다음 절차를 따르십시오.

**지리공간 계층 구조를 편집하거나 분리하기**

1. 데이터 세트를 엽니다. [**Fields**] 창에서 계층 이름을 선택합니다.

1. 줄임표 아이콘(**...**)을 선택하고 다음 옵션 중 하나를 선택합니다.

   **계층 해제**를 선택하여 데이터 세트에서 계층을 제거합니다. 이 작업은 실행 취소할 수 없습니다. 그러나 1단계부터 다시 시작하여 계층 또는 그룹을 다시 생성할 수 있습니다. 계층을 해제하더라도 데이터 세트에서 필드가 제거되지 않습니다.

   [**Edit hierarchy**]를 계층을 변경합니다. 이를 통해 생성 화면이 다시 열리고 계층을 다시 빌드하는 데 있어 다른 선택을 할 수 있습니다.

# 지리 공간 관련 문제 해결
<a name="geospatial-troubleshooting"></a>

이 섹션을 사용하여 지리 공간 데이터를 올바르게 처리하기 위한 Amazon Quick Sight 요구 사항을 알아봅니다. Amazon Quick Sight가 지리 공간 데이터를 지리 공간으로 인식하지 못하는 경우이 섹션을 사용하여 문제를 해결하세요. 해당 데이터가 나열된 지침을 따르도록 해야 지리 공간 시각적 객체에서 작동합니다.

**참고**  
Amazon Quick Sight의 지리 공간 차트는 현재 중국을 AWS 리전포함한 일부 에서는 지원되지 않습니다. 더 많은 리전이 곧 지원될 예정입니다.  
리전이 여기에 나열된 모든 지침을 따르고 여전히 오류가 발생하는 경우 Amazon Quick Sight 콘솔 내에서 Amazon Quick Sight 팀에 문의하세요.

**Topics**
+ [문제 지오코딩](#geocoding)
+ [위도 및 경도 관련 문제](#latitude-and-longitude)
+ [국가별 지원 관리 영역 및 우편 번호](#supported-admin-areas-postal-codes)

## 문제 지오코딩
<a name="geocoding"></a>

Amazon Quick Sight 지오코드는 이름을 위도 및 경도 좌표에 배치합니다. 이 좌표를 사용하여 맵에 장소 이름을 표시합니다. Amazon Quick Sight는 지오코딩할 수 없는 모든 위치를 건너뜁니다.

이러한 프로세스가 제대로 이루어지려면 해당 데이터에 최소한 국가 정보가 포함되어야 합니다. 또한 부모 장소 이름 내에 중복되는 장소 이름이 있어서는 안 됩니다.

몇 가지 문제로 인해 장소 이름이 지도 차트에 표시되지 않을 수 있습니다. 이러한 문제로는 다음에 기술한 내용과 같이 지원되지 않거나 모호하거나 잘못된 위치 등이 있습니다.

**Topics**
+ [지원되지 않는 지역과 관련된 문제](#geospatial-unsupported-areas)
+ [모호한 위치 관련 문제](#geospatial-ambiguous-locations)
+ [잘못된 지리 공간 데이터 관련 문제](#geospatial-invalid-data)
+ [지오코딩의 기본 국가 관련 문제](#geospatial-default-country)

### 지원되지 않는 지역과 관련된 문제
<a name="geospatial-unsupported-areas"></a>

지원되지 않는 위치를 매핑하려면 데이터에 위도 및 경도 좌표를 포함시키십시오. 지리 공간 필드 웰에서 이 좌표를 사용하여 지도 차트에 위치가 표시되도록 합니다.

### 모호한 위치 관련 문제
<a name="geospatial-ambiguous-locations"></a>

지리 공간 데이터에 모호한 위치가 포함되어서는 안 됩니다. 예를 들어 데이터에 **Springfield**라는 도시가 있는데, 계층에서 다음 단계가 국가라고 가정합시다. 여러 주에 **Springfield**라는 이름의 도시가 있기 때문에 지도의 특정 지점에 대한 위치를 지오코딩할 수 없습니다.

이 문제를 미연에 방지하려면 충분한 지리적 데이터를 추가하여 지도 차트에 어떤 위치가 표시되어야 하는지를 명확히 해야 합니다. 예를 들어 해당 데이터와 그 계층에 '주' 단계를 추가할 수 있습니다. 또는 위도와 경도를 추가할 수도 있습니다.

### 잘못된 지리 공간 데이터 관련 문제
<a name="geospatial-invalid-data"></a>

장소 이름(예: 도시)이 잘못된 부모(예: 주) 아래에 나열되어 있는 경우 잘못된 지리 공간 데이터가 발생합니다. 이 문제는 단순 오타 또는 데이터 입력 오류일 수 있습니다.

**참고**  
Amazon Quick Sight는 리전(예: 서부 해안 또는 남부)을 지리 공간 데이터로 지원하지 않습니다. 하지만 시각 객체에서는 리전을 필터로 사용할 수 있습니다.

### 지오코딩의 기본 국가 관련 문제
<a name="geospatial-default-country"></a>

올바른 기본 국가를 사용 중인지 확인하십시오.

각 계층의 기본값은 계층 생성 시 선택하는 국가 또는 국가 필드에 따라 설정됩니다.

이 기본값을 변경하기 위해 [**Create hierarchy**] 화면으로 돌아갈 수 있습니다. 그런 다음 계층을 편집 또는 생성하고 다른 국가를 선택합니다.

계층을 생성하지 않는 경우 기본 국가는 귀하의 AWS 리전에 따라 결정됩니다. 자세한 내용은 다음 표를 참조하십시오.


| 리전 | 기본 국가 | 
| --- | --- | 
| 미국 서부(오리곤) 리전 미국 동부(오하이오) 리전 미국 동부(버지니아 북부) 리전 | US | 
| 아시아 태평양(싱가포르) | 싱가포르 | 
| 아시아 태평양(시드니) | 호주 | 
| 유럽(아일랜드) 리전 | 아일랜드 | 

## 위도 및 경도 관련 문제
<a name="latitude-and-longitude"></a>

Amazon Quick Sight는 배경의 위도 및 경도 좌표를 사용하여 맵에서 장소 이름을 찾습니다. 하지만 장소 이름을 사용하지 않고 좌표를 사용하여 지도를 생성할 수도 있습니다. 이러한 접근 방식은 지원되지 않는 장소 이름에도 적용할 수 있습니다.

위도 및 경도 값은 숫자여야 합니다. 예를 들어 로 표시된 맵 포인트**28.5383355 -81.3792365**는 Amazon Quick Sight와 호환됩니다. 그러나 **28° 32' 18.0096'' N 81° 22' 45.2424'' W**는 호환되지 않습니다.

**Topics**
+ [위도 및 경도 좌표의 유효 범위](#valid-ranges-for-coordinates)
+ [도, 분, 초(DMS) 형식의 좌표를 사용](#using-coordinates-in-dms-format)

### 위도 및 경도 좌표의 유효 범위
<a name="valid-ranges-for-coordinates"></a>

Amazon Quick Sight는 특정 범위 내의 위도 및 경도 좌표를 지원합니다.




| 좌표 | 유효 범위 | 
| --- | --- | 
| 위도 | -90에서 90 사이 | 
| 경도 | -180에서 180 사이 | 

Amazon Quick Sight는 이러한 범위를 벗어나는 모든 데이터를 건너뜁니다. 범위를 벗어난 지점은 지도 차트에 매핑될 수 없습니다.

### 도, 분, 초(DMS) 형식의 좌표를 사용
<a name="using-coordinates-in-dms-format"></a>

공식을 통해 계산된 필드를 사용하여 문자열에서 숫자로 된 위도 및 경도를 생성할 수 있습니다. 이 섹션을 사용하면 Amazon Quick Sight에서 계산된 필드를 생성하여 GPS 위도와 경도를 숫자 위도와 경도로 구문 분석할 수 있는 다양한 방법을 찾을 수 있습니다.

다음 예는 별도의 필드에서 위도 및 경도를 숫자 형식으로 변환합니다. 예를 들어 공백으로 구분된 **51° 30' 26.4636'' N 0° 7' 39.9288'' W**를 구문 분석한다고 가정하겠습니다. 이 경우 다음 예와 같은 것을 사용하여 결과 필드를 숫자로 된 위도 및 경도로 변환할 수 있습니다.

이 예제에서는 초 뒤에 작은 따옴표 두 개가 옵니다. 그 대신 데이터에 큰 따옴표가 있는 경우에는 `strlen(LatSec)-2)` 대신에 `strlen(LatSec)-1)`을 사용할 수 있습니다.

```
/*Latitude*/
        ifelse(
        LatDir = "N",
        parseInt(split(LatDeg, "°", 1)) +
            (parseDecimal(split(LatMin, "'", 1) ) /60) +
            (parseDecimal((substring(LatSec, 1, strlen(LatSec)-2) ) ) /3600),
        (parseInt(split(LatDeg, "°", 1)) +
            (parseDecimal(split(LatMin, "'", 1) ) /60) +
            (parseDecimal((substring(LatSec, 1, strlen(LatSec)-2) ) ) /3600)) * -1
        )

/*Longitude*/
        ifelse(
        LongDir = "E",
        parseInt(split(LongDeg, "°", 1)) +
            (parseDecimal(split(LongMin, "'", 1) ) /60) +
            (parseDecimal((substring(LongSec, 1, strlen(LongSec)-2) ) ) /3600),
        (parseInt(split(LongDeg, "°", 1)) +
            (parseDecimal(split(LongMin, "'", 1) ) /60) +
            (parseDecimal((substring(LongSec, 1, strlen(LongSec)-2) ) ) /3600)) * -1
        )
```



데이터에 도, 분 및 초 기호가 포함되지 않은 경우 공식의 모양은 다음과 같습니다.

```
/*Latitude*/
    ifelse(
        LatDir = "N",
        (LatDeg + (LatMin / 60) + (LatSec / 3600)),
        (LatDeg + (LatMin / 60) + (LatSec / 3600)) * -1
    )

/*Longitude*/
    ifelse(
        LongDir = "E",
        (LongDeg + (LongMin / 60) + (LongSec / 3600)),
        (LongDeg + (LongMin / 60) + (LongSec / 3600)) * -1
    )
```



다음 예는 **53°21'N 06°15'W**를 숫자 형식으로 변환합니다. 하지만 초가 없으면 이 위치는 지도에 정확히 표시되지 않습니다.

```
/*Latitude*/
ifelse(
    right(Latitude, 1) = "N",
    (parseInt(split(Latitude, '°', 1)) +
        parseDecimal(substring(Latitude, (locate(Latitude, '°',3)+1),  2) ) / 60) ,
    (parseInt(split(Latitude, '°', 1)) +
        parseDecimal(substring(Latitude, (locate(Latitude, '°',3)+1),  2) ) / 60) * -1
)

/*Longitude*/
ifelse(
    right(Longitude, 1) = "E",
    (parseInt(split(Longitude, '°', 1)) +
        parseDecimal(substring(Longitude, (locate(Longitude, '°',3)+1),  2) ) / 60) ,
    (parseInt(split(Longitude, '°', 1)) +
        parseDecimal(substring(Longitude, (locate(Longitude, '°',3)+1),  2) ) / 60) * -1
)
```



GPS 위도 및 경도 형식은 다양할 수 있으므로 공식을 사용자 지정하여 데이터를 일치시키십시오. 자세한 내용은 다음을 참조하세요.
+ LatLong.net의 [Degrees Minutes Seconds to Decimal Degrees](https://www.latlong.net/degrees-minutes-seconds-to-decimal-degrees)
+ Stack Overflow의 [Converting Degrees/Minutes/Seconds to Decimals using SQL](https://stackoverflow.com/questions/12186110/converts-degrees-minutes-seconds-to-decimals-using-sql)
+ Wikipedia의 [Geographic Coordinate Conversion](https://en.wikipedia.org/wiki/Geographic_coordinate_conversion)

## 국가별 지원 관리 영역 및 우편 번호
<a name="supported-admin-areas-postal-codes"></a>

다음은 국가별로 지원되는 관리 영역 목록입니다.


**지원되는 관리 영역**  

| 국가 이름 | 국가 코드 | 국가 | State | County | City | 
| --- | --- | --- | --- | --- | --- | 
|  아루바  |  ABW  |  국가  |  리전  |  영역  |    | 
|  아프가니스탄  |  AFG  |  국가  |  윌라얏  |  울레스왈리  |  지자체/도시 영역  | 
|  앙골라  |  AGO  |  국가  |  시/도  |  시  |  지자체/도시 영역  | 
|  앙귈라  |  AIA  |  국가  |  교구  |    |    | 
|  알바니아  |  ALB  |  국가  |  Qarqe)/Qark  |  최소 행정 구역/시청  |  Njësi/지자체/도시 영역  | 
|  안도라  |  AND  |  국가  |  교구/Parròquies  |  지자체/도시 영역  |    | 
|  아랍 에미리트 연합국  |  ARE  |  국가  |  에미레이트  |  지방 자치제  |  시/지자체/도시 영역  | 
|  아르헨티나  |  ARG  |  국가  |  도/프로방스  |  데파르타멘토/국  |  시/구역  | 
|  아르메니아  |  ARM  |  국가  |  도/Marzpet  |    |  지자체/도시 영역  | 
|  미국령 사모아  |  ASM  |  국가  |  지구  |  카운티  |  빌리지  | 
|  남극 대륙  |  ATA  |  국가  |    |    |    | 
|  프랑스령 남방 지역  |  ATF  |  국가  |  지구  |    |    | 
|  앤티가 바부다  |  ATG  |  국가  |  교구  |    |  지자체/도시 영역  | 
|  호주  |  AUS  |  국가  |  상태  |  지방 정부 영역  |  교외/도심지  | 
|  오스트리아  |  AUT  |  국가  |  주/분데스란트  |  지구/Bezirke  |  지방 자치제/게마인데/도시 영역/구역  | 
|  아제르바이잔  |  AZE  |  국가  |  리전/Iqtisadi Rayonlar  |  지구/구  |  지자체/도시 영역  | 
|  부룬디  |  BDI  |  국가  |  도  |  최소 행정 구역  |  지자체/도시 영역  | 
|  벨기에  |  BEL  |  국가  |  리전/지역  |  시/도  |  지구/구/지방 자치제/최소 행정 구역  | 
|  베냉  |  BEN  |  국가  |  국  |  최소 행정 구역  |  지자체/도시 영역  | 
|  보네르, 신트 유스타티우스 및 사바  |  BES  |  국가  |  지방 자치제  |    |  지자체/도시 영역  | 
|  부르키나 파소  |  BFA  |  국가  |  리전  |  도  |  최소 행정 구역/지자체/도시 영역  | 
|  방글라데시  |  BGD  |  국가  |  구/Bibhag  |  지구/주  |  하위 지구/Upzila/지자체/도시 영역  | 
|  불가리아  |  BGR  |  국가  |  주  |  Obshtina  |  지자체/도시 영역  | 
|  바레인  |  BHR  |  국가  |  행정 단위  |  선거구  |  지자체  | 
|  바하마  |  BHS  |  국가  |  섬 그룹  |  지구  |  타운  | 
|  보스니아 헤르체고비나  |  BIH  |  국가  |  연방/공화제  |  주  |  자치구/지자체/도시 영역  | 
|  생 바르텔레미  |  BLM  |  국가  |    |    |  지자체/도시 영역  | 
|  벨로루시  |  BLR  |  국가  |  주  |  Rayon  |  Selsoviet/지자체/도시 영역  | 
|  벨리즈  |  BLZ  |  국가  |  지구  |  선거구  |  지자체/도시 영역  | 
|  버뮤다  |  BMU  |  국가  |  교구  |    |  지자체/도시 영역  | 
|  볼리비아  |  BOL  |  국가  |  도/프로방스  |  데파르타멘토/국  |  지방 자치제/시/지자체/도시 영역  | 
|  브라질  |  BRA  |  국가  |  도/주/Unidades  |  지방 자치제/시  |  지자체/도시 영역  | 
|  바베이도스  |  BRB  |  국가  |  교구  |    |  지자체/도시 영역  | 
|  브루나이  |  BRN  |  국가  |  지구/Dawaïr  |  하위 지구/Mukim  |  빌리지/Kampung/지자체/도시 영역  | 
|  부탄  |  BTN  |  국가  |  지구/Dzongkhag  |    |  지자체/도시 영역  | 
|  부베 섬  |  BVT  |  국가  |    |    |    | 
|  보츠와나  |  BWA  |  국가  |  지구  |  하위 지구  |  지자체/도시 영역  | 
|  중앙아프리카 공화국  |  CAF  |  국가  |  리전  |  현  |  하위 현/최소 행정 구역  | 
|  캐나다  |  CAN  |  국가  |  도/영토  |  인구 조사 구  |  인구 조사 구획/지자체/도시 영역  | 
|  스위스  |  CHE  |  국가  |  주/Kanton/Cantone/Chantun  |  지구/Bezirk/Distretto/Circul  |  “최소 행정 구역/Gemeinde/Comune/Cumün/지자체/도시 영역”  | 
|  칠레  |  CHL  |  국가  |  리전/레조네  |  도/프로방스  |  최소 행정 구역/코뮤나(Comunas)/지자체/도시 영역  | 
|  중화 인민 공화국  |  CHN  |  국가  |  도  |  현  |  시/카운티  | 
|  코트디부아르  |  CIV  |  국가  |  지구  |  리전  |  국/하위 현  | 
|  카메룬  |  CMR  |  국가  |  도/리전  |  국  |  Arrondissements/시  | 
|  콩고 민주 공화국  |  COD  |  국가  |  도  |  지구  |  지자체/도시 영역  | 
|  콩고 공화국  |  COG  |  국가  |  국  |    |  최소 행정 구역/Arrondissements  | 
|  쿡 제도  |  COK  |  국가  |  아일랜드 의회  |    |    | 
|  콜롬비아  |  COL  |  국가  |  Departmentos  |  시  |  지자체/도시 영역  | 
|  코모로  |  COM  |  국가  |  Autonomous Islands/îles Autonomes  |    |  Villes/빌리지  | 
|  클리퍼턴섬  |  CPT  |  국가  |    |    |    | 
|  카보베르데  |  CPV  |  국가  |  Ilhas  |  Concelhos  |  지자체/도시 영역  | 
|  코스타리카  |  CRI  |  국가  |  프로방스  |  주  |  Distritos/지자체/도시 영역  | 
|  쿠바  |  CUB  |  국가  |  프로방스  |  시  |  지자체/도시 영역  | 
|  Curaçoa  |  CUW  |  국가  |    |    |  지자체/도시 영역  | 
|  케이맨 제도  |  CYM  |  국가  |  지구  |    |    | 
|  사이프러스  |  CYP  |  국가  |  지구/Eparchies  |  지방 자치제/Dimos  |  지자체/도시 영역/Sinikia  | 
|  체코 공화국  |  CZE  |  국가  |  리전/Kraj  |  지방 자치제/운영  |  Obec/Mesto  | 
|  독일  |  DEU  |  국가  |  Bundesland/주  |  Kreis/지구  |  Gemeinde/지방 자치제/구역/지자체/도시 영역  | 
|  지부티  |  DJI  |  국가  |  리전  |    |  지자체/도시 영역  | 
|  도미니카  |  DMA  |  국가  |  교구  |    |  지자체/도시 영역  | 
|  덴마크  |  DNK  |  국가  |  리전  |  도  |  지방 자치제/지자체/도시 영역  | 
|  도미니카 공화국  |  DOM  |  국가  |  리전/레조네  |  도/프로방스  |  지방 자치제/시/지자체/도시 영역  | 
|  알제리  |  DZA  |  국가  |  도/Wilayas  |  지구  |  지방 자치제/Baladiyas/지자체/도시 영역  | 
|  에콰도르  |  ECU  |  국가  |  도  |  주  |  교구/지자체/도시 영역  | 
|  이집트  |  EGY  |  국가  |  행정 단위/Muhafazat  |  지방 자치제 구/Markaz  |  타운/시/하위 지방 자치제 구  | 
|  에리트레아  |  ERI  |  국가  |  리전/Zoba  |  지구/Subzobas  |  지자체/도시 영역  | 
|  스페인  |  ESP  |  국가  |  Autonomous Communities/Comunidados Autonomas  |  프로방스  |  시/지자체/도시 영역  | 
|  에스토니아  |  EST  |  국가  |  Maakond  |  Omavalitsus/Linn/Vald  |  Küla/지자체/도시 영역  | 
|  에티오피아  |  ETH  |  국가  |  리전/Kililoch  |  구역/Zonouch  |  지자체/도시 영역  | 
|  핀란드  |  FIN  |  국가  |  리전/Maakunta  |  하위 리전/Seutukunta  |  지방 자치제/Kunta/지자체/도시 영역  | 
|  피지  |  FJI  |  국가  |  구  |  도  |  지구/빌리지  | 
|  포클랜드 제도  |  FLK  |  국가  |    |    |    | 
|  프랑스  |  FRA  |  국가  |  리전  |  Départements  |  Arrondissements/주  | 
|  페로 제도  |  FRO  |  국가  |  리전/Syslur  |  지방 자치제/Kommunur  |  지자체/도시 영역  | 
|  미크로네시아 연방  |  FSM  |  국가  |  상태  |    |    | 
|  가봉  |  GAB  |  국가  |  도  |  국  |  지자체/도시 영역  | 
|  영국  |  GBR  |  국가  |  국가  |  카운티  |  지구/지자체/도시 영역  | 
|  조지아  |  GEO  |  국가  |  리전/Mkhare  |  지방 자치제/Munitsipaliteti  |  지자체/도시 영역  | 
|  가나  |  GHA  |  국가  |  리전  |  지구  |  지자체/도시 영역  | 
|  지브롤터  |  GIB  |  국가  |    |    |  지자체/도시 영역  | 
|  기니  |  GIN  |  국가  |  리전  |  현  |  하위 현/지자체/도시 영역  | 
|  과들루프  |  GLP  |  국가  |  Arrondissements  |  최소 행정 구역  |  지자체/도시 영역  | 
|  감비아  |  GMB  |  국가  |  리전  |  지구  |  지자체/도시 영역  | 
|  기니비사우  |  GNB  |  국가  |  리전  |  부문  |  지자체/도시 영역  | 
|  적도 기니  |  GNQ  |  국가  |  리전  |  프로방스  |  Distritos/지자체/도시 영역  | 
|  그리스  |  GRC  |  국가  |  리전/Periphenies  |  Regional Units Peri Enotities  |  지방 자치제/Domoi/지자체/도시 영역  | 
|  그레나다  |  GRD  |  국가  |  상태  |  교구/속국  |  지자체/도시 영역  | 
|  그린란드  |  GRL  |  국가  |  지방 자치제/코뮤니아  |    |    | 
|  과테말라  |  GTM  |  국가  |  국/데파르타멘토  |  지방 자치제/시  |  지자체/도시 영역  | 
|  프랑스령 기아나  |  GUF  |  국가  |  Arrondissements  |  최소 행정 구역  |  지자체/도시 영역  | 
|  괌  |    |  국가 = 미국  |  상태  |  지구  |    | 
|  가이아나  |  GUY  |  국가  |  리전  |  근린의회  |  지자체/도시 영역  | 
|  홍콩  |  HKG  |  국가  |  지구  |  하위 지구  |  지자체/도시 영역  | 
|  허드 맥도널드 제도  |  HMD  |  국가  |    |    |    | 
|  온두라스  |  HND  |  국가  |  국/데파르타멘토  |  지방 자치제/시  |  지자체/도시 영역  | 
|  크로아티아  |  HRV  |  국가  |  카운티  |  지방 자치제  |  지자체/도시 영역  | 
|  아이티  |  HTI  |  국가  |  국/Départements  |  지구/Arrondissements  |  최소 행정 구역/지자체/도시 영역  | 
|  헝가리  |  HUN  |  국가  |  Regiok  |  Megyék  |  Járások/Városok  | 
|  인도네시아  |  IDN  |  국가  |  도/Provinsi  |  섭정 시대/Kabupaten  |  지구/Kecamatan/지자체/도시 영역  | 
|  인도  |  IND  |  국가  |  주/영토  |  지구  |  하위 지구/타운/지자체/도시 영역  | 
|  영국령 인도양 지역  |  IOT  |  국가  |    |    |    | 
|  아일랜드  |  IRL  |  국가  |  리전  |  카운티  |  선거구/지자체/도시 영역  | 
|  이란  |  IRN  |  국가  |  도/Ostanha  |  카운티/Shahrestan  |  지자체/Dehestân  | 
|  이라크  |  IRQ  |  국가  |  행정 단위/Muhafazat  |  지구/Qadaa/Kaza  |  도시 영역/지자체  | 
|  아이슬란드  |  ISL  |  국가  |  리전/Landsvaedi  |  지방 자치제/Sveitarfelog  |  지자체/도시 영역  | 
|  이스라엘  |  ISR  |  국가  |  지구  |  시/지방의회  |  지자체/도시 영역  | 
|  이탈리아  |  ITA  |  국가  |  레조네  |  프로방스  |  최소 행정 구역/지자체/도시 영역  | 
|  자메이카  |  JAM  |  국가  |  카운티  |  교구  |  선거구/지자체/도시 영역  | 
|  요르단  |  JOR  |  국가  |  행정 단위  |  지구  |  하위 지구/시  | 
|  일본  |  JPN  |  국가  |  현  |    |  시/지구/지방 자치제  | 
|  카자흐스탄  |  KAZ  |  국가  |  리전/Oblystar  |  지구/Audandar  |  타운/Kent/지자체/도시 영역  | 
|  케냐  |  KEN  |  국가  |  카운티  |  선거구  |  지자체/도시 영역/교외  | 
|  키르기스스탄  |  KGZ  |  국가  |  리전/Oblasttar  |  지구/Raions  |  지자체/도시 영역  | 
|  캄보디아  |  KHM  |  국가  |  도/Khaet  |  지구/Srŏk  |  최소 행정 구역/Khum/지자체/도시 영역  | 
|  키리바시  |  KIR  |  국가  |  지구  |  아일랜드 의회  |    | 
|  세인트 크리스토퍼 네비스  |  KNA  |  국가  |  교구  |  상태  |  지자체/도시 영역  | 
|  대한민국  |  KOR  |  국가  |  도/Do  |  지구/Si/Gun  |  지자체/도시 영역  | 
|  쿠웨이트  |  KWT  |  국가  |  행정 단위/Muhafazah  |  영역/Mintaqah  |  시/커뮤니티  | 
|  라오스  |  LAO  |  국가  |  도/Khoueng  |  지구/Muang  |  지자체/도시 영역  | 
|  레바논  |  LBN  |  국가  |  행정 단위/Muhafazat  |  지구/Qadaa  |  지방 자치제/지자체/도시 영역  | 
|  라이베리아  |  LBR  |  국가  |  카운티  |  지구  |  Clans/지자체/도시 영역  | 
|  리비아  |  LBY  |  국가  |  지구/Shabiya  |    |  시/지자체/도시 영역  | 
|  세인트루시아  |  LCA  |  국가  |  지구/분기  |    |  지자체/도시 영역  | 
|  리히텐슈타인  |  LIE  |  국가  |  지구/Bezirk  |  지방 자치제/게마인데  |  지자체/도시 영역  | 
|  스리랑카  |  LKA  |  국가  |  도  |  지구  |  구 사무국/지자체/도시 영역  | 
|  레소토  |  LSO  |  국가  |  지구  |  선거구  |  커뮤니티 위원회/지자체  | 
|  리투아니아  |  LTU  |  국가  |  Apskritis  |  Savivaldybé  |  Seniūnija  | 
|  룩셈부르크  |  LUX  |  국가  |  주/Kantounen/Kantone  |  최소 행정 구역/Gemengen/게마인데  |  지자체/Ortschaft/Uertschaft/시  | 
|  라트비아  |  LVA  |  국가  |  리전  |  지방 자치제/Novadi  |  Pils'tas/Pagasti/지자체/도시 영역  | 
|  마카오  |  MAC  |  국가  |  교구  |  지구  |    | 
|  세인트마틴  |  MAF  |  국가  |    |    |  지자체/도시 영역  | 
|  모로코  |  MAR  |  국가  |  리전  |  도/현  |  최소 행정 구역/지자체/도시 영역  | 
|  모나코  |  MCO  |  국가  |  최소 행정 구역  |  구/Quartiers  |    | 
|  몰도바  |  MDA  |  국가  |  Raion  |  Comuna  |  지자체/도시 영역  | 
|  마다가스카르  |  MDG  |  국가  |  리전/Faritra  |  지구  |  최소 행정 구역/지자체/도시 영역  | 
|  몰디브  |  MDV  |  국가  |  Atolls/시  |  섬  |    | 
|  멕시코  |  MEX  |  국가  |  Estados  |  시/행정구  |  Colonias/지자체/도시 영역  | 
|  마셜 제도  |  MHL  |  국가  |  지방 자치제  |    |    | 
|  마케도니아  |  MKD  |  국가  |  통계적 리전  |  Opstina  |  지자체/도시 영역  | 
|  말리  |  MLI  |  국가  |  리전  |  최소 행정 구역  |  지자체/도시 영역  | 
|  몰타  |  MLT  |  국가  |  지구  |  지방의회/Kunsilli Lokali  |  지자체/도시 영역  | 
|  미얀마  |  MMR  |  국가  |  주/리전/연방 영토  |  지구  |  군구/지자체/도시 영역  | 
|  몬테네그로  |  MNE  |  국가  |  Opštine/지방 자치제  |    |  지자체/도시 영역  | 
|  몽골  |  MNG  |  국가  |  리전  |  도/Aimags  |  지구/Sums/지자체/도시 영역  | 
|  북마리아나 제도  |  MNP  |  국가  |  지방 자치제  |    |    | 
|  모잠비크  |  MOZ  |  국가  |  도  |  지구/Distritos  |  지자체/도시 영역  | 
|  모리타니아  |  MRT  |  국가  |  리전  |  Départements  |  지자체/도시 영역  | 
|  몬트세라트 섬  |  MSR  |  국가  |  교구  |  리전  |  지자체/도시 영역  | 
|  마르티니크  |  MTQ  |  국가  |  Arrondissements  |  최소 행정 구역  |  지자체/도시 영역  | 
|  모리셔스  |  MUS  |  국가  |  섬  |  지구  |  구/지자체/도시 영역  | 
|  말라위  |  MWI  |  국가  |  리전  |  지구  |  지자체/도시 영역  | 
|  말레이시아  |  MYS  |  국가  |  주/Negeri  |  지구/Daïra/Daerah  |  하위 지구/Mukim/지자체/도시 영역/Bahagian Kecil  | 
|  마요트  |  MYT  |  국가  |  최소 행정 구역  |    |  빌리지  | 
|  나미비아  |  NAM  |  국가  |  도  |  선거구  |  교외/지자체  | 
|  뉴칼레도니아  |  NCL  |  국가  |  도  |  최소 행정 구역  |    | 
|  니제르  |  NER  |  국가  |  리전  |  국  |  지자체/도시 영역  | 
|  나이지리아  |  NGA  |  국가  |  상태  |  지방 정부 영역  |  타운/시  | 
|  니카라과  |  NIC  |  국가  |  국/데파르타멘토  |  지방 자치제/시  |  지자체/도시 영역  | 
|  니우에  |  NIU  |  국가  |  빌리지  |    |  타운  | 
|  네덜란드  |  NLD  |  국가  |  카운티/Fylker  |  지구/Okonomisk  |  지방 자치제, Kommuner, 지자체 또는 도시 영역  | 
|  노르웨이  |  NOR  |  국가  |  카운티/Fylker  |  지구/Okonomisk  |  지방 자치제, Kommuner, 지자체 또는 도시 영역  | 
|  네팔  |  NPL  |  국가  |  도/Pradeshaharu  |  지구/Jilla  |  지방 자치제/지자체/도시 영역  | 
|  나우루  |  NRU  |  국가  |  지구  |    |    | 
|  뉴질랜드  |  NZL  |  국가  |  리전  |  영토 당국  |  통계적 영역/지자체/도시 영역  | 
|  오만  |  OMN  |  국가  |  행정 단위/Muhafazah  |  도/Wilayat  |  시/도시 영역/커뮤니티  | 
|  파키스탄  |  PAK  |  국가  |  도  |  지구  |  지자체/Tehsils  | 
|  파나마  |  PAN  |  국가  |  도/프로방스  |  지구/Distrito  |  관할구/지자체/도시 영역  | 
|  핏케언 제도  |  PCN  |  국가  |  섬  |    |    | 
|  페루  |  PER  |  국가  |  리전  |  지구  |  Distritos/지자체/도시 영역  | 
|  필리핀  |  PHL  |  국가  |  리전/Rehiyon  |  도/Lalawigan  |  지방 자치제/Munisipiyos/시/Lungsod  | 
|  팔라우  |  PLW  |  국가  |  상태  |    |    | 
|  파푸아뉴기니  |  PNG  |  국가  |  리전  |  도  |  지구/지자체/도시 영역  | 
|  폴란드  |  POL  |  국가  |  도/Voivodeships  |  카운티/Powiats  |  최소 행정 구역/Gminas/타운/Dzielnicas  | 
|  북한  |  PRK  |  국가  |  도  |    |  지자체/도시 영역  | 
|  포르투갈  |  PRT  |  국가  |  지구/Distritos  |  지방 자치제/Concelhos  |  지방 행정구/구/지자체/도시 영역  | 
|  파라과이  |  PRY  |  국가  |  국  |  Distritos  |  지자체/도시 영역  | 
|  팔레스타인  |  PSE  |  국가  |  영토  |  행정 단위/Muhafazat  |  지자체/도시 영역  | 
|  프랑스령 폴리네시아  |  PYF  |  국가  |  구획/Iles  |  최소 행정 구역  |    | 
|  카타르  |  QAT  |  국가  |  지방 자치제/Baladiyat  |  구역  |  지자체/도시 영역  | 
|  레위니옹  |  REU  |  국가  |  Arrondissements  |  최소 행정 구역  |  지자체/도시 영역  | 
|  루마니아  |  ROU  |  국가  |  리전/Judete  |  최소 행정 구역  |  타운/Oraș  | 
|  러시아  |  RUS  |  국가  |  연방 지구/Federal'nyy Okrug  |  주  |  Rayon/Raion/도시 영역/Gorod  | 
|  르완다  |  RWA  |  국가  |  도  |  지구  |  부문/Secteurs/지자체/도시 영역  | 
|  사우디아라비아  |  SAU  |  국가  |  리전/Manatiq  |  행정 단위/Muhafazat  |  지방 자치제/Amanah  | 
|  수단  |  SDN  |  국가  |  주/Wilaya'at  |    |  지자체/도시 영역  | 
|  세네갈  |  SEN  |  국가  |  리전  |  국  |  Arrondissements/지자체/도시 영역  | 
|  싱가포르  |  SGP  |  국가  |  지구  |  선거구  |  구  | 
|  세인트 헬레나  |  SHN  |  국가  |  섬  |  지구  |  지자체/도시 영역  | 
|  솔로몬 제도  |  SLB  |  국가  |  도  |  선거구  |  구  | 
|  시에라리온  |  SLE  |  국가  |  도  |  지구  |  Chiefdoms/지자체/도시 영역  | 
|  엘살바도르  |  SLV  |  국가  |  국/데파르타멘토  |  지방 자치제/시  |  지자체/도시 영역  | 
|  산마리노  |  SMR  |  국가  |  지방 자치제/Castelli  |  지자체/도시 영역  |    | 
|  소말리아  |  SOM  |  국가  |  리전/Gobolada  |    |  지자체/도시 영역  | 
|  세인트 피에르 미켈론  |  SPM  |  국가  |  최소 행정 구역  |    |    | 
|  세르비아  |  SRB  |  국가  |  Autonomna Pokrajina/리전  |  Okrug/지구  |  Opstina/지방 자치제/지자체/도시 영역  | 
|  남수단  |  SSD  |  국가  |  주/Wilayat  |  카운티  |  지자체/도시 영역  | 
|  상투메 프린시페  |  STP  |  국가  |  도  |  지구  |  지자체/도시 영역  | 
|  수리남  |  SUR  |  국가  |  지구/Distrikt  |  리조트  |  지자체/도시 영역  | 
|  슬로바키아  |  SVK  |  국가  |  리전/Kraje  |  지구/Okresy  |  지방 자치제/Obec/Mestská cast  | 
|  슬로베니아  |  SVN  |  국가  |  리전/Regi  |  Upravne Enote  |  지방 자치제/Obcine/지자체/도시 영역  | 
|  스웨덴  |  SWE  |  국가  |  카운티  |  지방 자치제  |  지자체/도시 영역  | 
|  에스와티니  |  SWZ  |  국가  |  리전  |  틴쿤들라  |  타운/교외/지자체  | 
|  신트마르턴  |  SXM  |  국가  |  정착  |    |    | 
|  세이셸  |  SYC  |  국가  |  지구  |    |  지자체/도시 영역  | 
|  시리아  |  SYR  |  국가  |  행정 단위  |  지구/Muhafazah  |  시/지자체/도시 영역  | 
|  터크스 카이코스 군도  |  TCA  |  국가  |  지구  |  지자체  |    | 
|  차드  |  TCD  |  국가  |  리전  |  Départements  |  Arrondissements/지자체/도시 영역  | 
|  토고  |  TGO  |  국가  |  리전/도  |  현  |  지자체/도시 영역  | 
|  태국  |  THA  |  국가  |  도/Changwat  |  지구/Amphoe  |  하위 지구/Tambon/지자체/도시 영역  | 
|  타지키스탄  |  TJK  |  국가  |  도/리전  |  지구/Raion/Rayon  |  지자체/도시 영역  | 
|  토켈라우  |  TKL  |  국가  |  Atolls  |    |    | 
|  투르크메니스탄  |  TKM  |  국가  |  도/Welayat  |  지구/Etraplar  |  타운  | 
|  동티모르(Timor-Leste)  |  TLS  |  국가  |  지방 자치제  |  행정직  |  지자체/도시 영역  | 
|  통가  |  TON  |  국가  |  구획  |    |    | 
|  트리니다드 토바고  |  TTO  |  국가  |  지방 자치제  |    |  지자체/도시 영역  | 
|  튀니지  |  TUN  |  국가  |  Governates/Wilayahs  |  위임/Mutamadiyats  |  지방 자치제/Shaykhats/지자체/도시 영역  | 
|  터키  |  TUR  |  국가  |  도/Il  |  지구/Ilce  |  도시 영역/Belde/하위 지구/Bucak/인근/Mahalle  | 
|  투발루  |  TUV  |  국가  |  섬  |    |    | 
|  대만  |  TWN  |  국가  |  도  |  카운티  |  타운십/지역 인근  | 
|  탄자니아  |  TZA  |  국가  |  도/Mkoa  |  지구/Wilaya  |  지자체/도시 영역  | 
|  우간다  |  UGA  |  국가  |  리전  |  지구  |  카운티/지자체/도시 영역  | 
|  우크라이나  |  UKR  |  국가  |  Oblast/Mista/Avtonomna Respublika  |  Raions  |  정착 위원회/시골 위원회/지자체/도시 영역  | 
|  미국령 군소 제도  |  UMI  |  국가  |  섬/Atolls  |    |    | 
|  우루과이  |  URY  |  국가  |  국/데파르타멘토  |  시/지방 자치제/Secciones  |  Segmentos/지자체/도시 영역  | 
|  30  |  USA  |  국가  |  주/영토  |  카운티  |  MCD/CCD/게시 지역/지방 자치제  | 
|  우즈베키스탄  |  UZB  |  국가  |  리전/Viloyatlar  |  지구/Tumanlar  |  지자체/도시 영역  | 
|  바티칸 시티  |  VAT  |  국가  |    |    |  지자체/도시 영역  | 
|  세인트 빈센트 그레나딘  |  VCT  |  국가  |  교구  |  구  |  지자체/도시 영역  | 
|  베네수엘라  |  VEN  |  국가  |  주/Estados  |  지방 자치제/시  |  지자체/도시 영역/교구/Parroquias  | 
|  영국령 버진 제도  |  VGB  |  국가  |  지구  |    |    | 
|  베트남  |  VNM  |  국가  |  도/시  |  지구  |  구/지자체/도시 영역  | 
|  바누아투  |  VUT  |  국가  |  도  |    |    | 
|  월리스 푸투나 제도  |  WLF  |  국가  |  지구/Rayaumes  |    |    | 
|  사모아  |  WSM  |  국가  |  지구/Itūmālō  |  타운  |  지자체/도시 영역  | 
|  코소보  |  XKS  |  국가  |  지구  |  지방 자치제  |  지자체/도시 영역  | 
|  예멘  |  YEM  |  국가  |  행정 단위/Muhafazat  |  지구/Muderiah  |  지자체/도시 영역  | 
|  남아프리카 공화국  |  ZAF  |  국가  |  도  |  지구  |  지방 자치제/구  | 
|  잠비아  |  ZMB  |  국가  |  도  |  지구  |  교외/지자체  | 
|  짐바브웨  |  ZWE  |  국가  |  도  |  지구/Muderiah  |  지자체/도시 영역  | 

다음은 숫자 수와 우편 번호 예제를 포함하여 국가별로 지원되는 우편 번호 형식의 목록입니다.

**참고**  
사서함 우편 번호는 지원되지 않습니다. 인도에서 사용되는 연합 영토 우편 번호도 지원되지 않습니다.


**지원되는 우편 번호**  

| 국가 | 우편 형식 | 예제 | 
| --- | --- | --- | 
|  아프가니스탄  |  4자리  |  1001  | 
|  알바니아  |  4자리  |  1001  | 
|  알제리  |  5자리  |  01000  | 
|  미국령 사모아  |  5자리  |  96799  | 
|  안도라  |  5자리  |  AD100  | 
|  앙귈라  |  6자리  |  AI-2640  | 
|  아르헨티나  |  5자리  |  A4126  | 
|  아르메니아  |  2자리  |  00  | 
|  호주  |  4자리  |  0800  | 
|  오스트리아  |  4자리  |  1010  | 
|  아제르바이잔  |  2자리  |  01  | 
|  브루나이 다루살람  |  6자리  |  BA1111  | 
|  바레인  |  4자리  |  0101  | 
|  방글라데시  |  2자리  |  10  | 
|  벨로루시  |  6자리  |  202115  | 
|  벨기에  |  4자리  |  1000  | 
|  버뮤다  |  4자리  |  CR 01  | 
|  부탄  |  2자리  |  11  | 
|  보스니아 헤르체고비나  |  5자리  |  70101  | 
|  브라질  |  5자리  |  01001  | 
|  영국령 인도양 지역  |  영숫자 ‐ 5자리  |  BBND 1  | 
|  영국령 버진 제도  |  4자리  |  1110  | 
|  불가리아  |  4자리  |  1000  | 
|  카보베르데  |  4자리  |  1101  | 
|  캄보디아  |  2자리  |  01  | 
|  캐나다  |  3자리  |  A0A  | 
|  케이맨 제도  |  영숫자 - 7자리  |  KY1-1000  | 
|  칠레  |  3자리  |  100  | 
|  중국  |  4자리  |  0100  | 
|  콜롬비아  |  4자리  |  0500  | 
|  코스타리카  |  5자리  |  10101  | 
|  크로아티아  |  5자리  |  10000  | 
|  쿠바  |  1자리  |  1  | 
|  사이프러스  |  4자리  |  1010  | 
|  체코  |  5자리  |  100 00  | 
|  콩고민주공화국  |  4자리  |  1001  | 
|  덴마크  |  4자리  |  1050  | 
|  도미니카 공화국  |  5자리  |  10101  | 
|  에콰도르  |  6자리  |  010101  | 
|  이집트  |  2자리  |  11  | 
|  엘살바도르  |  4자리  |  1101  | 
|  에스토니아  |  5자리  |  10001  | 
|  포클랜드 제도  |  영숫자 - 5자리  |  FIQQ 1  | 
|  페로 제도  |  3자리  |  100  | 
|  핀란드  |  5자리  |  00100  | 
|  프랑스  |  5자리  |  01000  | 
|  프랑스령 기아나  |  5자리  |  97300  | 
|  프랑스령 폴리네시아  |  5자리  |  98701  | 
|  조지아  |  2자리  |  01  | 
|  독일  |  5자리  |  01067  | 
|  가나  |  2자리  |  A2  | 
|  지브롤터  |  영숫자 - 5자리  |  GX11 1  | 
|  그리스  |  5자리  |  104 31  | 
|  그린란드  |  4자리  |  3900  | 
|  과들루프  |  5자리  |  97100  | 
|  괌  |  5자리  |  96910  | 
|  과테말라  |  5자리  |  01001  | 
|  건지  |  영숫자 - 4자리, 5자리  |  GY1 1, GY10 1  | 
|  기니비사우  |  4자리  |  1000  | 
|  아이티  |  4자리  |  1110  | 
|  교황청  |  5자리  |  00120  | 
|  온두라스  |  2자리  |  11  | 
|  헝가리  |  4자리  |  1007  | 
|  아이슬란드  |  3자리  |  101  | 
|  인도  |  6자리  |  110001  | 
|  인도네시아  |  5자리  |  10110  | 
|  이란  |  2자리  |  11  | 
|  이라크  |  2자리  |  10  | 
|  아일랜드  |  3자리  |  A41  | 
|  맨 섬  |  영숫자 - 4자리  |  IM1 1  | 
|  이스라엘  |  5자리  |  10292  | 
|  이탈리아  |  5자리  |  00010  | 
|  일본  |  7자리  |  001-0010  | 
|  저지  |  영숫자 - 4자리  |  JE2 3  | 
|  요르단  |  5자리  |  11100  | 
|  카자흐스탄  |  4자리  |  0100  | 
|  케냐  |  1자리  |  0  | 
|  키리바시  |  6자리  |  KI0101  | 
|  코소보  |  5자리  |  10000  | 
|  쿠웨이트  |  2자리  |  00  | 
|  키르기스스탄  |  4자리  |  7200  | 
|  라오스  |  2자리  |  01  | 
|  라트비아  |  4자리  |  1001  | 
|  레소토  |  1자리  |  1  | 
|  라이베리아  |  2자리  |  10  | 
|  리히텐슈타인  |  4자리  |  9485  | 
|  리투아니아  |  5자리  |  00100  | 
|  룩셈부르크  |  4자리  |  1110  | 
|  마케도니아  |  4자리  |  1000  | 
|  마다가스카르  |  3자리  |  101  | 
|  말라위  |  3자리  |  101  | 
|  말레이시아  |  5자리  |  01000  | 
|  몰디브  |  2자리  |  00  | 
|  몰타  |  3자리  |  ATD  | 
|  마셜 제도  |  3자리  |  969  | 
|  마르티니크  |  5자리  |  97200  | 
|  모리셔스  |  3자리  |  111  | 
|  마요트  |  5자리  |  97600  | 
|  멕시코  |  5자리  |  01000  | 
|  미크로네시아  |  5자리  |  96941  | 
|  몰도바  |  4자리  |  2001  | 
|  모나코  |  5자리  |  98000  | 
|  몽골  |  4자리  |  1200  | 
|  몬테네그로  |  5자리  |  81000  | 
|  몬트세라트 섬  |  4자리  |  1120  | 
|  모로코  |  5자리  |  10000  | 
|  모잠비크  |  4자리  |  1100  | 
|  미얀마  |  2자리  |  01  | 
|  나미비아  |  3자리  |  100  | 
|  네팔  |  3자리  |  101  | 
|  네덜란드  |  4자리  |  1011  | 
|  뉴칼레도니아  |  5자리  |  98800  | 
|  뉴질랜드  |  4자리  |  0110  | 
|  니카라과  |  3자리  |  110  | 
|  니제르  |  4자리  |  1000  | 
|  나이지리아  |  4자리  |  1002  | 
|  니우에  |  4자리  |  9974  | 
|  노퍽 섬  |  4자리  |  2899  | 
|  북마리아나 제도  |  5자리  |  96950  | 
|  노르웨이  |  4자리  |  0010  | 
|  오만  |  1자리  |  1  | 
|  파키스탄  |  2자리  |  10  | 
|  팔라우  |  5자리  |  96939  | 
|  팔레스타인  |  4자리  |  P104  | 
|  파푸아뉴기니  |  3자리  |  111  | 
|  파라과이  |  6자리  |  001001  | 
|  페루  |  5자리  |  01000  | 
|  필리핀  |  4자리  |  1000  | 
|  핏케언 제도  |  영숫자 - 5자리  |  PCRN 1  | 
|  폴란드  |  5자리  |  00-002  | 
|  포르투갈  |  4자리  |  1000  | 
|  푸에르토리코  |  5자리  |  00601  | 
|  루마니아  |  6자리  |  010011  | 
|  러시아  |  6자리  |  101000  | 
|  레위니옹  |  5자리  |  97400  | 
|  생 바르텔레미  |  5자리  |  97133  | 
|  세인트헬레나, 어센션 트리스탄다쿠냐  |  영숫자 - 5자리  |  ASCN 1  | 
|  세인트루시아  |  7자리  |  LC01 101  | 
|  세인트마틴  |  5자리  |  97150  | 
|  세인트 피에르 미켈론  |  5자리  |  97500  | 
|  세인트 빈센트 그레나딘  |  4자리  |  VC01  | 
|  사모아  |  2자리  |  11  | 
|  산마리노  |  5자리  |  47890  | 
|  사우디아라비아  |  2자리  |  12  | 
|  세네갈  |  5자리  |  10000  | 
|  세르비아  |  5자리  |  11000  | 
|  싱가포르  |  6자리  |  018906  | 
|  슬로바키아  |  5자리  |  010 01  | 
|  슬로베니아  |  4자리  |  1000  | 
|  남아프리카 공화국  |  4자리  |  0001  | 
|  사우스조지아 사우스샌드위치 제도  |  영숫자 - 5자리  |  SIQQ 1  | 
|  대한민국  |  5자리  |  01000  | 
|  스페인  |  5자리  |  01001  | 
|  스리랑카  |  2자리  |  00  | 
|  수단  |  2자리  |  11  | 
|  스발바르 얀마웬  |  4자리  |  8099  | 
|  스와질란드  |  1자리  |  H  | 
|  스웨덴  |  5자리  |  111 15  | 
|  스위스  |  4자리  |  1000  | 
|  대만  |  3자리  |  100  | 
|  타지키스탄  |  4자리  |  7340  | 
|  탄자니아 연합 공화국  |  3자리  |  111  | 
|  태국  |  5자리  |  10100  | 
|  동티모르  |  4자리  |  TL10  | 
|  트리니다드 토바고  |  2자리  |  10  | 
|  튀니지  |  4자리  |  1000  | 
|  터키  |  5자리  |  01010  | 
|  투르크메니스탄  |  3자리  |  744  | 
|  터크스 카이코스 군도  |  영숫자 - 5자리  |  TKCA 1  | 
|  미국령 버진아일랜드  |  5자리  |  00802  | 
|  우크라이나  |  3자리, 5자리  |  070, 01001  | 
|  영국  |  영숫자 - 2\$15자리  |  B1, AL1, AB10, AB10 1  | 
|  미국  |  5자리  |  00001  | 
|  우루과이  |  5자리  |  11000  | 
|  우즈베키스탄  |  4자리  |  1000  | 
|  베네수엘라  |  4자리  |  0000  | 
|  베트남  |  5자리  |  01106  | 
|  월리스 푸투나  |  5자리  |  98600  | 
|  잠비아  |  5자리  |  10100  | 

# 지원되지 않는 날짜 또는 사용자 지정 날짜 사용
<a name="using-unsupported-dates"></a>

Amazon Quick Sight는 기본적으로 제한된 수의 날짜 형식을 지원합니다. 그러나 사용자에게 제공된 데이터의 형식을 항상 제어할 수는 없습니다. 데이터에 지원되지 않는 형식의 날짜가 포함된 경우 Amazon Quick Sight에 해석 방법을 알릴 수 있습니다.

데이터 세트를 편집하고 열의 형식을 텍스트 또는 숫자에서 날짜로 변경하면 이 작업을 수행할 수 있습니다. 이렇게 변경한 후 화면이 표시되어 형식을 입력할 수 있습니다. 예를 들어 관계형 데이터 소스를 사용하는 경우 '09-19-2017'이 포함된 텍스트 필드에 MM-dd-yyyy를 지정할 수 있으므로 2017-09-19T00:00:00.000Z로 해석됩니다. 비관계형 데이터 소스를 사용하는 경우, 숫자 필드 또는 텍스트 필드에서 시작하여 동일한 작업을 수행할 수 있습니다.

Amazon Quick Sight는 관계형(SQL) 소스에 대해 현재까지의 텍스트만 지원합니다.

지원되는 날짜 형식에 대한 자세한 내용은 [지원되는 날짜 형식](supported-data-types-and-values.md#supported-date-formats) 단원을 참조하십시오.

이 절차를 사용하면 Amazon Quick Sight가 다양한 형식의 날짜를 이해하는 데 도움이 됩니다.

1. 지원되지 않는 날짜 형식이 포함된 데이터 세트의 경우, 다음과 같이 데이터를 편집합니다. Datetime 데이터가 포함된 열의 경우, 데이터 형식을 텍스트에서 날짜로 변경합니다. 데이터 미리 보기의 열 이름 아래에 있는 다양한 색상의 데이터 형식 아이콘을 선택하여 이 작업을 수행합니다.
**참고**  
Unix epoch datetimes가 아닌 정수 날짜는 있는 그대로 작동하지 않습니다. 예를 들어 `MMddyy`, `MMddyyyy`, `ddMMyy`, `ddMMyyyy`, `yyMMdd` 형식은 정수로 지원되지 않습니다. 차선책은 먼저 텍스트 형식으로 변경하는 것입니다. 모든 행에 5자리가 아닌 6자리 숫자가 포함되어 있는지 확인하십시오. 그런 다음 텍스트 데이터 형식을 datetime으로 변경합니다.  
Unix epoch datetimes에 대한 자세한 내용은 [epochDate](epochDate-function.md) 단원을 참조하십시오.

   데이터 형식을 날짜로 변경하면 [**Edit date format**] 화면이 표시됩니다.

1. 어느 부분이 월, 일, 연도 또는 시간인지를 나타내는 날짜 형식을 입력합니다. 형식은 대/소문자를 구분합니다. 

1. **검증**을 선택하여 Amazon Quick Sight가 이제 지정한 형식으로 날짜/시간 데이터를 해석할 수 있는지 확인합니다. 유효성을 검사하지 않는 행은 건너뛰고 데이터 세트에서 생략됩니다.

1. 결과에 아무런 문제가 없으면 [**Update**]를 선택합니다. 그렇지 않으면 [**Close**]를 선택합니다.

# Amazon Quick Sight 데이터 세트에 고유 키 추가
<a name="set-unique-key"></a>

빠른 작성자는 데이터 준비 중에 고유한 키 열을 Quick Sight 데이터 세트로 구성할 수 있습니다. 이 고유 키는 데이터세트의 글로벌 정렬 키 역할을 하며 테이블 시각적 객체에 대한 쿼리 생성을 최적화합니다. 사용자가 Quick Sight에서 테이블 시각적 객체를 생성하고 값 필드 웰에 고유한 키 열을 추가하면 데이터는 왼쪽에서 오른쪽으로 고유한 키 열까지 정렬됩니다. 고유 키 열 오른쪽에 있는 모든 열은 정렬 순서에서 무시됩니다. 고유 키가 포함되지 않은 테이블은 데이터 세트에 열이 나타나는 순서에 따라 정렬됩니다.

고유 키에는 다음과 같은 제한 사항이 적용됩니다.
+ 고유 키는 집계되지 않은 테이블에서만 지원됩니다.
+ 데이터세트 열을 열 수준 보안(CLS)에 사용하는 경우에도 열을 고유 키로 사용할 수 없습니다.

다음 절차에 따라 Amazon Quick Sight에서 데이터 세트의 고유 키를 지정합니다.

**고유 키를 설정하는 방법**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. **Data(데이터)**를 선택합니다.

1. 다음 조치 중 하나를 취하세요.

   1. 고유 키를 추가하려는 데이터세트로 이동하여 데이터세트 옆에 있는 줄임표(점 3개)를 선택하고 **편집**을 선택하세요.

   1. **새로 만들기**를 선택한 다음 **데이터 세트를** 선택합니다. 추가할 데이터 세트를 선택한 다음 **데이터 소스 편집**을 선택합니다. Amazon Quick Sight에서 새 데이터 세트를 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[데이터 세트 생성](creating-data-sets.md).

1. 그러면 데이터세트에 대한 데이터 준비 페이지가 열립니다. **필드** 창으로 이동하고 고유 키로 설정하려는 필드를 찾으세요.

1. 필드 이름 옆에 있는 줄임표(점 3개)를 선택하고 **고유 키로 설정**을 선택하세요.

고유 키를 생성하면 필드 옆에 키 아이콘이 나타나 필드가 이제 데이터세트의 고유 키임을 보여줍니다. 데이터세트를 저장하고 게시하면 고유 키 구성이 데이터세트와 해당 데이터세트로 생성된 모든 대시보드 및 분석에 적용됩니다. 데이터세트에서 고유 키를 제거하려면 데이터세트의 데이터 준비 페이지로 이동하고 고유 키 필드 옆의 줄임표를 선택한 다음 **고유 키로 제거**를 선택하세요. 데이터세트에서 고유 키를 제거한 후 다른 필드를 고유 키로 지정할 수 있습니다.

# Amazon SageMaker AI 모델을 Amazon Quick Sight와 통합
<a name="sagemaker-integration"></a>

**참고**  
Amazon Quick Sight에서 ML 기반 기능을 사용하는 분석 및 대시보드를 작성하기 위해 기계 학습(ML)에 대한 기술 경험이 필요하지 않습니다.

Amazon SageMaker AI 기계 학습 모델을 사용하여 Amazon Quick Enterprise 에디션 데이터를 보강할 수 있습니다. Quick에서 지원하는 모든 데이터 소스에서 SPICE 가져온에 저장된 데이터에 대해 추론을 실행할 수 있습니다. 지원되는 데이터 소스의 전체 목록은 [지원되는 데이터 원본](supported-data-sources.md) 단원을 참조하세요.

SageMaker AI 모델과 함께 Quick을 사용하면 데이터 이동을 관리하고 코드를 작성하는 데 드는 시간을 절약할 수 있습니다. 결과는 모델을 평가하는 데 유용하며, 결과에 만족하는 경우 의사 결정자와 공유하는 데도 유용합니다. 모델이 구축된 후에 바로 시작할 수 있습니다. 이렇게 하면 데이터 과학자가 사전에 구축한 모델을 구현하여 데이터 세트에 데이터 과학을 적용할 수 있습니다. 그런 다음 이러한 분석 정보를 예측 대시보드에서 공유할 수 있습니다. 빠른 서버리스 접근 방식을 사용하면 프로세스가 원활하게 확장되므로 추론 또는 쿼리 용량에 대해 걱정할 필요가 없습니다.

Amazon Quick은 회귀 및 분류 알고리즘을 사용하는 SageMaker AI 모델을 지원합니다. 이 기능을 적용하여 거의 모든 비즈니스 사용 사례에 대한 예측을 얻을 수 있습니다. 몇 가지 예로는 고객 이탈 및 직원 퇴직 가능성 예측, 잠재 고객 점수 산정, 신용 위험 평가 등이 있습니다. Quick을 사용하여 예측을 제공하려면 입력 및 출력 모두에 대한 SageMaker AI 모델 데이터가 표 형식이어야 합니다. 다중 클래스 또는 다중 레이블 분류 사용 사례에서 각 출력 열에는 단일 값이 포함되어야 합니다. Quick은 단일 열 내에서 여러 값을 지원하지 않습니다.

**Topics**
+ [SageMaker AI 통합의 작동 방식](#sagemaker-how-it-works)
+ [발생 비용(통합 자체에 대한 추가 비용 없음)](#sagemaker-cost-of-use)
+ [사용 지침](#sagemaker-usage-guidelines)
+ [스키마 파일 정의](#sagemaker-schema-file)
+ [Quick Sight 데이터 세트에 SageMaker AI 모델 추가](#sagemaker-using)
+ [SageMaker AI Canvas로 예측 모델 빌드](sagemaker-canvas-integration.md)

## SageMaker AI 통합의 작동 방식
<a name="sagemaker-how-it-works"></a>

 일반적으로 이 프로세스는 다음과 같이 작동합니다.

1. Amazon Quick 관리자는 Quick이 SageMaker AI에 액세스할 수 있는 권한을 추가합니다. 이렇게 하려면 **빠른 관리** 페이지에서 **보안 및 권한** 설정을 엽니다. ** AWS 서비스에 대한 빠른 액세스**로 이동하여 SageMaker AI를 추가합니다.

   이러한 권한을 추가하면 Quick이 계정 AWS 의 모든 SageMaker AI 모델을 나열할 수 있는 액세스 권한을 제공하는 (IAM) 역할에 추가됩니다 AWS Identity and Access Management . 또한 이름 앞에 `quicksight-auto-generated-`라는 접두사가 붙은 SageMaker AI 작업을 실행할 수 있는 권한이 부여됩니다.

1. 추론 파이프라인이 있는 SageMaker AI 모델에 연결하는 것이 권장됩니다. 추론 파이프라인은 데이터 사전 처리를 자동으로 수행하기 때문입니다. 자세한 내용은 *SageMaker AI 개발자 안내서*의 [Deploy an Inference Pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipelines.html)을 참조하세요.

1. 함께 사용할 데이터와 사전 훈련된 모델을 식별하면 모델 소유자가 스키마 파일을 생성하여 제공합니다. 이 JSON 파일은 SageMaker AI와의 계약입니다. 모델에 필요한 필드, 데이터 형식, 열 순서, 출력 및 설정에 대한 메타데이터를 제공합니다. 선택적 설정 구성 요소는 작업에 사용할 컴퓨팅 인스턴스의 크기와 개수를 지정합니다.

   모델을 구축한 데이터 과학자인 경우, 다음에서 설명하는 형식을 사용하여 이 스키마 파일을 생성합니다. 모델 사용자는 모델 소유자로부터 스키마 파일을 가져옵니다.

1. 빠른에서는 예측하려는 데이터로 새 데이터 세트를 생성하는 것부터 시작합니다. 파일을 업로드하는 경우 업로드 설정 화면에서 SageMaker AI 모델을 추가할 수 있습니다. 그렇지 않으면 데이터 준비 페이지에서 모델을 추가합니다.

   계속하기 전에 데이터 세트와 모델 간의 매핑을 확인합니다.

1. 데이터를 데이터세트로 가져온 후에 출력 필드에는 SageMaker AI에서 반환된 데이터가 포함됩니다. 이러한 필드는 [사용 지침](#sagemaker-usage-guidelines)에서 설명하는 지침에 따라 다른 필드를 사용하는 것과 같은 방식으로 사용할 수 있습니다.

   SageMaker AI 통합을 실행하면 Quick은 추론 파이프라인을 사용하여 배치 변환 작업을 실행하라는 요청을 SageMaker AI에 전달합니다. 퀵 스타트 AWS 는 계정에 필요한 인스턴스를 프로비저닝하고 배포합니다. 처리가 완료되면 이러한 인스턴스가 종료됩니다. 컴퓨팅 용량은 모델을 처리할 때만 비용이 발생합니다.

   쉽게 식별할 수 있도록 Quick은 모든 SageMaker AI 작업의 이름을 접두사 로 지정합니다`quicksight-auto-generated-`.

1. 추론의 출력은 SPICE에 저장되고 데이터 세트에 추가됩니다. 추론이 완료되는 즉시 데이터 세트를 통해 예측 데이터를 사용하여 시각화 및 대시보드를 생성할 수 있습니다.

1. 데이터 세트를 저장할 때마다 데이터 새로 고침이 시작됩니다. SPICE 데이터 세트를 새로 고쳐 수동으로 데이터 새로 고침 프로세스를 시작하거나 일정 간격으로 새로 고침이 실행되도록 예약할 수 있습니다. 데이터를 새로 고칠 때마다 시스템이 자동으로 SageMaker AI 배치 변환을 직접 호출하여 출력 필드를 새 데이터로 업데이트합니다.

   Amazon Quick Sight SPICE 수집 API 작업을 사용하여 데이터 새로 고침 프로세스를 제어할 수 있습니다. 이러한 API 작업 사용에 대한 자세한 내용은 [Amazon Quick Sight API 참조](https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-api-overview.html)를 참조하세요.

## 발생 비용(통합 자체에 대한 추가 비용 없음)
<a name="sagemaker-cost-of-use"></a>

통합 기능을 사용하는 것 자체로는 추가 요금이 발생하지 않습니다. 비용에는 다음이 포함됩니다.
+ SageMaker AI를 통한 모델 배포 비용(모델이 실행 중일 때만 발생). 생성 또는 편집한 후 데이터 세트를 저장하거나 데이터를 새로 고치면 데이터 수집 프로세스가 시작됩니다. 데이터세트에 추론 필드가 포함된 경우 이 프로세스에서 SageMaker AI가 직접 호출됩니다. 빠른 구독이 있는 동일한 AWS 계정에서 비용이 발생합니다.
+ 빠른 구독 비용은 다음과 같습니다.
  + 빠른()의 인 메모리 계산 엔진에 데이터를 저장하는 데 드는 비용입니다SPICE. SPICE에 새 데이터를 추가하는 경우, 데이터를 수용하기에 충분한 SPICE 용량을 구입해야 할 수 있습니다.
  + 데이터 세트를 빌드하는 작성자 또는 관리자를 위한 빠른 구독입니다.
  + 최종 사용자(독자)가 대화형 대시보드에 액세스하는 데 부과되는 세션당 요금 

## 사용 지침
<a name="sagemaker-usage-guidelines"></a>

Amazon Quick에서는이 엔터프라이즈 에디션 기능에 다음 사용 지침이 적용됩니다.
+ 모델의 처리는 SPICE에서 이루어집니다. 따라서 SPICE에 저장된 데이터 세트에만 적용할 수 있습니다. 이 프로세스는 현재 데이터 세트당 최대 5억 개의 행을 지원합니다.
+ 빠른 관리자 또는 작성자만 ML 모델을 사용하여 데이터 세트를 보강할 수 있습니다. 독자는 대시보드에 포함된 경우에만 결과를 볼 수 있습니다.
+ 각 데이터 세트에 오직 하나의 ML 모델을 사용할 수 있습니다.
+ 출력 필드는 새 필드를 계산하는 데 사용할 수 없습니다.
+ 데이터 세트는 모델과 통합된 필드별로 필터링할 수 없습니다. 즉, 데이터 세트 필드가 현재 ML 모델에 매핑되어 있으면 해당 필드를 필터링 할 수 없습니다.

SageMaker AI에서는 Amazon Quick Sight와 함께 사용하는 사전 훈련된 모델에 다음 사용 지침이 적용됩니다.
+ 모델을 생성할 때 해당 IAM 역할에 대한 Amazon 리소스 이름(ARN)과 모델을 연결합니다. SageMaker AI 모델의 IAM 역할은 Amazon Quick Sight가 사용하는 Amazon S3 버킷에 액세스할 수 있어야 합니다.
+ 모델이 입력 및 출력 모두에 대해 .csv 파일을 지원하는지 확인합니다. 데이터가 표 형식인지 확인합니다.
+ 입력 및 출력 필드 목록을 포함하여 모델에 대한 메타데이터가 들어 있는 스키마 파일을 제공합니다. 현재는 이 스키마 파일을 수동으로 생성해야 합니다.
+ 추론을 완료하는 데 걸리는 시간을 고려합니다. 이 시간은 여러 가지 요인에 따라 달라집니다. 여기에는 모델의 복잡성, 데이터 양, 정의된 컴퓨팅 용량 등이 포함됩니다. 추론을 완료하는 데는 몇 분에서 몇 시간이 걸릴 수 있습니다. Amazon Quick Sight는 모든 데이터 수집 및 추론 작업을 최대 10시간으로 제한합니다. 추론에 소요되는 시간을 줄이기 위해 인스턴스 크기 또는 인스턴스 수를 늘리는 것이 좋습니다.
+ 현재 SageMaker AI와의 통합에 배치 변환만 사용할 수 있으며, 실시간 데이터는 사용할 수 없습니다. SageMaker AI 엔드포인트는 사용할 수 없습니다.

## 스키마 파일 정의
<a name="sagemaker-schema-file"></a>

Quick Sight 데이터와 함께 SageMaker AI 모델을 사용하기 전에 Amazon Quick Sight가 모델을 처리하는 데 필요한 메타데이터가 포함된 JSON 스키마 파일을 생성합니다. Amazon Quick 작성자 또는 관리자는 데이터 세트를 구성할 때 스키마 파일을 업로드합니다.

스키마 필드는 다음과 같이 정의됩니다. 다음 설명에 달리 명시되지 않은 한 모든 필드가 필요합니다. 속성은 대소문자를 구분합니다.

 *inputContentType*   
이 SageMaker AI 모델에서 입력 데이터에 필요한 콘텐츠 유형. `"text/csv"` 값만 지원됩니다. Quick Sight에는 입력 파일에 추가하는 헤더 이름이 포함되지 않습니다.

 *outputContentType*   
사용하려는 SageMaker AI 모델에서 생성되는 출력의 콘텐츠 유형. `"text/csv"` 값만 지원됩니다.

 *입력*   
모델에서 입력 데이터에 필요한 기능 목록입니다. Quick Sight는 정확히 동일한 순서로 입력 데이터를 생성합니다. 이 목록에는 다음 속성이 포함됩니다.  
+  name - 열의 이름입니다. 가능하면 QuickSight 데이터 세트에 있는 해당 열의 이름과 동일하게 설정합니다. 이 속성은 100자로 제한됩니다.
+  type - 이 열의 데이터 형식입니다. 이 속성은 `"INTEGER"`, `"STRING"` 및 `"DECIMAL"` 값을 갖습니다.
+  nullable - (선택 사항) 필드의 null 허용 여부입니다. 기본값은 `true`입니다. 를 `nullable`로 설정하면 `false`Quick Sight는 SageMaker AI를 호출하기 전에이 값을 포함하지 않는 행을 삭제합니다. 이를 통해 필수 데이터 누락으로 SageMaker AI에 오류가 발생하는 상황이 방지됩니다.

 *output*   
SageMaker AI 모델이 생성하는 출력 열 목록. Quick Sight는 이러한 필드를 정확히 동일한 순서로 예상합니다. 이 목록에는 다음 속성이 포함됩니다.  
+  *name* -이 이름은 Quick Sight에서 생성된 해당 새 열의 기본 이름이 됩니다. Quick Sight에서 여기에 지정된 이름을 재정의할 수 있습니다. 이 속성은 100자로 제한됩니다.
+  type - 이 열의 데이터 형식입니다. 이 속성은 `"INTEGER"`, `"STRING"` 및 `"DECIMAL"` 값을 갖습니다.

 *instanceTypes*   
변환 작업을 실행하기 위해 SageMaker AI에서 프로비저닝할 수 있는 ML 인스턴스 유형 목록. 이 목록은 선택할 수 있는 Amazon Quick 사용자에게 제공됩니다. 이 목록은 SageMaker AI에서 지원하는 유형으로 제한됩니다. 지원되는 유형에 대한 자세한 내용은 *SageMaker AI 개발자 안내서*의 [TransformResources](https://docs.aws.amazon.com/sagemaker/latest/dg/API_TransformResources.html)를 참조하세요.

 *defaultInstanceType*   
(선택 사항) Quick Sight의 SageMaker AI 마법사에 기본 옵션으로 표시되는 인스턴스 유형입니다. `instanceTypes`에 이 인스턴스 유형을 포함합니다.

 *instanceCount*   
(선택 사항) 인스턴스 수는 SageMaker AI에 선택된 인스턴스 중 변환 작업을 실행하기 위해 프로비저닝할 인스턴스 수를 정의합니다. 값은 양의 정수여야 합니다.

 *description*   
이 필드는 SageMaker AI 모델을 소유한 사람이 Quick Sight에서이 모델을 사용하는 사람과 통신할 수 있는 공간을 제공합니다. 이 모델을 성공적으로 사용하기 위한 팁을 이 필드에 제공합니다. 예를 들어, 이 필드에는 데이터 세트의 크기에 따라 `instanceTypes`의 목록에서 효과적인 인스턴스 유형을 선택하는 방법에 대한 정보가 포함될 수 있습니다. 이 필드는 1,000자로 제한됩니다.

 *version*   
스키마의 버전(예: "`1.0"`)입니다.

다음 예에서는 스키마 파일의 JSON 구조를 보여줍니다.

```
{
        "inputContentType": "CSV",
        "outputContentType": "CSV",
        "input": [
            {
                "name": "buying",
                "type": "STRING"
            },
            {
                "name": "maint",
                "type": "STRING"
            },
            {
                "name": "doors",
                "type": "INTEGER"
            },
            {
                "name": "persons",
                "type": "INTEGER"
            },
            {
                "name": "lug_boot",
                "type": "STRING"
            },
            {
                "name": "safety",
                "type": "STRING"
            }
        ],
        "output": [
            {
                "name": "Acceptability",
                "type": "STRING"
            }
        ],
        "description": "Use ml.m4.xlarge instance for small datasets, and ml.m4.4xlarge for datasets over 10 GB",
        "version": "1.0",
        "instanceCount": 1,
        "instanceTypes": [
            "ml.m4.xlarge",
            "ml.m4.4xlarge"
        ],
        "defaultInstanceType": "ml.m4.xlarge"
    }
```

스키마 파일의 구조는 SageMaker AI에서 제공하는 예제에서 사용되는 모델의 종류와 관련되어 있습니다.

## Quick Sight 데이터 세트에 SageMaker AI 모델 추가
<a name="sagemaker-using"></a>

분석 및 대시보드에서 예측 데이터를 사용할 수 있도록 다음 절차를 따라 사전 훈련된 SageMaker AI 모델을 데이터세트에 추가할 수 있습니다.

시작하기 전에 다음 항목을 준비합니다.
+ 데이터 세트를 빌드하는 데 사용할 데이터
+ 데이터세트를 보강하는 데 사용하려는 SageMaker AI 모델의 이름.
+ 모델의 스키마. 이 스키마에는 필드 이름 매핑과 데이터 형식이 포함됩니다. 사용할 인스턴스 유형 및 인스턴스 수에 대한 권장 설정도 포함되어 있는 것이 좋습니다.

**SageMaker AI로 Amazon Quick Sight 데이터 세트를 강화하려면**

1. **데이터 세트**를 선택한 다음 **새 데이터 세트**를 선택하여, 시작 페이지에서 새 데이터 세트를 생성합니다.

   또한 기존 데이터 세트를 편집할 수도 있습니다.

1. 데이터 준비 화면에서 **SageMaker를 사용한 증강**을 선택합니다.

1. **모델 선택**에서 다음 설정을 선택합니다.
   + **모델** - 필드를 추론하는 데 사용할 SageMaker AI 모델을 선택합니다.
   + **이름** - 모델을 설명하는 이름을 입력합니다.
   + **스키마** - 모델에 제공된 JSON 스키마 파일을 업로드합니다.
   + **고급 설정** - QuickSight에서는 데이터 세트를 기반으로 선택된 기본값을 사용하는 것이 좋습니다. 필요할 경우 특정 런타임 설정을 사용하여 작업 속도와 비용의 균형을 조정할 수 있습니다. 이렇게 하려면 **인스턴스 유형**에는 SageMaker AI ML 인스턴스 유형을 입력하고 **개수**에는 인스턴스 수를 입력합니다.

   **다음**을 선택하여 계속 진행합니다.

1. **입력 검토**에서 데이터 세트에 매핑된 필드를 검토합니다. Quick Sight는 스키마의 필드를 데이터 세트의 필드에 자동으로 매핑하려고 시도합니다. 매핑을 조정해야 하는 경우 여기에서 변경할 수 있습니다.

   **다음**을 선택하여 계속 진행합니다.

1. **출력 검토**에서 데이터 세트에 추가된 필드를 봅니다.

   **데이터 저장 및 준비**를 선택하여 선택 사항을 확인합니다.

1. 데이터를 새로 고치려면 데이터 세트를 선택하여 세부 정보를 확인합니다. 그런 다음 **지금 새로 고침**을 선택하여 수동으로 데이터를 새로 고치거나 **새로 고침 예약**을 선택하여 정기적인 새로 고침 간격을 설정합니다. 데이터를 새로 고칠 때마다 시스템이 자동으로 SageMaker AI 배치 변환 작업을 실행하여 출력 필드를 새 데이터로 업데이트하세요.

# SageMaker AI Canvas로 예측 모델 빌드
<a name="sagemaker-canvas-integration"></a>

Amazon Quick 작성자는 데이터를 SageMaker AI Canvas로 내보내 Quick로 다시 전송할 수 있는 ML 모델을 빌드할 수 있습니다. 작성자는 이러한 ML 모델을 사용하여 분석 및 대시보드를 구축하는 데 사용할 수 있는 예측 분석으로 데이터 세트를 보강할 수 있습니다.

**사전 조건**
+ IAM Identity Center와 통합된 빠른 계정입니다. Quick 계정이 IAM Identity Center와 통합되지 않은 경우 새 Quick 계정을 생성하고 **IAM Identity Center 지원 애플리케이션을 자격 증명 공급자로 사용을** 선택합니다.
  + IAM 자격 증명 센터에 대한 자세한 내용은 [시작하기](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)를 참조하세요.
  + Quick을 IAM Identity Center와 통합하는 방법에 대한 자세한 내용은 섹션을 참조하세요[IAM Identity Center를 사용하여 Amazon Quick 계정 구성](setting-up-sso.md#sec-identity-management-identity-center).
  + 기존 Quick 계정에서 IAM Identity Center와 통합된 새 Quick 계정으로 자산을 가져오려면 [자산 번들 작업을](https://docs.aws.amazon.com/quicksight/latest/developerguide/asset-bundle-ops.html) 참조하세요.
+ IAM Identity Center와 통합된 새로운 SageMaker AI 도메인. IAM Identity Center를 사용하여 SageMaker AI 도메인에 온보딩하는 방법에 대한 자세한 내용은 [Onboard to SageMaker AI Domain using IAM Identity Center](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-sso-users.html)를 참조하세요.

**Topics**
+ [Amazon Quick Sight의 SageMaker AI Canvas에서 예측 모델 구축](#sagemaker-canvas-integration-create-model)
+ [SageMaker AI Canvas 모델로 데이터세트 생성](#sagemaker-canvas-integration-create-dataset)
+ [고려 사항](#sagemaker-canvas-integration-considerations)

## Amazon Quick Sight의 SageMaker AI Canvas에서 예측 모델 구축
<a name="sagemaker-canvas-integration-create-model"></a>

**SageMaker AI 캔버스에서 예측 모델을 빌드하는 방법**

1. Amazon Quick에 로그인하고 예측 모델을 생성하려는 테이블 형식 테이블 또는 피벗 테이블로 이동합니다.

1. **시각적 객체 메뉴를 열고 예측 모델 구축**을 선택합니다.

1. 나타나는 **SageMaker AI Canvas에서 예측 모델 빌드** 팝업에서 제공된 정보를 검토하고 **SageMaker Canvas로 데이터 내보내기**를 선택하세요.

1. 나타나는 **내보내기** 창에서 내보내기가 완료되면, **SageMaker Canvas로 이동**을 선택하여 SageMaker AI 캔버스 콘솔로 이동하세요.

1. SageMaker AI Canvas에서 Quick Sight에서 내보낸 데이터를 사용하여 예측 모델을 생성합니다. 예측 모델을 만드는 데 도움이 되는 가이드 투어를 따르거나, 둘러보기를 건너뛰고 원하는 속도에 맞춰 작업할 수 있습니다. SageMaker AI Canvas에서 예측 모델을 생성하는 방법에 대한 자세한 내용은 [Build a model](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model-how-to.html#canvas-build-model-numeric-categorical)을 참조하세요.

1. 예측 모델을 Quick Sight로 다시 보냅니다. SageMaker AI Canvas에서 Amazon Quick Sight로 모델을 전송하는 방법에 대한 자세한 내용은 [Amazon Quick Sight로 모델 전송을 참조하세요](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-send-model-to-quicksight.html).

## SageMaker AI Canvas 모델로 데이터세트 생성
<a name="sagemaker-canvas-integration-create-dataset"></a>

SageMaker AI Canvas에서 예측 모델을 생성하고 Quick Sight로 다시 전송한 후 새 모델을 사용하여 새 데이터 세트를 생성하거나 기존 데이터 세트에 적용합니다.

**데이터 세트에 예측 필드 추가**

1. 빠른 콘솔을 열고 왼쪽의 **데이터를** 선택한 다음 **데이터 세트** 탭을 선택합니다.

1. 새 데이터 세트를 업로드하거나 기존 데이터 세트를 선택합니다.

1. **편집**을 선택합니다.

1. 데이터세트의 데이터 준비 페이지에서 **추가**를 선택한 다음, **예측 필드** 추가를 선택하여 **SageMaker AI를 사용한 증강** 모달을 여세요.

1. **모델에서** SageMaker AI Canvas에서 Quick Sight로 전송한 모델을 선택합니다. **고급 설정** 창에 스키마 파일이 자동으로 채워집니다. 입력 내용을 검토한 후 **다음**을 선택합니다.

1. **결과 검토** 창에서 SageMaker AI Canvas에서 생성한 모델이 대상으로 지정할 열의 필드 이름과 설명을 입력하세요.

1. 작업을 마쳤으면 **데이터 준비**를 선택합니다.

1. **데이터 준비**를 선택하면, 데이터 세트 페이지로 리디렉션됩니다. 새 데이터 세트를 게시하려면 **게시 및 시각화**를 선택합니다.

SageMaker AI Canvas의 모델을 사용하는 새 데이터세트를 게시하면 데이터를 SPICE로 가져오고 SageMaker AI에서 배치 추론 작업을 시작합니다. 이 프로세스가 완료되는 데 최대 10분이 걸릴 수 있습니다.

## 고려 사항
<a name="sagemaker-canvas-integration-considerations"></a>

Quick Sight 데이터를 사용한 SageMaker AI Canvas 모델 생성에는 다음 제한 사항이 적용됩니다.
+ SageMaker AI Canvas로 데이터를 보내는 데 사용되는 **예측 모델 빌드** 옵션은 테이블 및 테이블 형식의 피벗 테이블 시각적 객체에서만 사용할 수 있습니다. 표 또는 피벗 테이블 시각적 객체에는 필드가 2\$11,000개, 행이 500개 이상 있어야 합니다.
+ 정수 또는 지리 데이터 유형이 포함된 데이터 세트는 데이터 세트에 예측 필드를 추가할 때 스키마 매핑 오류가 발생합니다. 이 문제를 해결하려면 데이터 세트에서 정수 또는 지리 데이터 유형을 제거하거나 새 데이터 유형으로 변환하세요.

# 데이터 세트 준비 예제
<a name="preparing-data-sets"></a>

분석에 더 적합하도록 데이터 세트의 데이터를 준비할 수 있습니다(예: 필드 이름 변경 또는 계산된 필드 추가). 데이터베이스 데이터 세트의 경우 SQL 쿼리를 지정하거나 테이블을 두 개 이상 조인하여 사용된 데이터를 확인할 수도 있습니다.

다음 주제에서 데이터 세트를 준비하는 방법을 알아보십시오.

**Topics**
+ [파일 데이터를 기반으로 데이터 세트 준비](prepare-file-data.md)
+ [Salesforce 데이터를 기반으로 데이터 세트 준비](prepare-salesforce-data.md)
+ [데이터베이스 데이터를 기반으로 데이터 세트 준비](prepare-database-data.md)

# 파일 데이터를 기반으로 데이터 세트 준비
<a name="prepare-file-data"></a>

로컬 네트워크 또는 Amazon S3에서 텍스트 또는 Microsoft Excel 파일을 기반으로 데이터 세트를 준비하려면 다음 절차에 따르세요.

**로컬 네트워크 또는 S3에서 텍스트 또는 Microsoft Excel 파일을 기반으로 데이터 세트를 준비하려면**

1. 다음 옵션 중 하나를 선택하여 데이터 준비를 위한 파일 데이터 세트를 엽니다.
   + 새 로컬 파일 데이터 세트를 생성한 다음 **데이터 편집/미리 보기**를 선택합니다. 로컬 텍스트 파일에서 새 데이터 세트를 생성하는 방법에 대한 자세한 내용은 [로컬 텍스트 파일을 사용하여 데이터 세트 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-file.html). Microsoft Excel 파일에서 새 데이터 세트를 생성하는 방법에 대한 자세한 내용은 [Microsoft Excel 파일을 사용하여 데이터 세트 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-excel.html).
   + 새 Amazon S3 데이터 세트를 생성한 다음 **데이터 편집/미리 보기**를 선택합니다. 새 Amazon S3 데이터 소스를 사용하여 새 Amazon S3 데이터 세트를 생성하는 방법에 대한 자세한 내용은 [ Amazon S3 파일을 사용하여 데이터 세트 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-s3.html). 기존 Amazon S3 데이터 소스를 사용하여 새 Amazon S3 데이터 세트를 생성하는 방법에 대한 자세한 내용은 [기존 Amazon S3 데이터 소스를 사용하여 데이터 세트 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-existing-s3.html).
   + 분석 페이지 또는 **데이터 세트** 페이지에서 편집할 기존 Amazon S3, 텍스트 파일 또는 Microsoft Excel 데이터 세트를 엽니다. 데이터 준비를 위해 기존 데이터 세트를 여는 방법에 대한 자세한 내용은 [데이터 세트 편집을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/edit-a-data-set.html).

1. (선택 사항) 데이터 준비 페이지에서 애플리케이션 표시줄의 데이터 세트 이름 상자에 새 이름을 입력합니다.

   이 이름은 기본적으로 로컬 파일의 파일 이름입니다. 예를 들어 Amazon S3 파일의 기본값은 **Group 1**입니다.

1. 파일 업로드 설정을 검토하고, 필요에 따라 수정합니다. 파일 업로드 설정에 대한 자세한 내용은 [파일 업로드 설정 선택을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/choosing-file-upload-settings.html).
**중요**  
업로드 설정을 변경하려는 경우, 데이터 세트의 다른 설정을 변경하기 전에 이 설정을 먼저 변경하십시오. 새 업로드 설정으로 인해 Amazon Quick Sight가 파일을 다시 가져옵니다. 이 프로세스는 다른 모든 변경 내용을 덮어씁니다.

1. 다음 중 하나 이상을 수행하여 데이터를 준비합니다.
   + [필드 선택](https://docs.aws.amazon.com/quicksight/latest/user/selecting-fields.html)
   + [필드 이름 및 설명 편집](https://docs.aws.amazon.com/quicksight/latest/user/changing-a-field-name.html)
   + [필드 데이터 유형 변경](https://docs.aws.amazon.com/quicksight/latest/user/changing-a-field-data-type.html)
   + [계산된 필드 추가](https://docs.aws.amazon.com/quicksight/latest/user/adding-a-calculated-field-analysis.html)
   + [Amazon Quick Sight에서 데이터 필터링](https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html)

1. [SPICE](spice.md) 표시기를 점검하여 데이터 세트를 가져올 수 있는 충분한 용량이 있는지 확인합니다. 파일 데이터 세트는 자동으로 SPICE에 로드됩니다. [**Save & visualize**] 또는 [**Save**]를 선택하면 가져오기가 진행됩니다.

   충분한 SPICE 용량을 이용할 수 없는 경우, 다음 옵션 중 하나를 사용하여 데이터 세트를 더 작게 만들 수 있습니다.
   + 필터를 적용하여 행의 수를 제한합니다.
   + 데이터 세트에서 제거할 필드를 선택합니다.
**참고**  
필드를 제거하거나 데이터를 필터링하여 공간을 얼마나 확보할 수 있는지는 SPICE 표시기에 반영되지 않습니다. 마지막 가져오기 이후 SPICE 사용량은 계속 반영됩니다.

1. [**Save**]를 선택해 작업을 저장하거나 [**Cancel**]을 선택해 취소합니다. 

   [**Save & visualize**]가 표시될 수도 있습니다. 이 옵션은 시작한 화면을 기반으로 나타납니다. 이 옵션이 없으면 데이터 세트 화면에서 시작하여 새 시각화를 생성할 수 있습니다.

## Microsoft Excel 파일을 기반으로 데이터 세트 준비
<a name="prepare-excel-file-data"></a>

Microsoft Excel 데이터 세트를 준비하려면 다음 절차를 따르십시오.

**Microsoft Excel 데이터 세트를 준비하려면**

1. 다음 옵션 중 하나를 선택하여 준비할 텍스트 파일 데이터 세트를 엽니다.
   + 새 Microsoft Excel 데이터 세트를 생성한 다음 **데이터 편집/미리 보기**를 선택합니다. 새 Excel 데이터 세트 생성에 대한 자세한 내용은 [Microsoft Excel 파일을 사용하여 데이터 세트 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-excel.html).
   + 편집할 기존 Excel 데이터 세트를 엽니다. 분석 페이지 또는 **내 데이터 세트** 페이지에서 해당 데이터 세트를 열 수 있습니다. 데이터 준비를 위해 기존 데이터 세트를 여는 방법에 대한 자세한 내용은 [데이터 세트 편집을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/edit-a-data-set.html).

1. (선택 사항) 데이터 준비 페이지에서 애플리케이션 표시줄의 데이터 세트 이름 상자에 이름을 입력합니다. 데이터 세트의 이름을 바꾸지 않으면 기본적으로 Excel 파일 이름이 설정됩니다.

1. 파일 업로드 설정을 검토하고, 필요에 따라 수정합니다. 파일 업로드 설정에 대한 자세한 내용은 [파일 업로드 설정 선택을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/choosing-file-upload-settings.html).
**중요**  
업로드 설정을 변경해야 하는 경우, 데이터 세트의 다른 설정을 변경하기 전에 이 설정을 먼저 변경하십시오. 업로드 설정을 변경하면 Amazon Quick Sight가 파일을 다시 가져옵니다. 이 프로세스는 지금까지의 모든 변경 내용을 덮어씁니다.

1. (선택 사항) 워크시트 선택을 변경합니다.

1. (선택 사항) 범위 선택을 변경합니다. 이렇게 하려면 오른쪽 상단의 로그인 이름 아래에 있는 데이터 세트 메뉴에서 **업로드 설정**을 엽니다.

1. 다음 중 하나 이상을 수행하여 데이터를 준비합니다.
   + [필드 선택](https://docs.aws.amazon.com/quicksight/latest/user/selecting-fields.html)
   + [필드 이름 및 설명 편집](https://docs.aws.amazon.com/quicksight/latest/user/changing-a-field-name.html)
   + [필드 데이터 유형 변경](https://docs.aws.amazon.com/quicksight/latest/user/changing-a-field-data-type.html)
   + [계산된 필드 추가](https://docs.aws.amazon.com/quicksight/latest/user/adding-a-calculated-field-analysis.html)
   + [Quick Sight에서 데이터 필터링](https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html)

1. [SPICE](spice.md) 표시기를 점검하여 데이터 세트를 가져올 수 있는 충분한 공간이 있는지 확인합니다. Amazon Quick Sight는 Excel 데이터 세트를 로 가져와야 합니다SPICE. [**Save & visualize**] 또는 [**Save**]를 선택하면 가져오기가 진행됩니다.

   SPICE 용량이 충분하지 않은 경우, 다음 방법 중 하나를 사용하여 데이터 세트를 더 작게 만들 수 있습니다.
   + 필터를 적용하여 행의 수를 제한합니다.
   + 데이터 세트에서 제거할 필드를 선택합니다.
   + 가져올 데이터 범위를 더 좁게 정의합니다.
**참고**  
SPICE 표시기는 변경 사항을 로드할 때까지는 변경 내용을 반영하지 않습니다. 마지막 가져오기 이후 SPICE 사용량이 표시됩니다.

1. [**Save**]를 선택해 작업을 저장하거나 [**Cancel**]을 선택해 취소합니다. 

   [**Save & visualize**]가 표시될 수도 있습니다. 이 옵션은 시작한 화면을 기반으로 나타납니다. 이 옵션이 없으면 데이터 세트 화면에서 시작하여 새 시각화를 생성할 수 있습니다.

# Salesforce 데이터를 기반으로 데이터 세트 준비
<a name="prepare-salesforce-data"></a>

Salesforce 데이터 세트를 준비하려면 다음 절차를 따르십시오.

**Salesforce 데이터 세트를 준비하려면**

1. 다음 옵션 중 하나를 선택하여 준비할 Salesforce 데이터 세트를 엽니다.
   + 새 Salesforce 데이터 세트를 생성하고 **데이터 편집/미리 보기**를 선택합니다. 새 Salesforce 데이터 소스를 사용하여 새 Salesforce 데이터 세트를 생성하는 방법에 대한 자세한 내용은 [Salesforce에서 데이터 세트 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-salesforce.html). 기존 Salesforce 데이터 소스를 사용하여 새 Salesforce 데이터 세트를 생성하는 방법에 대한 자세한 내용은 [기존 Salesforce 데이터 소스를 사용하여 데이터 세트 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-existing-salesforce.html).
   + 분석 페이지 또는 **내 데이터 세트** 페이지에서 편집할 기존 Salesforce 데이터 세트를 엽니다. 데이터 준비를 위해 기존 데이터 세트를 여는 방법에 대한 자세한 내용은 [데이터 세트 편집을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/edit-a-data-set.html).

1. (선택 사항) 데이터 세트 이름을 변경하려면 데이터 준비 페이지에서 애플리케이션 표시줄의 데이터 세트 이름 상자에 이름을 입력합니다. 이 이름은 기본적으로 보고서 또는 객체 이름입니다.

1. (선택 사항) 데이터 요소 선택을 변경하여 보고서 또는 객체를 확인합니다.

1. (선택 사항) 데이터 선택을 변경하여 다른 보고서 또는 객체를 선택합니다.

   **데이터** 창에 긴 목록이 있는 경우 **테이블 검색** 상자에 검색어를 입력하여 특정 항목을 검색할 수 있습니다. 이름에 검색어가 포함된 모든 항목이 표시됩니다. 검색은 대/소문자를 구분하며 와일드카드는 사용할 수 없습니다. 검색 상자 오른쪽에 있는 취소 아이콘(**X**)을 선택하면 뒤로 돌아가 모든 항목이 표시됩니다.

1. 다음 중 하나 이상을 수행하여 데이터를 준비합니다.
   + [필드 선택](https://docs.aws.amazon.com/quicksight/latest/user/selecting-fields.html)
   + [필드 이름 및 설명 편집](https://docs.aws.amazon.com/quicksight/latest/user/changing-a-field-name.html)
   + [필드 데이터 유형 변경](https://docs.aws.amazon.com/quicksight/latest/user/changing-a-field-data-type.html)
   + [계산된 필드 추가](https://docs.aws.amazon.com/quicksight/latest/user/adding-a-calculated-field-analysis.html)
   + [Quick Sight에서 데이터 필터링](https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html)

1. [SPICE](spice.md) 표시기를 점검하여 데이터 세트를 가져올 수 있는 충분한 공간이 있는지 확인합니다. Salesforce 데이터 세트를 사용하려면 데이터를 SPICE로 가져와야 합니다. [**Save & visualize**] 또는 [**Save**]를 선택하면 가져오기가 진행됩니다.

   SPICE 용량이 충분하지 않은 경우, 데이터 세트에서 필드를 제거하거나 필터를 적용하여 데이터 세트의 크기를 줄일 수 있습니다. 데이터 세트에서 필드를 추가 및 제거하는 방법에 대한 자세한 내용은 [필드 선택을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/selecting-fields.html).
**참고**  
필드를 제거하거나 데이터를 필터링하여 확보할 수 있는 공간은 SPICE 표시기에 반영되지 않습니다. 데이터 원본에서 검색된 데이터 세트의 크기가 표시기에 계속 반영됩니다.

1. [**Save**]를 선택해 작업을 저장하거나 [**Cancel**]을 선택해 취소합니다. 

   [**Save & visualize**]가 표시될 수도 있습니다. 이 옵션은 시작한 화면을 기반으로 나타납니다. 이 옵션이 없으면 데이터 세트 화면에서 시작하여 새 시각화를 생성할 수 있습니다.

# 데이터베이스 데이터를 기반으로 데이터 세트 준비
<a name="prepare-database-data"></a>

데이터베이스에 대한 쿼리를 기반으로 데이터 세트를 준비하려면 다음 절차를 따르십시오. 이 데이터 세트의 데이터는 Amazon Athena, Amazon RDS 또는 Amazon Redshift와 같은 AWS 데이터베이스 데이터 소스 또는 외부 데이터베이스 인스턴스에서 가져올 수 있습니다. 데이터 사본을 [SPICE](spice.md)로 가져올지, 데이터를 직접 쿼리할지 여부를 선택할 수 있습니다.

**데이터베이스 쿼리를 기반으로 데이터 세트를 준비하려면**

1. 다음 옵션 중 하나를 선택하여 준비할 데이터베이스 데이터 세트를 엽니다.
   + 새 데이터베이스 데이터 세트를 생성하고 **데이터 편집/미리 보기**를 선택합니다. 새 데이터베이스 데이터 소스를 사용하여 새 데이터 세트를 생성하는 방법에 대한 자세한 내용은 [데이터베이스에서 데이터 세트 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/create-a-database-data-set.html). 기존 데이터베이스 데이터 소스를 사용하여 새 데이터 세트를 생성하는 방법에 대한 자세한 내용은 [기존 데이터베이스 데이터 소스를 사용하여 데이터 세트 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-existing-database.html).
   + 분석 페이지 또는 **내 데이터 세트** 페이지에서 편집할 기존 데이터베이스 데이터 세트를 엽니다. 데이터 준비를 위해 기존 데이터 세트를 여는 방법에 대한 자세한 내용은 [데이터 세트 편집을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/edit-a-data-set.html).

1. (선택 사항) 데이터 준비 페이지에서 애플리케이션 표시줄의 데이터 세트 이름 상자에 이름을 입력합니다.

   데이터 준비 이전에 하나를 선택한 경우 이 이름은 기본적으로 테이블 이름입니다. 그렇지 않은 경우 **Untitled data source**입니다.

1. 다음 중 하나를 선택하여 데이터 선택 방법을 결정합니다.
   + 단일 테이블을 사용하여 데이터를 제공하려면 테이블을 선택하거나 테이블 선택을 변경합니다.

     [**Tables**] 창에 긴 테이블 목록이 있는 경우 [**Search tables**]에 검색어를 입력하여 특정 테이블을 검색할 수 있습니다.

     이름에 검색어가 포함된 모든 테이블이 표시됩니다. 검색은 대/소문자를 구분하며 와일드카드는 사용할 수 없습니다. 검색 상자 오른쪽에 있는 취소 아이콘(**X**)을 선택하면 뒤로 돌아가 모든 테이블이 표시됩니다.
   + 두 개 이상 조인된 테이블을 사용하여 데이터를 제공하려면, 두 개의 테이블을 선택하고 조인 창을 사용하여 조인합니다. 조인된 테이블을 사용하기로 선택한 경우 Quick Sight로 데이터를 가져와야 합니다. Amazon Quick Sight 인터페이스를 사용하여 데이터를 조인하는 방법에 대한 자세한 내용은 [데이터 조인을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/joining-data.html).
   + 사용자 지정 SQL 쿼리를 사용하여 새 데이터 세트에 데이터를 제공하려면 **테이블** 패널에서 **사용자 지정 SQL로 전환** 도구를 선택합니다. 자세한 내용은 [SQL을 사용하여 데이터 사용자 지정](https://docs.aws.amazon.com/quicksight/latest/user/adding-a-SQL-query.html)을 참조하세요.

     기존 데이터 세트의 SQL 쿼리를 변경하려면 **필드** 창의 **SQL 편집**을 선택해 SQL 창을 열어 쿼리를 편집합니다.

1. 다음 중 하나 이상을 수행하여 데이터를 준비합니다.
   + [필드 선택](https://docs.aws.amazon.com/quicksight/latest/user/selecting-fields.html)
   + [필드 이름 및 설명 편집](https://docs.aws.amazon.com/quicksight/latest/user/changing-a-field-name.html)
   + [필드 데이터 유형 변경](https://docs.aws.amazon.com/quicksight/latest/user/changing-a-field-data-type.html)
   + [계산된 필드 추가](https://docs.aws.amazon.com/quicksight/latest/user/adding-a-calculated-field-analysis.html)
   + [Quick Sight에서 데이터 필터링](https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html)

1. 테이블을 조인하지 않는 경우 **쿼리** 또는 **SPICE** 라디오 버튼을 선택하여 데이터베이스를 직접 쿼리할지, SPICE로 데이터를 가져올지 선택합니다. 성능 향상을 위해 SPICE 사용을 권장합니다.

   SPICE를 사용하려는 경우 SPICE 표시기를 점검하여 데이터 세트를 가져올 수 있는 충분한 공간이 있는지 확인합니다. [**Save & visualize**] 또는 [**Save**]를 선택하면 가져오기가 진행됩니다.

   공간이 충분하지 않은 경우, 데이터 세트에서 필드를 제거하거나 필터를 적용하여 데이터 세트의 크기를 줄일 수 있습니다.
**참고**  
필드를 제거하거나 데이터를 필터링하여 확보할 수 있는 공간은 SPICE 표시기에 반영되지 않습니다. 데이터 원본에서 검색된 데이터 세트의 크기가 표시기에 계속 반영됩니다.

1. [**Save**]를 선택해 작업을 저장하거나 [**Cancel**]을 선택해 취소합니다. 

   [**Save & visualize**] 옵션이 표시되는 경우도 있습니다. 이 옵션은 시작한 화면을 기반으로 나타납니다. 이 옵션이 없으면 데이터 세트 화면에서 시작하여 새 시각화를 생성할 수 있습니다.

# 분석 및 보고서: Amazon Quick Sight에서 데이터 시각화
<a name="working-with-visuals"></a>

아래에서 Amazon Quick Sight 차트를 생성 및 사용자 지정하고, 대시보드에서 차트를 정렬하는 방법에 대한 설명을 확인할 수 있습니다.

**Topics**
+ [Amazon Quick Sight에서 분석 작업](working-with-an-analysis.md)
+ [시트 추가 및 관리](working-with-multiple-sheets.md)
+ [Amazon Quick Sight에서 대화형 시트 작업](working-with-interactive-sheets.md)
+ [Amazon Quick Sight에서 픽셀 완성 보고서 작업](working-with-reports.md)
+ [Amazon Quick Sight 분석에서 시트에 있는 항목 작업](authoring-sheets.md)
+ [Amazon Quick Sight에서 테마 사용](themes-in-quicksight.md)
+ [키보드 바로 가기를 사용하여 Amazon Quick Sight에 액세스](quicksight-accessibility.md)

# Amazon Quick Sight에서 분석 작업
<a name="working-with-an-analysis"></a>

Quick Sight에서 분석은 선택한 작성자만 액세스할 수 있다는 점을 제외하면 대시보드와 동일합니다. 데이터를 비공개로 유지하고, 원하는 만큼 강력하고 상세하게 만들 수 있습니다. 언제 게시하기로 결정하면, 공유 버전을 대시보드라고 합니다.

다음 섹션을 사용하여 Quick Sight 분석과 상호 작용하는 방법을 알아봅니다.

**Topics**
+ [Quick Sight에서 분석 시작](creating-an-analysis.md)
+ [분석에 제목과 설명 추가](adding-a-title-and-description.md)
+ [Quick Sight 분석 공유](sharing-analyses.md)
+ [분석 이름 바꾸기](renaming-an-analysis.md)
+ [분석 복제](duplicating-an-analysis.md)
+ [분석의 날짜 및 시간 값 사용자 지정](analysis-date-time.md)
+ [분석 메뉴](analysis-menu.md)
+ [분석 설정 구성](analysis-settings.md)
+ [Quick Sight APIs의 Amazon Quick Sight 분석에 대한 항목 제한](analysis-item-limits.md)
+ [분석의 변경 사항 저장](saving-changes-to-an-analysis.md)
+ [Quick Sight 분석에서 데이터 내보내기](exporting-data-analysis.md)
+ [분석 삭제](deleting-an-analysis.md)

# Quick Sight에서 분석 시작
<a name="creating-an-analysis"></a>

Quick Sight에서는 분석의 데이터를 분석하고 시각화합니다. 분석을 마치면, 분석을 대시보드로 게시하여 조직 내 다른 사람들과 공유할 수 있습니다.

새 분석을 만들려면 다음 절차를 따르세요.

**새 분석 생성**

1. Amazon 빠른 시작 페이지에서 **분석을** 선택한 다음 **새 분석을** 선택합니다.

1. 새 분석에 포함하려는 데이터 세트를 선택한 다음 오른쪽 상단에서 **분석에 사용**을 선택합니다.

1. 나타나는 **새 시트** 팝업에서 원하는 시트 유형을 선택하세요. **대화형 시트**와 **픽셀 완성 보고서** 중에서 선택할 수 있습니다. 픽셀 완성 보고서를 생성하려면 계정에 대한 픽셀 완성 보고서 추가 기능이 필요합니다. 픽셀 완성 보고서에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick Sight에서 픽셀 완성 보고서 작업](working-with-reports.md). 시트에 대한 자세한 내용은 [시트 추가 및 관리](working-with-multiple-sheets.md) 단원을 참조하세요.

1. (선택 사항) **대화형 시트**를 선택한 경우 다음 단계를 따르세요.
   + (선택 사항): 대화형 시트에 사용할 유형 레이아웃을 선택합니다. 다음 옵션 중 하나를 선택할 수 있습니다.
     + 자유 형식
     + 바둑판식

     기본 옵션은 **자유형**입니다.

     대화형 시트 레이아웃에 대한 자세한 내용을 알아보려면 [레이아웃 유형](types-of-layout.md) 단원을 참조하세요.
   + 시트를 최적화할 캔버스 크기를 선택하세요. 다음 옵션 중 하나를 선택할 수 있습니다.
     + 1024픽셀
     + 1280픽셀
     + 1366픽셀
     + 1600픽셀
     + 1920픽셀

     대화형 시트의 서식 지정에 대한 자세한 내용은 [Amazon Quick Sight에서 대화형 시트 작업](working-with-interactive-sheets.md) 단원을 참조하십시오.

1. (선택 사항) **Pixel perfect report**를 선택하는 경우 다음 단계를 따릅니다.
   + (선택 사항) 페이지가 지정된 보고서에 사용할 용지 크기를 선택합니다. 다음 옵션 중에서 선택할 수 있습니다.
     + 미국 서신(8.5 x 11인치)
     + 미국 법률(8.5 x 14인치)
     + A0(841 x 1189mm)
     + A1(594 x 841mm)
     + A2(420 x 594mm)
     + A3(297 x 420mm)
     + A4(210 x 297mm)
     + A5(148 x 210mm)
     + 일본 B4(257 x 364mm)
     + 일본 B5(182 x 257mm)

     기본 용지 크기는 미국 서신(8.5 x 11인치)입니다.
   + (선택 사항) 시트의 방향을 선택합니다. **세로** 또는 **가로** 중에서 선택할 수 있습니다. 기본 옵션은 세로입니다.

     Amazon Quick Sight 픽셀 완성 보고서를 생성하려면 먼저 Quick 계정의 픽셀 완성 보고 추가 기능을 가져옵니다. 완벽한 픽셀 보고 추가 기능 가져오기에 대한 자세한 내용은 섹션을 참조하세요[빠른 픽셀 완성 보고서 추가 기능 가져오기](qs-reports-getting-started.md#qs-reports-getting-started-subscribe).

     픽셀 완성 보고서 형식 지정에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick Sight에서 픽셀 완성 보고서 작업](working-with-reports.md).

1. **추가**를 선택합니다.

1. 시각적 객체를 만듭니다. 시각적 객체 생성에 대한 자세한 내용은 [Quick Sight 분석에 시각적 객체 추가](creating-a-visual.md) 단원을 참조하세요.

분석을 만든 다음 시각적 객체를 수정하거나, 시각적 객체를 더 추가하거나, 기본 스토리에 장면을 추가하거나 스토리를 더 추가하면서 해당 분석을 반복할 수 있습니다.

# 분석에 제목과 설명 추가
<a name="adding-a-title-and-description"></a>

분석 이름 뿐만 아니라, 분석에 제목과 설명을 추가할 수 있습니다. 유용한 제목과 설명은 분석 정보에 대한 컨텍스트를 제공합니다.

## 제목 및 설명 추가
<a name="add-a-title-and-description"></a>

분석에 제목과 설명을 추가하려면 다음 절차에 따르십시오. 제목과 설명은 최대 1,024자로 구성될 수 있습니다. 픽셀 완성 보고서에는 제목과 설명이 지원되지 않습니다.

**분석에 제목과 설명 추가**

1. 분석 페이지의 애플리케이션 표시줄에서 **시트**를 선택한 다음 **제목 추가**를 선택합니다.

1. **시트 제목**에 제목을 입력하고 **Enter** 키를 누릅니다. 제목을 제거하려면 애플리케이션 표시줄에서 **시트**를 선택한 다음 **제목 삭제**를 선택합니다. 또는 제목을 선택한 다음 **x** 모양의 삭제 아이콘을 선택하여 제목을 제거할 수도 있습니다.

   동적 시트 제목을 작성하기 위해 시트 제목에 기존 파라미터를 추가할 수 있습니다. 자세한 내용은 [Amazon Quick의 제목 및 설명에서 파라미터 사용](parameters-in-titles.md) 단원을 참조하십시오.

1. 애플리케이션 표시줄에서 **시트**를 선택한 다음 **설명 추가**를 선택합니다.

1. 시트에 나타나는 설명 공간에 원하는 설명을 입력하고 **Enter**를 누릅니다. 설명을 제거하려면 애플리케이션 표시줄에서 **시트**를 선택한 다음 **설명 삭제**를 선택합니다. 또는 설명을 선택한 다음 **x** 모양 삭제 아이콘을 선택하여 설명을 제거할 수도 있습니다.

# Quick Sight 분석 공유
<a name="sharing-analyses"></a>

한 명 이상의 다른 사용자에게 이메일로 링크를 보내 분석을 공유하면 협업하고 조사 결과를 배포하기가 쉬워집니다. Quick 계정의 다른 사용자와만 분석을 공유할 수 있습니다.

분석을 공유하고, 그 대시보드에 대한 액세스 권한이 있는 다른 사용자를 검토하거나 액세스 권한을 취소할 수 있습니다.

**Topics**
+ [분석 공유](#share-an-analysis)
+ [분석을 공유 중인 사용자 보기](view-users-analysis.md)
+ [분석에 대한 액세스 권한 취소](revoke-access-to-an-analysis.md)

## 분석 공유
<a name="share-an-analysis"></a>

분석을 공유하려면 다음 절차에 따르십시오.

**분석 공유**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 분석을 엽니다.

1. 분석 페이지의 애플리케이션 표시줄에서 **파일**을 선택한 다음 **공유**를 선택합니다.

   빠른 계정에 있는 사용자 또는 그룹과만 분석을 공유할 수 있습니다.

1. 공유할 사용자 또는 그룹을 추가합니다. 이렇게 하려면 **사용자 이름 또는 이메일 입력**에 이 분석을 공유하려는 첫 번째 사용자 또는 그룹을 입력합니다. 그런 다음 **공유**를 선택합니다. 분석을 공유할 모든 사람에 대한 정보를 입력할 때까지 이 단계를 반복하십시오.

   이 분석에 대한 공유 권한을 편집하려면 **분석 권한 관리**를 선택합니다.

   **분석 권한 관리** 화면이 나타납니다. 이 화면에서 **사용자 초대**를 선택하여 권한을 편집하고 사용자 또는 그룹을 더 추가할 수 있습니다.

1.  **권한**에 대해 각 사용자 또는 그룹에 할당할 역할을 선택합니다. 역할에 따라 해당 사용자 또는 그룹에 부여할 권한 수준이 결정됩니다.

1. **공유**를 선택합니다.

   분석을 공유한 사용자에게는 분석에 대한 링크가 포함된 이메일이 전송됩니다. 그룹은 초대 이메일을 받지 않습니다.

# 분석을 공유 중인 사용자 보기
<a name="view-users-analysis"></a>

분석을 공유한 경우, 다음 절차를 이용해 그 분석에 대한 액세스 권한이 있는 사용자 또는 그룹을 확인할 수 있습니다.

**분석에 액세스할 수 있는 사용자 또는 그룹 보기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 분석을 엽니다.

1. 분석 페이지의 애플리케이션 표시줄에서 **파일**을 선택한 다음 **공유**를 선택합니다.

1. **분석 권한 관리**를 선택합니다.

1. 이 분석이 누구와 공유되었는지를 검토합니다. 검색어를 입력하여 특정 계정을 찾기 위해 검색할 수 있습니다. 검색 시 검색어가 포함된 모든 사용자, 그룹 또는 이메일 주소가 반환됩니다. 검색은 대/소문자를 구분하며 와일드카드는 사용할 수 없습니다. 모든 사용자와 그룹을 보려면 검색어를 삭제합니다.

# 분석에 대한 액세스 권한 취소
<a name="revoke-access-to-an-analysis"></a>

분석에 대한 액세스 권한을 취소하려면 다음 절차를 수행하십시오.

**분석 액세스 권한 취소**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 분석을 엽니다.

1. 분석 페이지의 애플리케이션 표시줄에서 **파일**을 선택한 다음 **공유**를 선택합니다.

1. **분석 권한 관리**를 선택합니다.

1. 액세스 권한을 취소하려는 사용자 또는 그룹을 찾은 다음 사용자 또는 그룹 옆에 있는 휴지통 아이콘을 선택합니다.

1. **확인(Confirm)**을 선택합니다.

# 분석 이름 바꾸기
<a name="renaming-an-analysis"></a>

분석의 이름을 바꾸려면 다음 절차를 따르세요.

**분석의 이름 바꾸기**

1. 이름을 변경하려는 분석을 엽니다.

1. 애플리케이션 표시줄의 **분석 이름** 필드에서 현재 이름을 선택한 다음 새 이름을 입력합니다.

# 분석 복제
<a name="duplicating-an-analysis"></a>

Quick Sight에서 분석을 복제할 수 있습니다. 방법을 알아보려면 다음 절차에 따르세요.

**분석 복제**

1. 빠른 홈페이지에서 **분석을** 선택한 다음 복제하려는 분석을 엽니다.

1. 분석에서 오른쪽 상단의 응용 프로그램 표시줄에서 **다른 이름으로 저장**을 선택합니다.

1. 열리는 **사본 저장** 페이지에서 분석 이름을 입력한 다음, **저장**을 선택합니다.

   새 분석이 열립니다. 빠른 시작 페이지로 돌아가 분석을 선택하여 원래 **분석을** 찾을 수 있습니다.

# 분석의 날짜 및 시간 값 사용자 지정
<a name="analysis-date-time"></a>

Amazon Quick에서 작성자는 분석의 사용자 지정 시간대 및 주 시작일을 설정할 수 있습니다. 사용자 지정 주 시작 또는 시간대를 설정하면 날짜/시간 데이터를 사용하는 분석의 모든 시각적 객체는 분석이 사용하는 시간대 또는 주 시작을 반영하도록 형식이 지정됩니다.

## 분석에서 사용자 지정 시간대 설정
<a name="analysis-timezone"></a>

빠른 작성자는 *사용자 지정 시간대*를 사용하여 여러 지리적 리전의 데이터를 관리할 수 있습니다. 사용자 지정 시간대를 설정하면 쿼리 실행 시간에 표시되는 모든 측정기준, 측정값, 계산된 필드 및 필터가 선택한 시간대로 변환됩니다. 일광 절약 시간(DST) 조정이 자동으로 적용되므로 과거 날짜를 정확하게 처리하지 못하는 시간 소모적인 해결 방법이 필요하지 않습니다.

*사용자 지정 시간대*는 전 세계 특정 지리적 리전을 나타내는 IANA 시간대 약어의 사용을 나타냅니다. 각 시간대는 협정 세계시(UTC)로부터의 오프셋으로 정의됩니다. 시간대는 DST를 통합하기 때문에 단순 오프셋과 다릅니다.

모든 분석의 기본 시간대는 `UTC`입니다.

시간대에는 다음 규칙이 적용됩니다.
+ **날짜/시간은 선택한 시간대로 변환된 `hour`보다 세분화된 상태로 표시됩니다.** 예를 들어 분석의 시간대를 `America/New_York (UTC-04:00)`으로 설정하면 `UTC+00:00`의 날짜/시간 값 `Dec.1, 2020 12:00am`이 변환되어 `Nov.30, 2020 7:00pm`으로 표시됩니다. 일광 절약 시간(DST)은 날짜/시간 변환에 통합됩니다.
+ **계산에 추가되거나 필터에서 선택된 날짜/시간 리터럴은 선택한 분석 시간대를 준수합니다.** 예를 들어와 같은 계산된 필드에 리터럴을 수동으로 입력`01-01-2022 7:00pm`하거나 고정 필터 시간을 선택하면 Quick Sight는 선택한 시간대를 리터럴 값에 적용합니다.
+ **`hour/minute` 세분성 이상으로 집계된 측정값은 분석이 설정된 시간대를 기준으로 집계됩니다.** Quick Sight가 데이터 세트를 처리할 때 처음에는 모든 타임스탬프가 가장 낮은 세분화 수준에서 변환됩니다. 그런 다음 분석을 위해 선택한 시간대의 경계를 기반으로 값이 집계됩니다. 예를 들어 `UTC+00:00` 시간대가 포함된 일별 시간당 수익의 합계는 `UTC` 시간대에 대한 `12am-11pm`의 모든 시간당 수익을 집계합니다. `UTC+00:00`을 `New_York (UTC-04:00)`으로 변환하면 모든 수익 데이터 포인트가 `UTC`의 `8:00pm-7:00pm(+1day)`에서 집계되어 `New_York (UTC-04:00)`의 시작 및 종료 시간에 해당합니다.
+ **`now()` 함수, 롤링 날짜 필터 및 파라미터가 선택한 시간대로 변환됩니다.** `now()` 함수를 사용하는 상대 날짜 필터, 롤링 날짜 필터 및 상대 날짜 파라미터는 시각적 객체에 적용될 때 선택한 시간대를 준수합니다. 예를 들어 `last week`와 같은 상대 필터 또는 `start of the month`와 같은 롤링 날짜 필터를 선택하면 선택한 시간대가 필터에 자동으로 적용되어 각각 `last week of New_York time zone` 및 `start of the month of New_York time zone` 값이 표시됩니다.

**분석의 사용자 지정 시간대 설정**

1. 변경하려는 분석에서 상단 메뉴로 이동하여 **편집**을 선택합니다.

1. **분석 설정**을 선택한 다음 **날짜 및 시간**을 선택합니다.

1. **시간대 변환** 켜기를 토글하고 원하는 **시간대**를 선택합니다.

1. **적용**을 선택합니다.

분석에 시간대가 할당되면 분석 상단에 분석이 사용하는 시간대를 나타내는 아이콘이 나타납니다. 이 아이콘은 분석에서 게시된 모든 대시보드에도 표시됩니다.

**고려 사항**

다음 고려 사항은 사용자 지정 시간대에 적용됩니다.
+ 사용자 지정 시간대를 사용하려면 데이터세트의 모든 날짜/시간 열을 UTC로 정규화해야 합니다. 데이터 소스에서 날짜/시간 열이 정규화되지 않은 경우 이 기능을 사용하려면 먼저 데이터 소스의 열을 변환해야 합니다.
+ 사용자 지정 시간대가 할당되지 않은 분석의 경우 작성자 및 독자 환경은 영향을 받지 않습니다.
+ 시간대가 분석에 추가되면 시간대가 분석의 모든 시각적 객체 및 시트에 적용됩니다.
+ 빠른 작성자는 분석을 위해 하나의 시간대만 선택할 수 있습니다. 분석에서 게시되는 모든 대시보드는 분석에서 사용하는 시간대를 사용합니다. 분석이 사용하는 시간대와 다른 시간대를 사용하는 대시보드를 생성하려면 분석의 시간대를 변경하고 대시보드를 다시 게시합니다.
+ 퀵 리더는 대시보드의 시간대를 변경할 수 없습니다.
+ Direct Query에 저장된 데이터세트를 사용하는 분석의 시간대를 설정하고 로드 시간이 느린 경우 데이터세트를 SPICE에 저장하는 것이 좋습니다. SPICE는 시간대 변환을 성능 있는 방식으로 처리하도록 설계되었습니다.
+ 사용자 지정 시간대는 다음 데이터베이스 엔진을 지원하지 않습니다.
  + Timestream
  + OpenSearch Service
  + Teradata
  + SqlServer

## 분석에서 사용자 지정 주 시작일 설정
<a name="analysis-week-start"></a>

빠른 작성자는 분석의 주 시작일을 정의하여 회사 또는 업계가 따르는 일정에 맞게 데이터를 조정할 수 있습니다. 사용자 지정 주 시작일을 설정하면 해당 주 수준에서 집계된 모든 측정기준, 계산된 필드 및 필터가 새 주 시작일과 일치하도록 계산됩니다. 기본 주 시작일은 `Sunday`입니다.

**분석의 사용자 지정 주 시작일 설정**

1. 변경하려는 분석에서 상단 메뉴로 이동하여 **편집**을 선택합니다.

1. **분석 설정**을 선택한 다음 **날짜 및 시간**을 선택합니다.

1. **사용자 지정 시작일**에서 원하는 시작일을 선택합니다.

1. **적용**을 선택합니다.

**고려 사항**

다음 고려 사항은 사용자 지정 주 시작일에 적용됩니다.
+ 날짜/시간 필드는 런타임 시 변환됩니다. 날짜/시간 값을 사용하는 계산된 필드를 작업할 때는 데이터세트 수준 대신 분석 수준에서 필드를 정의합니다.
+ 새 주 시작일을 선택하면 변경 사항이 분석의 모든 시각적 객체 및 시트에 적용됩니다.
+ 빠른 작성자는 분석을 위해 일주일의 시작일만 선택할 수 있습니다. 분석에서 게시되는 모든 대시보드는 분석에서 사용하는 주 시작일을 사용합니다. 분석에서 사용하는 주 시작일과 다른 주 시작일을 사용하는 대시보드를 생성하려면 분석의 주 시작일을 변경하고 대시보드를 다시 게시합니다.
+ 빠른 독자는 대시보드의 주 시작일을 변경할 수 없습니다.

# 분석 메뉴
<a name="analysis-menu"></a>

분석을 수행하는 동안 Amazon Quick은 몇 가지 메뉴 옵션을 제공합니다. 이러한 메뉴 옵션을 사용하면 변경하려는 자산을 찾기 위해 분석을 수동으로 탐색할 필요 없이 작업을 효율적으로 수행할 수 있습니다.

이러한 옵션을 사용하여 다음 작업을 수행할 수 있습니다.
+ 파일 - 생성, 공유 및 게시를 포함한 분석 관리 작업을 수행합니다. 작성자는 이 옵션을 사용하여 분석의 모든 시트 또는 시각적 객체를 변경할 수 있습니다.
+ 편집 - 분석에서 변경한 내용 사이를 탐색합니다. 변경한 내용을 취소하거나 다시 실행할 수 있습니다.
+ 데이터 - 데이터 세트, 데이터 필드, 매개변수를 관리합니다. 이 옵션을 사용하여 변경한 내용은 분석의 모든 시트에 적용됩니다.
+ 삽입 - 분석에 시각적 객체, 텍스트 상자, 인사이트, 보고 개체, 필터, 파라미터를 추가할 수 있는 진입점을 사용합니다. 삽입하는 콘텐츠는 데이터 또는 개체일 수 있습니다.
+ 시트 - 레이아웃 설정, 시트에서 자산을 추가하거나 제거하는 작업, 시트 속성 등 분석의 시트 설정을 관리합니다.
+ 개체 - 스타일, 캔버스 배치, 크기, 카드 배경, 테두리 등 개체와 해당 기능을 관리합니다. 시각적 객체에서 작업할 때 **속성** 창을 사용하여 이러한 객체를 관리할 수도 있습니다.
+ *검색* - *빠른 검색* 창에 액세스합니다. 빠른 검색은 입력하는 동안 검색 중인 자산에 대한 결과를 표시하기 시작하는 검색 창입니다. 검색하려는 결과가 표시될 때까지 입력하는 동안 제안된 결과가 계속 수정됩니다.

  빠른 검색을 사용하려면, **검색** 메뉴를 열고 **검색 분석 작업** 상자에 찾으려는 자산과 관련된 이름 또는 구문을 입력하기 시작합니다.

# 분석 설정 구성
<a name="analysis-settings"></a>

Amazon Quick 작성자는 분석 설정 메뉴를 사용하여 분석의 새로 고침 및 날짜 시간 설정을 구성할 수 있습니다. 분석 설정 메뉴에 액세스하려면 **편집**을 선택한 다음 **분석 설정**을 선택합니다. 분석 설정 메뉴에서 다음 설정을 구성할 수 있습니다.

**설정 새로 고침**
+ **시트를 전환할 때마다 시각적 객체 다시 로드** - 사용자가 분석의 다른 시트로 전환할 때마다 Quick Sight 분석에서 모든 시각적 객체를 다시 로드하려면이 설정을 사용합니다.
+ **시각적 객체 수동 업데이트** - 이 설정을 사용하여 사용자가 변경 사항을 적용할 때 분석에서 적용 가능한 시각적 객체만 업데이트합니다. 이 설정을 켜면 사용자가 도구 모음 또는 영향을 받는 시각적 객체에 있는 **시각적 객체 업데이트** 버튼을 선택할 때까지 쿼리가 실행되지 않으므로 분석이 기본적으로 시각적 객체를 비어 있는 상태로 로드합니다. **시각적 객체 업데이트** 버튼은 사용자가 영향을 받는 시각적 객체에 적용할 필터 및 제어 선택 사항을 완료했음을 확인합니다. 아래 이미지에서는 **시각적 객체 업데이트** 버튼을 보여줍니다.

  **시각적 객체 수동 업데이트**를 켜도 작성자는 계속 시각적 객체를 추가하고 편집하며 제어 선택 항목을 편집할 수 있지만, 영향을 받는 시각적 객체는 작성자가 새 변경 사항을 적용할 때까지 업데이트되지 않습니다. 이를 통해 작성자는 데이터베이스 로드를 늘리지 않고 분석을 구축하며 분석에 로드되는 값을 더 잘 제어할 수 있습니다.

**날짜 및 시간 설정**
+ **시간대 변환** - 이 설정을 사용하여 선택한 시간대를 반영하도록 모든 날짜 필드 관련 시각화, 필터 및 파라미터를 변환합니다. 모든 일광 절약 조정은 자동으로 이루어집니다. 시간대 구성에 대한 자세한 정보는 [분석의 날짜 및 시간 값 사용자 지정](analysis-date-time.md) 섹션을 참조하세요.
+ **주 시작 ** - 이 설정을 사용하여 분석의 주 시작일을 선택합니다.

**상호 작용**
+ 이 설정을 사용하여 시트의 시각적 객체에서 특정 데이터 포인트를 강조 표시합니다. 시각적 객체의 데이터 포인트를 선택하거나 마우스로 가리키면 다른 시각적 객체에서 관련 데이터가 강조되고 관련되지 않은 데이터는 흐리게 표시됩니다. 강조 표시하면 상관관계, 스팟 패턴, 트렌드 및 이상치를 파악하고 정보에 입각한 보다 강력한 분석을 촉진할 수 있습니다. **선택 시** 또는 **마우스로 가리킬 때**로 강조 표시를 켜거나 **강조 표시 안함**을 선택하여 끄세요.
+ 시트별 수준에서 강조 표시를 사용자 지정하려면 [시트 추가 및 관리](working-with-multiple-sheets.md) 섹션을 참조하세요.

# Quick Sight APIs의 Amazon Quick Sight 분석에 대한 항목 제한
<a name="analysis-item-limits"></a>

다음 표를 사용하여 Amazon Quick Sight APIs로 생성 및 관리되는 Amazon Quick Sight의 다양한 분석 항목에 대한 현재 제한 또는 할당량을 검토합니다. 분석에서 지원되는 수를 초과하여 분석 항목이 포함된 경우 항목을 제거하여 분석 성능을 최적화합니다. 지원되는 분석 항목 수를 초과하는 새 분석 항목은 분석에 추가할 수 없습니다.


| 분석 항목 | Limit | 
| --- | --- | 
|  [시트](https://docs.aws.amazon.com/quicksuite/latest/userguide/working-with-multiple-sheets)  |  분석당 20개의 시트  | 
|  [시각적 객체](https://docs.aws.amazon.com/quicksuite/latest/userguide/creating-a-visual)  |  시트당 50개의 시각적 객체  | 
|  [계산된 필드](https://docs.aws.amazon.com/quicksuite/latest/userguide/working-with-calculated-fields)  |  분석당 500개, 데이터 세트당 200개\$1  | 
|  [북마크](https://docs.aws.amazon.com/quicksuite/latest/userguide/dashboard-bookmarks-create)  |  대시보드당 200개  | 
|  [사용자 지정 작업](https://docs.aws.amazon.com/quicksuite/latest/userguide/custom-actions)  |  시각적 객체당 10개  | 
|  [필터 그룹](https://docs.aws.amazon.com/quicksuite/latest/userguide/add-a-compound-filter)  |  분석당 2,000개  | 
|  [필터](https://docs.aws.amazon.com/quicksuite/latest/userguide/adding-a-filter)  |  필터 그룹당 20개의 필터  | 
|  [파라미터](https://docs.aws.amazon.com/quicksuite/latest/userguide/parameters-in-quicksight)  |  분석당 400개  | 
|  [제어](https://docs.aws.amazon.com/quicksuite/latest/userguide/filter-controls)  |  시트당 200개  | 
|  [텍스트 상자](https://docs.aws.amazon.com/quicksuite/latest/userguide/textbox)  |  시트당 100개  | 
|  [이미지 구성 요소](https://docs.aws.amazon.com/quicksuite/latest/userguide/image-component)  |  시트당 10개  | 
|  [레이어 맵 시각적 객체](https://docs.aws.amazon.com/quicksuite/latest/userguide/layered-maps)  |  시트당 5개  | 

\$1 데이터세트당 제한은 분석에서 생성된 계산에 적용됩니다. 데이터세트 수준 계산은 이 제한에 포함되지 않습니다. 데이터세트 수준 계산에 대한 자세한 내용은 [계산된 필드 추가](adding-a-calculated-field-analysis.md) 섹션을 참조하세요.

# 분석의 변경 사항 저장
<a name="saving-changes-to-an-analysis"></a>

분석 작업을 할 때, 자동 저장을 켜거나(기본값) 끌 수 있습니다. 자동 저장을 켜면, 변경 사항이 약 1분에 한 번씩 자동으로 저장됩니다. 자동 저장을 끄면 변경 사항이 자동으로 저장되지 않기 때문에, 분석을 영구적으로 수정하지 않고 일부만 변경하여 다른 계통의 쿼리를 수행할 수 있습니다. 나중에 결과를 저장하는 것으로 결정되면 자동 저장을 다시 활성화하면 됩니다. 그러면 그 시점까지의 변경 사항이 저장됩니다.

자동 저장 모드에서는 응용 프로그램 표시줄에서 **실행취소** 또는 **재실행**을 선택하여 변경 사항을 실행 취소하거나 재실행할 수 있습니다.

## 자동 저장 모드 변경
<a name="changing-autosave"></a>

분석을 위한 Autosave 모드를 변경하려면 **파일**을 선택한 다음 **Autosave 켜기** 또는 **Autosave 끄기**를 선택합니다.

## 변경 사항을 자동 저장할 수 없는 경우
<a name="conflicting-changes"></a>

다음과 같은 상황이 발생한다고 가정하겠습니다.
+ 자동 저장이 켜져 있고 다른 사용자의 분석 변경 사항과 충돌하는 경우.
+ 자동 저장이 켜져 있는데 서비스 장애가 발생하여 최근 변경 사항을 저장할 수 없는 경우.
+ 자동 저장이 꺼져 있어서 켰는데, 보류된 변경 사항 중 하나를 서버에 저장하는 중 다른 사용자의 변경 사항과 충돌하는 경우.

이 경우 Amazon Quick Sight는 두 가지 중 하나를 수행할 수 있는 옵션을 제공합니다. Amazon Quick Sight가 자동 저장을 끄고 저장되지 않은 모드에서 계속 작업하도록 하거나 서버에서 분석을 다시 로드한 다음 최신 변경 사항을 다시 실행할 수 있습니다.

분석을 편집하는 동안 클라이언트 인증이 만료되는 경우, 다시 로그인해야 합니다. 로그인에 성공하면 다시 해당 분석으로 돌아가서 정상적으로 작업을 계속할 수 있습니다.

편집 도중 분석에 대한 권한이 취소되는 경우, 더 이상 변경할 수 없습니다.

# Quick Sight 분석에서 데이터 내보내기
<a name="exporting-data-analysis"></a>

**참고**  
내보내기 파일은 데이터 세트 가져오기의 정보를 직접 반환할 수 있습니다. 따라서 가져온 데이터에 수식이나 명령이 포함된 경우 파일이 CSV 삽입에 취약해집니다. 이러한 이유로, 파일을 내보내는 경우 보안 경고가 표시될 수 있습니다. 악의적인 활동을 방지하려면 내보낸 파일을 읽을 때 링크와 매크로를 끄세요.

분석에서 CSV 또는 PDF 파일로 데이터를 내보낼 수 있습니다. 분석 또는 대시보드의 데이터를 CSV 파일로 내보내려면 [시각화에서 데이터 내보내기](exporting-data.md)의 절차를 따릅니다.

아래 절차에 따라 분석을 PDF로 내보냅니다.

1. 내보내려는 분석에서 **파일 > PDF로 내보내기**를 선택합니다. Quick Sight는 다운로드를 위한 분석을 준비하기 시작합니다.

1. 파란색 팝업에서 **내보내기 보기**를 선택하여 오른쪽에 있는 **내보내기** 창을 엽니다.

1. 녹색 팝업 창에서 **다운로드**를 선택합니다.

1. 다운로드할 준비가 된 모든 분석 또는 보고서를 보려면 **파일**, **내보내기**를 차례로 선택합니다. 내보내기 패널이 화면 오른쪽에 열립니다. 원하는 위치에 저장할 파일 옆에 있는 **클릭하여 다운로드**를 선택합니다.

PDF로 내보내는 절차는 대시보드와 분석 모두에서 동일한 방식으로 작동합니다.

대시보드 이메일 보고서에 PDF를 첨부할 수도 있습니다. 자세한 내용은 [이메일로 Quick Sight 보고서 예약 및 전송](sending-reports.md) 단원을 참조하십시오.

# 분석 삭제
<a name="deleting-an-analysis"></a>

이를 수행할 수 있는 권한이 있는 경우 **분석** 페이지에서 분석을 삭제할 수 있습니다. 분석을 삭제해도 해당 분석을 기반으로 하는 대시보드에 영향을 주지는 않습니다. 삭제된 분석은 계속 표시되지만 삭제한 후에는 분석을 변경할 수 없습니다. 분석 페이지로 이동하여 제거할 분석을 찾습니다. 분석에서 세부 정보 아이콘(⋮)을 선택한 다음 **삭제**를 선택합니다. **삭제**를 다시 선택하여 선택을 확인합니다. 이 작업을 취소할 수 없습니다.

# 시트 추가 및 관리
<a name="working-with-multiple-sheets"></a>

*시트*는 단일 페이지에 함께 표시되는 시각적 객체 세트입니다. 분석을 생성할 때 시트의 WorkSpace에 시각적 객체를 배치합니다. 데이터 시각화로 채워진다는 점을 제외하고, 이 시트를 신문 지면으로 생각할 수 있습니다. 더 많은 시트를 추가한 후 분석에서 개별적으로 또는 함께 작동하도록 지정할 수 있습니다.

최상위 시트(기본 시트라고 함)는 맨 왼쪽에 있는 시트입니다. 이 시트는 분석 또는 대시보드의 맨 위에 표시됩니다. 각 분석은 최대 20개의 시트를 포함할 수 있습니다.

여러 시트에서 분석을 공유하고 대시보드를 게시할 수 있습니다. 또한 분석의 모든 시트 조합에 대한 이메일 보고서를 예약할 수 있습니다.

기존 분석에서 새 분석 또는 새 시트를 생성할 때 새 시트를 **대화형 시트**로 만들지 아니면 **픽셀 완벽한 보고서**로 만들지 선택합니다. 이렇게 하면 대화형 시트만 분석하거나, 픽셀 완성 보고서만 분석하거나, 대화형 시트와 픽셀 완성 보고서를 모두 포함하는 분석을 수행할 수 있습니다.

대화형 시트는 시트가 대시보드에 게시될 때 사용자가 상호 작용할 수 있는 시각화로 표현되는 데이터 모음입니다. Amazon Quick 작성자는 대화형 시트에 다양한 제어 및 필터를 추가할 수 있습니다. 대시보드 뷰어는 이를 사용하여 게시된 데이터에서 자세한 정보를 얻을 수 있습니다. 대화형 시트에 대한 자세한 내용은 [Amazon Quick Sight에서 대화형 시트 작업을](https://docs.aws.amazon.com/quicksight/latest/user/working-with-interactive-sheets.html) 참조하세요.

페이지를 매긴 보고서는 일일 거래 요약 또는 주간 비즈니스 보고서와 같은 비즈니스에 중요한 정보를 전달하는 데 사용되는 표, 차트 및 시각적 객체의 모음입니다. Quick Sight에서 픽셀 완성 보고서를 생성하려면 **Pixel 완성 보고 추가 기능을** Quick 계정에 추가합니다. **Pixel perfect reporting 추가 기능을** 가져오고 픽셀 perfect 보고서 작업을 시작하려면 [Amazon Quick Sight에서 픽셀 perfect 보고서 작업을](https://docs.aws.amazon.com/quicksight/latest/user/working-with-reports.html) 참조하세요.

 다음 작업 목록을 사용하여 시트로 작업합니다.
+ 새 시트를 추가하려면 시트 탭 오른쪽에 있는 더하기 기호 (\$1) 를 선택하고 원하는 시트 유형을 선택한 다음 **추가**를 선택합니다.
+ 시트의 이름을 바꾸려면 시트의 이름을 선택하고 입력합니다. 시트 메뉴에서**도 이름 바꾸**기를 사용할 수 있습니다.
+ 시트를 복제하려면 시트 이름을 선택한 다음 시트 메뉴에서 **복제**를 선택합니다. **자동 저장**이 켜져 있는 경우에만 시트를 복제할 수 있습니다.
+ 대화형 시트를 복제하여 픽셀 완성 보고서로 변환하려면 시트 이름을 선택한 다음 시트 메뉴에서 **중복을 선택하여 보고합니다**. 픽셀 완성 보고서를 대화형 시트로 변환할 수 없습니다.
+ 시트를 삭제하려면 시트 이름을 선택한 다음 시트 메뉴에서 **삭제**를 선택합니다. 분석 중인 유일한 시트인 경우 시트를 삭제할 수 없습니다.
+ 시트 순서를 변경하려면 시트 이름을 선택하고 새 위치로 드래그합니다.
+ 시각적 객체를 새 시트에 복사하려면 시각적 객체 메뉴에서 **시각적 객체 복제 대상**을 선택합니다. 그런 다음 대상 시트를 선택합니다. 필터는 생성된 시트에만 있습니다. 필터를 복제하려면 대상 시트에서 필터를 다시 생성합니다.
+ 시트의 시각적 객체에서 특정 데이터 포인트를 강조 표시하려면 **시트** 탭으로 이동하여 **레이아웃 설정**을 선택하세요. **상호 작용** 섹션에서 **선택 시** 또는 **마우스로 가리킬 때**로 강조 표시를 켜거나 **강조 표시 안함**을 선택하여 끄세요. 기본적으로 시트 강조 표시는 분석 강조 표시와 동일한 설정을 따릅니다.

  시각적 객체의 데이터 포인트를 선택하거나 마우스로 가리키면 다른 시각적 객체에서 관련 데이터가 강조되고 관련되지 않은 데이터는 흐리게 표시됩니다. 강조 표시하면 상관관계, 스팟 패턴, 트렌드 및 이상치를 파악하고 정보에 입각한 보다 강력한 분석을 촉진할 수 있습니다.

최상위 시트에서 파라미터 제어를 사용하여 여러 시트를 제어할 수 있습니다. 이렇게 하려면 파라미터로 작업하려는 각 시트를 엽니다. 그런 다음 최상위 시트에서 제어에 사용한 것과 동일한 파라미터를 사용하는 필터를 추가합니다. 새 시트를 독립적으로 작동하려면 최상위 시트와 별도로 새 시트에 파라미터와 파라미터 제어를 추가할 수 있습니다.

# Amazon Quick Sight에서 대화형 시트 작업
<a name="working-with-interactive-sheets"></a>

대화형 시트는 시트가 대시보드에 게시될 때 사용자가 상호 작용할 수 있는 시각화로 표현되는 데이터 모음입니다. Amazon Quick 작성자는 대시보드 뷰어가 게시된 데이터에서 자세한 정보를 얻는 데 사용할 수 있는 대화형 시트에 다양한 레이아웃, 제어 및 필터를 추가할 수 있습니다. 기본적으로 분석의 모든 시트는 대화형 시트입니다. 계정에 **Pixel 완벽한 보고 추가 기능이** 없는 경우 대화형 시트만 생성하고 게시할 수 있습니다.

대화형 시트 생성에 대한 자세한 내용은 [Quick Sight에서 분석 시작](creating-an-analysis.md)을(를) 참조하십시오.

대화형 시트의 서식 지정에 대한 자세한 내용은 다음 주제를 참조하십시오.

**Topics**
+ [Amazon Quick Sight에서 대시보드 레이아웃 사용자 지정](customizing-dashboards-and-visuals.md)
+ [Amazon Quick의 파라미터](parameters-in-quicksight.md)
+ [필터링 및 탐색을 위한 사용자 지정 동작 사용](quicksight-actions.md)

# Amazon Quick Sight에서 대시보드 레이아웃 사용자 지정
<a name="customizing-dashboards-and-visuals"></a>

대시보드 레이아웃을 사용자 지정하여 비즈니스 요구 사항에 맞게 데이터를 구성할 수 있습니다. 세 가지 대시보드 레이아웃 중에서 선택할 수 있습니다. 시각적 객체의 크기, 배경색, 테두리 색상 및 상호 작용을 변경하여 완전히 사용자 지정된 대시보드를 만들 수도 있습니다.

다음 항목을 사용하여 대시보드 및 시각적 객체를 사용자 지정하는 방법에 대해 자세히 알아보세요.

**Topics**
+ [레이아웃 유형](types-of-layout.md)
+ [레이아웃 선택](choosing-a-layout.md)
+ [자유 형식 레이아웃의 시각적 개체 사용자 지정](customizing-visuals-in-free-form.md)
+ [조건부 규칙](conditional-rules.md)

# 레이아웃 유형
<a name="types-of-layout"></a>

세 가지 대시보드 레이아웃 디자인, **바둑판식**, **자유 형식**, **클래식** 중에서 선택할 수 있습니다.

## 바둑판식 레이아웃
<a name="tiled-layout"></a>

**바둑판식** 레이아웃의 시각적 객체는 표준 간격 및 정렬을 사용하여 그리드에 맞춰집니다. 시각적 객체를 원하는 크기로 만들어 대시보드 내 원하는 위치에 배치할 수 있지만, 시각적 객체를 겹칠 수 없습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/fixed-layouts-tiled-demo.gif)


대시보드는 화면에 맞게 표시되거나 실제 크기로 볼 수 있는 옵션과 함께 디자인된 대로 표시됩니다. 오른쪽 상단의 **보기**에서 **창에 맞추기**를 선택하여 대시보드 전체를 창에 맞출 수도 있습니다. 이 옵션은 이전에 **최적화**라고 불렸습니다.

**참고**  
모바일 장치에서 바둑판식 레이아웃 대시보드는 세로 모드에서는 단일 열로 표시되거나 가로 모드에서 디자인된 것과 동일하게 표시됩니다.

## 자유 형식 레이아웃
<a name="free-form-layout.title"></a>

**자유 형식** 레이아웃의 시각적 객체는 정확한 좌표를 사용하여 대시보드의 어느 곳에나 배치할 수 있습니다. 시각적 객체를 원하는 위치로 드래그하거나 시각적 객체의 위치 좌표를 입력할 수 있습니다. 다음 절차를 사용하여 시각적 객체 위치의 정확한 좌표를 입력합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/fixed-layouts-freeform-placement1.gif)


대시보드는 화면에 맞게 표시되거나 실제 크기로 볼 수 있는 옵션과 함께 디자인을 선택한 대로 표시됩니다. 자유 형식 레이아웃을 특정 해상도에서 볼 수 있도록 최적화할 수 있으며, 기본값은 1,600픽셀입니다. 오른쪽 상단의 **보기**에서 **창에 맞추기**를 선택하여 대시보드 전체를 브라우저 창에 맞출 수도 있습니다.

**참고**  
뷰어의 컴퓨터 해상도가 대시보드의 설정 해상도와 같지 않으면 해상도가 최적화된 대시보드가 뷰어 컴퓨터에서 더 크거나 작게 표시될 수 있습니다.  
**자유 형식**에서 다른 레이아웃으로 전환하면 일부 시각적 객체 요소가 변경될 수 있습니다.  
모바일 장치에서는 **자유 형식** 대시보드가 레이아웃을 변경하지 않고 게시된 상태로 표시됩니다.

## 클래식 레이아웃
<a name="classic-layout.title"></a>

**클래식** 레이아웃의 시각적 객체는 표준 간격 및 정렬을 사용하여 그리드에 맞춰집니다. 대시보드는 데이터를 숨기거나 작은 화면 크기에 맞게 서식을 변경합니다. 예를 들어, 상당히 더 작게 보이도록 시각적 객체를 변경하면 시각적 객체 메뉴 및 편집기가 숨겨져 차트 요소를 표시할 수 있는 공간이 넓어집니다. 막대 차트 시각적 객체에 표시되는 데이터 요소의 수를 줄일 수도 있습니다.

브라우저 창의 크기를 줄이면 Amazon Quick Sight는 최적의 표시를 위해 시각적 객체의 크기를 조정하고 필요한 경우 시각적 객체의 순서를 변경합니다. 예를 들어 나란히 배치된 작은 시각적 객체는 순차적으로 표시될 수 있습니다. 브라우저 창의 크기가 다시 커지면 원래 레이아웃이 복원됩니다.

**참고**  
모바일 장치에서 클래식 레이아웃 대시보드는 단일 열로 표시되거나 가로 모드에서 디자인된 것과 동일하게 표시됩니다.

# 레이아웃 선택
<a name="choosing-a-layout"></a>

**대시보드 레이아웃 변경**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 **분석을** 선택한 다음 변경하려는 분석을 선택합니다.

1. 분석 페이지에서 **편집**을 선택한 다음 **분석 설정**을 선택합니다.

1. **시트 레이아웃**을 확장하고 사용하려는 레이아웃을 선택합니다.

1. 완료되면 **적용**을 선택합니다.

# 자유 형식 레이아웃의 시각적 개체 사용자 지정
<a name="customizing-visuals-in-free-form"></a>

자유 형식 레이아웃을 사용하여 대시보드에서 각 시각적 요소의 색상, 크기, 위치 및 표시 여부를 완전히 사용자 지정할 수 있습니다.

## 시각적 객체 구성
<a name="organizing-visuals.title"></a>

시각적 객체를 대시보드 내에서 원하는 위치로 드래그하는 것 외에도, 시각적 객체를 필요한 위치로 옮기는 다양한 방법이 있습니다.

**시각적 객체 위치의 좌표 입력**

1. 원하는 시각적 객체를 선택합니다.

1. 시각적 객체 오른쪽 상단에 있는 메뉴에서 **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. **속성** 창이 열리면 **배치**를 선택합니다.

1. 시각적 객체를 배치하려는 위치의 **X** 및 **Y** 좌표를 입력합니다. **너비**와 **높이** 값을 입력하여 시각적 객체의 크기를 조정할 수도 있습니다.

키보드의 화살표 키를 사용하여 선택한 시각적 객체를 픽셀 단위로 이동할 수도 있습니다.

시각적 객체를 서로 겹쳐서 데이터를 보여주는 다중 계층 시각적 객체를 만들 수 있습니다.

시각적 개체를 앞뒤로 수동으로 이동할 수 있는 다중 계층으로 구성할 수 있습니다.

**오버레이된 시각적 객체를 앞뒤로 이동**

1. 원하는 시각적 객체를 선택합니다.

1. 시각적 객체의 오른쪽 상단에 있는 점 3개 메뉴에서 **메뉴 옵션을** 선택합니다.

1. **메뉴 옵션**의 경우 다음에서 선택합니다.
   + **맨 뒤로 보내기**는 시각적 객체를 맨 뒤로 보냅니다.
   + **뒤로 보내기**는 시각적 객체를 한 계층 뒤로 보냅니다.
   + **앞으로 가져오기**는 시각적 객체를 한 계층 앞으로 가져 옵니다.
   + **맨 앞으로 가져오기**는 시각적 객체를 맨 앞으로 가져옵니다.

## 시각적 객체의 배경색 변경
<a name="changing-a-visuals-background-color.title"></a>

**속성** 창의 **표시 설정** 창에서 시각적 객체 배경, 테두리 및 선택 프레임의 색상을 사용자 지정할 수 있습니다.

**시각적 객체 배경, 테두리, 선택 프레임의 색상 변경**

1. 변경하려는 시각적 객체를 선택합니다.

1. 시각적 객체의 오른쪽 상단에 있는 메뉴에서 **속성** 아이콘을 선택합니다.

1. **속성** 창이 왼쪽에 나타나면 **설정 표시**를 선택합니다.

1. **카드 스타일** 섹션으로 이동하여 사용 가능한 작업 중 하나 이상을 수행합니다.
   + 시각적 객체 배경의 색상을 변경하려면 **배경** 색상 상자를 선택한 다음 원하는 색상을 선택합니다.
   + 시각적 객체 테두리의 색상을 변경하려면 **테두리** 색상 상자를 선택한 다음 원하는 색상을 선택합니다.
   + 시각적 객체 선택 프레임의 색상을 변경하려면 **선택** 색상 상자를 선택한 다음 원하는 색상을 선택합니다.

   시각적 객체 배경, 테두리 또는 선택 프레임에 사용자 지정 색상을 사용하려면 변경하려는 속성의 색상 상자를 선택한 다음 **사용자 지정 색상**을 선택합니다. **사용자 지정 색상** 창이 표시되면 사용자 지정 색상을 선택하거나 색상의 16진수 코드를 입력합니다. 작업을 마쳤으면 [**Apply**]를 선택합니다.

시각적 객체의 사용자 지정된 배경을 기본 모양으로 재설정할 수도 있습니다.

**시각적 객체의 모양 재설정**

1. 변경하려는 시각적 객체를 선택합니다.

1. 시각적 객체의 오른쪽 상단에 있는 메뉴에서 **속성** 아이콘을 선택합니다.

1. **속성** 창이 왼쪽에 나타나면 **설정 표시**를 선택합니다.

1. 재설정하려는 색상을 선택한 다음 **기본값으로 재설정**을 선택합니다.

## 시각적 객체 배경, 테두리 및 선택 색상 숨기기
<a name="hiding-visual-backgrounds-and-borders.title"></a>

시각적 객체의 배경, 테두리 또는 선택 색상을 표시하지 않도록 선택할 수도 있습니다. 이는 여러 개의 시각적 객체를 겹치려는 경우에 유용합니다. **테두리**, **배경**, **선택** 색상 상자 옆에 있는 눈 아이콘을 선택하여 시각적 객체 배경, 테두리 및 선택 색상을 숨길 수 있습니다. **로드 중 애니메이션 표시** 상자를 해제하여 시각적 객체의 로드 중 애니메이션을 제거할 수도 있습니다.

## 시각적 객체 메뉴 비활성화
<a name="disabling-visual-menus.title"></a>

**속성** 창의 **상호 작용** 패널을 사용하여 선택한 시각적 객체 이미지에서 **컨텍스트** 메뉴와 **시각적 객체** 메뉴를 숨깁니다. 보조 시각적 객체 메뉴를 숨겨 시각적 혼잡을 줄이거나 오버레이와 같은 시각적 효과를 낼 수 있습니다.

데이터 요소를 클릭하면 **컨텍스트** 메뉴가 열립니다. **컨텍스트 메뉴**의 일반적인 동작으로는 **포커스**, **제외**, **드릴다운** 등이 있습니다.

**시각적 객체** 메뉴는 시각적 객체의 오른쪽 상단에 표시됩니다. **시각적 객체** 메뉴는 **속성** 창에 액세스하고, 시각적 객체를 **최대화**하고, **메뉴 옵션** 패널에 액세스하고, **이상 인사이트**를 검토하는 데 사용됩니다.

**컨텍스트 메뉴**와 **시각적 객체 메뉴** 옵션을 지우면 보조 시각적 객체 메뉴를 끌 수 있습니다.

**참고**  
**분석**에서는 **상호 작용** 패널의 변경 내용을 미리 볼 수 없습니다. 대시보드를 게시하여 변경 내용을 확인하세요.

# 조건부 규칙
<a name="conditional-rules"></a>

이 기능은 현재 **자유 형식** 레이아웃에서 사용할 수 있습니다. 조건부 규칙은 특정 조건이 충족될 때 시각적 개체를 숨기거나 표시하는 데 사용됩니다. 이는 동일한 시각적 객체의 여러 버전이 서로 겹쳐져 있고 선택한 파라미터 값을 가장 잘 나타내는 버전을 대시보드 뷰어에 표시하려는 경우에 유용할 수 있습니다.

조건부 규칙은 파라미터와 파라미터 컨트롤을 사용하여 시각적 개체를 숨기고 표시합니다. 파라미터는 작업 또는 객체가 사용할 값을 전달할 수 있는 지정 변수입니다. 이 기능은 문자열 및 숫자 파라미터를 지원합니다. 파라미터가 대시보드를 열어 놓은 사용자에게 액세스할 수 있도록 하려면 파라미터 제어를 추가합니다. 파라미터 컨트롤을 제공해 사용자가 미리 정의된 필터나 URL 작업에서 사용할 값을 선택하도록 만들 수 있습니다. 파라미터 및 파라미터 값에 대한 자세한 내용은 [Amazon Quick의 파라미터](parameters-in-quicksight.md) 단원을 참조하세요.

아래 섹션을 통해 조건부 규칙을 설정하고 사용합니다.

**Topics**
+ [기본적으로 시각적 객체를 숨깁니다.](hiding-a-visual-by-default.title.md)
+ [조건부 규칙 설정](setting-a-conditional-rule.title.md)
+ [조건부 규칙 사용](using-conditional-rules.md)

# 기본적으로 시각적 객체를 숨깁니다.
<a name="hiding-a-visual-by-default.title"></a>

**속성** 창의 **상호 작용** 창에서 기본적으로 시각적 객체를 숨기도록 선택할 수 있습니다. 이 방법은 뷰어가 특정 조건에 따른 시각적 개체만 보게 하려는 경우에 유용할 수 있습니다.

**기본적으로 시각적 객체 숨기기**

1. 빠른 홈페이지에서 **분석을** 선택한 다음 사용자 지정하려는 분석을 선택합니다.

1. 규칙을 추가할 시각적 객체를 선택합니다.

1. 시각적 객체의 오른쪽 상단에 있는 메뉴에서 **속성**을 선택합니다.

1. **속성** 창이 열리면 **상호 작용**을 선택하고 **규칙** 드롭다운을 엽니다.

1. **규칙** 메뉴에서 **기본적으로 이 시각적 개체 숨기기**를 선택합니다.

숨겨진 시각적 개체는 보기 대시보드에서 완전히 숨겨진 상태로 나타납니다. **분석** 창에는 숨겨진 시각적 개체가 ‘규칙 기반 숨김’이라는 메시지와 함께 표시됩니다. 이 디스플레이를 통해 대시보드의 모든 시각적 개체가 어디에 있는지 확인할 수 있습니다.

**참고**  
기본적으로 이미 숨겨진 시각적 개체를 숨기거나 기본적으로 이미 표시된 시각적 개체를 표시하는 조건부 규칙을 만들 수 없습니다. 시각적 객체의 기본 모양을 변경하면 새로운 기본 모양과 모순되는 기존 규칙이 비활성화됩니다.

# 조건부 규칙 설정
<a name="setting-a-conditional-rule.title"></a>

조건부 규칙을 설정하면 특정 조건이 충족될 때 시각적 이미지를 숨기거나 표시하는 조건문을 생성합니다. 현재 시각적인 내용을 숨기거나 표시하는 조건부 규칙을 만들 수 있습니다. 숨겨진 시각적 개체를 표시하도록 하는 조건부 규칙을 만들려면 **속성** 창의 **규칙** 메뉴에서 **기본적으로 이 시각적 개체 숨기기**를 선택합니다.

**참고**  
시작하기 전에, 새 조건부 규칙의 기반으로 사용할 파라미터와 해당 파라미터 컨트롤을 만드세요. 지원되는 파라미터는 문자열 파라미터와 숫자 파라미터입니다. 파라미터 및 파라미터 값에 대한 자세한 내용은 [Amazon Quick의 파라미터](parameters-in-quicksight.md) 단원을 참조하세요.

**조건부 규칙 설정**

1. 빠른 홈페이지에서 **분석을** 선택한 다음 사용자 지정하려는 분석을 선택합니다.

1. 규칙을 추가할 시각적 객체를 선택합니다.

1. 시각적 객체의 오른쪽 상단에 있는 메뉴에서 **속성**을 선택합니다.

1. **속성** 창이 왼쪽에 나타나면 **상호 작용**을 선택한 다음 **규칙**을 선택합니다.

1. **규칙 추가**를 선택합니다.

1. **규칙 추가** 창의 첫 번째 메뉴에서, 원하는 파라미터를 선택합니다.

1. **규칙 추가** 창의 두 번째 메뉴에서, 원하는 조건을 선택합니다. 문자열 파라미터의 경우, 지원되는 조건은 **같음**, **다음으로 시작**, **포함** 및 **같지 않음**입니다. 숫자 파라미터의 경우, 지원되는 조건은 **같음**, **다음으로 시작**, **포함** 및 **같지 않음**입니다.

1. 조건부 규칙이 충족할 값을 입력합니다.
**참고**  
값은 대소문자를 구분합니다.

1. **규칙 추가**를 선택하여 새 조건부 규칙을 시각적 객체에 적용합니다. 작업을 취소하려면 **취소**를 선택합니다.

조건부 규칙을 편집하고 삭제할 수도 있습니다.

**조건부 규칙 편집**

1. 시각적 객체의 오른쪽 상단에 있는 메뉴에서 **속성**을 선택합니다.

1. **속성** 창이 왼쪽에 나타나면 **상호 작용**을 선택한 다음 **규칙**을 선택합니다.

1. 편집하려는 규칙의 오른쪽에 있는 메뉴 아이콘을 선택하고, **편집**을 선택합니다.

1. 원하는 설정을 변경한 후 **저장**을 선택합니다.

**조건부 규칙 삭제**

1. 시각적 객체의 오른쪽 상단에 있는 메뉴에서 **속성**을 선택합니다.

1. **속성** 창이 왼쪽에 나타나면 **상호 작용**을 선택한 다음 **규칙**을 선택합니다.

1. 편집하려는 규칙의 오른쪽에 있는 메뉴 아이콘을 선택하고 **삭제**를 선택합니다.

# 조건부 규칙 사용
<a name="using-conditional-rules"></a>

파라미터와 파라미터 컨트롤에 연결된 조건부 규칙을 설정한 후에는, 파라미터 컨트롤을 사용하여 설정한 조건부 규칙을 활성화하거나 비활성화할 수 있습니다.

**조건부 규칙 활성화**

1. 빠른 홈페이지에서 **분석을** 선택한 다음 사용자 지정하려는 분석을 선택합니다.

1. 작업 영역 상단의 **제어** 표시줄에서 드롭다운 아이콘을 선택합니다.

1. 생성한 조건부 규칙과 관련된 파라미터 컨트롤을 선택합니다.

1. 파라미터 메뉴에서 생성한 조건부 규칙과 관련된 값을 선택합니다. **검색 값** 상자에 원하는 값을 입력할 수도 있습니다.
**참고**  
값은 대소문자를 구분합니다.

   올바른 값을 선택하면 설정한 규칙에 따라 시각적 객체가 나타나거나 사라집니다.

시각적 객체가 있는 시트에 파라미터 컨트롤을 가져올 수도 있습니다. 이 방법은 파라미터 컨트롤을 연결된 시각적 객체 옆에 두거나 컨트롤에 조건부 규칙을 추가하여 특정 조건이 충족될 때만 표시되도록 하려는 경우에 유용합니다.

**파라미터 컨트롤을 시트로 가져오기**

1. 빠른 홈페이지에서 **분석을** 선택한 다음 사용자 지정하려는 분석을 선택합니다.

1. 작업 영역 상단의 **제어** 표시줄에서, 이동하려는 컨트롤을 선택합니다.

1. 제어의 오른쪽 상단에서 **메뉴 옵션** 메뉴를 엽니다.

1. **시트로 이동**을 선택합니다.

**파라미터 컨트롤을 컨트롤 표시줄로 다시 이동**

1. 대시보드에서 이동할 파라미터 컨트롤을 선택합니다.

1. 제어의 오른쪽 상단에서 **메뉴 옵션** 메뉴를 엽니다.

1. **시트 상단으로 이동**을 선택합니다.

# Amazon Quick의 파라미터
<a name="parameters-in-quicksight"></a>

*파라미터*는 작업 또는 객체가 사용할 값을 전달할 수 있는 지정 변수입니다. 파라미터를 사용하면, 대시보드 사용자가 덜 기술적인 방식으로 대시보드 기능과 상호 작용하는 보다 간편한 방법을 구현할 수 있습니다. 또한 파라미터는 대시보드를 다른 대시보드와 연결하므로 대시보드 사용자가 다른 분석의 데이터로 드릴다운할 수 있습니다.

예를 들어, 대시보드 사용자는 목록을 사용해 값을 선택할 수 있습니다. 이 값에 따라 파라미터가 선택한 값에 대한 필터, 계산 또는 URL 작업을 설정합니다. 그러면 대시보드의 시각적 객체가 사용자의 선택 사항에 대해 반응합니다.

파라미터가 대시보드를 열어 놓은 사용자에게 액세스할 수 있도록 하려면 파라미터 제어를 추가합니다. 한 컨트롤에서의 선택이 다른 컨트롤에 표시되는 옵션을 필터링하는 캐스케이딩 컨트롤을 설정할 수 있습니다. 컨트롤은 옵션, 슬라이더 또는 텍스트 입력 영역의 목록으로 표시될 수 있습니다. 제어를 생성하지 않고도 값을 대시보드 URL 내의 파라미터로 보낼 수 있습니다.

파라미터가 작동하려면 관련 컨트롤이 있는지 여부와 상관없이 분석 대상 항목에 파라미터를 연결해야 합니다. 다음 항목에서 파라미터를 참조할 수 있습니다.
+ 계산된 필드(다중값 파라미터 제외)
+ 필터
+ 대시보드 및 분석 URL
+ 작업
+ 분석 전반의 제목과 설명

다음과 같은 방법으로 파라미터를 사용할 수 있습니다.
+ 계산을 사용해 분석에 표시된 데이터를 변환할 수 있습니다.
+ 게시한 분석에 필터를 이용하는 컨트롤을 추가하는 경우 대시보드 사용자는 직접 필터를 생성하지 않고도 데이터를 필터링 할 수 있습니다.
+ 제어와 사용자 지정 작업을 사용해 대시보드 사용자가 URL 작업에 대한 값을 설정하도록 할 수 있습니다.

**Topics**
+ [Amazon Quick에서 파라미터 설정](parameters-set-up.md)
+ [Amazon Quick에서 파라미터와 함께 컨트롤 사용](parameters-controls.md)
+ [Amazon Quick에서 파라미터 기본값 생성](parameters-default-values.md)
+ [Amazon Quick의 파라미터에 연결](parameters-connections.md)

# Amazon Quick에서 파라미터 설정
<a name="parameters-set-up"></a>

다음 절차를 사용해 기본 파라미터를 생성하거나 편집할 수 있습니다.

**기본 파라미터 생성 또는 편집**

1. 작업할 분석을 선택하고 파라미터화 할 필드를 결정합니다.

1. 페이지 상단의 아이콘 목록에서 **파라미터** 아이콘을 선택합니다.

1. 창 상단 가까이에 있는 추가 아이콘(**\$1 추가**)을 선택하여 새 파라미터를 추가합니다.

   먼저 파라미터 이름 근처의 `v` 모양 아이콘을 선택한 후 **파라미터 편집**을 선택해 기존 파라미터를 편집합니다.

1. **이름**에 파라미터 영숫자 값을 입력합니다.

1. **데이터 유형**에서 **문자열**, **숫자**, **정수** 또는 **날짜/시간**을 선택하고 다음 단계를 완료하세요.
   + **문자열**, **숫자** 또는 **정수**를 선택하는 경우, 다음을 수행하세요.

     1. **값**에서 **단일 값** 또는 **다중 값**을 선택합니다.

        단일 값 하나만 포함할 수 있는 파라미터의 경우 단일 값 옵션을 선택하세요. 하나 이상 값을 포함할 수 있는 파라미터의 경우 다중 값을 선택하세요. 다중 값 파라미터는 `datetime` 데이터 형식일 수 없습니다. 또한 동적 기본값을 지원하지 않습니다.

        기존 파라미터를 단일 값과 다중 값 사이에서 전환하려면 파라미터를 삭제하고 다시 생성하십시오.

     1. (선택 사항) **정적 기본값** 또는 **정적 다중 기본값**의 경우, 하나 이상의 값을 입력합니다.

        이러한 정적 값 유형은 동적 기본 값이나 URL 파라미터가 제공되지 않는 경우 첫 페이지 로드 동안 사용합니다.

     1. (선택 사항) **기본적으로 공란으로 표시**를 선택합니다.

        다중값 목록의 기본값을 공백으로 표시하려면 이 옵션을 선택합니다. 이 옵션은 다중 값 파라미터에만 적용됩니다.
   + **날짜/시간**을 선택한 경우, 다음을 수행합니다.

     1. **시간 세분성**의 경우 **일**, **시간**, **분** 또는 **초**를 선택합니다.

     1. **기본 날짜**로 **고정 날짜** 또는 **상대 날짜**를 선택하고, 다음을 수행합니다.
        + **고정 날짜**를 선택하는 경우, 날짜 및 시간 선택기를 사용하여 날짜와 시간을 입력합니다.
        + **상대 날짜**를 선택하는 경우 롤링 날짜를 선택합니다. **오늘**, **어제**를 선택하거나 **필터 조건** (시작 또는 종료), **범위** (현재, 이전 또는 다음) 및 **기간** (연도, 분기, 월, 주 또는 일)을 선택할 수 있습니다.

1. (선택 사항) **동적 기본값 설정**을 선택해 사용자 고유의 기본값을 생성합니다.

   *동적 기본값*은 대시보드 첫 페이지 로드에 대한 사용자별 기본 값입니다. 동적 기본값을 사용하여 각 사용자별로 개인 설정된 보기를 생성하세요.

   계산된 필드는 동적 기본값으로 사용할 수 없습니다.

   동적 기본값은 사용자가 다른 값을 선택하는 것을 막지 못합니다. 데이터를 보호하고 싶다면, 행 수준의 잠금을 추가할 수 있습니다. 자세한 내용은 [사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한사용자 기반 규칙 사용](restrict-access-to-a-data-set-using-row-level-security.md) 단원을 참조하십시오.

   이 옵션은 단일 값 파라미터를 선택한 경우에만 표시됩니다. 다중 값 파라미터는 동적 기본값을 가질 수 없습니다.
**참고**  
다중 값 파라미터를 선택할 경우, 화면에서 기본값 옵션이 제거됩니다. 대신, **이 컨트롤에 사용할 값을 입력하십시오** 텍스트가 포함된 상자가 나타납니다. 이 상자에서 한 줄에 하나씩 여러 값을 입력할 수 있습니다. 이들 값은 파라미터 컨트롤에서 기본 선택 값으로 사용됩니다. 여기의 값은 파라미터 컨트롤에 입력할 수 있도록 선택하는 값과 결합됩니다. 파라미터 제어에 대한 자세한 내용은 [파라미터 제어](parameters-controls.md)를 참조하세요.

1. (선택 사항) 예약된 값을 설정하여 **모두 선택** 값의 값을 결정합니다. 파라미터의 예약된 값은 **모두 선택**을 선택할 때 파라미터에 할당되는 값입니다. 파라미터에 특정 예약값을 설정하면 해당 값은 데이터 세트에서 더 이상 유효한 파라미터 값으로 간주되지 않습니다. 예약된 값은 필터, 컨트롤, 계산된 필드, 사용자 지정 작업과 같은 파라미터 소비자에 사용할 수 없습니다. 파라미터 제어 목록에도 나타나지 않습니다. **권장 값**, **Null** 및 **사용자 지정 값** 중에서 선택할 수 있습니다. **권장 값**이 기본값입니다. **권장 값을** 선택하면 예약된 값이 값 유형에 따라 다음 값으로 설정됩니다.
   + 문자열: `"ALL_VALUES"`
   + 숫자: `"Long.MIN_VALUE"-9,223,372,036,854,775,808`
   + “정수: `Int.MIN_VALUE"-2147483648`

   새 파라미터에 예약된 값을 설정하려면 **새 파라미터 만들기** 페이지 또는 **파라미터 편집** 페이지에서 **고급 설정** 드롭다운 목록을 선택하고 원하는 값을 선택합니다.

1. **생성**이나 **업데이트**를 선택해 파라미터 생성이나 업데이트를 완료합니다.

생성한 파라미터를 다양한 방법으로 사용할 수 있습니다. (단추 같은) 컨트롤을 생성해 파라미터에 대한 값을 선택할 수 있습니다. 자세한 내용은 다음 섹션을 참조하세요.

# Amazon Quick에서 파라미터와 함께 컨트롤 사용
<a name="parameters-controls"></a>

대시보드의 데이터 시트 맨 위에 파라미터 컨트롤이 표시되며, 여기에 시각적 객체 세트가 포함되어 있습니다. 컨트롤을 제공해 사용자가 미리 정의된 필터나 URL 작업에서 사용할 값을 선택하도록 만들 수 있습니다. 대시보드 사용자는 컨트롤을 사용, 스스로 필터를 생성하지 않고도 대시보드의 모든 시각적 객체 데이터 세트에 필터를 적용할 수 있습니다.

다음 규칙이 적용됩니다.
+ 파라미터에 대한 컨트롤을 생성하거나 편집하려면 파라미터가 존재해야 합니다.
+ 다중 선택 목록 컨트롤은 분석 URL, 대시보드 URL, 사용자 지정 작업 및 사용자 지정 필터와 호환됩니다. 필터는 제공된 값과 같거나 같지 않아야 합니다. 다른 비교는 지원되지 않습니다.
+ 목록에는 최대 1,000개의 값이 표시됩니다. 고유한 값이 1,000개를 초과하는 경우 목록을 필터링할 수 있는 검색 상자가 나타납니다. 필터링된 목록에 포함된 값이 1,001개 미만이면 목록의 내용이 라인 항목으로 표시됩니다.
+ **스타일** 옵션에는 파라미터의 데이터 형식 및 단일 또는 다중 값 설정에 적합한 스타일 유형만 나열됩니다. 사용하려는 스타일이 목록에 없을 경우, 적절한 설정을 사용해 파라미터를 다시 생성하고 다시 시도할 수 있습니다.
+ 파라미터가 데이터 세트 필드에 연결된 경우, 해당 필드는 실제 필드여야 합니다. 계산된 필드는 지원되지 않습니다.
+ 1,000개 이상의 개별 값이 없는 한 값은 컨트롤에서 영문자 순으로 표시됩니다. 그런 다음 컨트롤에 검색 상자가 대신 표시됩니다. 사용할 값을 검색할 때마다 새 쿼리가 시작됩니다. 결과에 1,000개 이상의 값이 포함된 경우 페이지 매김으로 값을 스크롤할 수 있습니다. 와일드카드 검색이 지원됩니다. 와일드카드 검색에 대해 자세히 알아보려면 [와일드카드 검색 사용하기](search-filter.md#search-filter-wildcard) 단원을 참조하세요.

다음 절차를 사용해 기존 파라미터에 대한 컨트롤을 생성하거나 편집할 수 있습니다.

**파라미터에 대한 컨트롤을 생성하거나 편집하기 위해서는 기존 파라미터가 있어야 합니다.**

1. 파라미터 이름 근처의 `v` 모양 아이콘인 기존 파라미터의 컨텍스트 메뉴를 선택한 다음, **컨트롤 추가**를 선택합니다.

1. 새 컨트롤에 레이블을 부여하는 이름을 입력합니다. 이 레이블은 Workspace 맨 위, 그리고 나중에 대시보드가 표시되는 시트의 맨 위에 표시됩니다.

1. 다음에서 컨트롤의 클라우드 디렉터리의 경우 다음 설정 중 하나를 선택합니다.
   + **텍스트 필드**

     텍스트 필드에는 고유한 값을 입력할 수 있습니다. 텍스트 필드에는 숫자와 텍스트(문자열)을 사용할 수 있습니다.
   + **텍스트 필드 - 여러 줄**

     여러 줄로 된 텍스트 필드를 사용하면 고유한 값을 입력할 수 있습니다. 이 옵션을 사용하면 파라미터 컨트롤에 입력하는 값을 줄 바꿈, 쉼표, 파이프 (\$1) 또는 세미콜론으로 구분하도록 선택할 수 있습니다. 텍스트 필드에는 숫자와 텍스트(문자열)을 사용할 수 있습니다.
   + **드롭다운**

     단일 값을 선택하는 데 사용할 수 있는 드롭다운 목록 컨트롤입니다. 드롭다운 목록에는 숫자와 텍스트(문자열)을 사용할 수 있습니다.
   + **드롭다운 다중 선택**

     여러 값을 선택하는 데 사용할 수 있는 목록 컨트롤입니다. 드롭다운 목록에는 숫자와 텍스트(문자열)을 사용할 수 있습니다.
   + **목록**

     단일 값을 선택하는 데 사용할 수 있는 목록 컨트롤입니다. 드롭다운 목록에는 숫자와 텍스트(문자열)을 사용할 수 있습니다.
   + **목록 - 다중 선택**

     여러 값을 선택하는 데 사용할 수 있는 목록 컨트롤입니다. 드롭다운 목록에는 숫자와 텍스트(문자열)을 사용할 수 있습니다.
   + **슬라이더**

     슬라이더는 표시줄의 한쪽 끝에서 반대쪽으로 컨트롤을 밀어 숫자 값을 선택할 수 있습니다. 슬라이더에는 숫자를 사용할 수 있습니다.
   + **날짜 선택기**

     날짜 선택기를 사용하여 캘린더 컨트롤에서 날짜를 선택할 수 있습니다. 날짜 선택 컨트롤을 추가하도록 선택하면, 컨트롤에서 날짜 서식을 지정하는 방법을 사용자 지정할 수 있습니다. 이렇게 하려면 **날짜 형식**에 [Quick에서 날짜 형식 사용자 지정](format-visual-date-controls.md)에 설명된 토큰을 사용하여 원하는 날짜 형식을 입력합니다.

1. (선택 사항) 드롭다운 컨트롤을 선택하면, 화면이 확장되어 표시되는 값을 선택할 수 있습니다. 값 목록을 지정하거나 데이터 세트의 필드를 사용할 수 있습니다. 다음 중 하나를 선택합니다.
   + **특정 값**

     특정 값 목록을 생성하려면 다음 스크린샷에 제시된 것처럼 구분 공백이나 쉼표 없이 줄 당 하나씩 입력을 합니다.

     컨트롤에서 입력 순이 아닌 영문자 순으로 값이 표시됩니다.
   + **데이터 세트 필드 연결**

     필드를 연결하려면, 필드가 포함된 데이터 세트를 선택한 후 목록에서 해당 필드를 선택합니다.

     파라미터의 기본 값을 변경하려면 컨트롤에서 **재설정**을 선택해 새 값을 표시합니다.

   여기에서 선택하는 값은 파라미터 설정의 정적 기본값과 결합됩니다.

1. (선택 사항) **파라미터에 기본값이 구성된 경우 컨트롤에서 [전체] 옵션 숨기기** 옵션을 활성화합니다. 이렇게 하면 데이터 값만 표시되고 컨트롤의 모든 항목을 선택하는 옵션이 제거됩니다. 파라미터에 정적 기본값을 구성하지 않으면 이 옵션이 작동하지 않습니다. 파라미터를 선택하고 **파라미터 편집**을 선택하여 제어를 추가한 후 기본값을 추가할 수 있습니다.

1. (선택 사항) 다른 컨트롤에서 선택되는 값에 유효한 값만 표시되도록 컨트롤에 표시되는 값을 제한할 수 있습니다. 이를 캐스케이딩 컨트롤이라고 합니다.

   이러한 컨트롤을 생성하려면 **관련 값만 표시**를 선택합니다. 이 컨트롤에 표시되는 항목을 변화시킬 수 있는 1개 이상의 컨트롤을 선택합니다.

   계단식 컨트롤을 만들 때 다음 제한이 적용됩니다.
   + 계단식 컨트롤은 동일한 데이터 세트의 데이터 세트 열에 연결되어야 합니다.
   + 하위 컨트롤은 드롭다운 또는 목록 컨트롤이어야 합니다.
   + 파라미터 컨트롤의 경우 하위 컨트롤을 데이터 세트 열에 연결해야 합니다.
   + 필터 컨트롤의 경우 하위 컨트롤을 필터에 연결해야 합니다(특정 값만 표시하는 대신).
   + 파라미터 컨트롤은 반드시 다음 값 중 하나여야 합니다.
     + 문자열, 정수 또는 숫자형 파라미터 컨트롤입니다.
     + 문자열 필터 컨트롤(상/하 필터 제외).
     + 집계되지 않은 숫자형 필터 컨트롤입니다.
     + 날짜 필터 컨트롤(상-하단 필터 제외).

1. 컨트롤에 대한 옵션 선택을 마쳤으면 **추가**를 선택합니다.

완료된 컨트롤이 작업 영역 맨 위에 표시됩니다. `v` 모양을 한 컨텍스트 메뉴는 4가지 옵션을 제공합니다.
+ **재설정**은 사용자의 선택 사항을 기본값 상태로 복원합니다.
+ **목록 새로 고침**은 데이터 세트의 필드에 연결된 드롭다운에만 적용됩니다. **목록 새로 고침**을 선택하면 데이터를 쿼리하여 변경 사항을 확인합니다. 컨트롤에 사용한 데이터는 캐시됩니다.
+ **편집**은 설정을 변경할 수 있도록 컨트롤 생성 화면을 다시 엽니다.

  **컨트롤 편집** 창을 연 다음 다른 시각적 객체와 컨트롤을 클릭하여 특정 시각적 객체나 컨트롤에 대한 서식 데이터를 볼 수 있습니다. 시각적 객체의 형식 지정에 관한 자세한 내용은 [Amazon Quick의 형식 지정](formatting-a-visual.md) 단원을 참조하세요.
+ **삭제**는 컨트롤을 삭제합니다. 파라미터 컨텍스트 메뉴를 선택해 다시 생성할 수 있습니다.

작업 영역에서 컨트롤의 크기를 변경하고 다시 배열할 수 있습니다. 대시보드 사용자는 귀하가 컨트롤을 편집 또는 삭제할 수 없는 경우를 제외하고, 귀하와 동일하게 컨트롤을 보게 됩니다.

# Amazon Quick에서 파라미터 기본값 생성
<a name="parameters-default-values"></a>

이 섹션에서는 사용할 수 있는 파라미터 기본값 유형과 각각을 설정하는 방법에 대해 더 자세히 알아봅니다.

각 필드에는 파라미터와 관련 컨트롤이 있을 수 있습니다. 사용자가 대시보드 또는 이메일 보고서를 볼 때, 정적 기본값이 구성된 모든 시트 컨트롤은 정적 기본값을 사용합니다. 기본값은 데이터 필터링 방식, 사용자 지정 동작의 동작 방식, 동적 시트 제목에 표시되는 텍스트 등을 변경할 수 있습니다. 이메일 보고서는 동적 기본값도 지원합니다.

가장 간단한 기본값은 모든 사용자에게 동일한 값을 표시하는 정적 (변경되지 않는) 기본값입니다. 대시보드 디자이너는 기본값을 선택합니다. 대시보드 사용자가 변경할 수 없습니다. 하지만 해당 사용자는 컨트롤에서 원하는 값을 선택할 수 있습니다. 기본값을 설정해도 이 값은 변경되지 않습니다. 사용자가 선택할 수 있는 값을 제한하려면, 행 수준 보안을 사용하는 것이 좋습니다. 자세한 내용은 [사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한사용자 기반 규칙 사용](restrict-access-to-a-data-set-using-row-level-security.md) 단원을 참조하십시오.

**모든 사용자의 대시보드 보기에 적용되는 정적 기본값 생성 또는 편집**

1. 편집하려는 파라미터 옆의 컨텍스트 메뉴(`v`)를 선택하거나, 다음 [Amazon Quick에서 파라미터 설정](parameters-set-up.md) 단계에 따라 새 파라미터를 생성합니다.

1. 정적 기본값을 설정하려면 **정적 기본값**에 값을 입력합니다.

대시보드를 보는 사람에 따라 다른 기본값을 표시하려면 동적 기본 파라미터(DDP)를 만듭니다. 동적 기본값을 사용하려면 사람들을 지정된 기본값에 매핑하기 위한 준비가 필요합니다. 먼저 표시할 사람, 필드 및 기본값에 대한 정보가 들어 있는 데이터베이스 쿼리 또는 데이터 파일을 만들어야 합니다. 이를 데이터 세트에 추가한 다음 해당 데이터 세트를 분석에 추가합니다. 다음에서 정보를 수집하고, 데이터 세트를 만들고, 파라미터에 동적 기본값을 추가하는 데 사용할 수 있는 절차를 찾을 수 있습니다.

동적 기본값에 대한 데이터 세트를 만들 때는 다음 가이드라인을 따르세요.
+ 사용자 또는 그룹의 논리적 그룹화에 대한 모든 동적 기본 정의를 포함하려면 단일 데이터 세트를 사용하는 것이 좋습니다. 가능하면 단일 테이블이나 파일에 보관하세요.
+ 또한 데이터 세트의 필드 이름은 분석의 필드 이름과 거의 일치하는 이름을 사용하는 것이 좋습니다. 예를 들어 여러 대시보드의 기본값으로 동일한 데이터 세트를 사용하는 경우, 모든 데이터 세트 필드가 분석에 포함될 필요는 없습니다. 필드는 임의의 순서로 되어 있을 수 있습니다.
+ 같은 열 또는 같은 데이터 세트에서 사용자와 그룹 이름을 모두 조합하는 것은 권장하지 않습니다. 이러한 종류의 구성은 유지 관리 및 문제 해결에 더 많은 작업이 필요합니다.
+ 쉼표로 구분된 파일을 사용하여 데이터 세트를 만드는 경우, 파일에서 값 사이의 공백을 제거해야 합니다. 다음 예제는 올바른 쉼표로 분리된 값(CSV) 형식을 보여줍니다. 공백, 아포스트로피 등과 같이 영숫자가 아닌 문자가 포함된 텍스트 (문자열) 는 작은따옴표나 큰따옴표로 묶습니다. 날짜 또는 시간인 필드를 따옴표로 묶을 수 있지만, 필수는 아닙니다. 예를 들어, 아래와 같이 숫자에 특수 문자가 포함된 경우 숫자 필드를 따옴표로 묶을 수 있습니다.

  ```
  "Value includes spaces","Field contains ' other characters",12345.6789,"20200808"
  ValueWithoutSpaces,"1000,67","Value 3",2020-AUG-08
  ```
+ 데이터 세트를 생성한 후 Quick이 필드에 대해 선택하는 데이터 형식을 다시 확인해야 합니다.

시작하기 전에, 동적 기본값을 사용하려는 사용자의 사용자 또는 그룹 이름 목록이 필요합니다. 사용자 또는 그룹 목록을 생성하려면, AWS CLI 을(를) 사용하여 정보를 얻을 수 있습니다. CLI 명령어를 실행하려면, AWS CLI 이(가) 설치되고 구성되어 있는지 확인합니다. 자세한 내용은 *AWS CLI 사용 설명서*에서 [AWS CLI설치](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)를 참조하세요.

이는 사용자 또는 그룹 이름 목록을 가져오는 방법의 한 예일 뿐입니다. 자신에게 가장 적합한 방법을 사용하세요.

**동적 기본 파라미터(DDP)를 사용하여 사람 식별**
+ 개별 사용자 이름 또는 그룹 이름을 나열하세요.
  + 개별 사용자 이름을 나열하려면 DDP 담당자를 식별하는 열을 포함하세요. 이 열에는 자격 증명 공급자에서 Quick으로 연결하는 데 사용하는 각 개인의 시스템 사용자 이름이 포함되어야 합니다. 이 사용자 이름은 @ 기호 앞에 있는 사람의 이메일 별칭과 같은 경우가 많지만 항상 그런 것은 아닙니다.

    사용자 목록을 가져오려면 [ListUsers](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListUsers.html) Quick API 작업 또는 AWS CLI 명령을 사용합니다. 다음 예와 같이 CLI 명령을 사용합니다. 자격 증명 공급자로 AWS 리전 을(를) 지정합니다(예: `us-east-1`).

    ```
    awsacct1="111111111111"
    namespace="default"
    region="us-east-1"
    
    aws quicksight list-users --aws-account-id $awsacct1 --namespace $namespace --region $region
    ```

    다음 예제에서는 결과를 활성 사용자로 제한하는 쿼리를 추가하여 이전 명령을 변경합니다.

    ```
    awsacct1="111111111111"
    namespace="default"
    region="us-east-1"
    
    aws quicksight list-users --aws-account-id $awsacct1 --namespace $namespace --region $region --query 'UserList[?Active==`true`]'
    ```

    결과로 나온 파일은 다음 샘플과 유사합니다. 이 예제는 JSON 출력(`--output json`)에서 발췌한 것입니다. 페더더레이션 사용자 이름을 가진 사용자는 단어 `federated`(으)로 시작하는 주 ID를 가집니다.

    ```
    [
        {
            "Arn": "arn:aws:quicksight:us-east-1:111111111111:user/default/anacasilva",
            "UserName": "anacarolinasilva",
            "Email": "anacasilva@example.com",
            "Role": "ADMIN",
            "Active": true,
            "PrincipalId": "federated/iam/AIDAJ64EIEIOPX5CEIEIO"
        },
        {
            "Arn": "arn:aws:quicksight:us-east-1:111111111111:user/default/Reader/liujie-stargate",
            "UserName": "Reader/liujie-stargate",
            "Role": "READER",
            "Active": true,
            "PrincipalId": "federated/iam/AROAIJSEIEIOMXTZEIEIO:liujie-stargate"
        },
        {
            "Arn": "arn:aws:quicksight:us-east-1:111111111111:user/default/embedding/cxoportal",
            "UserName": "embedding/cxoportal",
            "Email": "saanvisarkar@example.com",
            "Role": "AUTHOR",
            "Active": true,
            "PrincipalId": "federated/iam/AROAJTGEIEIOWB6BEIEIO:cxoportal"
        },
        {
            "Arn": "arn:aws:quicksight:us-east-1:111111111111:user/default/zhangwei@example.com",
            "UserName": "zhangwei@example.com",
            "Email": "zhangwei@example.com",
            "Role": "AUTHOR",
            "Active": true,
            "PrincipalId": "user/d-96123-example-id-1123"
        }
    ]
    ```
  + 그룹 이름을 나열하려면 DDP의 사용자 이름이 포함된 그룹을 식별하는 열을 포함하세요. 이 열에는 자격 증명 공급자에서 Quick으로 연결하는 데 사용되는 시스템 그룹 이름이 포함되어야 합니다. 데이터 세트에 추가할 수 있는 그룹을 식별하려면 다음 빠른 API 작업 또는 CLI 명령 중 하나 이상을 사용합니다.
    + [ListGroups](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListGroups.html) - 자격 증명 공급자가 AWS 리전 포함된의 AWS 계정 ID 및 네임스페이스별로 빠른 그룹을 나열합니다.
    + [ListGroupMemberships](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListGroupMemberships.html) - 지정된 빠른 그룹의 사용자를 나열합니다.
    + [ListUserGroups](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListUserGroups.html) - 빠른 사용자가 속한 빠른 그룹을 나열합니다.

    또는 네트워크 관리자에게 ID 공급자에게 문의하여 이 정보를 가져오도록 요청할 수 있습니다.

다음 두 절차는 동적 기본값에 대한 데이터 세트 생성을 완료하는 방법에 대한 지침을 제공합니다. 첫 번째 절차는 단일 값 DDP용 데이터 세트를 만드는 것입니다. 두 번째 단계는 다중 값 DDP용 데이터 세트를 만드는 것입니다.

**단일 값 DDP용 데이터 세트 생성**

1. 단일 값 파라미터로 데이터 세트 열을 만드세요. 쿼리 또는 파일의 첫 번째 열은 대시보드를 사용하는 사용자를 위한 것이어야 합니다. 이 필드에는 사용자 이름 또는 그룹 이름이 포함될 수 있습니다. 그러나 그룹에 대한 지원은 Quick Enterprise 에디션에서만 사용할 수 있습니다.

1. 단일 값 파라미터의 동적 기본값을 표시하는 각 필드에 대해 데이터 세트에 열을 추가합니다. 열 이름은 중요하지 않으며, 필드 또는 파라미터와 같은 이름을 사용할 수 있습니다.

   단일 값 파라미터는 사용자 엔티티와 동적 기본값의 조합이 해당 파라미터 필드에 고유한 경우에만 지정된 대로 작동합니다. 사용자 엔티티의 기본 필드에 값이 여러 개 있는 경우 해당 필드의 단일 값 컨트롤에는 정적 기본값이 대신 표시됩니다. 정적 기본값이 정의되지 않은 경우, 컨트롤은 기본값을 표시하지 않습니다. 일부 사용자 이름은 여러 그룹의 구성원이 될 수 있으므로, 그룹 이름을 사용할 때는 주의해야 합니다. 이러한 그룹의 기본값이 서로 다른 경우, 이 유형의 사용자 이름은 중복 항목으로 작동합니다.

   다음 예에서는 단일 값 파라미터 두 개가 포함된 것으로 보이는 테이블을 보여 줍니다. 여러 기본값과 쌍을 이루는 사용자 이름은 없기 때문에 이 가정을 합니다. 이 표를 더 쉽게 이해할 수 있도록 분석의 필드 이름 앞에 단어 `'default'`을(를) 추가합니다. 따라서 다음 명령문을 작성하고 각 행의 값을 변경하여 표를 읽을 수 있습니다. `anacarolinasilva` 기준으로 볼 때 컨트롤은 기본 `NorthEast` 영역과 기본 `SMB` 세그먼트를 표시합니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/parameters-default-values.html)

1. 이 데이터를 Quick로 가져와서 새 데이터 세트로 저장합니다.

1. 생성한 데이터 세트를 분석에 추가합니다. 분석에는 기본값으로 정의한 열과 일치하는 다른 데이터 세트를 하나 이상 사용해야 합니다. 자세한 내용은 [분석에 데이터 세트 추가](adding-a-data-set-to-an-analysis.md) 단원을 참조하십시오.

**다중 값 DDP용 데이터 세트 생성**

1. 다중 값 파라미터로 데이터 세트 열을 만드세요. 쿼리 또는 파일의 첫 번째 열은 대시보드를 사용하는 사용자를 위한 것이어야 합니다. 이 필드에는 사용자 이름 또는 그룹 이름이 포함될 수 있습니다. 그러나 그룹에 대한 지원은 Quick Enterprise 에디션에서만 사용할 수 있습니다.

1. 다중 값 매개변수의 동적 기본값을 표시하는 각 필드에 대해 데이터 세트에 열을 추가합니다. 열 이름은 중요하지 않으며, 필드 또는 파라미터와 같은 이름을 사용할 수 있습니다.

   단일 값 매개변수와 달리 다중 값 파라미터는 파라미터와 연결된 필드에 여러 값을 허용할 수 있습니다.

   다음 예에서는 단일 값 파라미터와 다중 값 파라미터가 포함된 것으로 보이는 테이블을 보여 줍니다. 각 사용자 이름의 한 열에는 고유한 값이 있고 다른 열에는 여러 값이 있는 사용자 이름도 있기 때문에 이러한 가정을 할 수 있습니다. 이 표를 더 쉽게 이해할 수 있도록 분석의 필드 이름 앞에 단어 `'default'`을(를) 추가합니다. 따라서 다음 명령문을 작성하고 각 행의 값을 변경하여 테이블을 읽을 수 있습니다. `viewed-by`이 `liujie` 인 경우, 컨트롤에는 `SouthEast`의 `default-region` 값과 `Atlanta`의 `default-city` 값이 표시됩니다. 한 행 앞을 읽으면, 이 `liujie` 행에도 `default-city`의 `Raleigh` 입력이 있는 것을 알 수 있습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/parameters-default-values.html)

   이 예제에서 `default-region` 적용하는 파라미터는 단일 값 파라미터이든 다중 값 파라미터이든 상관없이 올바르게 작동합니다. 단일 값 파라미터인 경우 두 항목 모두 같은 값 `SouthEast`이므로 사용자 한 명이 두 항목을 사용할 수 있습니다. 다중 값 파라미터인 경우 기본적으로 하나의 값만 선택된다는 점을 제외하면 여전히 작동합니다. 하지만 기본값으로 `default-city`을(를) 사용하는 파라미터를 다중 값에서 단일 값 파라미터로 변경하면 이러한 기본값이 선택된 것으로 표시되지 않습니다. 대신 파라미터는 정적 기본값을 사용합니다(정의된 경우). 예를 들어, 정적 기본값이 `Atlanta`(으)로 설정된 경우 해당 컨트롤에서는 `liujie`이(가) `Atlanta`을(를) 선택했지만 `Raleigh`은(는) 선택하지 않은 것입니다.

   경우에 따라 정적 디폴트 값이 동적 기본값으로 사용될 수도 있습니다. 그렇다면 둘 다일 수 있는 기본값을 사용하지 않는 사용자 이름이 있는지 컨트롤을 테스트해 보세요.

   사용자 이름이 여러 그룹에 속하는 경우 지정된 사용자는 두 그룹의 기본값을 합친 기본값 세트를 보게 됩니다.

1. 이 데이터를 Quick로 가져와서 새 데이터 세트로 저장합니다.

1. 생성한 데이터 세트를 분석에 추가합니다. 분석에는 기본값으로 정의한 열과 일치하는 다른 데이터 세트를 하나 이상 사용해야 합니다. 자세한 내용은 [분석에 데이터 세트 추가](adding-a-data-set-to-an-analysis.md) 단원을 참조하십시오.

다음 절차에 따라 동적 기본 파라미터를 분석에 추가합니다. 시작하려면 먼저 데이터 세트가 각 사용자 이름 또는 그룹 이름에 대해 동적 기본값을 가지고 있는지 확인합니다. 또한 분석 시 이 데이터 세트를 사용하고 있는지 확인하세요. 이러한 요구 사항에 대한 도움이 필요하면 위의 절차를 참조하세요.

**분석에 DDP 추가**

1. 빠른 콘솔에서 페이지 상단의 **파라미터** 아이콘을 선택하고 기존 파라미터를 선택합니다. 파라미터 메뉴에서 **파라미터 편집**을 선택합니다. 새 파라미터를 추가하려면 **파라미터** 옆의 더하기(`+`) 기호를 선택합니다.

1. **동적 기본값 설정**을 선택합니다.

1. 설정에 다음 옵션을 구성합니다.
   + **기본값 및 사용자 정보가 포함된 데이터 세트** - 생성하여 분석에 추가한 데이터 세트를 선택합니다.
   + **사용자 이름 열** - 사용자 이름을 기반으로 하는 기본값을 만들려면 데이터 세트에서 사용자 이름이 포함된 열을 선택합니다.
   + **그룹 이름 열** - 그룹 이름을 기반으로 하는 기본값을 만들려면 데이터 세트에서 그룹 이름이 포함된 열을 선택합니다.
   + **기본값 열** - 이 파라미터의 기본값이 들어 있는 열을 선택합니다.

1. **적용**을 선택하여 설정 변경 내용을 저장한 다음 **업데이트**를 선택하여 파라미터 변경 내용을 저장합니다. 변경 없이 종료하려면 **취소**를 선택합니다.

1. 동적 기본값이 포함된 각 필드에 필터를 추가하여 기본값이 작동하도록 합니다. 파라미터와 필터 사용에 대한 자세한 내용은 [Amazon Quick에서 파라미터와 함께 필터 사용](parameters-filtering-by.md)을(를) 참조하십시오.

   Amazon Quick은 데이터세트에 사용자 이름이 없거나, 기본값이 할당되지 않았거나, 고유한 기본값이 없는 모든 사용자에 대해 정적 기본값을 사용합니다. 각 사용자는 한 세트의 기본값만 사용할 수 있습니다. 동적 기본값을 사용하지 않으려면, 대신 정적 기본값을 설정할 수 있습니다.

# Amazon Quick의 파라미터에 연결
<a name="parameters-connections"></a>

이 단원에서는 파라미터를 설정한 후 이를 연결해 작동하도록 만드는 방법에 대해 알아봅니다.

파라미터를 생성한 후에 파라미터 소비자를 생성할 수 있습니다. *파라미터 소비자*는 필터, 제어, 계산된 필드 또는 사용자 지정 작업 같은 파라미터의 값을 사용하는 구성 요소입니다.

다음과 같이 다른 방법으로 각 옵션으로 이동할 수 있습니다.
+ 필터를 생성하려면 페이지 상단의 **필터** 아이콘을 선택합니다. 간단히 말해서, **사용자 지정 필터**를 생성하고 **파라미너 사용**을 활성화하면 됩니다. 목록에는 유효한 파라미터만 표시됩니다.
+ 파라미터에 대한 새 컨트롤을 추가하려면 페이지 상단의 **파라미터** 아이콘을 선택합니다. 요약하면, 파라미터를 선택한 후 **컨트롤 추가**를 선택합니다.
+ 계산된 필드에서 파라미터를 사용하려면 기존의 계산된 필드를 편집하거나 왼쪽 상단에서 **추가**를 선택하여 새 필드를 추가합니다. 파라미터 목록이 필드 목록 아래에 표시됩니다.
**참고**  
계산된 필드에는 다중 값 파라미터를 사용할 수 없습니다.
+ URL 작업을 생성하려면 시각적 개체에서 **v** 모양 메뉴를 선택한 후 **URL 작업**을 선택합니다.

각 주제에 대한 자세한 내용은 다음 단원을 참조하십시오.

**Topics**
+ [파라미터와 필터 사용](parameters-filtering-by.md)
+ [파라미터와 계산된 필드 사용](parameters-calculated-fields.md)
+ [파라미터와 함께 사용자 지정 작업 사용](parameters-custom-actions.md)
+ [URL 내의 파라미터](parameters-in-a-url.md)
+ [제목 및 설명의 파라미터](parameters-in-titles.md)

# Amazon Quick에서 파라미터와 함께 필터 사용
<a name="parameters-filtering-by"></a>

이번 단원에서는 단일 값 파라미터 값으로 분석 또는 대시보드에서 데이터를 필터링하는 방법에 대해 알아봅니다. 다중 선택 드롭다운 컨트롤이 있는 다중 값 파라미터를 사용하려면 값과 같은(또는 같지 않은) 사용자 지정 필터를 생성하세요.

필터를 사용하는 방법을 알고 있어야 파라미터와 필터를 사용할 수 있습니다.

1. 분석에 파라미터가 생성되어 있는지 확인합니다. 파라미터나 컨트롤 메뉴에서 **편집**을 선택해 사용하고 있는 설정을 파악합니다.

1. 화면 왼쪽에서 **필터** 창을 선택합니다. 사용하려는 필드에 대한 필터가 있다면, 이를 선택해 설정을 엽니다. 그렇지 않은 경우 파라미터로 필터링을 할 필드에 대한 필터를 생성합니다.

1. **파라미터 사용**을 선택합니다.

1. 목록이나 **파라미터 사용** 아래 목록에서 파라미터를 선택합니다. 텍스트(문자열) 필드의 경우, 먼저 **사용자 지정 필터**를 선택한 후 **파라미터 사용**을 활성화 시킵니다.

   데이터 필드의 경우 다음 스크린샷에 표시된 것처럼 **시작일** 및 **종료일** 파라미터를 선택합니다.

   다른 데이터 유형의 필드에서는 **파라미터 선택**을 선택한 다음 목록에서 파라미터를 선택합니다.
**참고**  
다중 값을 포함할 수 있는 파라미터는 비교 유형으로 같음 또는 같지 않음을 사용해야 합니다.

1. **적용**을 선택해 변경 사항을 저장합니다.

분석 맨 위 가까이에 위치한 컨트롤을 선택해 새 필터를 테스트합니다. 이번 예제에서는 기본값이 없는 기본 파라미터와 **영업 파이프라인**이라는 동일한 이름의 데이터 세트에 있는 **리전**과 연결된 동적 컨트롤을 사용합니다. 이 컨트롤을 데이터를 쿼리하여 모든 값을 반환합니다.

필터에서 사용하고 있는 파라미터를 삭제하거나 다시 생성하면 새 파라미터로 필터를 업데이트 할 수 있습니다. 이렇게 하려면 필터를 열어 사용하기 원하는 새 파라미터를 선택한 후 **적용**을 선택합니다.

파라미터의 이름을 바꾸는 경우 필터나 다른 소비자를 업데이트 할 필요가 없습니다.

# Amazon Quick의 파라미터와 함께 계산된 필드 사용
<a name="parameters-calculated-fields"></a>

파라미터 값을 분석의 계산된 필드에 전달할 수 있습니다. 계산을 생성할 때 **파라미터 목록** 아래 파라미터 목록에서 기존 파라미터를 선택할 수 있습니다. 다중 값 파라미터(다중 선택 드롭다운 컨트롤이 있는 파라미터) 가 포함된 계산된 필드는 만들 수 없습니다.

Formula의 경우 사용 가능한 어떠한 함수이든 사용할 수 있습니다. 매개 변수 컨트롤에서 뷰어가 선택한 내용을 `ifElse` 함수에 전달할 수 있습니다. 그 대가로 메트릭을 얻게 됩니다. 다음은 그 한 예입니다.

```
ifelse(

${KPIMetric} = 'Sales',sum({Weighted Revenue}),

${KPIMetric} = 'Forecast',sum({Forecasted Monthly Revenue}),

${KPIMetric} = '# Active', distinct_count(ActiveItem),

NULL

)
```

앞의 예제에서는 필드 모음에서 사용할 수 있는 지표(소수점)를 생성했습니다. 이때 파라미터 제어에서 값을 선택한 사용자가 있을 경우 선택 내용을 반영할 수 있도록 시각적 객체가 업데이트됩니다.

# Amazon Quick에서 파라미터와 함께 사용자 지정 작업 사용
<a name="parameters-custom-actions"></a>

*사용자 지정 작업*을 사용하면 시각적 객체의 데이터 포인트를 선택하거나 컨텍스트 메뉴에서 작업 이름을 선택하여 URL을 실행하거나 시각적 객체를 필터링할 수 있습니다. 파라미터와 함께 URL 작업을 사용하는 경우 파라미터를 URL에 동적으로 전달하거나 보낼 수 있습니다. 이 작업을 수행하려면 파라미터를 설정한 다음 **URL 작업**의 작업 유형으로 사용자 지정 작업을 만들 때 URL에 이 파라미터를 사용합니다. 송신 및 수신 쪽 파라미터의 이름과 데이터 형식이 일치해야 합니다. 모든 파라미터는 URL 작업과 호환됩니다.

URL 작업 생성에 대한 자세한 내용은 [Amazon Quick Sight에서 사용자 지정 작업 생성 및 편집](custom-actions.md) 단원을 참조하십시오. URL 작업을 생성하지 않고 단지 링크에서 파라미터를 사용하려면 [URL에서 파라미터 사용](parameters-in-a-url.md) 단원을 참조하십시오.

# URL에서 파라미터 사용
<a name="parameters-in-a-url"></a>

Amazon Quick의 URL에서 파라미터 이름과 값을 사용하여 대시보드 또는 분석에서 해당 파라미터의 기본값을 설정할 수 있습니다.

다음 예제에서는 다른 대시보드에 대한 파라미터를 설정하는 대시보드의 URL을 보여 줍니다.

```
https://us-east-2.quicksight.aws.amazon.com/sn/dashboards/abc123-abc1-abc2-abc3-abcdefef1234#p.myParameter=12345
```

앞의 예제에서는 첫 번째 부분이 다음의 타겟 대시보드로 향하는 링크입니다. `https://us-east-2.quicksight.aws.amazon.com/sn/dashboards/abc123-abc1-abc2-abc3-abcdefef1234` 해시 기호(`#)`는 첫 번째 부분을 따라, 사용자가 설정하려는 값을 담은 *조각*을 도입합니다.

조각의 값은 AWS 서버에서 수신하거나 로깅하지 않습니다. 이 기능을 통해 데이터 값을 보다 안전하게 유지할 수 있습니다.

`#` 다음의 조각은 다음과 같은 규칙을 따릅니다.
+ 파라미터는 접두사 `p.`로 시작합니다. 이름은 컨트롤 이름이 아니라 파라미터 이름입니다. 분석을 열고 왼쪽 사이드바에서 **파라미터**를 선택하여 파라미터 이름을 볼 수 있습니다.
+ 이 값은 등호(`=`)를 사용하여 설정됩니다. 다음 규칙이 적용됩니다.
  + 리터럴 값은 인용 부호를 사용하지 않습니다.
  + 값에 포함된 공백은 브라우저가 자동으로 인코딩합니다. 그러므로 수동으로 URL을 생성할 때 이스케이프 문자를 사용할 필요가 없습니다.
  + 모든 값을 반환하려면 파라미터를 `"[ALL]"`와 같게 설정합니다.
  + 파라미터 값을 `null`에 할당하려면 `%00`와 동일하게 설정합니다. 예를 들어 `p.population=%00`입니다.
  + 사용자 지정 작업에서 대상 파라미터 이름은 `$`로 시작합니다(예: `<<$passThroughParameter>>`).
  + 사용자 지정 작업에서 파라미터 값은 꺾쇠괄호 `<< >>` 안에 표시됩니다(예: `<<dashboardParameter1>>`). 대시보드 사용자에게는 변수가 아나라 조회 값이 표시됩니다.
+ 사용자 지정 URL 작업의 경우, 다중 값 파라미터는 조각에서 동일한 파라미터의 인스턴스가 하나만 필요합니다(예: `p.city=<<$city>>`).
+ 직접 URL의 경우, 단일 파라미터의 다중 값은 조각에서 동일한 파라미터의 인스턴스를 두 개 포함합니다. 예는 다음을 참조하십시오.
+ 앰퍼샌드(`&`)는 여러 파라미터를 구분합니다. 예는 다음을 참조하십시오.

서버는 날짜를 UTC로 변환하여 시간대가 없는 문자열로서 백엔드로 보냅니다. 협정 세계시(UTC) 날짜를 사용하려면 시간대를 제외합니다. 다음은 몇 가지 유효한 날짜 형식의 예입니다.
+ `2017-05-29T00%3A00%3A00` 
+ `2018-04-04 14:51 -08:00`
+ `Wed Apr 04 2018 22:51 GMT+0000`

```
https://us-east-2.quicksight.aws.amazon.com/sn/dashboards/abc123-abc1-abc2-abc3-abcdefef1234#p.shipdate=2018-09-30 08:01&p.city=New York&p.city=Seattle&p.teamMember=12&p.percentageRank=2.3
```

브라우저에서 이 코드는 다음과 같은 의미를 갖습니다.

```
https://us-east-2.quicksight.aws.amazon.com/sn/dashboards/abc123-abc1-abc2-abc3-abcdefef1234#p.shipdate=2018-09-30%2008:01&p.city=New%20York&p.city=Seattle&p.teamMember=12&p.percentageRank=2.3
```

앞의 예제에서는 다음 4개의 파라미터를 설정합니다.
+ `shipDate`는 다음과 같은 날짜 파라미터입니다. `Sept 30, 2018`.
+ `city`는 다중 값 문자열 파라미터입니다. `New York` 및 `Seattle`
+ `teamMember`는 다음과 같은 정수 파라미터입니다. `12`.
+ `percentageRank`는 다음과 같은 소수점 파라미터입니다. `2.3` 

다음 예는 다중 값을 수락하는 파라미터에 값을 설정하는 방법을 보여줍니다.

```
https://us-east-2.quicksight.aws.amazon.com/sn/dashboards/abc123-abc1-abc2-abc3-abcdefef1234#p.MultiParam=WA&p.MultiParam=OR&p.MultiParam=CA
```

사용자의 데이터 포인트 선택에 따라 값을 한 대시보드(또는 분석)에서 다른 대시보드로 전달하려면 사용자 지정 URL 작업을 사용합니다. 원할 경우, 이러한 URL을 수동으로 생성하고 이를 사용해 데이터의 특정 보기를 공유할 수도 있습니다.

사용자 지정 작업 생성에 대한 자세한 내용은 [필터링 및 탐색을 위한 사용자 지정 동작 사용](quicksight-actions.md) 단원을 참조하십시오.

# Amazon Quick의 제목 및 설명에서 파라미터 사용
<a name="parameters-in-titles"></a>

Amazon Quick에서 파라미터를 생성할 때 차트 및 분석 전반에 걸쳐 제목 및 설명에 파라미터를 사용하여 파라미터 값을 동적으로 표시할 수 있습니다.

분석의 다음 영역에서 파라미터를 사용할 수 있습니다.
+ 차트 제목 및 부제
+ 축 제목
+ 범례 제목
+ 파라미터 컨트롤 타이틀
+ 시트 제목 및 설명

다음 이미지는 파라미터를 사용하는 차트 제목을 보여줍니다.

![\[차트 제목에 파라미터가 있는 형식 표시 창과 제목에 파라미터 값이 빨간색 원으로 표시된 차트의 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/parameters-in-titles-labels2.png)


다음 절차를 사용하여 분석 전반의 영역에 파라미터를 추가하는 방법을 알아보세요. 파라미터와 파라미터 생성에 대한 자세한 방법은 [파라미터](parameters-in-quicksight.md) 단원을 참조하세요.

## 차트 제목과 부제목에 파라미터 추가
<a name="parameters-in-titles-chart-titles"></a>

다음 절차를 사용하여 차트 제목과 부제목에 파라미터를 추가하는 방법을 알아보십시오.

**차트 제목이나 부제목에 파라미터 추가**

1. 형식 지정하려는 시각적 객체에 대해 **속성** 창을 엽니다.

1. **속성** 창에서 **제목** 탭을 선택합니다.

1. **제목 보기** 또는 **자막 보기**를 선택합니다. 이러한 옵션은 이미 선택되어 있을 수 있습니다.

1. **제목 편집** 또는 **자막 편집**의 오른쪽에 있는 세 개의 점을 선택한 다음 목록에서 파라미터를 선택합니다.

   파라미터가 **속성** 창의 제목에 추가됩니다. 차트에서는 제목에 파라미터 값이 표시됩니다.

   시각적 객체에서 제목 및 부제를 편집하는 방법에 대한 자세한 내용은 [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) 단원을 참조하세요.

## 축 제목에 파라미터 추가
<a name="parameters-in-titles-axis-titles"></a>

다음 절차에 따라 파라미터를 축 제목에 추가하는 방법을 알아봅니다.

**축 제목에 파라미터 추가**

1. 형식 지정하려는 시각적 객체에 대해 **속성** 창을 엽니다.

1. **속성** 창에서 형식을 지정하려는 축을 선택합니다.

1. **제목 보기**를 선택합니다.

1. 기본 축 제목 오른쪽에 있는 세 개의 점을 선택한 다음, 목록에서 파라미터를 선택합니다.

   파라미터가 **속성** 창의 축 제목에 추가됩니다. 차트에서는 축 제목에 파라미터 값이 표시됩니다.

   축 제목 편집에 대한 자세한 내용은 [축 및 격자선](showing-hiding-axis-grid-tick.md) 단원을 참조하세요.

## 범례 제목에 파라미터 추가
<a name="parameters-in-titles-legend-titles"></a>

다음 절차에 따라 파라미터를 범례 제목에 추가하는 방법을 알아봅니다.

**범례 제목에 파라미터 추가**

1. 형식 지정하려는 시각적 객체에 대해 **속성** 창을 엽니다.

1. **속성** 창에서 **범례**를 선택합니다.

1. **범례 제목 보기**를 선택합니다.

1. **범례 제목** 오른쪽에 있는 세 개의 점을 선택한 다음, 목록에서 파라미터를 선택합니다.

   파라미터가 **속성** 창의 범례 제목에 추가됩니다. 차트에서는 범례 제목에 파라미터 값이 표시됩니다.

   범례 형식 지정에 대한 자세한 내용은 [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) 단원을 참조하세요.

## 컨트롤 제목에 파라미터 추가
<a name="parameters-in-titles-control-titles"></a>

다음 절차에 따라 파라미터를 파라미터 컨트롤 제목에 추가하는 방법을 알아봅니다.

**파라미터 컨트롤 제목에 파라미터 추가**

1. 편집하려는 파라미터 컨트롤을 선택하고, 파라미터 컨트롤 제목 오른쪽에 있는 세 개의 점을 선택한 다음, **편집**을 선택합니다.

1. 열리는 **컨트롤 편집** 페이지에서 **제목 보기**를 선택합니다.

1. **표시 이름** 오른쪽에 있는 세 개의 점을 선택한 다음, 목록에서 파라미터를 선택합니다.

   파라미터가 파라미터 컨트롤 제목에 추가됩니다.

   파라미터 컨트롤 사용에 대한 자세한 내용은 [파라미터 제어](parameters-controls.md) 단원을 참조하세요.

## 시트 제목 및 설명에 파라미터 추가
<a name="parameters-in-titles-sheet-titles"></a>

다음 절차를 사용하여 분석에서 시트 제목과 설명에 파라미터를 추가하는 방법을 알아보세요.

**시트 제목 또는 설명에 파라미터 추가**

1. 분석 페이지의 애플리케이션 표시줄에서 **시트**를 선택한 다음 **제목 추가** 또는 **설명 추가**를 선택합니다.

   시트 제목 또는 설명이 시트에 나타납니다.

1. **시트 제목** 또는 **설명**의 경우, 오른쪽에 있는 세 개의 점을 선택한 다음 목록에서 파라미터를 선택합니다.

   파라미터가 시트 제목 또는 설명에 추가되고 텍스트 상자를 닫으면 텍스트에 파라미터 값이 나타납니다.

   시트 제목 및 설명 추가에 대한 자세한 내용은 [분석에 제목과 설명 추가](adding-a-title-and-description.md) 단원을 참조하세요.

# 필터링 및 탐색을 위한 사용자 지정 동작 사용
<a name="quicksight-actions"></a>

대시보드 구독자(빠른 독자)를 위한 대화형 옵션을 추가하려면 분석에서 하나 이상의 시각적 객체에 대한 사용자 지정 작업을 생성합니다. 사용자 지정 동작으로 대시보드를 개선하면 데이터 세트 내에서 더 많은 컨텍스트를 추가하여 사람들이 데이터를 탐색할 수 있습니다. 이를 통해 동일한 대시보드, 다른 대시보드 또는 다른 애플리케이션에서 세부 정보를 자세히 살펴보고 새로운 인사이트를 더 쉽게 찾을 수 있습니다. 대시보드의 각 시각적 객체에 최대 10개의 사용자 지정 작업을 추가할 수 있습니다.

시작하기 전에 몇 가지 계획을 세우는 것이 도움이 됩니다. 예를 들어 필터링, 다른 시트 열기, URL 열기 또는 이메일 전송에 적합한 후보자인 필드를 식별하세요. 각 시트에 대해 이러한 필드를 표시하는 위젯을 식별하세요. 그런 다음 어떤 위젯에 액션을 포함할지 결정하세요. 전체 분석에서 작업 이름이 일관되도록 이름 지정 체계를 만드는 것도 좋습니다. 일관된 이름을 사용하면 분석을 사용하는 사람이 작업이 수행될 작업을 더 쉽게 파악할 수 있을 뿐만 아니라 분석 과정에서 중복될 수 있는 작업을 더 쉽게 관리할 수 있습니다.

작업은 직접 만든 대시보드 위젯에만 존재하며 해당 위젯이 표시하는 상위 시트와 하위 필드의 컨텍스트에서 작동합니다. 액션은 특정 유형의 위젯, 즉 비주얼과 인사이트에서만 만들 수 있습니다. 필터 또는 목록 제어와 같은 다른 위젯에는 추가할 수 없습니다. 사용자 정의 액션은 해당 액션을 만든 위젯에서만 활성화할 수 있습니다.

작업을 활성화하려면 분석을 사용하는 사람이 데이터 포인트를 마우스 왼쪽 버튼으로 클릭(선택)하거나 마우스 오른쪽 버튼으로 클릭(컨텍스트 메뉴 사용)하면 됩니다. 데이터 포인트는 데이터 세트의 항목으로, 예를 들어 라인 차트의 포인트, 피벗 테이블의 셀, 파이 차트의 슬라이스 등이 있습니다. 사용자가 시각적 객체 요소를 클릭하면 선택 작업이 활성화됩니다. 이 작업은 현재 분석 내 **작업**의 **선택 시** 카테고리 범주에 속합니다. 사용자가 대신 시각적 객체 요소를 마우스 오른쪽 버튼으로 클릭하면 메뉴 작업 목록에서 원하는 작업을 선택할 수 있습니다. 나열된 모든 작업은 현재 분석 내 **작업**의 **메뉴 옵션** 범주에 속합니다. **선택 시** 카테고리에는 멤버 작업을 하나만 포함할 수 있습니다.

기본적으로 처음 만드는 작업이 선택 작업이 되며, 이 작업은 왼쪽 클릭으로 활성화됩니다. **선택 시** 카테고리에서 작업을 제거하려면, 작업의 **활성화** 설정을 메뉴 **옵션**으로 변경하세요. 변경 내용을 저장한 후 다른 작업의 **활성화** 설정을 **선택**으로 설정할 수 있습니다.

작업을 구성할 때 세 가지 **작업 유형** 중에서 선택할 수 있습니다.
+ **작업 필터링** - 시각적 객체 또는 전체 시트에 포함된 데이터를 필터링합니다. 기본적으로 필터는 상위 시각적 객체의 모든 필드에 사용할 수 있습니다. 캐스케이딩 필터는 기본적으로 활성화되어 있습니다. 필터 작업은 자동으로 생성된 필드 매핑을 사용하여 여러 데이터 세트에 대해 작동합니다.

  분석에서 둘 이상의 데이터 세트를 사용하는 경우 여러 데이터 세트에 있는 필드에 대해 자동으로 생성된 필드 매핑을 볼 수 있습니다. 작업을 편집하는 경우 작업 설정의 끝에서 ****필드 매핑 보기****를 선택할 수 있습니다. 작업 목록을 보는 경우, 각 작업의 메뉴에서 ****필드 매핑 보기****를 선택합니다. 필드 매핑은 새 화면에서 초기 데이터 세트와 시각적 객체에 있는 다른 모든 데이터 세트 간의 매핑을 보여줍니다. 필드가 자동으로 매핑되지 않으면 관련 메시지와 함께 [Mapping and Joining Fields(필드 매핑 및 조인)](mapping-and-joining-fields.md) 링크가 표시됩니다.

  
+ **탐색 작업** - 동일한 분석에서 여러 시트 사이를 탐색할 수 있습니다.
+ **URL 작업** - 다른 웹 페이지로 연결되는 링크를 엽니다. 다른 대시보드를 열려면 URL 작업을 사용하세요. URL 작업을 사용하여 데이터 포인트와 파라미터를 다른 URL로 보낼 수 있습니다. 사용 가능한 모든 필드 또는 파라미터를 포함할 수 있습니다.

  URL에서 `mailto` 스키마를 사용하는 경우, 작업을 실행하면 기본 이메일 편집기가 열립니다.

**Topics**
+ [원클릭 대화형 필터 추가](quick-actions.md)
+ [Amazon Quick Sight에서 사용자 지정 작업 생성 및 편집](custom-actions.md)
+ [사용자 지정 작업 복구](repairing-custom-actions.md)
+ [Amazon Quick Sight의 사용자 지정 작업에 대한 필드 매핑 이해](quicksight-actions-field-mapping.md)

# 원클릭 대화형 필터 추가
<a name="quick-actions"></a>

원클릭 대화형 필터링은 클릭 가능한 시각적 요소부터 시트의 다른 모든 시각적 개체 및 통찰력까지 단계적으로 이동하는 포인트 앤 클릭 필터링을 제공합니다. 이를 분석에 추가하여 요약으로 시작하여 지표를 자세히 살펴볼 수 있으며, 이 모든 것이 동일한 대시보드 시트 내에서 이루어집니다.

데이터 포인트(예: 막대 차트의 막대)를 클릭하면 해당 시트의 다른 모든 시각적 객체에 있는 매핑된 필드를 모두 사용하여 즉시 필터링됩니다. 데이터 세트가 여러 개인 경우, 모든 대상 필드를 매핑해야 이 작업을 수행할 수 있습니다. 또한 데이터 포인트를 클릭하면 한 작업만 작동하고 다른 모든 작업은 컨텍스트 메뉴를 통해 작동하도록 할 수 있습니다.

분석에서 원클릭 필터를 만들려면 다음 절차를 따르십시오.

**비주얼이나 인사이트에 원클릭 필터 생성**

1. 분석에서 대화형 필터링을 추가할 시각적 객체 요소나 인사이트를 선택합니다.

1. 오른쪽 상단의 메뉴 옵션 드롭다운에서 **작업**을 선택합니다.

1. **같은 시트의 시각적 객체 필터링**을 선택합니다. 이렇게 하면 원클릭 필터링이 즉시 추가됩니다.

1. 상호 작용하게 만들려는 시각적 객체마다 이 프로세스를 반복하세요.

# Amazon Quick Sight에서 사용자 지정 작업 생성 및 편집
<a name="custom-actions"></a>

시각적 객체에 추가할 수 있는 작업을 각 업무마다 하나씩 생성합니다. 만든 작업은 각 시각적 객체나 인사이트 기능의 일부가 됩니다.

다음 표에는 각 유형의 작업을 사용할 시기가 정의되어 있습니다.


|  수행할 작업  |  작업 유형  | 
| --- | --- | 
|  원클릭 필터를 포함한 대화형 필터 동작 추가 또는 사용자 지정  |  작업 필터링  | 
|  동일한 대시보드에서 다른 시트 열기  |  탐색 작업  | 
|  같은 AWS 계정의 다른 대시보드에서 시트를 엽니다.  |  URL 작업  | 
|  URL 열기(`https`,`http`)  |  URL 작업  | 
|  이메일 전송(`mailto`)  |  URL 작업  | 

사용자 지정 작업에 대해 다음과 같은 속성 및 옵션을 설정할 수 있습니다.
+ ****작업 이름**** - 작업에 대해 선택하는 설명이 포함된 이름입니다. 기본적으로 작업의 이름은 **Action 1**, **Action 2** 등으로 지정됩니다. 컨텍스트 메뉴에서 사용자 지정 작업이 활성화된 경우 데이터 포인트를 마우스 오른쪽 버튼으로 클릭하면 이 이름이 메뉴에 표시됩니다.

  작업 이름을 동적으로 만들려면 작업 이름을 파라미터화하면 됩니다. 작업 이름 헤더 근처의 더하기 아이콘을 사용하여 사용 가능한 변수 목록을 표시합니다. 변수는 꺾쇠 `<< >>` 괄호로 묶습니다. 예를 들어 `<<$parameterName>>`처럼, 매개변수 앞에는 `$`가 붙습니다. 예를 들어 `<<fieldName>>`처럼, 필드 이름에는 접두사가 없습니다.
+ ****활성화**** - 사용 가능한 옵션은 **선택** 또는 **메뉴 옵션**입니다. 작업을 사용하려면 데이터 포인트를 선택(마우스 왼쪽 버튼 클릭)하거나 컨텍스트 메뉴에서 메뉴 옵션으로 이동(마우스 오른쪽 버튼 클릭)하면 됩니다. 컨텍스트 메뉴 중간 **색상** 옵션 바로 위에 탐색 작업과 URL 작업들이 나열되어 있습니다. 메뉴로 활성화되는 작업은 시각적 객체의 범례에서도 사용할 수 있습니다.
+ ****작업 유형**** - 원하는 작업 유형입니다. 작업 유형별 설정은 작업 유형을 선택한 후에만 표시됩니다.
  + **작업 필터링** 설정에는 다음이 포함됩니다.
    + ****필터 범위**** - 필터링 기준으로 사용할 필드입니다. 모든 필드를 필터링하려면 **모든 필드**를 선택합니다. 그렇지 않으면 **필드 선택**을 선택한 다음 대상으로 지정하지 않을 항목을 끄십시오.

      기본값은 **모든 필드**입니다.
    + ****대상 시각적 객체**** — 대상으로 하는 대시보드 위젯입니다. 모든 시각적 객체에 필터를 적용하려면 **모든 시각적 객체**를 선택합니다. 그렇지 않으면 **시각적 객체 선택**을 선택한 다음 대상으로 지정하지 않을 항목을 끄십시오. 다른 시각적 객체에 필터 작업을 적용하는 경우 이 효과를 *계단식 필터*라고 합니다.

      기본값은 **모든 비주얼**입니다.

      계단식 필터는 특정 필터 작업의 **대상 시각적 객체** 단원에 설정된 모든 시각적 객체에 적용됩니다. Amazon Quick Sight는 처음에 시각적 객체를 평가하고 설정을 미리 구성합니다. 하지만 원하는 경우 기본값을 변경할 수 있습니다. 동일한 시트 또는 분석에서 여러 시각적 객체에 대해 여러 개의 계단식 필터를 설정할 수 있습니다. 분석 또는 대시보드를 사용하는 경우 여러 개의 계단식 필터를 동시에 사용할 수 있습니다. 단, 각 필터는 한 번에 하나씩 활성화합니다.

      필터 작업에는 소스와 대상이 필요하기 때문에, 하나 이상의 대상 시각적 객체가 필요합니다. 현재 시각적 객체만 필터링하려면 왼쪽에서 **Filter(필터)**를 선택하여 일반 필터를 생성합니다.
  + **탐색 작업** 설정에는 다음이 포함됩니다.
    + ****대상 시트**** - 대상으로 지정할 시트.
    + ****파라미터**** - 대상 시트로 보낼 파라미터입니다. 더하기 아이콘을 선택하여 기존 파라미터를 추가합니다.
  + **URL 작업** 설정에는 다음이 포함됩니다.
    + ****URL**** — 열려는 URL입니다. URL 작업은 다른 응용 프로그램으로 연결되는 딥 링크가 될 수 있습니다. 유효한 URL 스키마에는`https`, `http`, `mailto`이 포함됩니다.
    + ****\$1** (값)** – (선택 사항) 대상 URL로 전송할 파라미터입니다. 파라미터 이름은 `$`로 시작합니다. 송신 및 수신 쪽 파라미터의 이름과 데이터 형식이 일치해야 합니다.
    + ****다음에서 열기**** - URL을 열 위치입니다. **새 브라우저 탭**, **동일한 브라우저 탭** 또는 **새 브라우저 창**을 선택할 수 있습니다.

일부 유형의 작업을 사용하면 시각적 또는 인사이트에서 사용할 수 있는 파라미터 또는 필드의 값을 포함할 수 있습니다. 수동으로에 입력하거나 **\$1**를 선택하여 목록에서 선택할 수 있습니다. 사용자 정의 작업이 작동하려면 해당 액션이 참조하는 모든 필드와 파라미터를 부모 위젯에서 활발하게 사용하고 있어야 합니다.

분석에서 사용자 지정 작업을 생성, 보기 또는 편집하려면 다음 절차를 따르세요.

**사용자 정의 액션 생성, 보기 또는 편집**

1. 분석을 연 상태에서 오른쪽 상단의 **메뉴 옵션** 드롭다운에서 **작업**을 선택합니다.

   기존 작업이 있는 경우 이 활성화 유형별로 표시됩니다. 기존 작업을 설정하거나 해제하려면 작업 이름 오른쪽에 있는 확인란을 사용합니다.

1. (선택 사항) 기존 작업을 편집하거나 보려면 작업 이름 옆에 있는 메뉴 아이콘을 선택합니다.

   작업을 편집하려면 **편집**을 선택합니다.

   작업을 삭제하려면 **삭제**를 선택합니다.

1. 새 작업을 생성하려면 다음 중 하나를 선택합니다.
   + **작업** 제목 근처의 추가 아이콘
   + **사용자 지정 작업 정의** 버튼

1. **액션 이름**에는 액션 이름을 정의합니다. 작업 이름을 동적으로 만들려면 더하기 아이콘을 사용하여 파라미터 또는 필드 값을 추가합니다.

1. **활성화**의 경우 작업 실행 방법을 선택합니다.

1. **작업 유형**에서는 사용하고자 하는 작업을 입력합니다.

1. **작업 필터핑**의 경우 다음을 수행합니다.

   1. **필터 범위**에서 필터 범위를 선택합니다.

   1. **대상 시각적 객체** 경우 필터가 캐스케이드되는 거리를 선택합니다.

1. **탐색 작업**의 경우 다음을 수행하세요.

   1. **대상 시트**에서 대상 시트를 선택합니다.

   1. **파라미터**에서 **파라미터** 제목 근처의 더하기 아이콘을 선택하고 파라미터를 선택한 다음 파라미터 값을 선택합니다. 모든 값을 선택하거나, 사용자 지정 값을 입력하거나, 특정 필드를 선택할 수 있습니다.

1. **URL 작업**의 경우 다음을 수행하십시오.

   1. **URL** 경우 하이퍼링크를 입력합니다.

   1. **URL** 제목 근처의 더하기 아이콘을 선택합니다. 그런 다음 목록에서 변수를 추가합니다.

   1. **다음에서 열기**에서 URL을 여는 방법을 선택합니다.

1. 작업을 완료한 후, **작업** 패널의 아래쪽에 있는 다음 중 하나를 선택합니다(아래로 이동해야 할 수도 있습니다).
   + **저장** - 선택 사항을 저장하고 사용자 지정 작업을 생성합니다.
   + **닫기** - 이 사용자 지정 작업을 닫고 변경 내용을 취소합니다.
   + **삭제** - 이 작업을 삭제합니다.

# 사용자 지정 작업 복구
<a name="repairing-custom-actions"></a>

사용자 지정 작업이 작동하려면, 해당 액션이 참조하는 모든 필드와 파라미터를 부모 위젯에서 활성화되어 있어야 합니다. 소스 위젯에서 필드가 누락되거나 분석에서 매개변수가 누락된 경우 해당 필드 또는 파라미터에 대한 작업을 사용할 수 없게 됩니다. 메뉴 액션은 더 이상 컨텍스트 메뉴에 포함되지 않습니다. 일부 작업은 상호 작용 시도에 더 이상 응답하지 않습니다. 하지만 다른 모든 방식에서는 위젯이 계속 작동합니다. 사용자에게 오류가 표시되지 않습니다. 누락된 필드를 깨진 시각적 요소나 인사이트에 다시 추가하여 손상된 필터 동작과 URL 동작을 수정할 수 있습니다.

다음 절차는 작업을 업데이트하지 않고 누군가 필드나 파라미터를 제거해서 중단된 작업을 수정하는 방법을 설명합니다. 이 단계는 이 문제를 해결하는 방법에 대한 기본 지침을 제공합니다. 그러나 분석을 어떻게 변경해야 하는지 또는 변경해야 하는지는 사용자가 직접 판단해야 합니다. 확실하지 않은 경우 변경하기 전에 Amazon Quick 관리자에게 도움을 요청하는 것이 좋습니다. 예를 들어, 이전 버전의 분석을 복원하는 방법이 있을 수 있는데, 어떤 일이 발생했는지 확실하지 않을 경우 이 방법이 더 안전할 수 있습니다.

**중단된 작업에서 필드 제거**

1. 시작 페이지에서 **분석**을 선택합니다. 그런 다음 수정할 분석을 선택합니다.

1. 더 이상 효과가 없는 시각적 객체나 인사이트를 선택하세요. 시트에 강조 표시되어 있는지 확인하세요.

1. 오른쪽 상단의 메뉴 옵션 드롭다운에서 **작업**을 선택합니다.

1. 수정하려는 작업을 찾아 **편집**을 선택합니다.

1. 작업 유형이 **작업 필터링**이고, 이 작업에 사용된 필드가 제거되었다는 오류 메시지가 표시되는 경우, **필터 범위** 설정을 확인하세요. **선택한 필드**는 시각적 영역에 있는 필드만 표시할 수 있습니다. 선택한 필드 중 제거된 필드를 비활성화하려면 다음 중 하나를 선택합니다.
   + **필터 범위** 설정을 **모든 필드**로 변경합니다. 이렇게 하면 위젯이 모든 필드를 필터링할 수 있습니다.
   + **선택한 필드** 목록을 사용하려면 필드 목록을 확인하십시오. 다른 필드를 포함해야 하는 경우 먼저 시각적 객체에 추가해야 합니다.

1. 작업 유형이 **탐색 작업**인 경우 오류를 일으킨 변경 유형을 반영하는 오류 메시지의 지침을 따르세요.

1. 작업 유형이 URL 동작인 경우 ****URL**** 설정에서 이중 꺾쇠 괄호(`<<FIELD-OR-$PARAMETER>`)로 표시된 변수가 있는지 확인하세요. 더하기 아이콘을 선택하여 사용 가능한 변수 목록을 엽니다. 목록에 없는 필드나 파라미터 제거합니다. 일치하는 URL 파라미터와 구분자(첫 번째 URL 파라미터에는 `?`, 또는 후속 매개변수에는 `&`)도 제거해야 합니다. 다음 예제는 시각적 객체에서 `Product`(이)라고 이름이 지정된 필드를 제거한 경우 제거되는 부분을 표시합니다(**굵게**).

   ```
   https://www.example.com/examplefunction?q=<<Product>
   ```

   ```
   https://www.example.com/examplefunction?q=<<Product>&uact=<<$CSN>
   ```

   ```
   https://www.example.com/examplefunction?pass=yes&q=<<Product>+<<City>&oq=<<Product>+<<City>&uact=<<$CSN>
   ```

   새 URL을 테스트해 보세요.

1. (선택 사항) 작업을 삭제하려면 끝까지 스크롤한 다음 **삭제**를 선택합니다.

1. 작업을 마쳤으면 작업 변경 사항을 확인합니다. **작업** 창의 하단으로 이동하고 **저장**을 선택합니다.

   관련 대시보드에도 오류가 있는 경우 대시보드를 다시 공유하고 게시하여 수정 사항을 전파하십시오.

# Amazon Quick Sight의 사용자 지정 작업에 대한 필드 매핑 이해
<a name="quicksight-actions-field-mapping"></a>

자동화된 필드 매핑은 동일한 필드를 기반으로 합니다. 이름과 데이터 형식이 같은 필드는 데이터 세트 간에 자동으로 매핑됩니다. 필드 이름과 데이터 형식은 정확히 일치해야 합니다. 이는 일치하는 모든 필드의 이름 및 데이터 형식을 기반으로 자동으로 생성된다는 점을 제외하고는 조인과 유사합니다. 필드가 누락된 경우 필드가 누락된 데이터 세트에서 계산된 필드를 사용하여 필드를 생성할 수 있습니다. 일부 필드를 서로 매핑하지 않으려면 이름을 바꾸거나 데이터 세트에서 제거하면 됩니다.

필터 작업에 사용할 수 있도록 설정된 경우 모든 대상 필드가 매핑되었는지 확인하는 것이 중요합니다(**필터 범위** 사용). 이렇게 하면 필터링을 자동으로 적용할 수 있습니다. 일부 대상 필드가 매핑되지 않으면 자동 필터링이 작동하지 않습니다.

사용자 지정 작업을 생성하거나 저장할 때만 매핑이 생성됩니다. 따라서 매핑에 영향을 미치는 변경을 한 후에는 항상 매핑으로 돌아가서 다시 저장해야 합니다. 작업을 생성할 때 매핑은 해당 시점에 존재하는 필드를 기반으로 합니다. 작업을 저장할 때, 사용자 지정 작업을 만든 이후에 이름을 바꾼 매핑된 필드는 모두 매핑된 상태로 유지됩니다. 그러나 매핑된 필드의 데이터 형식을 변경하면 매핑이 제거됩니다.

매핑에 일부 필드가 누락된 경우 다음 중 하나를 수행하여 문제를 해결할 수 있습니다.
+ **필터 범위**에서 매핑되지 않은 필드를 제거하여 매핑된 필드만 대상으로 지정합니다.
+ 대상 시각적 객체에서 해당 시각적 객체를 제거합니다.
+ 계산된 필드를 만들어 매핑에 누락된 필드를 입력한 다음 사용자 지정 작업을 저장합니다.
+ 데이터 세트를 편집하고 필드 이름을 바꾸거나 데이터 형식을 변경한 다음 사용자 지정 작업을 저장합니다.
+ 데이터 세트를 편집하고 필드 이름을 바꾸거나 데이터 형식을 변경한 다음 사용자 지정 작업을 다시 저장합니다.

**참고**  
매핑 화면에 표시되는 정보에는 최근에 저장한 시점의 구성이 표시됩니다. 보기를 새로 고치거나 업데이트하려면 작업을 다시 저장합니다.

데이터 세트를 추가하거나 편집하는 경우 데이터 세트가 자동으로 매핑되거나 다시 매핑되지 않습니다. 이로 인해 필터링이 올바르게 작동하지 않습니다. 예를 들어 새 데이터 세트를 추가한 다음 해당 데이터 세트에 대한 시각적 객체를 생성한다고 가정합니다. 새 시각적 객체와 필터 작업 간에는 서로를 연결하는 필드 매핑이 없기 때문에 새 시각적 객체가 필터 작업에 응답하지 않습니다. 변경한 경우 사용자 지정 작업을 다시 저장하여 필드 매핑을 다시 실행해야 합니다.

원본 시각적 객체에서 파라미터화된 필드 또는 다른 대상 필드를 제거하면 해당 필드를 사용하는 작업이 중단됩니다. 누락된 필드에 대한 작업은 데이터 포인트를 선택할 때 작동하지 않거나 컨텍스트 메뉴에서 숨겨져 있습니다.

자동화된 필드 매핑을 위한 데이터 세트 준비에 대한 자세한 내용은 [필드 매핑](mapping-and-joining-fields.md#mapping-and-joining-fields-automatic) 단원을 참조하십시오.

# Amazon Quick Sight에서 픽셀 완성 보고서 작업
<a name="working-with-reports"></a>

Amazon Quick Sight Pixel Perfect Reports를 사용하면 서식이 많은 다중 페이지 PDF 보고서를 생성, 예약 및 공유할 수 있습니다. Quick Sight의 기존 웹 인터페이스를 사용하여 데이터 내보내기를 CSV 파일로 예약할 수도 있습니다. 이를 통해 기존에 분리되어 있던 대시보드 및 보고서 시스템을 통합할 수 있습니다.

보고서 생성자는 Quick Sight의 브라우저 기반 작성 환경을 사용하여 지원되는 광범위한 데이터 소스에 연결하고 서식이 높은 보고서를 생성할 수 있습니다. 픽셀 수준의 정밀도로 이미지, 차트 및 테이블의 정확한 페이지 크기, 길이 및 배열을 지정할 수 있습니다. 그런 다음 작성자는 Quick Sight의 예약 메커니즘을 사용하여 최종 사용자에게 고도로 개인화된 보고서 전송을 설정 및 예약하거나 나중에 사용할 수 있도록 보고서를 보관할 수 있습니다.

픽셀 완성 보고서는 인쇄하거나 배포하도록 설계되었습니다. Pixel perfect report content는 용지 크기에 맞게 형식이 지정되며 데이터가 여러 페이지에 걸쳐 있더라도 테이블과 피벗 테이블의 모든 데이터를 표시합니다. 정확한 용지 크기에 맞게 형식이 지정되며 페이지 레이아웃을 정확하게 제어할 수 있습니다. 각 픽셀 완성 보고서는 최대 1,000페이지의 PDF를 생성할 수 있습니다.

픽셀 완성 보고서는 보고서가 PDF 또는 CSV로 게시될 때 존재하는 사용 가능한 모든 데이터를 제공합니다. 예를 들어 10,000개의 행이 포함된 테이블이 있다고 가정해 보겠습니다. 픽셀 완성 보고서는 독자가 전체 보고서를 볼 수 있도록 여러 페이지에 걸쳐 전체 보고서를 제공합니다. 동일한 테이블을 대화형 대시보드 보고서에 포함하면 생성된 PDF에는 스크롤할 수 있는 단일 페이지를 채우는 테이블의 스냅샷이 포함됩니다. 이러한 사용자 지정 보고서는 개별 사용자 및 그룹에 최대 수천 개의 개인화된 PDF 또는 CSV 보고서를 생성하는 이메일 버스트로 전송할 수 있습니다.

**참고**  
`eu-central-2` 유럽(취리히) 리전에서는 픽셀 완성 보고서를 사용할 수 없습니다.

**Topics**
+ [시작하기](qs-reports-getting-started.md)
+ [Amazon Quick Sight에서 분석에서 보고서 생성](qs-reports-create-reports.md)
+ [Amazon Quick Sight에서 보고서 형식 지정](qs-reports-format-reports.md)
+ [Amazon Quick Sight에서 픽셀 완성 보고서 사용](qs-reports-consume-reports.md)
+ [Quick Sight에서 페이지가 매겨진 보고 구독 취소](qs-reports-getting-started-unsubscribe.md)

# 시작하기
<a name="qs-reports-getting-started"></a>

Amazon Quick Sight 픽셀 완성 보고서 작업을 시작하려면 먼저 Amazon Quick 계정에 대한 픽셀 완성 보고 추가 기능을 가져옵니다. 추가 기능에 대한 요금은 전체 Quick 계정에 적용되며 리전에만 국한되지 않습니다. 빠른 보고를 구독한 후 작성자는 완벽한 픽셀 보고서 생성, 예약 및 전송을 시작할 수 있습니다.

## 빠른 픽셀 완성 보고서 추가 기능 가져오기
<a name="qs-reports-getting-started-subscribe"></a>

Amazon Quick Sight에서 픽셀 완성 보고서를 사용하려면 먼저 빠른 구독에 **Pixel-Perfect Reports 추가 기능을** 추가해야 합니다.

**Amazon Quick Sight에서 픽셀 퍼펙트 보고 추가 기능을 가져오려면**

1. 빠른 시작 페이지에서 오른쪽 상단의 사용자 이름을 선택한 다음 **빠른 관리를** 선택합니다.

1. **구독 관리를** 선택한 다음 **Pixel-Perfect 보고서를** 선택합니다.

1. 원하는 구독 플랜을 선택합니다. 월별 요금제와 연간 요금제 중에서 선택할 수 있습니다.

1. Pixel-Perfect Reports 추가 기능 요금 정보를 검토한 다음 **구독 확인을** 선택합니다.

픽셀 완성 보고서 추가 기능을 받은 후 구독이 적용되는 데 몇 분 정도 걸릴 수 있습니다. 구독이 적용되면 Amazon Quick Sight에서 픽셀 완성 보고서 생성을 시작할 수 있습니다.

# Amazon Quick Sight에서 분석에서 보고서 생성
<a name="qs-reports-create-reports"></a>

픽셀 완성 보고서는 Amazon Quick Sight에서 분석의 시트 수준에서 생성됩니다. 기존 분석에서 새 분석 또는 새 시트를 생성할 때 새 시트를 **대화형 대시보드**로 만들지 아니면 **픽셀로 완성 보고서를** 만들지 선택합니다. 이렇게 하면 대화형 대시보드만 분석하거나, 픽셀 완성 보고서만 분석하거나, 대화형 대시보드와 픽셀 완성 보고서를 모두 포함하는 분석을 수행할 수 있습니다.

픽셀 완성 보고서를 생성하는 세 가지 방법이 있습니다. 분석의 새 시트에서 새 보고서를 생성하거나, 대시보드에서 대화형 시트를 복제하거나, 이미 존재하는 픽셀 완성 보고서를 복제할 수 있습니다. 아래 절차에 따라 픽셀 완성 보고서를 생성합니다.

## Amazon Quick Sight에서 분석에서 보고서 생성
<a name="qs-reports-create-reports-from-analysis"></a>

**새 분석에서 픽셀 완성 보고서를 생성하려면**

1. 빠른 홈페이지에서 **분석을** 선택한 다음 **새 분석을** 선택합니다.

1. 새 분석에 포함하려는 데이터 세트를 선택한 다음 오른쪽 상단에서 **분석에 사용**을 선택합니다.

1. 표시되는 **새 시트** 팝업에서 **Pixel perfect report**를 선택합니다.

1. (선택 사항) 픽셀 완성 보고서에 사용할 용지 크기를 선택합니다. 다음 옵션 중에서 선택할 수 있습니다.
   + 미국 서신(8.5 x 11인치)
   + 미국 법률(8.5 x 14인치)
   + A0(841 x 1189mm)
   + A1(594 x 841mm)
   + A2(420 x 594mm)
   + A3(297 x 420mm)
   + A4(210 x 297mm)
   + A5(148 x 210mm)
   + 일본 B4(257 x 364mm)
   + 일본 B5(182 x 257mm)

   기본 용지 크기는 미국 서신(8.5 x 11인치)입니다.

1. (선택 사항) 용지 세로 배열과 가로 배열 중에서 선택합니다. 기본 옵션은 세로입니다.

1. **추가**를 선택합니다.

기존 분석에서 새 픽셀 완성 보고서를 생성하려면 분석의 시트 탭 오른쪽에 있는 더하기 기호(\$1) 아이콘을 선택하고 이전 절차의 3\$16단계를 따릅니다.

## Amazon Quick Sight의 기존 대시보드에서 보고서 생성
<a name="qs-reports-create-report-from-dashboard"></a>

대화형 시트를 복제하고 중복 시트를 픽셀 완성 보고서로 변환하여 픽셀 완성 보고서를 생성할 수도 있습니다.

**대화형 시트에서 픽셀 완성 보고서를 생성하려면**

1. 분석에서 복제하려는 시트에서 변환할 시트의 이름 옆에 있는 드롭다운을 선택합니다.

1. **복제하여 보고서 생성**을 선택합니다.

대화형 시트를 픽셀 완성 보고서로 변환할 수 있지만 픽셀 완성 보고서를 대화형 시트로 변환할 수는 없습니다.

## Amazon Quick Sight에서 기존 보고서 복제
<a name="qs-reports-create-report-from-report"></a>

이 섹션에서는 보고서를 복사하는 방법을 설명합니다.

**픽셀 완성 보고서를 복사하려면**

1. 분석에서 복제하려는 시트에서 변환할 시트의 이름 옆에 있는 드롭다운을 선택합니다.

1. **Duplicate(복제)**를 선택합니다.

# Amazon Quick Sight에서 보고서 형식 지정
<a name="qs-reports-format-reports"></a>

이 섹션에서는 Amazon Quick Sight에서 픽셀 완성 보고서의 형식을 지정하는 방법을 알아봅니다.

**Topics**
+ [섹션으로 작업하기](qs-reports-working-with-sections.md)
+ [용지 크기, 여백 및 방향 변경하기](qs-reports-paper-size.md)
+ [보고서에 페이지 나누기 추가 및 제거하기](qs-reports-page-breaks.md)
+ [보고서에 시각화 추가 및 삭제하기](qs-reports-add-visuals.md)
+ [보고서에 텍스트 상자 추가하기](qs-reports-add-text-box.md)
+ [페이지를 매긴 보고서에 대한 프롬프트 설정](paginated-reports-prompts.md)

# 섹션으로 작업하기
<a name="qs-reports-working-with-sections"></a>

섹션이란 세로로 확장되어 콘텐츠를 포함하며 다양한 시각화를 담는 컨테이너입니다. 구성된 페이지 나누기와 섹션 설정에 맞게 각 섹션이 차례로 완성됩니다. 머리글과 바닥글은 보고서의 각 페이지에 걸쳐 크기, 위치 및 반복이 미리 정의된 특수 유형의 섹션입니다.

픽셀 완성 보고서의 각 섹션은 보고서의 다른 섹션과 독립적으로 형식을 지정할 수 있습니다. 대화형 시트의 자유 서식 레이아웃과 마찬가지로 시각화를 원하는 곳으로 드래그 앤 드롭할 수 있습니다. 시각화를 겹치거나, 크기를 조정하거나, 섹션 앞이나 뒤로 가져올 수도 있습니다. 또한 섹션 내 여백을 변경하여 시각화의 그룹화가 보고서의 나머지 부분과 차별화되도록 할 수 있습니다.

Quick Sight의 모든 보고서에는 하나 이상의 섹션이 필요합니다. 섹션을 여러 개 추가하여 서로 다른 시각화를 그룹화하거나 서로 다른 시각화 그룹의 렌더링 순서를 제어할 수 있습니다.

각 픽셀 완성 보고서 시트는 헤더와 바닥글을 포함하여 최대 30개의 섹션을 지원합니다.

아래 나열된 주제를 통해 섹션에 대해 자세히 알아보세요.

**Topics**
+ [섹션 추가, 이동, 삭제하기](qs-reports-add-delete-section.md)
+ [머리글 및 바닥글](qs-reports-add-delete-headers-footers.md)
+ [섹션 패딩](qs-reports-section-padding.md)
+ [반복 섹션 생성](qs-reports-repeat-sections.md)

# 섹션 추가, 이동, 삭제하기
<a name="qs-reports-add-delete-section"></a>

## 새 섹션 추가
<a name="paginated-reports-add-section"></a>

픽셀 완성 보고서에 새 섹션을 추가하려면 다음 절차를 사용합니다.

**픽셀 완성 보고서에 새 섹션을 추가하려면**

1. 빠른 홈페이지에서 **분석을** 선택한 다음 섹션을 추가할 보고서가 포함된 분석을 선택합니다.

1. 섹션을 추가하려는 픽셀 완성 보고서가 포함된 시트를 선택합니다.

1. 왼쪽 상단의 **추가**(\$1) 아이콘을 선택하고 **섹션 추가**를 선택합니다.

기존 섹션 하단에 있는 더하기(\$1) 아이콘을 선택하고 **섹션 추가**를 선택하여 섹션을 추가할 수도 있습니다.

**섹션 추가**를 선택하면 보고서 하단에 새 섹션이 추가됩니다.

섹션을 다른 섹션 내에 생성할 수 없습니다. 기존 섹션을 선택한 다음 **섹션 추가**를 선택하면 보고서 하단에 새 섹션이 나타납니다.

픽셀 완성 보고서에 여러 섹션이 있는 경우 원하는 순서대로 정렬할 수 있습니다.

## 섹션 이동
<a name="paginated-reports-move-section"></a>

**보고서에서 섹션 이동하기**

1. 이동하려는 섹션을 선택한 다음 오른쪽 상단에 있는 점 3개 아이콘을 선택하여 섹션 작업 메뉴를 엽니다.

1. 섹션을 이동하려는 위치를 선택합니다. 다음 옵션 중에서 선택할 수 있습니다.
   + **섹션을 맨 위로 이동**
   + **섹션을 위로 이동**
   + **섹션을 아래로 이동**
   + **섹션을 맨 아래로 이동**

경우에 따라서는 위 옵션 중 일부를 선택할 수 없습니다. 예를 들어, 섹션이 이미 보고서 맨 아래에 있는 경우 **아래로 이동** 또는 **섹션을 맨 아래로 이동**을 선택할 수 없습니다.

섹션 이름은 보고서에서 오름차순으로 지정됩니다. 보고서에서 섹션을 위 또는 아래로 이동하면 이동의 영향을 받는 모든 섹션의 이름이 새 오름차순으로 바뀝니다.

픽셀 완성 보고서에서 섹션을 삭제하면 삭제된 섹션의 위치에 따라 나머지 섹션의 이름이 변경될 수 있습니다. 예를 들어 `Section 1` 섹션을 삭제한다고 가정해 보겠습니다. 섹션을 삭제하면 이전 `Section 2` 섹션이 보고서에서 위로 이동하여 새 `Section 1` 섹션이 됩니다.

## 섹션 삭제
<a name="paginated-reports-delete-section"></a>

**보고서에서 섹션 삭제하기**

1. 삭제하려는 섹션으로 이동한 다음 오른쪽 상단의 점 3개 아이콘을 선택하여 섹션 작업 메뉴를 엽니다.

1. **삭제**를 선택합니다.

# 머리글 및 바닥글
<a name="qs-reports-add-delete-headers-footers"></a>

*헤더*와 *바닥글*은 픽셀 완성 보고서의 상단과 하단에 있는 선택적 특수 섹션입니다. 머리글과 바닥글은 일반적으로 보고서를 생성한 날짜나 페이지 번호와 같은 기본 정보를 표시하는 데 사용됩니다. 보고서에서 일반 섹션과 상호 작용하는 것과 같은 방식으로 머리글과 바닥글을 조작할 수 있습니다.

기본적으로 Amazon Quick Sight의 모든 보고서에는 헤더와 바닥글이 있습니다. 다음 순서에 따라 보고서에서 머리글 또는 바닥글을 제거할 수 있습니다.

**픽셀 완성 보고서에서 헤더 또는 바닥글을 제거하려면**

1. 픽셀 완성 보고서에서 삭제할 헤더 또는 바닥글로 이동하여 **온 섹션을** 엽니다.

1. **삭제**를 선택합니다.

보고서에서 머리글이나 바닥글을 삭제하면 보고서의 모든 페이지에서 머리글이나 바닥글이 삭제됩니다. 일부 페이지에서만 머리글이나 바닥글을 삭제하고 다른 페이지에는 사용하도록 지정할 수 없습니다.

다음 순서에 따라 보고서에서 삭제한 머리글이나 바닥글이 다시 보이게 할 수 있습니다.

**픽셀 완성 보고서에 헤더 또는 바닥글을 추가하려면**

1. 헤더 또는 바닥글을 추가하려는 픽셀 완성 보고서로 이동하여 상단 메뉴에서 **삽입**을 선택합니다.

1. **머리글 추가** 또는 **바닥글 추가를** 선택합니다.

# 섹션 패딩
<a name="qs-reports-section-padding"></a>

섹션 패딩을 사용하여 픽셀 완성 보고서에서 개별 섹션의 여백을 변경할 수 있습니다. 기본적으로 보고서의 모든 섹션은 전체 보고서에 구성되고 적용된 페이지 여백을 사용합니다. 머리글이나 바닥글에 섹션 패딩을 추가할 수도 있습니다. 섹션 패딩을 사용하면 다른 여백 세트를 만들어 섹션을 다른 섹션과 차별화할 수 있습니다. 보고서의 나머지 부분에서 사용하는 페이지 여백 상단의 섹션에 새 여백 세트를 적용합니다.

**섹션의 섹션 패딩 변경하기**

1. 섹션 패딩을 추가하려는 섹션으로 이동한 다음 **섹션 편집**을 엽니다.

1. **편집 섹션**의 **패딩** 섹션에서 원하는 패딩의 양을 인치 단위로 입력합니다. 섹션의 모든 방향(위쪽, 아래쪽, 왼쪽, 오른쪽)의 패딩을 사용자 지정할 수 있습니다.

섹션 패딩을 사용하여 섹션의 여백을 줄일 수는 없습니다. 예를 들어 전체 픽셀 완성 보고서의 여백이 1인치인 경우 섹션 패딩을 사용하여 해당 값에 만 추가할 수 있습니다.

# 반복 섹션 생성
<a name="qs-reports-repeat-sections"></a>

반복 섹션을 사용하여 보고서의 특정 섹션 복제본을 생성하여 하나 이상의 측정기준 값을 표시합니다. 반복 섹션의 데이터는 섹션의 측정기준과 일치하도록 슬라이스됩니다. 반복 섹션을 대규모로 복제하여 보고서를 작성하는 데 걸리는 시간을 줄일 수 있습니다.

다음 절차를 통해 보고서에서 반복 섹션을 생성하고 구성합니다.

**반복 섹션 정의**

1. 반복 동작을 추가하려는 섹션으로 이동하여 **반복 섹션 편집**(3중 패널)을 선택합니다.

1. 열리는 **섹션 편집** 창에서 **측정기준 추가**를 선택한 다음 추가할 측정기준을 선택합니다.

1. 측정기준을 추가하려면 2단계를 반복합니다. 각 반복 섹션 구성에 최대 3개의 차원을 추가할 수 있습니다.

**반복 섹션 고려 사항**

다음 제한은 반복 섹션에 적용됩니다.
+ 반복 섹션에는 인사이트 시각적 객체가 지원되지 않습니다.
+ 분석에 사용하기 위해 선택한 마지막 데이터세트에서만 가져온 반복 섹션 측정기준입니다.

반복 섹션을 생성한 후 반복 섹션 구성에 대한 정렬 및 제한을 정의할 수 있습니다. 텍스트 상자를 사용하여 반복 섹션에 시스템 파라미터를 추가할 수도 있습니다.

# 반복 섹션에서 정렬 정의
<a name="qs-reports-repeat-sections-sort"></a>

**반복 섹션에서 정렬 정의**

1. 반복 동작을 추가하려는 섹션으로 이동하여 **반복 섹션 편집**(3중 패널)을 선택합니다.

1. **섹션 편집**이 열리면 변경하려는 측정기준 옆에 있는 줄임표(3개의 점)를 선택합니다.

1. **반복** 탭으로 이동하여 정렬하려는 측정기준 옆에 있는 줄임표(3개의 점)를 선택한 다음 **편집**을 선택합니다.

1. **정렬 기준**에서 드롭다운을 사용하여 정렬할 측정기준을 선택합니다.

1. **집계** 드롭다운에서 지정할 집계를 선택합니다.

1. **정렬 순서**에서 **오름차순** 또는 **내림차순**을 선택합니다.

# 반복 섹션에서 제한 정의
<a name="qs-reports-repeat-sections-limits"></a>

반복 섹션의 각 측정기준에 대해 특정 수의 고유 측정기준 값만 표시하도록 제한을 설정할 수 있습니다. 1\$11,000개의 고유 값을 표시하도록 선택할 수 있습니다. 기본 제한은 50개입니다.

**반복 섹션에서 제한 정의**

1. 반복 동작을 추가하려는 섹션으로 이동하여 **반복 섹션 편집**(3중 패널)을 선택합니다.

1. **섹션 편집**이 열리면 변경하려는 측정기준 옆에 있는 줄임표(3개의 점)를 선택합니다.

1. **다음으로 제한**에 정렬을 제한하려는 값의 수를 입력합니다. 1\$11,000 사이의 숫자를 입력할 수 있습니다.

**고려 사항 및 제한 사항**

반복 섹션의 제한 사항에는 다음 제한이 적용됩니다.
+ *인스턴스*는 측정기준의 고유한 값 또는 여러 측정기준의 고유한 값 조합으로 정의됩니다.
+ 반복 섹션의 측정기준에 대한 고유 인스턴스 수가 1,000개를 초과하는 경우 PDF 보고서가 생성되지 않습니다. 이 경우 다음 옵션 중 하나를 시도하세요.
  + 측정기준에 대한 제한을 정의합니다.
  + 시트 수준 필터를 생성하여 측정기준 값을 제한합니다.
  + 행 수준 보안(RLS)을 사용하여 측정기준 값을 제한합니다.
  + 데이터세트 필터를 적용합니다.

# 반복 섹션에 시스템 파라미터 추가
<a name="qs-reports-repeat-sections-text-box"></a>

텍스트 상자를 사용하여 페이지 매김 보고서의 반복 섹션에 시스템 파라미터를 추가할 수 있습니다. 이를 통해 반복 섹션을 구성하는 데 사용된 측정기준에 액세스할 수 있습니다. 텍스트 상자의 차원에 액세스하려면 먼저 반복 섹션 및 차원을 구성해야 합니다. 시스템 파라미터는 반복 섹션 내에서만 사용할 수 있습니다.

**텍스트 상자에서 반복 섹션에 시스템 파라미터 추가**

1. 원하는 텍스트 상자 시각적 객체를 선택한 다음 텍스트 상자 도구 모음의 맨 오른쪽에 있는 **시스템 파라미터** 아이콘을 선택합니다.

1. 나타나는 드롭다운에서 원하는 파라미터를 선택합니다.

# 반복 섹션에 페이지 나누기 추가
<a name="qs-reports-repeat-sections-page-break"></a>

섹션 페이지 나누기와 마찬가지로 반복 섹션에 페이지 나누기를 추가할 수 있습니다.

**반복 섹션에 페이지 나누기 추가**

1. 변경하려는 반복 동작이 포함된 섹션으로 이동하여 **반복 섹션 편집**(3중 패널) 아이콘을 선택합니다.

1. **섹션 편집** 창의 **반복** 탭이 나타나면 **각 인스턴스 뒤에 페이지 나누기**라는 제목의 상자를 선택합니다.

인스턴스는 측정기준의 고유한 값 또는 다중 측정기준 값의 고유한 조합으로 정의됩니다. **각 인스턴스 뒤에 페이지 나누기** 확인란을 선택 취소하면 페이지 나누기가 제거됩니다.

# 용지 크기, 여백 및 방향 변경하기
<a name="qs-reports-paper-size"></a>

Amazon Quick Sight에서 픽셀 완성 보고서를 생성한 후 언제든지 **분석 설정** 메뉴에서 보고서 형식, 방향 및 여백을 변경할 수 있습니다.

## 픽셀 완성 보고서의 용지 크기를 변경하려면
<a name="paginated-reports-paper-size"></a>

1. 빠른 홈페이지에서 **분석을** 선택한 다음 변경하려는 픽셀 완성 보고서가 포함된 분석을 선택합니다.

1. 파일 메뉴에서 **시트**를 선택하고 **레이아웃 설정**을 선택합니다.

1. **용지 크기** 드롭다운 메뉴를 열고 원하는 용지 크기를 선택합니다. 다음 옵션 중 하나를 선택합니다.
   + 미국 서신(8.5 x 11인치)
   + 미국 법률(8.5 x 14인치)
   + A0(841 x 1189mm)
   + A1(594 x 841mm)
   + A2(420 x 594mm)
   + A3(297 x 420mm)
   + A4(210 x 297mm)
   + A5(148 x 210mm)
   + 일본 B4(257 x 364mm)
   + 일본 B5(182 x 257mm)

1. **적용**을 선택합니다.

## 보고서 방향 변경하기
<a name="paginated-reports-orientation"></a>

1. 빠른 홈페이지에서 **분석을** 선택한 다음 변경하려는 픽셀 완성 보고서가 포함된 분석을 선택합니다.

1. 왼쪽에서 **설정** 아이콘을 선택합니다.

1. 보고서의 방향을 선택한 다음 **적용**을 선택합니다.

## 보고서의 여백 변경하기
<a name="paginated-reprots-margins"></a>

1. 빠른 시작 페이지에서 **분석을** 선택한 다음 변경하려는 픽셀 완성 보고서가 포함된 분석을 선택합니다.

1. **편집 < 분석 설정**을 선택합니다.

1. 보고서에 적용하려는 마진 값을 입력한 다음 **적용**을 선택합니다.

마진 값은 픽셀 완성 보고서의 모든 페이지에 적용됩니다. 보고서의 특정 페이지에 대해서만 사용자 지정 설정을 지정할 수는 없지만 섹션 패딩을 사용하여 섹션의 사용자 지정 여백을 설정할 수 있습니다. 섹션 패딩에 대한 자세한 내용은 [섹션 패딩](qs-reports-section-padding.md)을(를) 참조하십시오. 여백 값은 인치로 표시됩니다. 모든 보고서의 기본 여백은 0.5인치입니다.

# 보고서에 페이지 나누기 추가 및 제거하기
<a name="qs-reports-page-breaks"></a>

픽셀 완성 보고서의 섹션 사이에 페이지 나누기를 추가하여 보고서가 페이지별로 게시될 때 데이터가 렌더링되는 방식을 구성할 수 있습니다. 예를 들어 각각 2.5페이지 길이의 섹션 2개가 포함된 보고서가 있다고 가정해 보겠습니다. 기본적으로 `Section 2`은(는) `Section 1`의 바로 뒤를 이어서 보고서의 세 번째 페이지에서 시작됩니다. `Section 1`의 끝에 페이지 나누기를 추가하면 `Section 1`의 마지막 페이지가 페이지의 절반만 사용하더라도 새 페이지에서 `Section 2`이(가) 시작됩니다. 이 방법은 여러 섹션이 한 페이지에 나타나게 하고 싶지 않지만 각 섹션에 필요한 페이지 수를 모르는 경우에 유용합니다.

**페이지 나누기 추가 또는 삭제하기**

1. 섹션을 선택하고 왼쪽 상단에서 **섹션 편집** 아이콘을 선택합니다.

1. 왼쪽에 **섹션 편집**창이 열리면 **이후 페이지 나누기** 확인란을 선택합니다.

1. **적용**을 선택합니다.

**이후 페이지 나누기** 상자를 선택하면 섹션 끝에 페이지 나누기가 나타납니다. **이후 페이지 나누기** 상자의 체크를 해제하면 섹션 끝에서 페이지 나누기가 제거됩니다. 또한 이어지는 섹션은 두 섹션이 한 페이지에 표시되더라도 섹션의 마지막 페이지 바로 아래에 렌더링됩니다.

기존 섹션 하단에 있는 더하기(\$1) 아이콘을 선택하고 **페이지 나누기 추가** 또는 **페이지 나누기 제거**를 선택하여 보고서에서 페이지 나누기를 추가하거나 제거할 수도 있습니다.

# 보고서에 시각화 추가 및 삭제하기
<a name="qs-reports-add-visuals"></a>

**픽셀 완성 보고서의 섹션에 시각적 객체를 추가하려면**

1. 픽셀 완성 보고서에서 시각적 객체를 추가할 섹션을 선택합니다.

1. **시각적 객체** 창에서 **추가**(\$1) 아이콘을 선택합니다.

1. 보고서에 사용할 시각적 객체 유형을 선택합니다.

보고서에 시각화를 추가하면 해당 시각화가 대화형 대시보드의 일부인 경우와 동일한 방식으로 상호 작용할 수 있습니다. Quick Sight 대화형 대시보드 시트의 자유 형식 레이아웃과 마찬가지로 원하는 위치에 시각적 객체를 끌어서 놓을 수 있습니다. 시각화를 겹치거나, 크기를 조정하거나, 섹션 앞이나 뒤로 가져올 수도 있습니다. Amazon Quick Sight의 시각적 객체 형식 지정에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick의 형식 지정](formatting-a-visual.md).

**시각화 삭제하기**

1. 시각화를 삭제하려는 섹션에서 삭제할 시각화를 선택합니다.

1. 시각화의 오른쪽 상단에서 점 3개 아이콘을 선택하여 시각화 작업 메뉴를 엽니다.

1. **삭제**를 선택합니다.

픽셀 완성 보고서의 섹션에서 시각적 객체를 삭제하면 보고서에서 해당 특정 시각적 객체만 삭제됩니다. 보고서의 다른 섹션에 있는 동일한 시각화는 보고서에 그대로 남아 있습니다.

# 보고서에 텍스트 상자 추가하기
<a name="qs-reports-add-text-box"></a>

픽셀 완성 보고서에 텍스트 상자를 추가하여 보고서에 컨텍스트를 추가할 수 있습니다. 텍스트 상자 시각화를 상자로 사용하여 외부 웹 사이트에 하이퍼링크를 추가할 수도 있습니다. 글꼴, 글꼴 스타일, 텍스트 색상, 텍스트 간격, 텍스트 정렬 및 텍스트 크기를 사용자 지정하려면 시각화를 선택할 때 나타나는 텍스트 상자 도구 모음을 사용하십시오.

**보고서에 텍스트 상자 추가하기**

1. 픽셀 완성 보고서에서 텍스트 상자를 추가할 섹션을 선택합니다.

1. 작업 표시줄에서 **텍스트 상자** 아이콘을 선택합니다.

1. 선택한 보고서의 섹션에 새 텍스트 상자가 나타납니다.

텍스트 상자를 편집하려면 텍스트 상자를 선택하고 원하는 내용을 입력하기 시작합니다. 텍스트의 서식과 스타일을 변경하는 데 사용할 수 있는 도구 모음이 나타납니다.

**텍스트 상자 삭제하기**

1. 텍스트 상자를 삭제하려는 섹션에서 삭제하려는 텍스트 상자를 선택합니다.

1. 시각화의 오른쪽 상단에서 점 3개 아이콘을 선택하여 텍스트 상자 작업 메뉴를 엽니다.

1. **삭제**를 선택합니다.

# 텍스트 상자 시스템 매개 변수
<a name="text-box-parameters"></a>

텍스트 상자를 사용하여 픽셀 완성 보고서의 헤더 및 바닥글에 시스템 파라미터를 추가합니다. 텍스트 상자 시스템 매개 변수는 텍스트 상자 도구 모음의 맨 오른쪽에 표시됩니다. 보고서의 머리글이나 바닥글에 다음 매개 변수를 추가할 수 있습니다.
+ 페이지 번호: 보고서의 현재 페이지 번호입니다.
+ 보고서 인쇄 날짜: 보고서가 생성된 날짜입니다.

텍스트 상자에 페이지 번호 매개 변수를 추가하려면 텍스트 상자 도구 모음의 맨 오른쪽에 있는 숫자(\$1) 아이콘을 선택합니다. 텍스트 상자에 `PrintDate` 매개 변수를 추가하려면 텍스트 상자 도구 모음 맨 오른쪽에 있는 달력 아이콘을 선택합니다.

고급 매개 변수 옵션을 보려면 페이지로 구분된 보고서에 인사이트를 추가합니다.

# 페이지를 매긴 보고서에 대한 프롬프트 설정
<a name="paginated-reports-prompts"></a>

Amazon Quick 작성자는 완벽한 픽셀 보고서에 대한 프롬프트를 생성하여 대시보드 사용자가 온디맨드 및 예약된 보고서의 데이터를 필터링할 수 있습니다. *프롬프트*는 대화형 시트에서 필터 또는 컨트롤과 같은 방식으로 작동합니다.

**픽셀 완성 보고서에서 프롬프트를 정의하려면**

1. 픽셀 완성 시트에서 필터 컨트롤 또는 파라미터 컨트롤을 정의합니다. 시트에서 필터 컨트롤에 대한 자세한 내용은 [분석 시트에 필터 컨트롤 추가](filter-controls.md) 섹션을 참조하세요. 파라미터 컨트롤에 대한 자세한 내용은 [Amazon Quick에서 파라미터와 함께 컨트롤 사용](parameters-controls.md) 섹션을 참조하세요.

1. 새 필터 또는 파라미터에서 원하는 프롬프트 값을 선택하세요. 새 프롬프트는 시트에서 즉시 반영됩니다.

1. 새 프롬프트를 포함하는 보고서를 내보내려면 **파일**을 선택하고 **PDF로 내보내기**를 선택하세요.

프롬프트는 시트 자체로 이동할 수 없습니다. 대신 상단 패널에 표시됩니다.

픽셀 단위 보고서에 대한 프롬프트가 생성되고 대시보드로 게시되면 빠른 작성자는 새 프롬프트를 사용하여 빠른 대시보드 뷰어에게 전송되는 보고서를 구성하고 예약할 수 있습니다. 대시보드 뷰어는 이러한 프롬프트를 사용하여 자체 예약된 보고서를 생성할 수도 있습니다. 리더 생성 보고서에 대한 자세한 내용은 [Amazon Quick Sight에서 리더 생성 보고서 생성](reader-scheduling.md) 섹션을 참조하세요.

# Amazon Quick Sight에서 픽셀 완성 보고서 사용
<a name="qs-reports-consume-reports"></a>

Amazon Quick 작성자가 예약된 픽셀 완성 보고서를 게시한 다음 전송하면 Quick은 전송된 보고서의 스냅샷을 생성하고 저장합니다. 픽셀 완성 보고서의 대시보드를 볼 때마다 가장 최근에 전송된 보고서의 생성된 스냅샷이 표시됩니다. 보고서의 대시보드를 보려고 하는데 아직 이메일 보고서를 전송하지 않은 경우 대시보드 스냅샷을 볼 수 있도록 첫 번째 보고서를 예약하라는 메시지가 표시됩니다. 이메일 보고서 예약에 대한 자세한 내용은 [이메일로 Quick Sight 보고서 예약 및 전송](sending-reports.md)을(를) 참조하십시오.

빠른 작성자가 Quick Sight 픽셀 완성 보고서에 대한 프롬프트 보고서를 설정한 경우 빠른 독자는 프롬프트를 사용하여 자체 온디맨드 보고서를 예약할 수 있습니다. 리더 생성 보고서에 대한 자세한 내용은 [Amazon Quick Sight에서 리더 생성 보고서 생성](reader-scheduling.md) 섹션을 참조하세요. 픽셀 완성 보고서의 프롬프트에 대한 자세한 내용은 섹션을 참조하세요[페이지를 매긴 보고서에 대한 프롬프트 설정](paginated-reports-prompts.md).

사용자는 게시된 대화형 시트와 동일한 방식으로 게시된 픽셀 완성 보고서와 상호 작용할 수 없습니다. 대화형 시트와 달리 픽셀 완성 보고서는 시각적 객체 또는 텍스트 상자 그룹으로 표시되는 데이터의 정적 스냅샷을 생성합니다. 이러한 정적 스냅샷은 보고서가 전송될 때 생성되므로 대상 사용자는 보고서에 있는 데이터의 최신 버전을 볼 수 있습니다. 픽셀 완성 보고서는 인보이스 또는 주간 비즈니스 리뷰를 생성하는 데 특히 유용합니다. 그런 다음 사용자는 현재 픽셀 완성 보고서를 과거에 생성된 보고서와 비교하여 비즈니스 데이터를 더 잘 추적할 수 있습니다.

## 보고서의 스냅샷 기록 보기
<a name="qs-reports-snapshot-history"></a>

예약된 픽셀 완성 보고서를 보낼 때마다 Amazon Quick은 참조용으로 전송된 생성된 스냅샷의 사본을 저장합니다. Quick 콘솔에서 언제든지 이러한 스냅샷을 볼 수 있습니다.

**보고서의 스냅샷 기록 보기**

1. 빠른 홈페이지에서 **대시보드**를 선택한 다음 스냅샷 기록을 보려는 대시보드를 선택합니다.

1. 오른쪽 상단 도구 모음에서 **예약** 아이콘을 선택한 다음 **최근 스냅샷**을 선택합니다.

1. 오른쪽에 나타나는 **최근 스냅샷** 창에서 보려는 스냅샷을 선택한 다음 다운로드하려는 파일 옆에 있는 다운로드 버튼을 선택합니다.

# Quick Sight에서 페이지가 매겨진 보고 구독 취소
<a name="qs-reports-getting-started-unsubscribe"></a>

언제든지 Quick Sight 픽셀 완전 보고 구독을 취소할 수 있습니다. 픽셀 완성 보고 구독을 취소하면 Quick Sight에서 픽셀 완성 보고서를 생성하고 예약할 수 없게 됩니다. 기존의 페이지가 지정된 보고서에는 계속 액세스할 수 있지만 보고서를 변경하거나 새 보고서를 예약할 수는 없습니다.

**Amazon Quick Sight에서 픽셀 완성 보고 구독을 취소하려면**

1. 빠른 페이지의 오른쪽 상단에서 사용자 이름을 선택하고 **빠른 관리를** 선택합니다.

1. 왼쪽에서 **구독 관리를** 선택합니다.

1. **구독 관리** 페이지에서 **Pixel-Perfect 보고서** 섹션을 찾아 **관리를** 선택합니다.

1. 선택한 구독 요금제로 스크롤하여 **구독 취소**를 선택합니다.

# Amazon Quick Sight 분석에서 시트에 있는 항목 작업
<a name="authoring-sheets"></a>

이 섹션에서는 Quick Sight에서 시트를 작성할 때 시각적 객체 및 기타 항목으로 작업하는 방법을 알아봅니다.

**Topics**
+ [Quick Sight 분석에 시각적 객체 추가](creating-a-visual.md)
+ [Amazon Quick Sight의 시트에서 주제 사용](using-q-topics-on-sheets.md)
+ [Amazon Quick Sight의 시각적 객체 유형](working-with-visual-types.md)
+ [Amazon Quick의 형식 지정](formatting-a-visual.md)
+ [사용자 지정 데이터 프레젠테이션](analyzing-data-analyses.md)

# Quick Sight 분석에 시각적 객체 추가
<a name="creating-a-visual"></a>

*시각적 객체*는 데이터의 그래픽 표현입니다. 분석에서 여러 데이터 세트 및 시각적 객체 유형을 사용하여 광범위한 시각적 객체를 생성할 수 있습니다.

시각적 객체를 만든 뒤 요구 사항에 맞춰 사용자 지정하는 다양한 방식으로 이를 수정할 수 있습니다. 사용 가능한 사용자 지정으로는 시각적 객체 요소로 매핑되는 필드 변경, 시각적 객체 유형 변경, 시각적 객체 데이터 정렬 또는 필터 적용 등이 있습니다.

Quick Sight는 단일 분석에서 최대 50개의 데이터 세트, 단일 시트에서 최대 50개의 시각적 객체, 분석당 20개의 시트 제한을 지원합니다.

시각적 객체는 여러 가지 방법으로 생성할 수 있습니다. 원하는 필드를 선택하고 AutoGraph를 사용하여 Amazon Quick Sight가 가장 적합한 시각적 객체 유형을 결정하도록 할 수 있습니다. 또는 특정한 시각적 객체 유형을 선택하고 이 객체를 채울 필드를 선택할 수 있습니다. 데이터가 어떤 질문에 답할 수 있는지 잘 모르는 경우 도구 모음에서 **추천을** 선택하고 Amazon Quick Sight에서 제안하는 시각적 객체를 선택할 수 있습니다. 제안된 시각적 객체는 사용자 데이터의 예비 검사를 바탕으로 사용자가 관심을 가질 것이라고 판단한 시각적 객체입니다. AutoGraph에 대한 자세한 내용은 [AutoGraph 사용](autograph.md) 단원을 참조하십시오.

**추가**, **Add visual(시각적 객체 추가)**를 차례로 선택하여 WorkSpace에 시각적 객체를 추가할 수 있습니다. 2018년 6월 21일 이후에 생성된 시각화는 크기가 더 작아져 각 행에 두 개를 표시할 수 있습니다. 시각적 객체의 크기를 조정하고 끌어서 배치를 조정할 수 있습니다.

유용한 시각적 객체를 만들려면 어떤 질문에 답변하려고 하는지를 가능한 한 구체적으로 아는 것이 좋습니다. 해당 질문에 답변할 수 있는 가장 작은 데이터 세트를 사용하는 것도 도움이 됩니다. 그러면 보다 분석하기 쉽고 간단한 시각적 객체를 만들 수 있습니다.

## 차원 또는 측정값인 필드
<a name="dimensions-and-measures"></a>

**시각적 객체** 창에서 측정기준 필드는 파란색 아이콘으로, 치수 필드는 주황색 아이콘으로 표시됩니다. *Dimensions(차원)*는 제품과 같이 항목일 수 있는 텍스트 또는 날짜 필드입니다. 또는 매출 수치에 대한 판매 날짜와 같이 치수와 관련되고 치수를 분할하는 데 사용할 수 있는 속성일 수 있습니다. *Measures(치수)*는 측정, 비교 및 집계에 사용하는 숫자 값입니다. 일반적으로 차원과 치수 필드를 함께 사용해 시각적 객체를 생성합니다(예: 판매 날짜별(차원) 총 매출(치수)). 여러 시각적 객체 유형 필요한 필드 유형에 대한 자세한 내용은 [Amazon Quick Sight의 시각적 객체 유형](working-with-visual-types.md) 단원을 참조하십시오. 필드의 치수 또는 차원 설정 변경에 대한 자세한 내용은 [필드를 차원 또는 치수로 설정](setting-dimension-or-measure.md) 단원을 참조하십시오.

## 필드 제한 사항
<a name="visual-field-limitations"></a>

시각적 객체당 날짜 필드는 하나만 사용할 수 있습니다. 이러한 제한은 모든 시각적 객체에 적용됩니다.

두 개 이상의 차원 필드 모음 또는 시각적 객체에 대한 드롭 타겟에 대해 동일한 필드를 사용할 수 없습니다. 필드 모음 및 드롭 타겟이 예상되는 필드 유형을 나타내는 방식에 대한 자세한 내용은 [시각적 객체 필드 컨트롤 사용](using-visual-field-controls.md) 단원을 참조하십시오.

## 필드 검색하기
<a name="searching-for-a-field"></a>

**Fields list(필드 목록)** 창에 긴 필드 목록이 있는 경우, 특정 필드를 검색할 수 있습니다. 이를 수행하려면 **데이터** 창 상단에 있는 검색 아이콘을 선택한 다음, 검색 상자에 검색어를 입력합니다. 이름에 검색어가 포함된 모든 필드가 표시됩니다. 검색은 대/소문자를 구분하며 와일드카드는 사용할 수 없습니다. 검색 상자 오른쪽에 있는 취소 아이콘(**X**)을 선택하면 뒤로 돌아가 모든 필드가 표시됩니다.

## 시각화 추가하기
<a name="create-a-visual"></a>

새 시각적 객체를 생성하려면 다음 절차에 따르십시오.

**새로운 시각화 생성하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 빠른 홈페이지에서 시각적 객체를 추가할 분석을 선택합니다.

1. 분석 페이지에서 **데이터** 창의 상단에 있는 데이터세트 목록에서 사용하려는 데이터세트를 선택합니다. 자세한 내용은 [분석에 데이터 세트 추가](adding-a-data-set-to-an-analysis.md) 단원을 참조하십시오.

1. **시각화** 창을 열고 **추가**를 선택한 다음 **시각적 객체 추가**를 선택합니다.

   새로운 빈 시각적 객체가 생성되고 포커스를 받습니다.

1. 다음 옵션 중 하나를 사용하세요.
   + 왼쪽의 **데이터** 창에서 사용할 필드를 선택합니다. 필드 목록이 보이지 않는 경우 **시각화**를 선택하여 표시합니다. Amazon Quick Sight는 선택한 데이터와 가장 호환된다고 판단되는 시각적 객체 유형을 사용하여 시각적 객체를 생성합니다.
   + **추가** 버튼 옆의 드롭다운 화살표를 선택하여 시각적 객체 유형을 선택합니다. 시각적 객체가 생성된 후 채우려는 필드를 선택합니다.

     1. **Visual types(시각적 유형)** 창에서 시각적 유형의 아이콘을 선택합니다.  
![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/visual-types.png)

        필드 모음에 시각화된 필드가 표시됩니다.  
![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/field-wells.png)

     1. **데이터** 창에서 사용하려는 필드를 적절한 필드 모음으로 드래그합니다. 일반적으로, 타겟 필드 모음의 색으로 표시된 차원 또는 치수 필드를 사용하게 됩니다. [**Value**] 필드 모음을 채우기 위해 차원 필드를 사용하도록 선택한 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다.

        Amazon Quick Sight는 선택한 시각적 객체 유형을 사용하여 시각적 객체를 생성합니다.
   + 제안을 사용하여 시각적 객체를 만듭니다.

     도구 모음에서 **Suggested(제안)**를 선택한 다음 제안된 시각적 객체를 선택합니다.

# Amazon Quick Sight 시각적 객체를 분석으로 가져오기
<a name="import-visuals"></a>

Quick Sight 작성자는 Quick Sight 시각적 객체를 한 분석 또는 대시보드에서 액세스 권한이 있는 새 분석으로 가져올 수 있습니다. Quick Sight 분석 또는 대시보드에서 다른 Quick Sight 분석으로 시각적 객체를 가져오면 시각적 객체와 함께 다음 종속성을 가져옵니다.
+ 시각적 객체와 연결된 데이터세트
+ 시각적 객체에 구성된 모든 파라미터
+ 시각적 객체에 구성된 계산된 필드
+ 필터 정의
+ 시각적 속성
+ 조건부 형식 지정 규칙

Quick Sight 시각적 객체 가져오기에 대해 자세히 알아보려면 다음 섹션을 참조하세요.

**Topics**
+ [고려 사항](#import-visuals-considerations)
+ [시각적 객체 가져오기](#import-visual-procedure)

## 고려 사항
<a name="import-visuals-considerations"></a>

시각적 객체를 가져오기 전에 다음 제한 사항을 검토하세요.
+ 시각적 객체를 가져오려는 Quick Sight 작성자는 시각적 객체를 가져오려는 분석에 대한 소유권이 있어야 합니다.
+ 필터 컨트롤을 가져올 수 없음
+ 한 번에 여러 시트에서 시각적 객체 가져오기가 지원되지 않음
+ 북마크 및 알림에 대해 유지 관리되는 필터 구성을 포함한 일부 사용자 구성이 지원되지 않음

## 시각적 객체 가져오기
<a name="import-visual-procedure"></a>

다음 절차를 사용하여 소스 대시보드 또는 분석에서 다른 분석으로 시각적 객체를 가져옵니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 시각적 객체를 가져오려는 분석을 엽니다.

1. **파일**을 선택하고 **가져오기**를 선택하세요. 또는 **추가** 도구 모음에서 **가져오기** 아이콘을 선택할 수 있습니다.

1. **자산 탐색기** 모달이 열립니다. 액세스할 수 있는 적격한 모든 소스 분석 및 대시보드 목록이 표시됩니다. 시각적 객체를 가져오려는 아티팩트를 선택하고 **로드**를 선택하세요. 또는 **삽입할 소스 찾기** 검색 표시줄에서 가져오려는 시각적 객체가 포함된 소스 아티팩트의 이름을 입력하세요. 원하는 아티팩트를 선택하고 **로드**를 선택하세요.

1. **가져올 시각적 객체 선택** 페이지가 열리고 여기에서 가져오려는 시각적 객체가 포함된 시트를 선택하고 가져오려는 시각적 객체를 선택하세요. 한 번에 한 시트에서만 시각적 객체를 가져올 수 있습니다. 가져오려는 시각적 객체를 모두 선택한 경우 **가져오기**를 선택하세요.

가져오기 작업에 성공하면 가져온 시각적 객체가 대상 분석에 추가됩니다. 가져온 시각적 객체는 소스 대시보드 또는 분석에서 구성된 원래 속성을 유지합니다. 가져온 시각적 객체는 대상 분석에 적용된 테마에서 테마 수준 속성을 상속합니다.

# Quick Sight 시각적 객체 복제
<a name="duplicating-a-visual"></a>

시각적 객체를 복제하여 동일한 시트 또는 다른 시트에서 새 복사본을 만들 수 있습니다.

시각적 객체를 복제하려면 **v**-모양의 시각적 객체 메뉴에서 **Duplicate visual to(시각적 객체 복제 대상)**를 선택한 다음 시각적 객체를 표시할 시트를 선택합니다. 디스플레이에 복제된 시각적 객체가 자동으로 표시됩니다.

복제된 시각적 객체는 원본 시각적 객체와 동일한 필터 및 설정을 유지합니다. 하지만 시각적 객체를 다른 시트에 복제하면 복사된 모든 필터는 복제본에만 적용됩니다. 복사된 모든 필터는 해당 시각적 객체에만 적용되도록 범위가 축소됩니다. 필터를 새 시트의 더 많은 시각적 객체에 적용하려면 필터를 편집하고 설정을 변경하십시오.

파라미터 및 제어가 모든 시트에 적용됩니다. 다른 시트에 복제되는 시각적 객체를 사용하도록 파라미터 제어를 설정하려면 대상 시트에 필터를 추가하고 파라미터에 연결합니다. 이렇게 하려면 필터 유형에 대해 **Custom filter(사용자 지정 필터)**를 선택합니다.

# Amazon Quick Sight 시각적 객체 이름 바꾸기
<a name="renaming-a-visual"></a>

시각적 객체의 이름을 바꾸려면 다음 절차에 따르십시오.

**시각화 이름 바꾸기**

1. 분석 페이지에서 이름을 바꾸고자 하는 시각적 객체를 선택합니다.

1. 시각적 객체의 왼쪽 상단에서 시각적 객체 이름을 선택하고 새 이름을 입력합니다.

1. **Enter**를 누르거나 시각적 객체 이름 필드의 바깥쪽을 클릭하여 새 이름을 저장합니다.

# Amazon Quick Sight에서 시각적 데이터 보기
<a name="viewing-visual-data"></a>

Amazon Quick Sight는 시각적 객체에 표시되는 데이터의 세부 정보를 볼 수 있는 다양한 방법을 제공합니다. 시각적 객체의 축 또는 행과 열(시각적 객체 유형에 따라)에는 레이블이 있습니다. 시각적 객체에 있는 그래픽 요소를 마우스로 가리키면 해당 요소와 연결된 데이터가 표시됩니다. 일부 시각적 객체 유형은 시각적 신호를 사용하여 커서로 가리키는 요소를 강조 표시하고 구분하기 쉽게 만듭니다. 예를 들어, 시각적 유형에 따라 요소의 색상이 변경되거나 요소가 강조 표시될 수 있습니다.

다음 단원을 읽고 시각적 객체의 데이터 보기에 대해 자세히 알아보십시오.

**Topics**
+ [시각화 세부 정보 보기](viewing-visual-details.md)
+ [시각화 데이터 스크롤하기](scrolling-through-visual-data.md)
+ [시각화 요소 초점 맞추기](focusing-on-visual-elements.md)
+ [시각화 요소 초점 제외하기](excluding-visual-elements.md)
+ [Quick Sight에서 데이터의 특정 값 검색](search-filter.md)

# 시각화 세부 정보 보기
<a name="viewing-visual-details"></a>

시각적 객체를 보는 경우 그래픽 요소에 커서를 올려 놓으면 해당 요소에 대한 세부 정보를 볼 수 있습니다. 예를 들어 막대형 차트에서 막대 하나를 마우스로 가리키면 해당 막대에 대한 정보가 툴팁에 표시됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/bar-detail.png)


또한 산점도의 단일 데이터 포인트 위에 커서를 놓으면 해당 특정 데이터 포인트에 대한 정보가 표시됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/scatter-plot-detail.png)


차트의 데이터에 커서를 놓을 때 표시되는 정보를 사용자 지정할 수 있습니다. 자세한 내용은 [툴팁](customizing-visual-tooltips.md) 단원을 참조하십시오.

# 시각화 데이터 스크롤하기
<a name="scrolling-through-visual-data"></a>

막대 차트, 선 차트 및 피벗 테이블의 경우 시각적 객체의 내용이 원하는 시각적 객체 크기보다 클 수 있습니다.

이러한 경우 표시되는 데이터를 줄이거나 스크러빙할 수 있도록 스크럽 막대가 나타납니다. 이 과정은 동영상을 스크러빙하는 방식과 유사합니다.

스크럽 막대의 길이를 줄이려면 커서의 모양이 변경될 때까지 스크럽 막대의 한쪽 끝에 마우스 포인터를 올려 놓습니다. 그런 다음 위젯을 끌어서 스크럽 막대를 크거나 작게 만듭니다. 데이터를 스크롤하려면 스크럽 막대를 클릭한 상태에서 확인하려는 끝 부분까지 밉니다.

# 시각화 요소 초점 맞추기
<a name="focusing-on-visual-elements"></a>

시각적 객체를 볼 때 초점을 맞추거나 제외할 데이터를 선택할 수 있습니다. 선택하려면 막대 또는 풍선이나 행 또는 열 머리글과 같은 요소를 선택합니다.

데이터에 초점을 맞추거나 제외하면 Quick Sight가 필터를 생성하고 선택한 데이터만 표시합니다.

필터를 제거하려면 왼쪽에서 **필터**를 선택한 다음 필터를 비활성화하거나 삭제합니다. **실행 취소**를 사용하여 필터를 제거할 수도 있습니다.

시각적 객체에 범주(차원)를 표시하는 범례가 있는 경우 범례의 값을 클릭하여 사용 가능한 작업 메뉴를 볼 수 있습니다. 예를 들어 막대 차트의 **색상** 또는 **그룹/색상** 필드 모음에 필드가 있다고 가정합니다. 막대 차트 메뉴에는 다음과 같이 막대를 클릭하거나 마우스 오른쪽 버튼으로 클릭하여 선택할 수 있는 작업이 표시됩니다.
+ 시각적 요소에 초점 맞추기 또는 제외
+ 시각적 요소의 색상 변경
+ 계층 구조로 드릴다운
+ 필터링 또는 URL 작업을 포함하여 메뉴에서 활성화된 사용자 지정 작업

# 시각화 요소 초점 제외하기
<a name="excluding-visual-elements"></a>

시각적 객체를 볼 때 시각적 객체의 요소를 선택한 다음, 해당 요소에 포커스를 맞출 수 있습니다. 포커스를 맞출 수 있는 요소로는 막대 또는 풍선, 피벗 테이블의 경우 행 또는 열 머리글이 있습니다. 예외적으로, 날짜 필드에 매핑된 요소는 제외할 수 없습니다. 단일 차트의 요소는 여러 개를 제외할 수 있습니다.

요소를 제외하면 시각화에서 해당 요소만 제거하는 필터가 생성됩니다.

제외된 요소를 다시 표시하려면 애플리케이션 표시줄에서 **실행 취소**를 선택하거나 필터를 비활성화 또는 삭제합니다.

필터에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 필터링](adding-a-filter.md)단원을 참조하세요.

# Quick Sight에서 데이터의 특정 값 검색
<a name="search-filter"></a>

시각화 데이터를 필터링하거나, 이상 항목을 미리 보거나, 대시보드의 목록 또는 드롭다운 컨트롤을 사용할 때 관심 있는 값을 빠르게 검색할 수 있습니다.

특정 값을 검색하거나 특정 검색 쿼리가 포함된 모든 값을 검색할 수 있습니다. 예를 들어, 미국 주 목록에서 ‘al’을 검색하면 **Al**abama, **Al**aska, C**al**ifornia가 반환됩니다.

와일드카드 검색을 사용하여 특정 문자 패턴과 일치하는 모든 값을 검색할 수도 있습니다. 예를 들어, 문자 ‘ia’로 끝나는 미국의 모든 주를 검색해 California, Georgia, Pennsylvania, Virginia, West Virginia로 결과를 좁힐 수 있습니다.

**필터 또는 컨트롤에서 값을 검색하려면** 검색 표시줄에 검색 쿼리를 입력합니다.

## 와일드카드 검색 사용하기
<a name="search-filter-wildcard"></a>

다음 와일드카드 문자를 사용하여 Quick Sight 필터, 목록 및 드롭다운 컨트롤, 이상 미리 보기에서 값을 찾을 수 있습니다.
+ **\$1** - 별표를 사용하여 특정 위치에서 0개 내지 여러 개의 문자가 일치하는 값을 검색합니다.
+ **?** - 물음표를 사용하여 특정 위치에 있는 한 문자가 일치하는 값을 검색합니다.
+ **\$1** - 백슬래시를 사용하여 **\$1**, **?**, 또는 **\$1** 와일드카드 문자에서 빠져나오거나 쿼리에서 와일드카드 문자를 검색합니다. 예를 들어 물음표로 끝나는 구문을 검색할 수 있습니다.

다음은 Quick Sight 검색 쿼리에서 지원되는 와일드카드 문자를 사용하는 방법의 예입니다.
+ **al** - 이 쿼리는 **al**을(를) 포함한 모든 값을 검색해 Alabama, Alaska, California를 반환합니다.
+ **al\$1** - 이 쿼리는 **al**(으)로 시작하고 0개 내지 여러 개의 문자로 끝나는 모든 값을 검색합니다. 미국 주 목록에 있는 Alabama와 Alaska를 반환합니다.
+ **\$1ia** - 이 쿼리는 0개 내지 여러 개의 문자로 시작하고 글자 **ia**(으)로 끝나는 모든 값을 검색합니다. California, Georgia, Pennsylvania, Virginia, West Virginia를 반환합니다.
+ **\$1al\$1** - 이 쿼리는 글자 **al**의 앞뒤에 0개 내지 여러 개의 문자를 포함하는 모든 값을 검색합니다. Alabama, Alaska, California를 반환합니다.
+ **a?a?a?a** - 이 쿼리는 **a** 글자 사이의 정확한 위치에 있는 한 문자를 포함한 모든 값을 검색합니다. Alabama를 반환합니다.
+ **a?a\$1a** - 이 쿼리는 처음 두 **a** 글자 사이에 한 문자가 있고 다음 두 **a** 글자 사이에 여러 개의 문자가 있는 모든 값을 검색합니다. Alabama와 Alaska를 반환합니다.
+ **How\$1\$1?** - 이 쿼리는 **How**(으)로 시작하고 그 뒤에 0개 내지 여러 개의 문자의 문자가 오며 물음표로 끝나는 값을 검색합니다. 이 쿼리의 백슬래시(\$1)는 Quick Sight에 물음표 기호를 와일드카드 문자로 사용하는 대신 각 값에서 물음표를 검색하도록 알립니다. 이 쿼리는 질문을 반환합니다. 어떻게 지내세요? 그리고, 어떻게 이런 일이 가능할까요?
+ **\$1\$1\$1** - 이 쿼리는 별표로 시작하고 그 뒤에 0개 내지 여러 개의 문자가 오는 값을 검색합니다. 이 쿼리의 백슬래시(\$1)는 별표 기호를 와일드카드 문자로 사용하는 대신 Quick Sight에 값에서 실제 별표를 검색하도록 알립니다. 이 쿼리는 \$1all, \$1above, \$1below 등의 값을 반환합니다.
+ **\$1\$1\$1** - 이 쿼리는 백슬래시를 포함하고 그 뒤에 0개 내지 여러 개의 문자가 오는 값을 검색합니다. 이 쿼리의 첫 번째 백슬래시(\$1)는 백슬래시 기호를 와일드카드 문자로 사용하는 대신 Quick Sight에 각 값에서 두 번째 백슬래시(\$1)를 검색하도록 알립니다. 이 쿼리는 \$1Home과 같은 결과를 반환합니다.
+ **???** - 이 쿼리는 3개의 문자가 포함된 값을 검색합니다. ant, bug, car 등의 값을 반환합니다.

# 시각화에서 데이터 내보내기
<a name="exporting-data"></a>

**참고**  
내보내기 파일은 데이터 세트 가져오기의 정보를 직접 반환할 수 있습니다. 따라서 가져온 데이터에 수식이나 명령이 포함된 경우 파일이 CSV 삽입에 취약해집니다. 이러한 이유로, 파일을 내보내는 경우 보안 경고가 표시될 수 있습니다. 악의적인 활동을 방지하려면 내보낸 파일을 읽을 때 링크와 매크로를 끄세요.

Amazon Quick 콘솔을 사용하면 모든 유형의 차트 또는 그래프에서 데이터를 내보낼 수 있습니다. 내보내기에는 선택한 시각화에 현재 표시되는 필드의 데이터만 포함됩니다. 필터링된 모든 데이터는 내보내기 파일에서 제외됩니다. 데이터를 다음과 같은 형식으로 내보낼 수 있습니다.
+ 쉼표로 구분된 값(CSV)이 포함된 텍스트 파일로, 모든 시각화 유형에 사용할 수 있습니다.
+ Microsoft Excel 통합 문서 파일(.xslx)은 피벗 테이블 및 테이블 차트에만 사용할 수 있습니다.

다음 규칙이 적용됩니다.
+ 내보낸 파일은 현재 사용 중인 브라우저에 구성된 기본 다운로드 디렉터리로 다운로드됩니다.
+ 다운로드한 파일은 파일을 내보낸 시각화의 이름을 따라 명명됩니다. 파일 이름을 고유하게 만들기 위해, 순차적 타임스탬프(Unix epoch 데이터 형식)를 사용합니다.
+ CSV 형식으로 내보내기에 대한 기본 제한: 500MB 또는 1M 행 중 먼저 도래하는 값
+ Excel 형식으로 내보내기에 대한 기본 제한: 
  + 피벗 테이블 시각적 객체 400K 셀 또는 50K 행에서 
  + 테이블 시각적 객체 800K 셀 또는 100K 행에서 
**참고**  
Paginated Reporting을 구독하면 [시각적 객체를 CSV 및 Excel 형식으로 내보내도록 예약](https://docs.aws.amazon.com/quicksight/latest/user/sending-reports.html)하고 최대 3M 행(CSV) 및 16M 셀(Excel)을 내보낼 수 있습니다.
+ 인사이트는 데이터를 소비하지만 데이터를 포함하지는 않기 때문에 인사이트에서 데이터를 내보낼 수 없습니다.
+ Quick Sight는 한 번에 두 개 이상의 시각화에서 데이터 내보내기를 지원하지 않습니다. 동일한 분석 또는 대시보드의 추가 시각적 객체에서 데이터를 내보내려면 각 시각적 객체에 대해 이 프로세스를 반복합니다. 대시보드 또는 분석에서 모든 데이터를 내보내려면 유효한 자격 증명과 데이터 추출에 사용할 수 있는 도구를 사용하여 원본 데이터 소스에 연결해야 합니다.

다음 절차에 따라 Amazon Quick Sight의 시각화에서 데이터를 내보냅니다. 시작하기 전에 내보내려는 데이터가 들어 있는 분석 또는 대시보드를 엽니다.

**시각화에서 데이터 내보내기**

1. 내보내려는 시각화를 선택합니다. 선택 및 강조 표시되었는지 확인합니다.

1. 화면 오른쪽 상단에서 메뉴를 열고 아래 중 하나를 선택합니다.
   + CSV로 내보내려면 **CSV로 내보내기**를 선택합니다.
   + XSLX로 내보내려면 **Excel로 내보내기**를 선택합니다. 이 옵션은 피벗 테이블 및 테이블 차트에만 사용할 수 있습니다.

1.  브라우저 설정에 따라 다음 중 하나와 같이 진행됩니다.
   + 파일이 자동으로 기본 **다운로드** 위치로 이동합니다.
   + 대화상자가 나타나므로 파일 이름과 위치를 선택할 수 있습니다.
   + 대화상자가 나타나므로 기본 소프트웨어가 포함된 파일을 열거나 파일을 저장하도록 선택할 수 있습니다.

# Quick Sight에서 시각적 객체 새로 고침
<a name="refreshing-visuals"></a>

Quick Sight 분석 또는 대시보드에서 작업할 때 파라미터 또는 필터 제어 업데이트와 같이 영향을 미치는 항목을 변경하면 시각적 객체가 새로 고쳐지고 다시 로드됩니다. 매개 변수 또는 필터를 변경한 후 새 시트로 전환하면 변경의 영향을 받는 시각화만 새 시트에서 새로 고쳐집니다. 그렇지 않으면 시트를 전환할 때 시각화가 30분마다 업데이트됩니다. 이는 모든 분석 및 대시보드의 기본 동작입니다.

변경 사항과 관계없이 시트를 전환할 때 모든 시각화를 새로 고치려면 생성한 각 분석에 대해 새로 고칠 수 있습니다.

**분석에서 시트를 전환할 때마다 모든 시각화를 새로 고치기**

1. Amazon Quick에서 분석을 엽니다.

1. 분석에서 **편집 > 분석 설정**을 선택합니다.

1. **분석 설정** 창이 열리면 **새로 고침 옵션**에서 **시트를 전환할 때마다 시각적 객체를 다시 로드** 토글 버튼을 켭니다.

1. **적용**을 선택합니다.

# Amazon Quick Sight 시각적 객체 삭제
<a name="deleting-a-visual"></a>

시각적 객체를 삭제하려면 다음 절차에 따르십시오.

**시각화 삭제하기**

1. 분석 페이지에서 삭제하고자 하는 시각적 객체를 선택합니다.

1. 시각적 객체의 오른쪽 상단 모서리에서 시각적 객체 메뉴를 선택한 다음 [**Delete**]를 선택합니다.

# Amazon Quick Sight의 시트에서 주제 사용
<a name="using-q-topics-on-sheets"></a>

Amazon Quick Sight는 주제를 생성하기 위한 안내 워크플로를 제공합니다. 작업에 지장을 주지 않고 가이드 워크플로에서 나갔다가 다시 돌아올 수 있습니다.

분석 작업 영역에서 Quick Sight 주제를 하나 이상 활성화하면 ML 기반 자동 데이터 준비를 활성화하여 자연어(NL) 주제 생성을 가속화합니다. 자동 데이터 준비는 사용 방식과 일반적인 Q&A 요구 사항에 따라 고가치 필드를 자동으로 선택합니다. 기존 분석의 용어와 일반 사전을 기반으로 사용자에게 친숙한 필드 이름과 동의어를 자동으로 선택합니다. 또한 데이터의 서식을 자동으로 지정하므로 데이터를 표시하는 즉시 유용하게 사용할 수 있습니다.

자동 데이터 준비는 주제를 분석에 바인딩하고 자연어 검색을 위한 인덱스를 준비합니다. 파란색 점은 이 바인딩을 나타냅니다. 대시보드 사용자는 새 Amazon Quick Sight 주제가 자동으로 선택되므로 데이터 세트를 더 쉽게 쿼리할 수 있습니다.

주제 작업에 적용되는 규칙은 다음과 같습니다.
+ 해당 데이터 세트 또는 해당 데이터 세트를 사용하는 분석을 사용하여 주제를 만들려면 먼저 기본 데이터 세트의 소유자여야 합니다.
+ 기존 주제를 분석에 연결하려면 먼저 주제 소유자여야 합니다.

**주제를 활성화하려면**

1. 자동 데이터 준비에 사용할 분석을 엽니다.

1. 상단 탐색 모음에서 주제 아이콘을 선택합니다.

1. 다음 중 하나를 선택합니다.
   + 새 주제를 활성화하려면 **새 주제 생성을** 선택하고 주제 제목과 선택적 설명을 입력합니다.
   + 기존 주제를 활성화하려면 **기존 주제 업데이트**를 선택하고 목록에서 해당 주제를 선택합니다.

1. **주제 활성화**를 선택하여 선택을 확인합니다.

1. 주제 처리를 완료하면 분석을 통해 학습한 내용을 활용하여 자연어로 질문할 수 있습니다.

   이제 사용자가 대시보드로 이동하면 검색 창에 연결된 주제가 자동으로 선택됩니다.

주제가 분석에 연결된 후 분석에 대한 추가 업데이트가 주제에 자동으로 동기화되지는 않습니다. 작성자는 **주제** 페이지에서 주제 업데이트를 수동으로 관리해야 합니다.

분석 또는 대시보드에 대해 주제를 활성화하면 자동화된 데이터 준비에서 데이터 분석 방법을 학습하는 프로세스가 시작됩니다. 화면 프롬프트에 따라 질문하고 피드백과 추가 정보를 제공하세요. 주제와 더 많이 상호 작용할수록 질문에 더 잘 답변할 준비가 됩니다.

자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/user/quicksight-q-starting-from-sheets.html](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-q-starting-from-sheets.html)를 참조하세요.

# Amazon Quick Sight의 시각적 객체 유형
<a name="working-with-visual-types"></a>

Amazon Quick Sight는 데이터를 표시하는 데 사용할 수 있는 다양한 시각적 객체 유형을 제공합니다. 이 단원의 주제를 통해 각 시각적 객체 유형의 기능에 대해 자세히 알아보십시오.

**Topics**
+ [측정값 및 차원](#measures-and-dimensions)
+ [표시 제한](#display-limits)
+ [기타 범주 숨기기 또는 표시하기](#other-category)
+ [표시할 데이터 포인트의 수 사용자 지정하기](#customizing-number-of-data-points)
+ [AutoGraph 사용](autograph.md)
+ [막대 차트 사용하기](bar-charts.md)
+ [박스 플롯 사용하기](box-plots.md)
+ [콤보 차트 사용하기](combo-charts.md)
+ [사용자 지정 시각화 콘텐츠 사용하기](custom-visual-content.md)
+ [도넛 차트 사용하기](donut-chart.md)
+ [퍼널 차트 생성하기](funnel-charts.md)
+ [게이지 차트 사용하기](gauge-chart.md)
+ [히트 맵 사용하기](heat-map.md)
+ [Highcharts 사용](highchart.md)
+ [히스토그램 사용하기](histogram-charts.md)
+ [이미지 구성 요소 사용](image-component.md)
+ [KPI 사용](kpi.md)
+ [레이어 맵 사용](layered-maps.md)
+ [선형 차트 사용하기](line-charts.md)
+ [맵 및 지리공간 차트 생성하기](geospatial-charts.md)
+ [소배수 사용하기](small-multiples.md)
+ [파이 차트 사용하기](pie-chart.md)
+ [피벗 테이블 사용하기](pivot-table.md)
+ [방사형 차트 사용하기](radar-chart.md)
+ [생키 다이어그램 사용하기](sankey-diagram.md)
+ [산점도 사용하기](scatter-plot.md)
+ [테이블을 시각화로 사용하기](tabular.md)
+ [텍스트 상자 사용하기](textbox.md)
+ [트리 맵 사용하기](tree-map.md)
+ [워터폴 차트 사용하기](waterfall-chart.md)
+ [단어 클라우드 사용하기](word-cloud.md)

## 측정값 및 차원
<a name="measures-and-dimensions"></a>

시각화에서 측정, 비교 및 집계에 사용하는 숫자 값을 가리킬 때 측정값이라는 용어를 사용합니다. 치수는 숫자 필드(예: 제품 비용) 또는 모든 데이터 형식의 필드에 대한 숫자 집계(예: 거래 ID 수)일 수 있습니다.

측정값과 관련이 있는 제품 또는 속성이며 항목을 나누는 데 사용할 수 있는 항목일 수 있는 텍스트 또는 날짜 필드를 가리킬 때 차원 또는 범주 라는 용어를 사용합니다. 판매 수치에서 판매일을, 고객 만족도 수치에서 제품 제조업체를 예로 들 수 있습니다. Amazon Quick Sight는 데이터 유형에 따라 필드를 측정값 또는 차원으로 자동으로 식별합니다.

숫자 필드는 차원으로 취급될 수 있습니다(예: 우편 번호 및 대부분의 ID 번호). 데이터 준비 중에 이러한 필드에 문자열 데이터 형식을 지정하는 것이 좋습니다. 이렇게 하면 Amazon Quick Sight는 이를 차원으로 취급해야 하며 수학 계산을 수행하는 데는 유용하지 않음을 이해합니다.

또는 분석마다 필드를 차원 또는 치수로 표시할지 여부를 변경할 수 있습니다. 자세한 내용은 [차원 또는 측정값인 필드](creating-a-visual.md#dimensions-and-measures) 단원을 참조하십시오.

## 표시 제한
<a name="display-limits"></a>

모든 시각적 객체 유형은 시각적 요소(예: 선, 막대 또는 풍선)를 쉽게 보고 분석할 수 있도록 표시되는 데이터 요소의 수를 제한합니다. 시각적 객체는 시각적 객체 유형에 대한 제한까지 표시할 처음 *n*개 행을 선택합니다. 선택은 정렬 순서(적용된 경우) 또는 기본 순서(적용되지 않은 경우)를 따릅니다.

지원되는 데이터 포인트의 수는 시각적 객체 유형에 따라 다릅니다. 특정 시각적 객체 유형에 대한 표시 제한에 대한 자세한 내용은 해당 유형의 주제를 참조하십시오.

시각적 객체 유형에 대한 표시 제한에 도달하면 표시된 데이터 요소의 수가 시각적 객체 제목에 나타납니다. 큰 데이터 세트가 있는데 시각적 객체 표시 제한에 도달하지 않으려면 필터를 하나 이상 사용하여 표시되는 데이터의 양을 줄입니다. 시각적 객체에 필터 사용에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 필터링](adding-a-filter.md) 단원을 참조하십시오.

대시보드 및 분석의 경우 Amazon Quick Sight는 다음을 지원합니다.
+ 대시보드당 데이터 세트 50개
+ 대시보드당 스프레드시트 20개
+ 스프레드시트당 30개의 시각화 개체 

**참고**  
Amazon Quick Sight는 30개 이상의 다양한 *시각적 객체 유형*(바 차트, 파이 차트, 선 차트와 같은 차트 및 시각화 범주)을 지원합니다. 각 분석 시트에는 모든 유형의 조합으로 구성된 최대 30개의 *시각적 인스턴스*(개별 차트 객체)가 포함될 수 있습니다.

또한 **other** 범주에 추가하기 전에 시각적 객체에 표시하려는 데이터 포인트의 수를 제한하도록 선택할 수 있습니다. 이 범주에는 사용 중인 시각적 유형에 대한 차단 한도(사용자가 지정했거나 표시 제한에 따른 한도)를 초과하는 모든 데이터에 대한 집계 데이터가 포함됩니다. 시각적 객체 메뉴를 사용하여 **other** 범주를 표시할지 선택할 수 있습니다. **기타** 범주는 산점도, 히트 맵, 맵, 테이블(테이블 형식 보고서) 또는 핵심성과지표(KPI)를 표시하지 않습니다. X축이 날짜인 경우 선 차트를 표시하지 않습니다. **other** 범주 탐색은 지원되지 않습니다.

## 기타 범주 숨기기 또는 표시하기
<a name="other-category"></a>

다음 순서에 따라 기타 범주를 숨기거나 표시할 수 있습니다.

**기타 범주 숨기기 또는 표시하기**

1. 분석 페이지에서 수정하려는 시각적 객체를 선택합니다.

1. 시각적 객체의 오른쪽 상단 모서리에서 시각적 객체 메뉴를 선택한 다음 [**Hide "other" category**] 또는 [**Show "other" category**]를 적절하게 선택합니다.

## 표시할 데이터 포인트의 수 사용자 지정하기
<a name="customizing-number-of-data-points"></a>

일부 시각적 객체의 주요 축에 표시할 데이터 포인트의 수를 선택할 수 있습니다. 이 수가 차트에 표시된 후 추가 데이터 포인트가 "other" 범주에 포함됩니다. 예를 들어 200에서 10데이터 포인트를 포함하도록 선택할 경우 10이 차트에 표시되고 190이 “other” 범주에 속하게 됩니다.

이렇게 설정하려면 **v** 모양의 시각적 메뉴를 선택한 다음 **Format visual(시각적 객체 형식 지정)**을 선택합니다. 다음 테이블을 사용하여 어느 필드가 데이터 포인트 설정을 잘 포함하는지와 시각적 객체 유형이 기본으로 얼마의 데이터 포인트를 표시하는지 결정할 수 있습니다.


| 시각적 객체 유형 | 데이터 포인트 설정의 위치 | 기본 데이터 포인트의 수 | 
| --- | --- | --- | 
|  막대 차트, 가로  |  **Y축** - **표시된 데이터 포인트의 수**  | 10,000 | 
|  막대 차트, 세로  |  **X축** - **표시된 데이터 포인트의 수**  | 10,000 | 
|  콤보 차트  |  **X축** - **표시된 데이터 포인트의 수**  | 2,500 | 
|  열 지도  |  **행** - **표시된 행의 수** **열** - **표시된 열의 수**  | 100 | 
|  선 차트  |  **X축** - **표시된 데이터 포인트의 수**  | 10,000 | 
|  파이 차트  |  **그룹/색상** - **표시된 슬라이스의 수**  | 20 | 
|  트리 맵  |  **그룹화 기준** - **표시된 정사각형의 수**  | 100 | 

# AutoGraph 사용
<a name="autograph"></a>

AutoGraph는 시각적 객체 유형 자체가 아니라 Amazon Quick에 시각적 객체 유형을 선택하도록 지시할 수 있습니다. AutoGraph를 선택한 다음 필드를 선택하여 시각적 객체를 생성하면 Amazon Quick은 선택한 필드의 수와 데이터 유형에 가장 적합한 시각적 객체 유형을 사용합니다.

## AutoGraph를 사용하여 시각화 생성하기
<a name="create-autograph"></a>

AutoGraph를 사용하여 시각적 객체를 생성하려면 다음 절차에 따르십시오.

**AutoGraph를 사용하여 시각화 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. [**Visual types**] 창에서 AutoGraph 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용할 필드를 선택합니다.

# 막대 차트 사용하기
<a name="bar-charts"></a>

Amazon Quick은 수평 또는 수직 방향의 다음과 같은 유형의 막대 차트를 지원합니다.
+ **단일 측정값** - 단일 측정값 막대 차트를 사용하여 한 차원에 대한 단일 측정값을 표시합니다.
+ **다중 측정값** - 다중 측정값 막대 차트를 사용하여 한 차원에 대한 다중 측정값을 표시합니다.
+ **클러스터형** - 클러스터형 막대 차트는 한 차원에 대한 단일 측정값을 다른 차원으로 그룹화하여 표시합니다.
+ **누적형** - 누적형 막대 차트는 두 차원의 측정값을 표시한다는 점에서 클러스터형 막대 차트와 유사합니다. 상위 차원을 기준으로 각 하위 차원의 막대를 클러스터로 묶는 대신 상위 차원당 막대 하나를 표시합니다. 막대 내에서 색상 블록을 사용하여 하위 차원에 대한 각 항목의 관련 값을 표시합니다. 색상 블록은 측정값의 총계를 기준으로 하위 차원의 각 항목 값을 반영합니다. 누적 막대 차트는 선택된 치수의 최대값을 기준으로 막대의 크기가 결정됩니다.
+ **누적형 100%** - 누적형 100% 막대 차트는 누적형 막대 차트와 유사합니다. 하지만 누적형 100% 막대 차트에서는 색상 블록에 하위 차원의 각 항목 백분율(100% 기준)이 반영됩니다.

그룹 또는 색상을 사용하지 않는 시각적 객체의 경우 막대 차트는 축에 최대 10,000개의 데이터 포인트를 표시합니다. 그룹 또는 색상을 사용하는 시각적 객체의 경우 이 차트는 축에 최대 50개의 데이터 포인트를 표시하고 그룹 또는 색상에 대해 최대 50개의 데이터 포인트를 표시합니다. Amazon Quick이 표시 한도를 벗어나는 데이터를 처리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[표시 제한](working-with-visual-types.md#display-limits).

## 단일 측정값 막대 차트 생성하기
<a name="create-bar-chart"></a>

다음 순서에 따라 단일 측정값 막대 차트를 생성할 수 있습니다.

**단일 측정값 막대 차트 생성하기**

1. 분석 페이지 왼쪽의 도구 모음에서 **시각화**를 선택합니다.

1. 왼쪽 상단의 애플리케이션 표시줄에서 **추가**를 선택한 다음 **시각화 추가**를 선택합니다.

1. **시각적 객체 유형** 창에서 **가로 막대 차트** 또는 **세로 막대 차트** 아이콘을 선택합니다.

1. **필드 목록** 창에서 **X축** 또는 **Y축** 필드 웰로 차원을 드래그합니다.

1. **필드 목록** 창에서 **값** 필드 웰로 측정값을 드래그합니다.

## 다중 측정값 막대 차트 생성하기
<a name="create-bar-chart-multi"></a>

다음 순서에 따라 다중 측정값 막대 차트를 생성할 수 있습니다.

**다중 측정값 막대 차트 생성하기**

1. 분석 페이지 왼쪽의 도구 모음에서 **시각화**를 선택합니다.

1. 왼쪽 상단의 애플리케이션 표시줄에서 **추가**를 선택한 다음 **시각화 추가**를 선택합니다.

1. **시각적 객체 유형** 창에서 **가로 막대 차트** 또는 **세로 막대 차트** 아이콘을 선택합니다.

1. **필드 목록** 창에서 **X축** 또는 **Y축** 필드 웰로 차원을 드래그합니다.

1. **필드 목록** 창에서 **값** 필드 웰로 둘 이상의 측정값을 드래그합니다.

## 클러스터형 막대 차트 생성하기
<a name="create-bar-chart-clustered"></a>

다음 순서에 따라 클러스터형 막대 차트를 생성할 수 있습니다.

**클러스터형 막대 차트 생성하기**

1. 분석 페이지 왼쪽의 도구 모음에서 **시각화**를 선택합니다.

1. 왼쪽 상단의 애플리케이션 표시줄에서 **추가**를 선택한 다음 **시각화 추가**를 선택합니다.

1. **시각적 객체 유형** 창에서 **가로 막대 차트** 또는 **세로 막대 차트** 아이콘을 선택합니다.

1. **필드 목록** 창에서 **X축** 또는 **Y축** 필드 웰로 차원을 드래그합니다.

1. **필드 목록** 창에서 **값** 필드 웰로 측정값을 드래그합니다.

1. **필드 목록** 창에서 **그룹/색상** 필드 웰로 차원을 드래그합니다.

## 누적형 막대 차트 생성하기
<a name="create-bar-chart-stacked"></a>

다음 순서에 따라 누적형 막대 차트를 생성할 수 있습니다.

**누적형 막대 차트 생성하기**

1. 분석 페이지 왼쪽의 도구 모음에서 **시각화**를 선택합니다.

1. 왼쪽 상단의 애플리케이션 표시줄에서 **추가**를 선택한 다음 **시각화 추가**를 선택합니다.

1. **시각적 객체 유형** 창에서 **가로 누적 막대 차트** 또는 **세로 누적 막대 차트** 아이콘을 선택합니다.

1. **필드 목록** 창에서 **X축** 또는 **Y축** 필드 웰로 차원을 드래그합니다.

1. **필드 목록** 창에서 **그룹/색상** 필드 웰로 차원을 드래그합니다.

1. **필드 목록** 창에서 **값** 필드 웰로 측정값을 드래그합니다.

1. (선택 사항) 데이터 레이블 추가 및 총계 표시:

   1. 시각적 객체 오른쪽 상단에 있는 메뉴에서, **시각적 객체 형식 지정** 아이콘을 선택합니다.

   1. **시각적 객체** 창에서 **데이터 레이블**을 선택합니다.

   1. 스위치를 토글하여 데이터 레이블을 표시합니다.

      각 측정값의 레이블이 차트에 나타나고 총계를 표시하는 옵션이 창에 나타납니다.

   1. **합계 표시**를 선택합니다.

      차트의 각 막대에 총계가 표시됩니다.

## 누적형 100% 막대 차트 생성하기
<a name="create-bar-chart-stacked-100"></a>

다음 순서에 따라 누적형 100% 막대 차트를 생성할 수 있습니다.

**누적형 100% 막대 차트 생성하기**

1. 분석 페이지 왼쪽의 도구 모음에서 **시각화**를 선택합니다.

1. 왼쪽 상단의 애플리케이션 표시줄에서 **추가**를 선택한 다음 **시각화 추가**를 선택합니다.

1. **시각적 객체 유형** 창에서 **가로 누적 100% 막대 차트** 또는 **세로 누적 100% 막대 차트** 아이콘을 선택합니다.

1. **필드 목록** 창에서 **X축** 또는 **Y축** 필드 웰로 차원을 드래그합니다.

1. **필드 목록** 창에서 **값** 필드 웰로 둘 이상의 측정값을 드래그합니다.

## 막대 차트의 기능
<a name="bar-chart-features"></a>

막대 차트에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


****  

| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예(예외 있음) | 다중 치수와 클러스터 막대 차트에는 범례가 표시되지만 단일 치수 가로 막대 차트에는 표시되지 않습니다. | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 예 |  | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 축선, 격자선, 축 레이블, 축 정렬 아이콘 표시하기 또는 숨기기 | 예 |  | [Quick의 시각적 객체 유형에 대한 축 및 그리드 선](showing-hiding-axis-grid-tick.md) | 
| 시각적 객체 색상 변경 | 예 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예(예외 있음) | 날짜 필드를 축의 차원으로 사용하는 경우를 제외하고 차트에서 모든 막대를 강조 또는 제외할 수 있습니다. 이 경우에는 막대를 강조만 할 수 있고 제외할 수는 없습니다. |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md)  | 
| 정렬 | 예 | 축과 값에 대해 선택한 필드를 정렬할 수 있습니다. | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 | 값에 대해 선택한 필드에는 집계를 적용해야 하며, 축 또는 그룹/색상에 대해 선택한 필드에는 집계를 적용할 수 없습니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 예 | 축 및 Group/Color(그룹/색상) 필드 모음에 드릴다운 수준을 추가할 수 있습니다. | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 
| 데이터 레이블 표시하기 | 예 |  | [Quick의 시각적 객체 유형에 대한 데이터 레이블](customizing-visual-data-labels.md) | 
| 누적형 막대 차트 총계 표시하기 | 예 | 누적형 막대 차트에 총계를 표시하려면 데이터 레이블을 표시하도록 선택해야 합니다. | [누적형 막대 차트](#create-bar-chart-stacked) | 

# 박스 플롯 사용하기
<a name="box-plots"></a>

박스 및 위스커 플롯이라고도 하는 박스 플롯은 여러 원본에서 수집된 데이터를 하나의 시각화로 표시하여 데이터에 기반한 결정을 내리는 데 도움이 됩니다. 박스 플롯을 사용하면 데이터가 축을 가로질러 또는 시간 경과에 따라 어떻게 분포되는지 시각화할 수 있습니다(예: 7일 동안의 지연 항공편). 일반적으로 박스 플롯은 정보를 분기 단위로 자세히 설명합니다.
+ **최소값** - 이상치를 제외한 가장 낮은 데이터 포인트입니다.
+ **최대값** - 이상치를 제외한 가장 높은 데이터 포인트입니다.
+ **중앙값** - 데이터 세트의 중간 값입니다.
+ **제1사분위수** - 데이터 세트의 가장 작은 수와 중앙값 사이의 중간 값입니다. 제1사분위수에는 최소값이나 중앙값이 포함되지 않습니다.
+ **제3사분위수** - 데이터 세트의 가장 큰 수와 중앙값 사이의 중간 값입니다. 제3사분위수에는 최대값이나 중앙값이 포함되지 않습니다.

이상치는 박스 플롯의 키 값 계산에 포함되지 않는 극단적인 데이터 포인트입니다. 이상치는 개별적으로 계산되기 때문에 박스 플롯이 생성된 직후에는 해당 데이터 포인트가 나타나지 않습니다. 박스 플롯에는 최대 10,000개의 데이터 포인트가 표시됩니다. 데이터 세트에 10,000개가 넘는 데이터 요소가 포함된 경우 시각화의 오른쪽 상단에 경고가 나타납니다.

박스 플롯은 최대 5개의 메트릭과 1개의 그룹화 기준을 지원하지만, 중복된 메트릭이 제공되는 경우 렌더링되지 않습니다.

박스 플롯은 일부 계산된 필드를 지원하지만 전부 지원하지는 않습니다. `avgOver` 등의 윈도우 함수를 사용하는 모든 계산된 필드는 SQL 오류가 발생합니다.

박스 플롯 시각화는 MySQL 5.3 및 이전 버전과 호환되지 않습니다.

**기본 박스 플롯 시각화 생성하기**

1. 에서 Amazon Quick에 로그인합니다[https://quicksight.aws.amazon.com/](https://quicksight.aws.amazon.com/).

1. Quick을 열고 왼쪽 탐색 창에서 **분석을** 선택합니다.

1. 다음 중 하나를 선택합니다.
   + 새 분석을 생성하려면 오른쪽 상단에서 **새 분석**을 선택합니다. 자세한 내용은 [Quick Sight에서 분석 시작](creating-an-analysis.md) 단원을 참조하십시오.
   + 기존 분석을 사용하려면 편집하려는 분석을 선택합니다.

1. **추가**, **시각화 추가**를 선택합니다.

1. 왼쪽 하단의 **시각화 유형**에서 박스 플롯 아이콘을 선택합니다.

1. **필드 목록** 창에서 해당 필드 모음에 사용하려는 필드를 선택합니다. 박스 플롯에는 하나 이상의 고유한 측정값 필드가 필요합니다.

1. (선택 사항) 하나 이상의 추가 필드를 [**Group/Color**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

   박스 플롯에서 지원되는 기능을 이해하려면 [Quick의 유형별 분석 형식](analytics-format-options.md)을(를) 참조하십시오. 사용자 지정 옵션에 대한 내용은 [Amazon Quick의 형식 지정](formatting-a-visual.md)을(를) 참조하십시오.

# 콤보 차트 사용하기
<a name="combo-charts"></a>

콤보 차트를 사용하면 추세 및 범주 같은 두 가지 유형의 데이터를 표시하는 하나의 시각화를 만들 수 있습니다. 콤보 차트는 선 차트와 막대 차트를 결합하기 때문에 선과 막대 차트라고도 합니다. 막대 차트는 범주를 비교하는 데 유용합니다. 막대 차트와 선형 차트 모두 시간 경과에 따른 변화를 표시하는 데 유용하지만, 막대 차트는 변화 간의 차이를 더 크게 보여주어야 합니다.

Amazon Quick은 다음과 같은 유형의 콤보 차트를 지원합니다.
+ **클러스터형 막대 콤보 차트** - 각 집합이 상위 차원을 나타내고 각 막대가 하위 차원을 나타내는 단색 막대 집합을 표시합니다. 이 차트를 사용하면 각 막대에 대한 값을 쉽게 결정할 수 있습니다.
+ **누적형 막대 콤보 차트** - 각 막대가 상위 차원을 나타내고 각 색상이 하위 차원을 나타내는 여러 색상의 막대를 표시합니다. 이 차트를 사용하면 상위 차원 내에서 하위 차원 간의 관계를 쉽게 확인할 수 있습니다. 이 차트는 상위 차원의 총 값과 각 하위 차원이 총 값에 더해지는 방식을 보여줍니다. 각 하위 차원의 값을 결정하려면 차트 해석 시 색상 섹션의 크기를 해당 축의 데이터 레이블과 비교해야 합니다.

두 가지 유형의 콤보 차트는 **X축**의 한 차원만을 필요로 하지만 **선** 아래에 있는 최소 하나의 치수를 표시하는 데 있어 더욱 효율적입니다.

막대와 선 간의 관계를 표시하려는 경우에만 콤보 차트를 사용해야 합니다. 두 차트 유형의 관계를 설명해야 할 경우, 경험상 두 개의 별도 차트를 대신 사용하는 것이 가장 좋습니다.

각 차트는 다르게 작동하므로 시작하기 전에 다음 사항을 이해하는 것이 도움이 될 수 있습니다.
+ 각 시리즈의 데이터 포인트는 서로 다른 축척으로 렌더링됩니다. 콤보 차트는 선택된 치수의 최댓값을 기준으로 막대의 크기가 결정됩니다.
+ 각 차트 유형에 대해 동일한 눈금을 선택하더라도 축에서 숫자 간 거리가 선과 막대 사이에서 일치하지 않습니다.
+ 정확성을 위해 각 데이터 시리즈 측정에 서로 다른 단위를 사용하십시오.

콤보 차트는 2개의 다른 시각화 유형을 동시에 사용하는 것과 같습니다. 막대(또는 열)의 데이터가 선(또는 행)의 데이터와 직접적으로 관련이 있어야 합니다. 이 관계는 도구에 의해 기술적으로 적용되지 않기 때문에 이 관계를 직접 확인하는 것이 기본입니다. 선과 막대 사이의 일부 관계가 없는 경우 시각적 객체가 의미를 상실합니다.

콤보 차트 시각적 객체 유형을 사용하면 단일 치수 또는 단일 선 차트를 생성할 수 있습니다. 단일 치수 콤보 차트는 한 차원에 대한 하나의 치수를 표시합니다.

다중 치수 차트를 생성하려면 여러 개의 선 또는 막대를 선택할 수 있습니다. 다중 치수 막대 차트는 한 차원에 대해 2개 이상의 치수를 표시합니다. 클러스터에 있는 막대를 그룹화하거나 누적할 수 있습니다.

막대에는 축의 차원과 값에 대한 치수를 사용합니다. 차원은 어떤 면에서 치수와 관련된 텍스트 필드입니다. 더욱 자세한 정보를 표시하기 위해 치수를 분할하는 데 사용할 수 있습니다. 차트의 각 막대는 선택한 차원 내 항목에 대한 치수 값을 나타냅니다.

그룹 또는 색상을 사용하지 않는 시각화의 경우 막대와 선은 축에 최대 2,500개의 데이터 포인트를 표시합니다. 그룹 또는 색상을 사용하는 시각적 객체의 경우 막대는 축에 최대 50개의 데이터 포인트를 표시하고 그룹 또는 색상에 대해 최대 50개의 데이터 포인트를 표시하는 반면, 선은 축에 최대 200개의 데이터 요소를 표시하고 그룹 또는 색상에 대해 최대 25개의 데이터 포인트를 표시합니다. Amazon Quick이 표시 한도를 벗어나는 데이터를 처리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[표시 제한](working-with-visual-types.md#display-limits).

## 콤보 차트의 기능
<a name="combo-chart-features"></a>

콤보 차트에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


****  

| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예(예외 있음) | 다중 치수 콤보 차트는 범례를 표시하지만 단일 치수 콤보 차트는 표시하지 않습니다. | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 예 | 축의 범위를 설정할 수 있습니다. | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 축선, 격자선, 축 레이블, 축 정렬 아이콘 표시하기 또는 숨기기 | 예 |  | [Quick의 시각적 객체 유형에 대한 축 및 그리드 선](showing-hiding-axis-grid-tick.md) | 
| 시각적 객체 색상 변경 | 예 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예(예외 있음) | 날짜 필드를 축의 차원으로 사용하는 경우를 제외하고 차트에서 모든 막대를 강조 또는 제외할 수 있습니다. 이 경우에는 막대를 강조만 할 수 있고 제외할 수는 없습니다. |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 예 | 축과 값에 대해 선택한 필드를 정렬할 수 있습니다. | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 | 필드 또는 값에 대해 선택한 필드에 집계를 적용해야 합니다. 축 또는 그룹/색상에 대해 선택한 필드에는 집계를 적용할 수 없습니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 예 | 축 및 Group/Color(그룹/색상) 필드 모음에 드릴다운 수준을 추가할 수 있습니다. | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 
| Y축 동기화하기 | 예 |  막대와 선의 Y축을 단일 축으로 동기화합니다.  | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 

## 콤보 차트 생성하기
<a name="create-combo-chart"></a>

콤보 차트를 생성하려면 다음 절차에 따르십시오.

**콤보 차트 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. **Visual types(시각적 객체 유형)** 창에서 콤보 차트 아이콘 하나를 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 차원 또는 치수 필드를 사용합니다. 차원 필드를 치수로 사용하도록 선택하는 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다. 다음과 같이 콤보 차트를 생성할 수 있습니다.
   + **X axis(X축)**에 대한 차원을 선택합니다.
   + 단일 치수 콤보 차트를 생성하려면 **Bars(막대)** 또는 **Lines(선)** 중 하나의 치수 하나를 선택합니다.
   + 다중 치수 콤보 차트를 생성하려면 **Bars(막대)** 또는 **Lines(선)** 필드 모음에 대한 치수를 둘 이상 선택합니다.
   + 선택적으로 [**Group/Color**] 필드 모음에 차원을 추가합니다. [**Group/Color**]에 필드가 있는 경우 [**Bars**] 아래에 하나 이상의 필드를 보유할 수 없습니다.  
![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/combo-chart-example2-clustered.png)

1. (선택 사항) 하나 이상의 추가 필드를 [**X axis**] 또는 [**Group/Color**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

# 사용자 지정 시각화 콘텐츠 사용하기
<a name="custom-visual-content"></a>

사용자 지정 시각적 콘텐츠 차트 유형을 사용하여 빠른 대시보드에 웹 페이지와 온라인 비디오, 양식 및 이미지를 포함할 수 있습니다.

예를 들어 대시보드에 회사 로고 이미지를 임베드할 수 있습니다. 조직의 최근 컨퍼런스에서 제작한 온라인 동영상을 임베드할 수도 있고, 대시보드 독자에게 대시보드가 유용한지 묻는 온라인 양식을 임베드할 수도 있습니다.

사용자 지정 시각화 콘텐츠를 만든 후 탐색 동작을 사용하여 콘텐츠 내에서 탐색할 수 있습니다. 또한 매개 변수를 사용하여 매개 변수에 표시되는 내용을 제어할 수 있습니다.

사용자 지정 시각화 콘텐츠에는 다음과 같은 제한 사항이 적용됩니다.
+ `https` URL 스키마만 지원됩니다.
+ 사용자 지정 시각화 콘텐츠는 이메일 보고서에서 지원되지 않습니다.
+ 핫링크 보호를 사용하는 이미지와 웹 사이트는 사용자 지정 시각화에 로드되지 않습니다.

대시보드에 웹 페이지, 비디오, 온라인 양식 또는 이미지를 포함하려면 시각적 객체 **유형** 창에서 사용자 지정 시각적 객체 콘텐츠 아이콘을 선택합니다.

대시보드에 시각화를 추가하는 방법에 대한 자세한 내용은 [시각화 추가하기](creating-a-visual.md#create-a-visual)을(를) 참조하십시오.

다음 절차를 사용하여 대시보드에 사용자 지정 시각화를 임베드하는 방법을 알아보십시오.

## 사용자 지정 시각화 콘텐츠 사용 모범 사례
<a name="custom-visual-content-best-practices"></a>

사용자 지정 시각화 콘텐츠 차트 유형을 사용하여 웹 콘텐츠를 임베드할 때는 다음을 권장합니다.
+ IFrame에서 콘텐츠 보기 또는 열기를 지원하는 원본에서 웹 콘텐츠를 선택합니다. 웹 콘텐츠의 소스가 IFrame에서 보거나 여는 것을 지원하지 않는 경우 URL이 정확하더라도 콘텐츠가 Quick에 표시되지 않습니다.
+ 가급적이면, 특히 동영상, 온라인 양식, 스프레드시트 및 문서의 경우 임베드 가능한 URL을 사용하십시오. 임베드 가능한 URL을 사용하면 대시보드 독자에게 더 나은 경험을 제공하고 콘텐츠와 더 쉽게 상호 작용할 수 있습니다. 원본 웹 사이트의 콘텐츠를 공유하기로 선택하면 일반적으로 콘텐츠에 임베드할 수 있는 URL을 찾을 수 있습니다.
+ 소유한 내부 URL 또는 URL을 임베드하려면 해당 URL이 IFrame에서 열리도록 설정해야 할 수 있습니다.
+ 분석 또는 대시보드에서 사용자 지정 시각화 콘텐츠를 볼 때는 모든 쿠키를 사용 설정해야 합니다. 브라우저에서 타사 쿠키가 차단된 경우 사용자 지정 콘텐츠 시각적 객체에 임베딩된 웹 사이트의 일부인 이미지는 렌더링되지 않습니다.
**참고**  
Chrome은 2024년 말까지 모든 타사 쿠키 사용을 중단할 계획을 발표했습니다. 즉, 빠른 사용자 지정 콘텐츠 시각적 객체에 포함된 웹 사이트에는 더 이상 Chrome에서 타사 쿠키에 의존하는 콘텐츠가 표시되지 않습니다. Chrome의 서드파티 쿠키 사용 중단 계획에 대한 자세한 정보는 [Chrome의 서드파티 쿠키 사용 중단](https://cloud.google.com/looker/docs/best-practices/chrome-third-party-cookie-deprecation)을 참조하세요.

## 대시보드에 이미지 임베드하기
<a name="custom-visual-content-image"></a>

이미지 URL을 사용하여 대시보드에 온라인 이미지를 임베드할 수 있습니다. 다음 순서에 따라 사용자 지정 시각화 콘텐츠 차트 유형을 사용하여 이미지를 임베드할 수 있습니다.

타사 쿠키가 차단된 브라우저에는 임베드된 이미지가 표시되지 않습니다. 대시보드에 임베드된 이미지를 보려면 브라우저 설정에서 타사 쿠키를 사용 설정하십시오.

**대시보드에 이미지 임베드하기**

1. **시각화 유형** 창에서 사용자 지정 시각화 콘텐츠 아이콘을 선택합니다.

1. 시각화에서 **시각화 사용자 지정**을 선택합니다.

1. **속성** 창이 열리면 **사용자 지정 콘텐츠** 아래에 임베드하려는 이미지의 이미지 URL을 입력합니다.

1. **적용**을 선택합니다.

   이미지는 시각화에서 웹 페이지로 나타납니다.

1. **이미지로 표시**를 선택합니다.

   URL이 이미지인 경우 이미지가 시각화에 나타납니다.

   URL이 이미지가 아닌 경우(예: 슬라이드 쇼, 갤러리 또는 웹 페이지 URL) `This URL doesn't appear to be an image. Update the URL to an image` 메시지가 나타납니다. 이렇게 하려면 임베드하려는 이미지를 별도의 브라우저 탭에서 열거나 이미지에 대한 임베드 가능한 URL(일반적으로 이미지 공유를 선택할 때 검색됨)을 선택합니다.

1. (선택 사항) **이미지 크기 조정 옵션**의 경우 다음 옵션 중 하나를 선택합니다.
   + **너비에 맞추기** - 이 옵션은 이미지를 시각화의 너비에 맞춥니다.
   + **높이에 맞추기** - 이 옵션은 이미지를 시각화의 높이에 맞춥니다.
   + **시각화에 맞게 크기 조정** - 이 옵션은 시각화의 너비와 높이에 맞게 이미지 크기를 조정합니다. 이 옵션을 사용하면 이미지가 왜곡될 수 있습니다.
   + **크기 조정 안 함** - 이 옵션은 이미지를 원래 크기로 유지하므로 이미지가 시각화의 크기에 맞지 않습니다. 이 옵션을 사용하면 이미지가 시각화의 중앙에 배치되고 시각화의 너비와 높이 내에 있는 이미지 부분이 표시됩니다. 시각화가 이미지보다 작은 경우 이미지의 일부가 표시되지 않을 수 있습니다. 그러나 시각화가 이미지보다 크면 이미지가 시각화 중앙에 배치되고 공백으로 둘러싸여 표시됩니다.

## 대시보드에 온라인 양식 임베드하기
<a name="custom-visual-content-form"></a>

임베드 가능한 URL을 사용하여 대시보드에 온라인 양식을 임베드할 수 있습니다. 다음 순서에 따라 사용자 지정 시각화 콘텐츠 차트 유형을 사용하여 온라인 양식을 임베드할 수 있습니다.

**대시보드에 온라인 양식 임베드하기**

1. **시각화 유형** 창에서 사용자 지정 시각화 콘텐츠 아이콘을 선택합니다.

1. 시각화에서 **시각화 사용자 지정**을 선택합니다.

1. **속성** 창이 열리면 **사용자 지정 콘텐츠** 아래에 임베드하려는 온라인 양식의 양식 URL을 입력합니다.

   가급적이면 양식에 대해 임베드 가능한 URL을 사용하십시오. 임베드 가능한 URL을 사용하면 양식을 사용해 상호 작용하고자 하는 대시보드 독자에게 더 나은 경험을 제공할 수 있습니다. 대부분의 경우 양식을 만든 사이트에서 양식을 공유하기로 선택하면 임베드 가능한 URL을 찾을 수 있습니다.

1. **적용**을 선택합니다.

   양식이 시각화에 표시됩니다.

## 대시보드에 웹 페이지 임베드하기
<a name="custom-visual-content-webpage"></a>

URL을 사용하여 대시보드에 웹 페이지를 임베드할 수 있습니다. 다음 순서에 따라 사용자 지정 시각화 콘텐츠 차트 유형을 사용하여 웹 페이지를 임베드할 수 있습니다.

**대시보드에 웹 페이지 임베드하기**

1. **시각화 유형** 창에서 사용자 지정 시각화 콘텐츠 아이콘을 선택합니다.

1. 시각화에서 **시각화 사용자 지정**을 선택합니다.

1. **속성** 창이 열리면 **사용자 지정 콘텐츠** 아래에 임베드하려는 웹 페이지의 URL을 입력합니다.

1. **적용**을 선택합니다.

   웹 페이지가 시각화에 표시됩니다.

## 대시보드에 온라인 동영상 임베드하기
<a name="custom-visual-content-video"></a>

임베드 가능한 동영상 URL을 사용하여 대시보드에 온라인 동영상을 임베드할 수 있습니다. 다음 순서에 따라 사용자 지정 시각화 콘텐츠 차트 유형을 사용하여 온라인 동영상을 임베드할 수 있습니다.

**대시보드에 온라인 동영상 임베드하기**

1. **시각화 유형** 창에서 사용자 지정 시각화 콘텐츠 아이콘을 선택합니다.

1. 시각화에서 **시각화 사용자 지정**을 선택합니다.

1. **속성** 창이 열리면 **사용자 지정 콘텐츠** 아래에 임베드하려는 동영상의 임베드 가능한 URL을 입력합니다.

   동영상의 임베드 가능한 URL을 찾으려면 동영상을 공유하고 IFrame 코드에서 임베드 URL을 복사하십시오. YouTube 동영상의 임베드 URL 예: `https://www.youtube.com/embed/uniqueid` Vimeo 동영상의 경우 표시되는 임베드 URL: `https://player.vimeo.com/video/uniqueid`

1. **적용**을 선택합니다.

   동영상이 시각화에 표시됩니다.

# 도넛 차트 사용하기
<a name="donut-chart"></a>

도넛형 차트를 사용하여 차원 내 항목의 값을 비교합니다. 이 유형의 차트를 사용하는 가장 좋은 방법은 전체 금액의 일정 비율을 보여주는 것입니다.

도넛형 차트의 각 쐐기는 차원에서 하나의 값을 나타냅니다. 쐐기의 크기는 치수 전체에 비해 항목이 나타내는 선택한 치수의 값 비율을 나타냅니다. 도넛형 차트는 정밀도가 크게 중요하지 않고 차원 내에 항목이 몇 개 없는 경우 매우 적합합니다.

Amazon Quick에서 도넛형 차트를 사용하는 방법을 알아보려면 다음 동영상을 시청하세요.

[![AWS Videos](http://img.youtube.com/vi/vR6H4bXaRBY/0.jpg)](http://www.youtube.com/watch?v=vR6H4bXaRBY)


도넛형 차트를 만들려면 **그룹/색상** 필드 웰에서 하나의 차원을 사용하십시오. 하나의 필드만 있으면 차트는 행 수로 나눈 값이 표시됩니다. 지표 값으로 차원 값의 나누기를 표시하려면 **값** 필드 웰에 지표 필드를 추가합니다.

도넛형 차트는 그룹 또는 색상에 대해 최대 20개의 데이터 포인트를 표시합니다. Amazon Quick이 표시 한도를 벗어나는 데이터를 처리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[표시 제한](working-with-visual-types.md#display-limits).

## 도넛 차트의 기능
<a name="donut-chart-features"></a>

도넛형 차트에서 지원되는 기능에 대해 알아보려면 다음 표를 참조하십시오.


****  

| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 해당 사항 없음 |  | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 시각적 객체 색상 변경 | 예 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예(예외 있음) | 날짜 필드를 차원으로 사용하는 경우를 제외하고 도넛형 차트의 쐐기를 강조 또는 제외할 수 있습니다. 이 경우에는 쐐기를 강조만 할 수 있고 제외할 수는 없습니다. |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 예 | 값 또는 그룹이나 색상에 대해 선택한 필드를 정렬할 수 있습니다. | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 | 값에 대해 선택한 필드에는 집계를 적용해야 하며, 그룹 또는 색상에 대해 선택한 필드에는 집계를 적용할 수 없습니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 예 | [Group/Color] 필드 모음에 드릴다운 수준을 추가할 수 있습니다. | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 
| 크기 선택 | 예 | 도넛형 차트의 두께를 작음, 중간, 큼으로 선택할 수 있습니다. | [Amazon Quick의 형식 지정](formatting-a-visual.md) | 
| 합계 표시 | 예 | 값 필드의 집계를 표시하거나 숨길 수 있습니다. 기본적으로 이는 그룹/색상 필드의 총 수 또는 값 필드의 총 합계를 표시합니다. | [Amazon Quick의 형식 지정](formatting-a-visual.md) | 

## 도넛 차트 생성하기
<a name="create-donut-chart"></a>

도넛형 차트를 생성하려면 다음 절차에 따르십시오.

**도넛 차트 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. **Visual types(시각적 객체 유형)** 창에서 도넛형 차트 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 차원 또는 치수 필드를 사용합니다. 차원 필드를 치수로 사용하도록 선택하는 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다.

   도넛형 차트를 만들려면 **그룹/색상** 필드 웰에서 하나의 차원을 사용하십시오. 또는 치수를 **값** 필드 모음으로 끌어옵니다.

1. (선택 사항) 하나 이상의 추가 필드를 [**Group/Color**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

# 퍼널 차트 생성하기
<a name="funnel-charts"></a>

퍼널 차트를 사용하면 선형 프로세스에서 여러 단계로 이동하는 데이터를 시각화할 수 있습니다. 퍼널 차트에서는 프로세스의 각 단계가 다양한 모양과 색상의 블록으로 표시됩니다. 머리라고 부르는 첫 번째 단계가 가장 큰 블록이고, 목이라고 부르는 작은 단계가 이어져 깔때기 모양을 이룹니다. 퍼널 차트의 각 단계를 나타내는 블록 크기는 전체 중 백분율이며 해당 값에 비례합니다. 블록 크기가 클수록 값도 커집니다.

퍼널 차트는 병목 현상과 같은 각 단계의 추세나 잠재적 문제 영역을 볼 수 있기 때문에 비즈니스 상황에서 유용한 경우가 많습니다. 예를 들어, 첫 접촉부터 최종 판매, 유지 관리에 이르기까지 판매의 각 단계에서 잠재적 수익 금액을 시각화하는 데 도움이 될 수 있습니다.

**기본 퍼널 차트 시각화 생성하기**

1. Amazon Quick을 열고 왼쪽 탐색 창에서 **분석을** 선택합니다.

1. 다음 중 하나를 선택합니다.
   + 새 분석을 생성하려면 오른쪽 상단에서 **새 분석**을 선택합니다. 자세한 내용은 [Quick Sight에서 분석 시작](creating-an-analysis.md) 단원을 참조하십시오.
   + 기존 분석을 사용하려면 편집하려는 분석을 선택합니다.

1. **추가(\$1), 시각화 추가**를 선택합니다.

1. 왼쪽 하단의 **시각화 유형**에서 퍼널 차트 아이콘을 선택합니다.

1. **필드 목록** 창에서 해당 필드 모음에 사용하려는 필드를 선택합니다. 퍼널 차트에는 **그룹**에 하나의 차원이 필요합니다.

1. (선택 사항) 하나 이상의 추가 필드를 [**Group/Color**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

   퍼널 차트에서 지원되는 기능을 이해하려면 [Quick의 유형별 분석 형식](analytics-format-options.md)을(를) 참조하십시오. 사용자 지정 옵션에 대한 내용은 [Amazon Quick의 형식 지정](formatting-a-visual.md)을(를) 참조하십시오.

# 게이지 차트 사용하기
<a name="gauge-chart"></a>

게이지 차트를 사용하여 치수 내 항목의 값을 비교합니다. 다른 치수 또는 사용자 지정 양과 비교할 수 있습니다.

게이지 차트는 비디지털 게이지와 유사합니다(예: 자동차의 연료 게이지). 측정하고 있는 것이 얼마나 많은지 그 양을 보여줍니다. 게이지 차트에서 이 측정은 단독으로 또는 다른 측정과 관련하여 존재할 수 있습니다. 게이지 차트의 각 컬러 섹션은 하나의 값을 나타냅니다. 다음 예제에서는 실제 매출을 판매 목표와 비교하고 목표를 달성하기 위해 33.27%를 추가로 판매해야 한다는 것을 보여줍니다.

Amazon Quick에서 게이지 차트를 사용하는 방법을 알아보려면 다음 동영상을 시청하세요.

[![AWS Videos](http://img.youtube.com/vi/03gYx4-iGak/0.jpg)](http://www.youtube.com/watch?v=03gYx4-iGak)


게이지 차트를 만들려면 적어도 하나의 측정 값을 사용해야 합니다. **값** 필드 웰에 측정 값을 넣으십시오. 두 가지 값을 비교하려면 **대상 값** 필드 웰에 추가 값을 입력하십시오. 단일 측정 값을 데이터 세트에 없는 대상 값과 비교하려는 경우 고정 값이 포함된 계산된 필드를 사용할 수 있습니다.

**Format visual(시각적 객체 서식 지정)**의 다음 설정을 포함하여 게이지 차트의 다양한 서식 옵션을 선택할 수 있습니다.
+ ****표시된 값**** - 값 숨기기, 실제 값 표시하기 또는 두 값 비교 표시하기
+ ****비교 방법**** - 값을 백분율, 값의 실제 차이 또는 차이의 백분율로 비교
+ ****축 스타일**** - 
  + **축 레이블 표시** - 축 레이블을 표시하기 또는 숨기기
  + **범위** - 게이지 차트에 표시할 숫자의 최소 및 최대 범위
  + **리저브 패딩(%)** - 범위의 맨 위에 추가(대상, 실제 값 또는 최대 값)
+ ****아크 스타일**** - 아크의 표시 각도(180°\$1360°)
+ ****두께**** - 아크의 두께(작음, 중간, 큼)

## 게이지 차트의 기능
<a name="gauge-chart-features"></a>

게이지 차트에서 지원되는 기능에 대해 알아보려면 다음 표를 참조하십시오.


****  

| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 게이지 형식 지정 | 예 | 표시되는 값, 비교 방법, 축 스타일, 아크 스타일 및 게이지 두께를 사용자 지정할 수 있습니다. |  | 
| 축 범위 변경 | 아니요 |  |  | 
| 시각적 객체 색상 변경 | 예 | 채색된 영역의 전경색입니다. 값을 나타냅니다. 채워지지 않은 영역의 배경색입니다. 선택된 경우, 대상 값을 나타냅니다. | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 아니요 |  |  | 
| 정렬 | 아니요 |  | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 |  | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 아니요 |  |  | 

## 게이지 차트 생성하기
<a name="create-gauge-chart"></a>

게이지 차트를 생성하려면 다음 절차에 따르십시오.

**게이지 차트 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. **Visual types(시각적 객체 유형)** 창에서 게이지 차트 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 게이지 차트를 생성하려면 치수를 **값** 필드 모음으로 끌어옵니다. 비교 값을 추가하려면 다른 치수를 **대상 값** 필드 모음으로 끌어옵니다.

# 히트 맵 사용하기
<a name="heat-map"></a>

열 지도를 사용하여 차원 2개의 교차 부분에 대한 치수를 표시합니다. 컬러 코딩으로 범위 내 값의 위치를 쉽게 구분할 수 있습니다. 또한 열 지도는 차원 2개의 교차 부분에 대한 값의 개수를 표시하는 데에도 사용할 수 있습니다.

열 지도의 각 직사각형은 선택한 차원의 교차 부분에 대해 지정한 치수의 값을 나타냅니다. 직사각형 색상은 치수 범위 내에서 값의 위치를 나타내는데, 색이 어두울수록 값이 크고, 색이 밝을수록 값이 작습니다.

열 지도와 피벗 테이블은 비슷한 표 형식으로 데이터를 표시합니다. 색상을 사용하면 훨씬 더 쉽게 파악할 수 있기 때문에 트렌드 및 특이값을 식별하려는 경우에 열 지도를 사용합니다. 예를 들어, 열 정렬 순서를 변경하거나 행 또는 열 간에 집계 함수를 적용하여 시각적 객체에서 데이터를 추가로 분석하려는 경우 피벗 테이블을 사용합니다.

히트 맵을 생성하려면 모든 데이터 유형의 필드를 두 개 이상 선택하십시오. Amazon Quick은 교차하는 y축 값의 x축 값 수로 사각형 값을 채웁니다. 일반적으로 치수 1개와 차원 2개를 선택합니다.

열 지도는 데이터 요소를 행 및 행의 경우 각각 최대 50개씩 표시합니다. Amazon Quick이 표시 한도를 벗어나는 데이터를 처리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[표시 제한](working-with-visual-types.md#display-limits).

## 히트 맵의 기능
<a name="heat-map-features"></a>

열 지도에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 해당 사항 없음 |  | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 시각적 객체 색상 변경 | 아니요 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예(예외 있음) | 날짜 필드를 행 차원으로 사용하는 경우를 제외하고 열 지도의 직사각형을 강조 또는 제외할 수 있습니다. 이 경우에는 직사각형을 강조만 할 수 있고 제외할 수는 없습니다. |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 예 | 열 및 값에 대해 선택한 필드를 정렬할 수 있습니다. | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 | 값에 대해 선택한 필드에 집계를 적용해야 하고 행 또는 열에 대해 선택한 필드에는 집계를 적용할 수 없습니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 예 | [Rows] 및 [Columns] 필드 모음에 드릴다운 수준을 추가할 수 있습니다. | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 
| 조건부 형식 지정 | 아니요 |  | [Quick의 시각적 객체 유형에 대한 조건부 형식 지정](conditional-formatting-for-visuals.md) | 

## 히트 맵 생성하기
<a name="create-heat-map"></a>

열 지도를 생성하려면 다음 절차에 따르십시오.

**히트 맵 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. [**Visual types**] 창에서 열 지도 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 차원 또는 치수 필드를 사용합니다. 차원 필드를 치수로 사용하도록 선택하는 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다.

   열 지도를 생성하려면 차원을 [**Rows**] 필드 모음으로 끌어오고 차원을 [**Columns**] 필드 모음으로 끌어오고 치수를 [**Values**] 필드 모음으로 끌어옵니다.

1. (선택 사항) 하나 이상의 추가 필드를 [**Rows**] 또는 [**Columns**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

# Highcharts 사용
<a name="highchart"></a>

Highcharts 시각적 객체를 사용하여 [Highcharts Core 라이브러리](https://www.highcharts.com/blog/products/highcharts/)를 사용하는 사용자 지정 차트 유형 및 시각적 객체를 생성합니다. Highcharts 시각적 객체는 빠른 작성자가 [Highcharts API](https://api.highcharts.com/highcharts/)에 직접 액세스할 수 있도록 합니다.

Highcharts 시각적 객체를 구성하려면 Quick 작성자가 Quick의 시각적 객체에 Highcharts JSON 스키마를 추가해야 합니다. 작성자는 빠른 표현식을 사용하여 빠른 필드를 참조하고 하이차트 시각적 객체를 생성하는 데 사용하는 JSON 스키마의 형식 지정 옵션을 참조할 수 있습니다. JSON **차트 코드** 편집기는 입력 JSON 스키마가 올바르게 구성되었는지 확인하기 위해 자동 완성 및 실시간 검증에 대한 컨텍스트 지원을 제공합니다. 보안을 유지하기 위해 Highcharts 시각적 객체 편집기는 CSS, JavaScript 또는 HTML 코드 입력을 허용하지 않습니다.

Amazon Quick의 Highcharts Visuals에 대한 자세한 내용은 [DemoCentral](https://democentral.learnquicksight.online/#)의 [Highcharts Visual QuickStart 가이드를](https://democentral.learnquicksight.online/#Dashboard-FeatureDemo-Highcharts-Visual) 참조하세요.

다음 이미지는 Quick에서 Highcharts 시각적 객체의 **차트 코드** JSON 편집기에 구성된 립스틱 차트를 보여줍니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/highcharts-example1.png)


Quick의 Highcharts 시각적 객체로 생성할 수 있는 시각적 객체의 자세한 예는 [Highcharts 데모를 참조하세요](https://www.highcharts.com/demo).

## 고려 사항
<a name="highchart-considerations"></a>

Amazon Quick에서 Highcharts 시각적 객체 생성을 시작하기 전에 Highcharts 시각적 객체에 적용되는 다음 제한 사항을 검토하세요.
+ 다음 JSON 값은 Highcharts **차트 코드** JSON 편집기에서 지원되지 않습니다.
  + 함수
  + 날짜
  + 정의되지 않은 값
+ GeoJSON 파일 또는 기타 이미지에 대한 링크는 Highcharts 시각적 객체에서 지원되지 않습니다.
+ 필드 색상은 Highcharts 시각적 객체에서 사용할 수 없습니다. 기본 테마 색상은 모든 Highcharts 시각적 객체에 적용됩니다.

## Highcharts 시각적 객체 생성
<a name="highchart-create"></a>

다음 절차에 따라 Amazon Quick에서 Highcharts 시각적 객체를 생성합니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. Highcharts 시각적 객체를 추가하려는 빠른 분석을 엽니다.

1. 애플리케이션 표시줄에서 **추가**를 선택한 다음 **시각화 추가**를 선택합니다.

1. **시각적 객체 유형** 창에서 Highcharts 시각적 객체 아이콘을 선택하세요. 분석 시트에 빈 시각적 객체가 나타나고 왼쪽에서 **속성** 창이 열립니다.

1. **속성** 창에서 **표시 설정** 섹션을 확장하고 다음 작업을 수행하세요.

   1. **제목 편집**에서 페인트 브러시 아이콘을 선택하고 시각적 객체의 제목을 입력한 다음 **저장**을 선택하세요. 또는 눈 아이콘을 선택하여 제목을 숨기세요.

   1. (선택 사항) **자막 편집**에서 페인트 브러시 아이콘을 선택하고 시각적 객체의 부제목을 입력한 다음 **저장**을 선택하세요. 또는 눈 아이콘을 선택하여 부제목을 숨기세요.

   1. (선택 사항) **대체 텍스트**에 시각적 객체의 대체 텍스트를 추가하세요.

1. **데이터 포인트 제한** 섹션을 확장하세요. **표시할 데이터 포인트 수**에는 시각적 객체에서 표시할 데이터 포인트 수를 입력하세요. Highcharts 시각적 객체는 최대 10,000개의 데이터 포인트를 표시할 수 있습니다.

1. **차트 코드** 섹션을 확장합니다.

1. **차트 코드** JSON 편집기에 JSON 스키마를 입력하세요. 편집기는 입력 JSON이 올바르게 구성되었는지 확인하기 위해 컨텍스트 지원 및 실시간 검증을 제공합니다. Quick이 식별하는 모든 오류는 **오류** 드롭다운에서 볼 수 있습니다. 아래 예제에서는 업계별 올해 매출을 표시하는 립스틱 차트를 생성하는 JSON 스키마를 보여줍니다.

   ```
   {
     "xAxis": {
       "categories": ["getColumn", 0]
     },
     "yAxis": {
       "min": 0,
       "title": {
         "text": "Amount ($)"
       }
     },
     "tooltip": {
       "headerFormat": "<span style='font-size:10px'>{point.key}</span><table>",
       "pointFormat": "<tr><td style='color:{series.color};padding:0'>{series.name}: </td><td style='padding:0'><b>${point.y:,.0f}</b></td></tr>",
       "footerFormat": "</table>",
       "shared": true,
       "useHTML": true
     },
     "plotOptions": {
       "column": {
         "borderWidth": 0,
         "grouping": false,
         "shadow": false
       }
     },
     "series": [
       {
         "type": "column",
         "name": "Current Year Sales",
         "color": "rgba(124,181,236,1)",
         "data": ["getColumn", 1],
         "pointPadding": 0.3,
         "pointPlacement": 0.0
       }
     ]
   }
   ```

1. **코드 적용**을 선택하세요. 빠른는 JSON 스키마를 분석에 표시되는 시각적 객체로 변환합니다. 렌더링된 시각적 객체를 변경하려면 JSON 스키마에서 적절한 속성을 업데이트하고 **코드 적용**을 선택하세요.

1. (선택 사항) **참조** 드롭다운을 열어 유용한 Highctarts 참조 자료 링크에 액세스하세요.

렌더링된 시각적 객체에 만족하면 속성 창을 닫으세요. Highcharts 시각적 객체를 구성하는 데 사용할 수 있는 Quick Sight 특정 표현식에 대한 자세한 내용은 섹션을 참조하세요[Highcharts 시각적 객체를 위한 Amazon Quick JSON 표현식 언어](highchart-expressions.md).

## 대화형 Highchart 기능
<a name="interactive-features"></a>

Amazon Quick Sight의 차트 시각화는 사용자 지정 작업, 강조 표시 및 사용자 지정 필드 색상 일관성을 지원하므로 다른 Quick Sight 시각적 객체와 원활하게 통합되는 시각적으로 일관된 대화형 차트를 생성할 수 있습니다.

### 사용자 지정 작업
<a name="custom-actions-feature"></a>

사용자 지정 작업을 사용하면 Highchart 시각화에서 모든 데이터 포인트에 대한 특정 동작을 정의할 수 있습니다. 이 기능은 Quick Sight의 기존 작업 프레임워크와 원활하게 통합되어 사용자 클릭에 응답하는 대화형 차트를 생성할 수 있습니다. 시스템은 현재 단일 데이터 포인트 선택을 지원하므로 사용자 상호 작용을 정확하게 제어할 수 있습니다. 사용자 지정 작업은 선형 차트, 막대 차트, 누적 막대 차트 등 다양한 차트 유형에서 구현할 수 있습니다.

사용자 지정 작업을 구현하려면 Highcharts JSON 구성을 수정해야 합니다. 시리즈 구성에 이벤트 블록을 추가하여 클릭 이벤트 및 이에 대응하는 작업을 지정합니다. 예제:

```
{
  "series": [{
    "type": "line",
    "data": ["getColumn", 1],
    "name": "value",
    "events": {
      "click": [
        "triggerClick", { "rowIndex": "point.index" }
      ]
    }
}]
```

이 구성을 사용하면 차트의 데이터 포인트에서 클릭 이벤트를 활성화하여 Quick Sight가 선택한 데이터를 기반으로 사용자 지정 작업을 처리할 수 있습니다.

### 교차 시각적 객체 강조 표시
<a name="visual-highlighting-feature"></a>

교차 시각적 객체 강조 표시는 다양한 차트 사이에서 시각적 객체 연결을 생성하여 대시보드의 상호 작용을 개선합니다. 사용자가 한 차트에서 요소를 선택하면 다른 시각적 객체에서 관련 요소가 자동으로 강조 표시되고 관련 없는 요소는 흐리게 표시됩니다. 이 기능은 사용자가 여러 시각화에서 관계와 패턴을 빠르게 식별하여 데이터 이해 및 분석을 개선하는 데 도움이 됩니다.

교차 시각적 객체 강조 표시를 활성화하고 필드 색상 일관성을 유지하려면 Highcharts JSON 구성에서 `quicksight` 절을 사용합니다. 이 절은 Highcharts 렌더링과 Quick의 시각적 상호 작용 시스템 간의 브리지 역할을 합니다. 다음은 설정 방법에 대한 예제입니다.

```
{
  "quicksight": {
    "pointRender": ["updatePointAttributes", {
      "opacity": ["case", 
        ["dataMarkMatch", ["getColumnName", 0], "series.name"],
        1,  // Full opacity for matching elements
        0.1 // Dim non-matching elements
      ],
      "color": ["getColumnColorOverrides", ["getColumnName", 0], "series.name"]
    }]
  }
}
```

이 구성은 Quick Sight의 JSON 표현식 언어를 사용하여 사용자 상호 작용 및 사전 정의된 색상 체계를 기반으로 불투명도 및 색상과 같은 시각적 속성을 동적으로 수정합니다.

더 복잡한 시나리오의 경우 여러 조건을 기반으로 강조 표시를 설정할 수 있습니다. 이를 통해 시각화에서 보다 세심한 상호 작용이 가능합니다. 다음 예제에서는 분기 또는 요일을 기반으로 요소를 강조 표시합니다.

```
{
  "quicksight": {
    "pointRender": ["updatePointAttributes", {
      "opacity": ["case",
        ["||",
          ["dataMarkMatch", "quarter", "series.name"],
          ["dataMarkMatch", "day_of_week", "point.name"]
        ],
        1,  // Full opacity for matching elements
        0.1 // Dim non-matching elements
      ],
    }]
  }
}
```

### 필드 수준 색상 일관성
<a name="field-color-feature"></a>

효과적인 데이터 해석을 위해서는 대시보드에서 시각적 객체의 일관성을 유지하는 것이 매우 중요합니다. 필드 수준 색상 일관성 기능은 특정 차원에 할당된 색상이 대시보드의 모든 시각적 객체에서 유지되도록 보장합니다. 이러한 일관성을 통해 사용자는 여러 차트 유형 및 보기에서 특정 데이터 범주를 빠르게 인식하고 추적할 수 있으므로 전반적인 사용자 경험과 데이터 이해도가 향상됩니다.

# Highcharts 시각적 객체를 위한 Amazon Quick JSON 표현식 언어
<a name="highchart-expressions"></a>

Highcharts 시각적 객체는 대부분의 [유효한 JSON 값](https://www.w3schools.com/js/js_json_datatypes.asp), 표준 산술 연산자, 문자열 연산자 및 조건부 연산자를 허용합니다. 다음 JSON 값은 Highcharts 시각적 객체에서 지원되지 않습니다.
+ 함수
+ 날짜
+ 정의되지 않은 값

빠른 작성자는 JSON 표현식 언어를 사용하여 고차 시각적 객체에 JSON 스키마를 생성할 수 있습니다. JSON 표현식 언어는 JSON을 API 또는 데이터세트에 바인딩하여 JSON 구조의 동적 입력 및 수정을 허용하는 데 사용됩니다. 또한 개발자는 JSON 표현식 언어를 사용하여 간결하고 직관적인 표현식으로 JSON 데이터를 팽창하고 변환할 수 있습니다.

JSON 표현식 언어를 사용하면 표현식이 배열로 표현되며, 여기서 첫 번째 요소는 작업을 지정하고 후속 요소는 인수에 해당합니다. 예를 들어 `["unique", [1, 2, 2]]`는 `[1, 2, 2]` 배열에 `unique` 작업을 적용하여 `[1, 2]`를 생성합니다. 이 배열 기반 구문에서는 유연한 표현식을 사용할 수 있으며 JSON 데이터에 대한 복잡한 변환을 허용합니다.

JSON 표현식 언어는 *중첩 표현식*을 지원합니다. 중첩 표현식은 다른 표현식을 인수로 포함하는 표현식입니다. 예를 들어 `["split", ["toUpper", "hello world"], " "]`는 먼저 `hello world` 문자열을 대문자로 변환한 다음 이를 단어 배열로 분할하여 `["HELLO", "WORLD"]`를 생성합니다.

Amazon Quick에서 Highcharts 시각적 객체의 JSON 표현식 언어에 대해 자세히 알아보려면 다음 섹션을 사용하세요.

**Topics**
+ [산술](jle-arithmetics.md)
+ [배열 연산자](jle-arrays.md)
+ [Amazon Quick 표현식](jle-qs-expressions.md)

# 산술
<a name="jle-arithmetics"></a>

다음 테이블에는 JSON 표현식 언어와 함께 사용할 수 있는 산술 표현식이 나와 있습니다.


| 연산 | 표현식 | 입력 | 출력 | 
| --- | --- | --- | --- | 
| 덧셈 | ["\$1", operand1, operand2] | \$1 sum: ["\$1", 2, 4] \$1 | \$1 sum: 6 \$1 | 
| 뺄셈 | ["-", operand1, operand2] | \$1 difference: ["-", 10, 3] \$1 | \$1 difference: 7 \$1 | 
| 곱셈 | ["\$1", operand1, operand2] | \$1 product: ["\$1", 5, 6] \$1 | \$1 product: 30 \$1 | 
| 나눗셈 | ["/", operand1, operand2] | \$1 quotient: ["/", 20, 4] \$1 | \$1 quotient: 5 \$1 | 
| 모듈로 | ["%", operand1, operand2] | \$1 remainder: ["%", 15, 4] \$1 | \$1 remainder: 3 \$1 | 
| 거듭제곱 | ["\$1\$1", base, exponent] | \$1 power: ["\$1\$1", 2, 3] \$1 | \$1 power: 8 \$1 | 
| 절댓값 | ["abs", operand] | \$1 absolute: ["abs", -5] \$1 | \$1 absolute: 5 \$1 | 
| Square Root(제곱 근) | ["sqrt", operand] | \$1 sqroot: ["sqrt", 16] \$1 | \$1 sqroot: 4 \$1 | 
| 로그(밑 10) | ["log10", operand] | \$1 log: ["log10", 100] \$1 | \$1 log: 2 \$1 | 
| 자연 로그 | ["ln", operand] | \$1 ln: ["ln", Math.E] \$1 | \$1 ln: 1 \$1 | 
| 반올림 | ["round", operand] | \$1 rounded: ["round", 3.7] \$1 | \$1 rounded: 4 \$1 | 
| 내림 | ["floor", operand] | \$1 floor: ["floor", 3.7] \$1 | \$1 floor: 3 \$1 | 
| 올림 | ["ceil", operand] | \$1 ceiling: ["ceil", 3.2] \$1 | \$1 ceiling: 4 \$1 | 
| 사인 | ["sin", operand] | \$1 sine: ["sin", 0] \$1 | \$1 sine: 0 \$1 | 
| 코사인 | ["cos", operand] | \$1 cosine: ["cos", 0] \$1 | \$1 cosine: 1 \$1 | 
| 탄젠트 | ["tan", operand] | \$1 tangent: ["tan", Math.PI] \$1 | \$1 tangent: 0 \$1 | 

# 배열 연산자
<a name="jle-arrays"></a>

JSON 표현식 언어를 사용하면 다음 함수에 대한 일반 배열 조작을 수행할 수 있습니다.
+ `map` - 배열의 각 요소에 매핑 함수를 적용하고 변환된 값이 포함된 새 배열을 반환합니다.

  예를 들어 `["map", [1, 2, 3], ["*", ["item"], 2]]`는 `[1, 2, 3]` 배열의 각 요소에 2를 곱하여 해당 요소를 매핑합니다.
+ `filter` - 지정된 조건을 기준으로 배열을 필터링하고 조건을 충족하는 요소만 포함된 새 배열을 반환합니다.

  예를 들어 `["filter", [1, 2, 3, 4, 5], ["==", ["%", ["item"], 2], 0]]`은 `[1, 2, 3, 4, 5]` 배열을 필터링하여 짝수만 포함합니다.
+ `reduce` - 각 요소에 reducer 함수를 적용하고 결과를 누적하여 배열을 한의 값으로 줄입니다.

  예를 들어 `["reduce", [1, 2, 3, 4, 5], ["+", ["acc"], ["item"]], 0]`은 `[1, 2, 3, 4, 5]` 배열을 해당 요소의 합계로 줄입니다.
+ `get` - 키 또는 인덱스를 지정하여 객체 또는 배열에서 값을 검색합니다.

  예를 들어 `["get", ["item"], "name"]`은 현재 항목에서 `"name"` 속성 값을 검색합니다.
+ `unique` - 이 배열의 경우 이 배열 내 고유한 항목만 반환합니다.

  예를 들어, `["unique", [1, 2, 2]]`은 `[1, 2]`을 반환합니다.

# Amazon Quick 표현식
<a name="jle-qs-expressions"></a>

Amazon Quick은 Highcharts 시각적 객체의 기능을 개선하기 위해 추가 표현식을 제공합니다. 다음 섹션을 사용하여 차트가 많은 시각적 객체의 일반적인 빠른 표현식에 대해 자세히 알아보세요. Amazon Quick의 JSON 표현식 언어에 대한 자세한 내용은 [DemoCentral](https://democentral.learnquicksight.online/#)의 [Highcharts Visual QuickStart 가이드를](https://democentral.learnquicksight.online/#Dashboard-FeatureDemo-Highcharts-Visual) 참조하세요.

**Topics**
+ [`getColumn`](#highcharts-expressions-getcolumn)
+ [`formatValue`](#highcharts-expressions-formatvalue)

## `getColumn`
<a name="highcharts-expressions-getcolumn"></a>

`getColumn` 표현식을 사용하여 지정된 열 인덱스의 값을 반환합니다. 예를 들어 다음 테이블에서는 범주 및 가격과 함께 제품 목록을 보여줍니다.


| 제품 이름 | 카테고리 | 가격 | 
| --- | --- | --- | 
|  제품 A  |  기술  |  100  | 
|  제품 B  |  소매업  |  50  | 
|  제품 C  |  소매업  |  75  | 

다음 `getColumn` 쿼리는 가격과 함께 모든 제품 이름을 표시하는 배열을 생성합니다.

```
{
	product name: ["getColumn", 0], 
	price: ["getColumn", 2]
}
```

다음 JSON이 반환됩니다.

```
{
	product name: ["Product A", "Product B", "Product C"],
	price: [100, 50, 75]
}
```

다음 예제와 같이 한 번에 여러 열을 전달하여 배열의 배열을 생성할 수도 있습니다.

**입력**

```
{
	values: ["getColumn", 0, 2]
}
```

**출력**

```
{
	values: [["Product A", 100], ["Product B", 50], ["Product C", 75]]
}
```

`getColumn`과 마찬가지로 다음 표현식을 사용하여 필드 웰 또는 테마에서 열 값을 반환할 수 있습니다.
+ `getColumnFromGroupBy`는 그룹화 기준 필드에서 열을 반환합니다. 두 번째 인수는 반환할 열의 인덱스입니다. 예를 들어 `["getColumnFromGroupBy", 0]`은 첫 번째 필드의 값을 배열로 반환합니다. 여러 인덱스를 전달하여 각 요소가 그룹화 기준 필드 웰의 필드에 해당하는 배열의 배열을 가져올 수 있습니다.
+ `getColumnFromValue`는 값 필드 웰에서 열을 반환합니다. 여러 인덱스를 전달하여 각 요소가 값 필드 웰의 필드에 해당하는 배열의 배열을 가져올 수 있습니다.
+ `getColorTheme`는 다음 예제와 같이 빠른 테마의 현재 색상 팔레트를 반환합니다.

  ```
  {
  "color": ["getColorTheme"]
  }
  ```

  ```
  {
  "color": ["getPaletteColor", "secondaryBackground"]
  }
  ```

**예제**

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/get-column-example.png)


`getColumn`은 테이블의 모든 열에 액세스할 수 있습니다.
+ `["getColumn", 0]` - `[1, 2, 3, 4, 5, ...]` 배열을 반환함
+ `["getColumn", 1]` - `[1, 1, 1, 1, 1, ...]` 배열을 반환함
+ `["getColumn", 2]` - `[1674, 7425, 4371, ...]` 배열을 반환함

`getColumnFromGroupBy`도 비슷하게 작동하지만 해당 인덱스는 그룹화 기준 필드 웰의 열로 제한됩니다.
+ `["getColumnFromGroupBy", 0]` - `[1, 2, 3, 4, 5, ...]` 배열을 반환함
+ `["getColumnFromGroupBy", 1]` - `[1, 1, 1, 1, 1, ...]` 배열을 반환함
+ `["getColumnFromGroupBy", 2]` - 그룹화 기준 필드 웰에 열이 두 개뿐이므로 작동하지 않음

`getColumnFromValue`도 비슷하게 작동하지만 해당 인덱스는 값 필드 웰의 열로 제한됩니다.
+ `["getColumnFromValue", 0]` - `[1, 2, 3, 4, 5, ...]` 배열을 반환함
+ `["getColumnFromValue", 1]` - 값 필드 웰에 열이 하나만 있으므로 작동하지 않음
+ `["getColumnFromValue", 2]` - 값 필드 웰에 열이 하나만 있으므로 작동하지 않음

## `formatValue`
<a name="highcharts-expressions-formatvalue"></a>

`formatValue` 표현식을 사용하여 값에 빠른 형식을 적용합니다. 예를 들어 다음 표현식은 빠른 필드 모음의 첫 번째 필드에 지정된 형식 값으로 x축 레이블의 형식을 지정합니다.

```
 "xAxis": {
		"categories": ["getColumn", 0],
		"labels": {
		"formatter": ["formatValue", "value", 0]
		}
	}
```

# 히스토그램 사용하기
<a name="histogram-charts"></a>

Amazon Quick의 히스토그램 차트를 사용하여 데이터의 연속 숫자 값 분포를 표시합니다. Amazon Quick은 각 빈의 데이터 포인트 또는 이벤트의 절대 수를 사용하는 정규화되지 않은 히스토그램을 사용합니다.

히스토그램을 만들려면 하나의 치수를 사용합니다. 새 히스토그램은 처음에 X축에 걸쳐 10개의 *빈*(*버킷*이라고도 함)을 표시합니다. 이는 차트에 막대로 나타납니다. 데이터 세트에 맞게 빈을 사용자 지정할 수 있습니다. Y축에는 각 빈에 있는 값의 절대 개수가 표시됩니다.

명확하게 식별할 수 있는 모양을 갖도록 형식 설정을 조정해야 합니다. 데이터에 특이값이 포함되어 있는 경우, X축 측에서 벗어난 하나 이상의 값을 발견하면 명확해집니다. Amazon Quick이 표시 한도를 벗어나는 데이터를 처리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[표시 제한](working-with-visual-types.md#display-limits).

## 히스토그램의 기능
<a name="histogram-chart-features"></a>

히스토그램에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


****  

| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 아니요 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 아니요 | 그러나 빈 개수 또는 빈 간격 너비(배포 범위)를 변경할 수 있습니다. |  | 
| 축선, 격자선, 축 레이블, 축 정렬 아이콘 표시하기 또는 숨기기 | 예 |  | [Quick의 시각적 객체 유형에 대한 축 및 그리드 선](showing-hiding-axis-grid-tick.md) | 
| 시각적 객체 색상 변경 | 예 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 아니요 |  |  | 
| 정렬 | 아니요 |  |  | 
| 필드 집계 수행 | 아니요 | 히스토그램은 개수 집계만 사용합니다. |  | 
| 드릴다운 추가 | 아니요 |  |  | 

## 히스토그램 생성하기
<a name="create-histogram-chart"></a>

히스토그램을 생성하려면 다음 절차에 따르십시오.

**히스토그램을 만들려면**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. **시각적 객체 유형** 창에서 히스토그램 아이콘을 선택합니다.

1. **필드 목록** 창에서 **값** 필드 웰에 사용할 필드를 선택합니다. **개수** 집계가 자동으로 값에 적용됩니다.

   결과 히스토그램은 다음을 보여줍니다.
   + X축에는 기본적으로 10개의 빈이 표시되어, 선택한 측정값의 간격을 나타냅니다. 다음 단계에서 빈을 사용자 지정할 수 있습니다.
   + Y축에는 각 빈에 있는 개별 값의 절대 개수가 표시됩니다.

1. (선택 사항) 시각적 제어에서 **형식**을 선택하여 히스토그램 형식을 변경합니다. 빈의 형식을 개수 또는 너비로 지정할 수 있으며 둘 다 함께 지정할 수는 없습니다. 개수 설정은 표시되는 빈의 수를 변경합니다. 너비 설정은 각 빈에 포함된 간격의 너비나 길이를 변경합니다.

## 히스토그램 형식 지정하기
<a name="format-histogram-chart"></a>

히스토그램의 형식을 지정하려면 다음 절차를 따르십시오.

**히스토그램의 형식을 지정하려면**

1. 작업할 히스토그램 차트를 선택합니다. 강조 표시된 선택 항목이어야 합니다. 시각적 제어는 히스토그램의 오른쪽 위에 표시됩니다.

1. 시각적 제어 메뉴에서 톱니바퀴 아이콘을 선택하여 **시각적 객체 형식 지정** 옵션을 봅니다.

1. **속성** 창에서 다음 옵션을 설정하여 히스토그램 표시를 제어합니다.
   + **히스토그램** 설정. 다음 설정 중 *하나*를 선택합니다.
     + 빈 개수(옵션 1): X축에 표시되는 빈 개수입니다.
     + 빈 너비(옵션 1): 각 간격의 너비(또는 길이)입니다. 이 설정은 각 빈에 포함할 항목 또는 이벤트 개수를 제어합니다. 예를 들어 데이터가 분 단위로 표시되는 경우 이 값을 10으로 설정하여 10분 간격을 표시할 수 있습니다.
   + 다음 설정을 사용하여 데이터 세트의 히스토그램 형식을 지정하는 가장 좋은 방법을 탐색할 수 있습니다. 예를 들어, 경우에 따라 하나의 빈에 높은 피크가 있는 반면, 대부분의 다른 빈은 드물게 보일 수 있습니다. 이것은 유용한 보기가 아닙니다. 다음 설정을 개별적으로 또는 함께 사용할 수 있습니다.
     + **X축** 설정에서 **표시되는 데이터 포인트 수**을(를) 변경합니다.

       Amazon Quick에는 기본적으로 최대 100개의 빈(버킷)이 표시됩니다. 더 많이 표시하려면(최대 1,000개) **표시되는 데이터 포인트 수**에 대한 X축 설정을 변경합니다.
     + **Y축** 설정에서 **로그 스케일**을 사용 설정합니다.

       경우에 따라 데이터가 원하는 모양에 맞지 않아 잘못된 결과를 제공할 수 있습니다. 예를 들어 셰이프가 오른쪽으로 왜곡되어 제대로 읽을 수 없는 경우 로그 눈금을 적용할 수 있습니다. 이렇게 하면 데이터를 정규화하지 않지만 스큐를 줄입니다.
     + **데이터 레이블**을 표시합니다.

       차트의 절대 값을 보기 위해 데이터 레이블의 표시를 활성화할 수 있습니다. 대부분의 경우 이러한 항목을 표시하지 않으려는 경우에도 분석을 개발하는 동안 활성화할 수 있습니다. 레이블은 너무 작아서 눈에 띄지 않는 빈의 개수를 표시하므로 형식 및 필터링 옵션을 결정하는 데 도움이 됩니다.

       모든 데이터 레이블이 겹치는 경우에도 표시하려면 **레이블 중첩 허용**을 선택합니다.

1. (선택 사항) 다른 시각적 설정을 변경합니다. 자세한 내용은 [Amazon Quick의 형식 지정](formatting-a-visual.md) 단원을 참조하십시오.

## 히스토그램 이해하기
<a name="histogram-understanding"></a>

히스토그램은 막대 차트와 비슷해 보이지만 매우 다릅니다. 사실, 유일한 유사점은 막대를 사용하는 모양입니다. 히스토그램에서 각 막대를 *빈* 또는 *버킷*이라고 합니다.

각 빈에는 *간격*이라는 값의 범위가 포함되어 있습니다. 빈 중 하나에서 일시 중지하면 간격에 대한 세부 정보가 문자 모양으로 둘러싸인 두 숫자를 표시하는 도구 설명에 나타납니다. 둘러싸는 문자 모양의 유형은 다음과 같이 그 안에 있는 숫자가 선택한 빈 안에 있는 간격의 일부인지 여부를 나타냅니다.
+ 숫자 옆에 대괄호가 있으면 숫자가 포함되어 있음을 의미합니다.
+ 숫자 옆의 괄호는 해당 숫자가 제외됨을 의미합니다.

예를 들어, 히스토그램의 첫 번째 막대가 다음 표기법을 표시한다고 가정 해 봅시다.

```
[1, 10)
```

대괄호는 숫자 1이 첫 번째 간격에 포함됨을 의미합니다. 괄호는 숫자 10이 제외됨을 의미합니다.

동일한 히스토그램에서 두 번째 막대는 다음 표기법을 표시합니다.

```
[10, 20)
```

이 경우 두 번째 간격에 10이 포함되고 20은 제외됩니다. 숫자 10은 두 간격 모두에 존재할 수 없으므로, 표기법은 어떤 것이 이를 포함하는지 보여줍니다.

**참고**  
히스토그램의 간격을 표시하는 데 사용되는 패턴은 표준 수학 표기법에서 비롯됩니다. 다음 예제에서는 10, 20과 그 사이의 모든 숫자를 포함하는 숫자 집합을 사용하여 가능한 패턴을 보여줍니다.  
[10, 20] - 닫힌 세트입니다. 양쪽 끝에 하드 경계가 있습니다.
[10, 21) - 반만 열린 세트입니다. 왼쪽에 하드 경계가 있고 오른쪽에 소프트 경계가 있습니다.
(9, 20] - 반만 열린 세트입니다. 왼쪽에 소프트 경계가 있고 오른쪽에 하드 경계가 있습니다.
(9, 21) - 열린 세트입니다. 양쪽 끝에 소프트 경계가 있습니다.

히스토그램은 정성적 데이터가 아닌 정량적 데이터(숫자)를 사용하기 때문에 데이터 분포에 논리적 순서가 있습니다. 이를 *셰이프*라고 합니다. 셰이프는 종종 각 빈의 개수를 기준으로 셰이프가 소유하는 품질을 설명합니다. 더 많은 수의 값이 포함된 빈은 *피크*를 형성합니다. 값 개수가 더 적은 빈이 차트 엣지에 *테일*을 형성하고, 피크 사이에 *밸리*를 형성합니다. 대부분의 히스토그램은 다음 셰이프 중 하나로 나뉩니다.
+ 비대칭 또는 왜도 분포는 X축의 하단이나 상단 왼쪽 또는 오른쪽 근처에 클러스터를 형성하는 값을 갖습니다. 왜도의 방향은 피크의 위치가 아니라 데이터의 긴 테일이 있는 위치에 의해 정의됩니다. 이 방향은 평균의 위치도 설명하기 때문에 이런 식으로 정의됩니다. 왜곡된 분포에서 평균과 중위수는 서로 다른 두 숫자입니다. 왜곡된 분포의 다양한 유형은 다음과 같습니다.
  + 음의 왜도 또는 좌편향 왜도 - 평균이 정점 왼쪽에 있는 차트입니다. 왼쪽에 더 긴 테일이 있고 오른쪽에 피크가 있으며 때로는 짧은 테일이 뒤따릅니다.
  + 양의 왜도 또는 우편향 왜도 - 평균이 정점 오른쪽에 있는 차트입니다. 오른쪽에 더 긴 테일이 있고 왼쪽에 피크가 있으며 때로는 짧은 테일이 앞에 있습니다.
+ 대칭 또는 *정규* 분포는 중심점의 각 측면에 미러링된 셰이프를 갖습니다(예: 종형 곡선). 정규 분포에서 평균과 중위수는 같은 값입니다. 정규 분포의 다양한 유형은 다음과 같습니다.
  + 정규 분포, 일명 단봉 - 가장 일반적인 값을 나타내는 하나의 중앙 정점이 있는 차트입니다. 이를 일반적으로 종형 곡선 또는 가우스 분포라고 합니다.
  + 쌍봉 - 가장 일반적인 값을 나타내는 두 개의 정점이 있는 차트입니다.
  + 다봉 - 가장 일반적인 값을 나타내는 세 개 이상의 정점이 있는 차트입니다.
  + 균등 - 데이터 분포가 상대적으로 동일하고 정점이나 굴곡이 없는 차트입니다.

다음 표는 막대 차트와 히스토그램이 어떻게 다른지 보여줍니다.


| 히스토그램(Histogram) | 막대 차트 | 
| --- | --- | 
| 히스토그램은 한 필드에 값의 분포를 표시합니다. | 막대 차트는 차원별로 그룹화된 한 필드의 값을 비교합니다. | 
| 히스토그램은 값 범위를 나타내는 빈으로 값을 정렬합니다(예: 1\$110, 10\$120 등). | 막대 차트는 범주로 그룹화된 값을 표시합니다. | 
| 모든 빈의 합은 필터링된 데이터에 있는 값의 정확히 100%와 같습니다. | 막대 차트가 사용 가능한 모든 데이터를 표시하는 데 필요한 것은 아닙니다. 시각적 수준에서 표시 설정을 변경할 수 있습니다. 예를 들어 막대 차트에는 상위 10개 데이터 범주만 표시될 수 있습니다. | 
| 막대를 다시 정렬하면 차트의 의미가 전체적으로 손상됩니다. | 막대는 차트의 의미를 전체적으로 변경하지 않고 임의의 순서로 표시될 수 있습니다. | 
| 막대 사이에는 공백이 없으므로 연속 데이터라는 사실을 나타냅니다. | 막대 사이에는 공백이 있으므로 범주형 데이터라는 사실을 나타냅니다. | 
| 히스토그램에 선이 포함되어 있으면 데이터의 일반적인 셰이프를 나타냅니다. | 막대 차트에 선이 포함된 경우 콤보 차트라고 하며 이 선은 막대와 다른 측정값을 나타냅니다. | 

# 이미지 구성 요소 사용
<a name="image-component"></a>

이미지 구성 요소를 사용하여 데스크톱에서 빠른 분석으로 정적 이미지를 업로드합니다. 각 빠른 분석 시트는 최대 10개의 이미지 구성 요소를 지원합니다. 이미지 구성 요소는 시트당 50개의 시각적 객체 제한에 포함되지 않습니다. 이미지 구성 요소의 파일 크기는 1MB를 초과할 수 없습니다.

다음 파일 형식이 이미지 구성 요소에서 지원됩니다.
+ `.bmp`
+ `.jpg/.jpeg`
+ `.png`
+ `.tiff`
+ `.webp`

다음 절차에 따라 빠른 분석에 이미지 구성 요소를 추가합니다.

**빠른 분석에 이미지 구성 요소를 추가하려면**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 이미지를 추가할 빠른 분석을 엽니다.

1. 분석 상단의 도구 모음에서 **이미지 추가** 버튼을 선택하세요.

1. 데스크톱의 파일 선택이 열립니다. 업로드할 파일을 선택하고 **열기**를 선택하세요. 이미지 구성 요소의 파일 크기는 1MB를 초과할 수 없습니다.

1. 이미지가 Quick에 업로드되고 분석에 표시됩니다.

1. (선택 사항) 대체 텍스트를 추가하거나 이미지 크기 조정 옵션을 업데이트하려면 이미지 오른쪽 상단의 **속성** 아이콘을 선택하여 **속성** 창을 여세요.

1. (선택 사항) 이미지에 [사용자 지정 툴팁](https://docs.aws.amazon.com/quicksuite/latest/userguide/customizing-visual-tooltips)을 추가하려면 **속성** 창을 열고 **상호 작용**을 선택한 다음 **작업 추가**를 선택하세요. 필터 작업은 이미지 구성 요소에서 지원되지 않습니다. **상호 작용** 섹션을 사용하여 이미지 구성 요소에 사용자 지정 탐색 및 URL 작업을 추가할 수도 있습니다.

1. (선택 사항) 이미지를 복제하거나 바꾸려면 이미지 오른쪽 상단에 있는 **추가 옵션** 줄임표(점 3개) 아이콘을 선택하고 수행하려는 작업을 선택하세요.

# KPI 사용
<a name="kpi"></a>

핵심 성능 지표(KPI)를 사용하여 키 값과 그 대상 값 간의 비교를 시각화합니다.

KPI는 값 비교, 비교 대상인 두 값, 표시된 데이터에 컨텍스트를 제공하는 시각화를 표시합니다. 미리 디자인된 레이아웃 세트 중에서 비즈니스 요구 사항에 맞게 선택할 수 있습니다. 다음 이미지는 스파크라인을 사용한 KPI 시각화의 예를 보여줍니다.

1. **시각적 객체 창**에서 **추가(\$1)** 드롭다운을 선택하세요.

1. 시각적 객체 유형 메뉴에서 KPI 아이콘을 선택합니다.

## KPI의 기능
<a name="kpi-features"></a>

Amazon Quick의 KPI 시각적 객체 유형에서 지원하는 기능을 이해하려면 다음 표를 사용합니다.


| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 제목 제거 | 예 | 제목을 표시하지 않도록 선택할 수 있습니다. |  | 
| 비교 방법 변경 | 예 | 기본적으로 Amazon Quick은 메서드를 자동으로 선택합니다. 설정에는 자동, 차이, 백분율, 백분율 차이가 있습니다. |  | 
| 표시되는 기본 값 변경 | 예 | 비교(기본값) 또는 실제 중에서 선택할 수 있습니다. |  | 
| 진행률 표시줄 표시 또는 제거 | 예 | 진행률 표시줄을 표시(기본값) 또는 숨기도록 시각적 객체의 형식을 지정할 수 있습니다. |  | 

KPI 형식 옵션에 대한 자세한 내용은 [KPI 옵션](KPI-options.md)을(를) 참조하십시오.

## KPI 만들기
<a name="create-KPI"></a>

KPI를 생성하려면 다음 절차에 따르십시오.

**KPI 생성하기**

1. 데이터 세트에 대한 새로운 분석을 생성합니다.

1. [**Visual types**] 창에서 KPI 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 치수 필드를 사용해야 합니다. 차원 필드를 치수로 사용하도록 선택하는 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다.

   KPI를 생성하려면 치수를 [**Value**] 필드 모음으로 끌어옵니다. 그 값을 대상 값과 비교하려면 다른 치수를 [**Target value**] 필드 모음으로 끌어옵니다.

1. (선택 사항)시각적 객체의 오른쪽 상단 모서리에서 시각적 객체 메뉴를 선택한 다음 [**Format visual**]를 선택하여 형식 옵션을 선택합니다.

## KPI의 레이아웃 변경하기
<a name="KPI-layout"></a>

다음 순서에 따라 KPI의 레이아웃을 변경할 수 있습니다.

**KPI의 레이아웃 변경하기**

1. 변경하려는 KPI 시각화로 이동하여 **KPI 레이아웃**을 선택합니다.

1. **KPI 레이아웃** 창에서 사용하려는 KPI 레이아웃을 선택합니다.

# 레이어 맵 사용
<a name="layered-maps"></a>

레이어 맵을 사용하여 의회 지구, 상업 지구 또는 사용자 정의 지역과 같은 사용자 지정 지리적 경계로 데이터를 시각화합니다. 계층 맵을 사용하면 빠른 작성자는 기본 맵을 통해 계층을 형성하고 빠른 데이터와 조인하여 관련 지표 및 차원을 시각화하는 GeoJSON 파일을 Amazon Quick에 업로드합니다. 형태 레이어는 색상, 테두리 및 불투명도를 기준으로 스타일을 지정할 수 있습니다. 빠른 작성자는 툴팁과 사용자 지정 작업을 통해 계층 맵에 상호 작용을 추가할 수도 있습니다.

**참고**  
Amazon Quick 계층 맵 시각적 객체는 다각형 셰이프만 지원합니다. 선 및 점 지오메트리는 지원되지 않습니다.

다음 이미지는 Amazon Quick의 계층 맵 시각적 객체를 보여줍니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/layer-map.png)


## 레이어 맵을 사용하여 형태 레이어 생성
<a name="layered-maps-create"></a>

아래 절차에 따라 Amazon Quick에서 계층 맵 시각적 객체를 사용하여 셰이프 계층을 생성합니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 계층 맵을 추가할 빠른 분석을 엽니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. **시각적 객체 유형** 창에서 레이어 맵 아이콘 중 하나를 선택하세요.

1. 빈 맵 시각적 객체가 분석에 나타나고 레이어 구성을 계속하라는 프롬프트가 표시됩니다. 레이어 맵 구성을 계속하려면 **레이어 구성**을 선택하세요.

1. 오른쪽에서 **레이어 속성** 창이 열립니다. **형태 파일** 섹션으로 이동하고 **형태 파일 업로드**를 선택하세요.

1. 시각화하려는 GeoJSON 파일을 선택하세요. 파일은 `.geojson` 형식이어야 하며 100MB를 초과해서는 안 됩니다.

1. **데이터** 섹션으로 이동하세요.

1. **형태 파일 키 필드**에서 형태를 시각화하려는 필드를 선택하세요.

1. (선택 사항) **데이터세트 키 필드**에서 형태를 시각화하려는 데이터세트 필드를 선택하세요. 형태에 색상을 할당하려면 색상 필드를 추가하세요. 색상 필드가 측정값인 경우 형태는 그라데이션 색상을 사용합니다. 색상 필드가 차원인 경우 형태는 범주형 색상을 사용합니다. 색상 필드가 형태에 할당되지 않은 경우 **레이어 속성** 창의 **스타일 지정** 섹션에서 채우기 색상 옵션을 사용하여 모든 형태에 공통 색상을 설정하세요.

1. (선택 사항) 레이어 이름을 변경하려면 **레이어 옵션** 섹션으로 이동하고 **레이어 이름** 입력에 이름을 입력하세요.

1. (선택 사항) 채우기 또는 테두리 색상을 변경하려면 **스타일 지정** 섹션으로 이동하고 변경하려는 객체 옆에 있는 색상 스위치를 선택하세요. 색상의 불투명도를 조정하려면 눈 아이콘 옆에 있는 입력에 백분율 값을 입력하세요. **데이터세트 키 필드**에 색상 필드를 할당하지 않으면 채우기 색상을 사용하여 모든 형태에 공통 색상을 설정할 수 있습니다.

# 선형 차트 사용하기
<a name="line-charts"></a>

다음 시나리오의 경우 선 차트를 사용하여 특정 기간에 치수 값의 변화를 비교합니다.
+ 특정 기간의 한 가지 치수(예: 월별 총 매출) 
+ 특정 기간의 여러 치수(예: 월별 총 매출 및 순 매출) 
+ 특정 기간의 차원에 대한 한 가지 치수(예: 항공사별 일일 항공편 수) 

선 차트는 Y축으로 표시되는 범위를 기준으로 여러 치수 또는 차원의 개별 값을 보여줍니다. 영역형 선 차트는 항목 값을 서로 간에 쉽게 평가할 수 있도록 각 값이 단순히 선이 아니라 차트의 컬러 영역으로 표시된다는 점에서 일반적인 선 차트와 다릅니다.

누적 영역형 선 차트는 다른 선 차트와 다르게 작동하므로 가능한 경우 간소화합니다. 그러면 숫자를 해석하려고 시도하지 않습니다. 대신, 각 값 집합과 전체와의 관계에 초점을 맞출 수 있습니다. 간소화하는 한 가지 방법은 축의 단계 크기를 줄여 화면 왼쪽에서 숫자를 제거하는 것입니다. 이렇게 하려면 시각적 객체 메뉴에서 **옵션** 아이콘을 선택합니다. **Y축** 아래의 **형식 옵션**에서 **단계 크기로** **2**을(를) 입력합니다.

차트의 각 선은 특정 기간의 치수 값을 나타냅니다. 차트에서 값을 대화식으로 볼 수 있습니다. 선 위에 마우스를 올려 놓으면 **X축**의 각 선에 대한 값을 보여주는 팝업 범례가 표시됩니다. 데이터 포인트 위에 마우스를 올려 놓으면 **X축**에서 해당 특정 포인트의 **값을** 볼 수 있습니다.

선 차트를 사용하여 특정 기간에 하나 이상의 치수 또는 차원 값의 변화를 비교합니다.

일반 선 차트에서는 각 값을 선으로 표시하고, 영역형 선 차트에서는 차트의 컬러 영역으로 표시합니다.

누적 영역형 선 차트를 사용하여 특정 기간에 하나 이상 그룹의 치수 또는 차원 값의 변화를 비교합니다. 누적 영역형 선 차트는 X축의 각 그룹에 대한 총 값을 보여줍니다. 색상 세그먼트를 사용하여 그룹의 각 치수 또는 차원 값을 표시합니다.

색상 필드를 선택하지 않은 경우 선형 차트는 X축에 데이터 포인트를 최대 10,000개 표시합니다. 색상이 채워지면 선형 차트는 X축에 데이터 포인트를 최대 400개, 색상 데이터 포인트를 최대 25개 표시합니다. 이 시각적 객체 유형의 표시 제한을 초과하는 데이터에 대한 자세한 내용은 [표시 제한](working-with-visual-types.md#display-limits) 단원을 참조하십시오.

## 선형 차트의 기능
<a name="line-chart-features"></a>

선 차트에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 예 | Y축의 범위를 설정할 수 있습니다. | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 축선, 격자선, 축 레이블, 축 정렬 아이콘 표시하기 또는 숨기기 | 예 |  | [Quick의 시각적 객체 유형에 대한 축 및 그리드 선](showing-hiding-axis-grid-tick.md) | 
| 두 번째 Y축 추가하기 | 예 |  | [이중 축 선형 차트 생성하기](#dual-axis-chart) | 
| 시각적 객체 색상 변경 | 예 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예(예외 있음) | 다음가 같은 경우를 제외하고 차트의 모든 선을 강조 또는 제외할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/line-charts.html) 이러한 경우에는 선을 강조만 할 수 있고 제외할 수는 없습니다. |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 예(예외 있음) | X축 및 값 필드 모음에서 숫자 측정값에 대한 데이터를 정렬할 수 있습니다. 다른 데이터는 오름차순으로 자동 정렬됩니다. | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 | 값에 대해 선택한 필드에는 집계를 적용해야 하며, X축 및 색상에 대해 선택한 필드에는 집계를 적용할 수 없습니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 예 | [X axis] 및 [Color] 필드 모음에 드릴다운 수준을 추가할 수 있습니다. | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 

## 선형 차트 생성하기
<a name="create-measure-line-chart"></a>

선 차트를 생성하려면 다음 절차에 따르십시오.

**선형 차트 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. **Visual types(시각적 객체 유형)** 창에서 선 차트 아이콘 하나를 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 차원 또는 치수 필드를 사용합니다. 차원 필드를 치수로 사용하도록 선택하는 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다.
   + 단일 치수 선 차트를 생성하려면 차원을 [**X axis**] 필드 모음으로 끌어오고 치수 하나를 [**Value**] 필드 모음으로 끌어옵니다.
   + 다중 치수 선 차트를 생성하려면 차원을 [**X axis**] 필드 모음으로 끌어오고 두 개 이상의 치수를 [**Value**] 필드 모음으로 끌어옵니다. [**Color**] 필드 모음은 비워 둡니다.
   + 다중 차원 선 차트를 생성하려면 차원을 [**X axis**] 필드 모음으로 끌어오고 치수 하나를 [**Value**] 필드 모음으로 끌어오고 차원 하나를 [**Color**] 필드 모음으로 끌어옵니다.

1. (선택 사항) 하나 이상의 추가 필드를 [**X axis**] 또는 [**Color**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

## 이중 축 선형 차트 생성하기
<a name="dual-axis-chart"></a>

동일한 선형 차트에 두 개 이상의 메트릭을 표시하려는 경우 이중 축 선형 차트를 생성할 수 있습니다.

이중 축 차트는 Y축 두 개(차트 왼쪽에 축 하나, 차트 오른쪽에 축 하나)가 있는 차트입니다. 예를 들어, 선형 차트를 생성한다고 가정합시다. 일정 기간 동안 메일링 리스트와 무료 서비스에 등록한 방문자 수를 보여줍니다. 이 두 측정값 간의 척도가 시간이 지남에 따라 크게 달라지는 경우 차트는 다음과 같은 선형 차트와 비슷할 수 있습니다. 측정값 간의 척도는 매우 다양하기 때문에 척도가 작은 측정값은 0에서 거의 평평하게 나타납니다.

![\[선 두 개와 축 한 개로 구성된 선형 차트의 이미지입니다. 한 선은 0에서 평평합니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/dual-axis-chart1.png)


 이러한 측정값을 동일한 차트에 표시하려면 이중 축 선형 차트를 생성할 수 있습니다. 다음은 Y축이 두 개 있는 동일한 선형 차트의 예시입니다.

![\[이중 축이 있는 이전 선형 차트의 이미지입니다. 이제 두 선을 모두 볼 수 있습니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/dual-axis-chart2.png)


**이중 축 선형 차트 생성하기**

1. 분석에서 선형 차트를 생성합니다. 선형 차트 생성에 대한 자세한 내용은 [선형 차트 생성하기](#create-measure-line-chart)을(를) 참조하십시오.

1. **값 필드 웰**에서 필드 드롭다운 메뉴를 선택하고 **표시 위치: 왼쪽 Y축**을 선택한 다음 **오른쪽 Y축**을 선택합니다.

   또는 **속성** 창을 사용하여 이중 축 선형 차트를 생성할 수 있습니다.

   1. 선형 차트 오른쪽 상단에 있는 메뉴에서, **시각화 서식 지정** 아이콘을 선택합니다.

   1. **속성** 창이 열리면 **데이터 시리즈**를 선택합니다.

   1. **데이터 시리즈** 섹션에서 별도의 축에 배치하려는 값에 대해 **오른쪽 축에 표시하기** 아이콘을 선택합니다. 필요한 경우 검색 표시줄을 사용하여 값을 빠르게 찾을 수 있습니다.  
![\[오른쪽 축에 표시하기 아이콘이 빨간색 원으로 표시된 시각화 서식 지정 창의 데이터 시리즈 섹션 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/dual-axis-chart3.png)

   아이콘이 업데이트되어 값이 오른쪽 축에 표시되고 있음을 나타냅니다. 차트가 두 축으로 업데이트됩니다.

   **속성** 창은 다음 옵션으로 업데이트됩니다.
   + 두 선의 Y축을 다시 단일 축으로 동기화하려면 **속성** 창 상단에서 **단일 Y축**을 선택합니다.
   + 차트 왼쪽의 축에 서식을 지정하려면 **왼쪽 Y축**을 선택합니다.
   + 차트 오른쪽의 축에 서식을 지정하려면 **오른쪽 Y축**을 선택합니다.

   축 선 서식 지정에 대한 자세한 정보는 [축 및 격자선](showing-hiding-axis-grid-tick.md)을(를) 참조하십시오. 축의 범위 및 척도 조정에 대한 자세한 내용은 [범위 및 크기](changing-visual-scale-axis-range.md)을(를) 참조하십시오.

# 맵 및 지리공간 차트 생성하기
<a name="geospatial-charts"></a>

빠른에서 포인트 맵과 채워진 맵이라는 두 가지 유형의 맵을 생성할 수 있습니다. 포인트 맵은 각 위치의 데이터 값 차이를 크기로 보여줍니다. 채워진 맵은 다양한 색조를 통해 각 위치의 데이터 값 차이를 보여줍니다.

**중요**  
Quick의 지리 공간 차트는 현재 중국을 AWS 리전포함한 일부 에서는 지원되지 않습니다.  
지리 공간 문제에 대한 도움말은 [지리 공간 관련 문제 해결](geospatial-troubleshooting.md) 단원을 참조하십시오.

맵을 생성하기 전에 다음을 수행해야 합니다.
+ 데이터 세트에 위치 데이터가 포함되어 있는지 확인합니다. 위치 데이터는 위도 및 경도 값에 해당하는 데이터입니다. 위치 데이터는 데이터 세트에 위도 열과 경도 열이 포함될 수 있습니다. 도시 이름이 있는 열을 포함할 수도 있습니다. 빠른는 위도 및 경도 좌표를 차트로 작성할 수 있습니다. 또한 국가, 주, 카운티, 시/군/구 및 우편 번호와 같은 지리적 구성 요소를 인식합니다.
+ 위치 데이터 필드가 지리공간 데이터 유형으로 표시되어 있는지 확인하십시오.
+ 지리적 계층 구조를 생성하는 것도 좋습니다.

필드 데이터 유형 변경 및 지리공간 계층 생성 등 지리공간 데이터를 사용한 작업에 대한 자세한 내용은 [지리 공간 데이터 추가](geospatial-data-prep.md)을(를) 참조하십시오.

Quick에서 맵을 생성하는 방법에 대한 자세한 내용은 다음을 참조하세요.

**Topics**
+ [포인트 맵 생성하기](point-maps.md)
+ [채워진 맵 생성하기](filled-maps.md)
+ [맵과 상호 작용하기](maps-interacting.md)

# 포인트 맵 생성하기
<a name="point-maps"></a>

빠른에서 포인트 맵을 생성하여 각 위치의 데이터 값 간 차이를 크기별로 표시할 수 있습니다. 이 유형의 맵에 있는 각 포인트는 데이터 상의 지리적 위치(예: 국가, 주, 카운티, 시/군/구)에 해당합니다. 맵에 있는 포인트의 크기는 **크기** 필드 웰에 있는 필드의 경도를 동일한 필드의 다른 값과 관련하여 나타냅니다. 원의 색상은 **색상** 필드 웰에 있는 값을 나타냅니다. 색상 필드를 선택하면 **색상** 필드 웰의 필드 값이 범례에 표시됩니다.

다음 절차에 따라 Quick에서 포인트 맵을 생성합니다.

Quick에서 포인트 맵을 생성하려면 다음이 있어야 합니다.
+ 지리공간 필드 1개(예: 국가, 주 또는 지역, 카운티 또는 시/군/구, 우편번호). 또는 위도 필드 하나와 경도 필드 하나를 사용할 수 있습니다.
+ 크기를 나타내는 숫자 필드(측정값) 1개.
+ (선택 사항) 색상에 대한 범주형 필드(차원).

지리공간 맵의 서식 지정에 대한 자세한 내용은 [맵 및 지리공간 차트 서식 지정 옵션](https://docs.aws.amazon.com/quicksight/latest/user/geospatial-formatting)을 참조하십시오.

## 포인트 맵 생성하기
<a name="point-maps-create"></a>

**포인트 맵 생성하기**

1. 분석에 새 시각화를 추가합니다. 분석 시작하기에 대한 자세한 내용은 [Quick Sight에서 분석 시작](creating-an-analysis.md)을(를) 참조하십시오. 분석에 시각화를 추가하는 방법에 대한 자세한 내용은 [시각화 추가하기](creating-a-visual.md#create-a-visual)을(를) 참조하십시오.

1. **시각화 유형**에서 **맵 포인트** 아이콘을 선택합니다. 포인트가 그려진 구 모양의 아이콘입니다.

1. **필드 목록** 창에서 **지리공간** 필드 웰(예: `Country`)로 지리적 필드를 드래그합니다. 위도 또는 경도 필드를 선택할 수도 있습니다.

   데이터의 각 위치에 대한 포인트가 있는 포인트 맵이 표시됩니다.

   필드가 지리적 계층의 일부인 경우 계층 구조가 필드 웰에 표시됩니다.

1. **필드 목록** 창에서 **크기** 필드 웰로 측정값을 드래그합니다.

   맵의 포인트가 업데이트되어 각 위치의 값 크기가 표시됩니다.

1. (선택 사항) **필드 목록** 창에서 **색상** 필드 웰로 차원을 드래그합니다.

   각 포인트가 업데이트되어 차원의 각 범주형 값에 대한 포인트가 표시됩니다.

# 채워진 맵 생성하기
<a name="filled-maps"></a>

Quick에서 채워진 맵을 생성하여 다양한 색상으로 각 위치의 데이터 값 차이를 표시할 수 있습니다.

다음 절차에 따라 Quick에서 채워진 맵을 생성합니다.

Quick에서 채워진 맵을 생성하려면 다음이 있어야 합니다.
+ 지리공간 필드 1개(예: 국가, 주 또는 지역, 카운티 또는 시/군/구, 우편번호).
+ (선택 사항) 색상에 대한 숫자 필드(측정값).

## 채워진 맵 생성하기
<a name="filled-maps-create"></a>

**채워진 맵 생성하기**

1. 분석에 새 시각화를 추가합니다. 분석 시작하기에 대한 자세한 내용은 [Quick Sight에서 분석 시작](creating-an-analysis.md)을(를) 참조하십시오. 분석에 시각화를 추가하는 방법에 대한 자세한 내용은 [시각화 추가하기](creating-a-visual.md#create-a-visual)을(를) 참조하십시오.

1. **시각화 유형**에서 **채워진 맵** 아이콘을 선택합니다.

1. **필드 목록** 창에서 **위치** 필드 웰(예: `Country`)로 지리적 필드를 드래그합니다.

   데이터 세트에 표시된 횟수(개수)를 기준으로 데이터의 각 위치가 채워져 있는 채워진 맵이 나타납니다.

   필드가 지리적 계층의 일부인 경우 계층 구조가 필드 웰에 표시됩니다.

1. (선택 사항) **필드 목록** 창에서 **색상** 필드 웰(예: `Sales`)로 측정값을 드래그합니다.

   각 위치가 업데이트되어 매출 합계가 표시됩니다.

# 맵과 상호 작용하기
<a name="maps-interacting"></a>

빠른 분석 또는 게시된 대시보드에서 맵 시각적 객체를 볼 때 맵 시각적 객체와 상호 작용하여 데이터를 탐색할 수 있습니다. 모든 데이터를 패닝, 확대 및 축소, 자동 확대/축소할 수 있습니다.

기본적으로 맵 시각화는 항상 기본 데이터를 기준으로 확대/축소됩니다. 맵 내에서 패닝하거나 다른 수준으로 확대/축소하면 맵 오른쪽 하단의 확대 및 축소 아이콘 위에 데이터 확대/축소 아이콘이 나타납니다. 이 옵션을 사용하면 확대/축소 보기에서 기본 데이터로 빠르게 돌아갈 수 있습니다.

**맵 시각화에서 패닝하기**
+ 맵 시각화의 아무 곳이나 클릭한 다음 맵을 패닝하려는 방향으로 커서를 드래그합니다.

**맵 시각화를 확대 또는 축소하기**
+ 맵 시각화에서 오른쪽 하단에 있는 더하기 또는 빼기 아이콘을 선택합니다. 또는 맵을 두 번 클릭하여 확대하고 Shift 키를 누른 상태에서 두 번 클릭하여 축소할 수 있습니다.

**확대/축소 보기에서 전체 데이터로 돌아가기**
+ 맵 시각화에서 데이터 확대/축소 아이콘을 선택합니다. 이 아이콘은 맵에서 패닝하거나 확대/축소할 때 나타납니다.

# 소배수 사용하기
<a name="small-multiples"></a>

여러 개의 비교 시각화를 연속으로 설정해야 할 때 이 기능을 사용하십시오. *작은 배수* 기능을 활성화하면 Amazon Quick은 작은 시각적 객체의 컨테이너 또는 선반을 side-by-side 표시합니다. 시각화의 각 사본에는 데이터의 단일 보기가 포함됩니다. 소배수를 사용하면 효율적인 대화형 방식으로 비즈니스를 전체적으로 파악할 수 있습니다.

소배수는 팔레트 시각화 아이콘에 나열되어 있지 않습니다. 소배수를 생성하는 옵션은 이를 지원하는 시각화 내에서 필드 웰로 표시됩니다.

**분석에 작은 시각화 추가하기**

1. 선형, 막대 또는 파이 차트에서 **소배수** 필드 웰에 필드를 추가합니다.

1. 소배수를 보려면 한 번에 모두 볼 수 있도록 소배수가 들어 있는 컨테이너를 확대해야 합니다.

1. 소배수 집합의 서식을 지정하려면 시각화의 메뉴에서 시각화 서식 지정(연필 아이콘)을 선택합니다. 다음 설정을 조정할 수 있습니다.
   + **레이아웃**
     + **보이는 행**
     + **보이는 열**
     + **패널 개수**
   + 패널 제목 옵션(토글)
     + 글꼴 크기 및 색상
     + 글꼴 두께
     + 텍스트 정렬
   + **패널 순서 옵션(토글)**

     선 두께, 스타일, 색상
   + **패널 거터**(토글) 

     **Spacing**
   + **패널 배경**(토글) 

     **Background color(배경색)**

# 파이 차트 사용하기
<a name="pie-chart"></a>

파이형 차트를 사용하여 차원 내 항목의 값을 비교합니다. 이 유형의 차트를 사용하는 가장 좋은 방법은 전체 금액의 일정 비율을 보여주는 것입니다.

파이형 차트의 각 쐐기는 차원의 항목 하나를 나타냅니다. 쐐기의 크기는 치수 전체에 비해 항목이 나타내는 선택한 치수의 값 비율을 나타냅니다. 파이형 차트는 정밀도가 크게 중요하지 않고 차원 내에 항목이 몇 개 없는 경우 매우 적합합니다.

도넛형 차트를 만들려면 **그룹/색상** 필드 웰에서 하나의 차원을 사용하십시오. 하나의 필드만 있으면 차트는 행 수로 나눈 값이 표시됩니다. 지표 값으로 차원 값의 나누기를 표시하려면 **값** 필드 웰에 지표 필드를 추가합니다.

파이형 차트는 그룹 또는 색상에 대해 최대 20개의 데이터 포인트를 표시합니다. Amazon Quick이 표시 한도를 벗어나는 데이터를 처리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[표시 제한](working-with-visual-types.md#display-limits).

## 파이 차트의 기능
<a name="pie-chart-features"></a>

파이형 차트에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 해당 사항 없음 |  | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 축 레이블 표시하기 또는 숨기기 | 예 |  | [Quick의 시각적 객체 유형에 대한 축 및 그리드 선](showing-hiding-axis-grid-tick.md) | 
| 시각적 객체 색상 변경 | 예 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예(예외 있음) | 날짜 필드를 차원으로 사용하는 경우를 제외하고 파이형 차트의 쐐기를 강조 또는 제외할 수 있습니다. 이 경우에는 쐐기를 강조만 할 수 있고 제외할 수는 없습니다. |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 예 | 값 또는 그룹이나 색상에 대해 선택한 필드를 정렬할 수 있습니다. | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 | 값에 대해 선택한 필드에는 집계를 적용해야 하며, 그룹 또는 색상에 대해 선택한 필드에는 집계를 적용할 수 없습니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 예 | [Group/Color] 필드 모음에 드릴다운 수준을 추가할 수 있습니다. | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 

## 파이 차트 생성하기
<a name="create-pie-chart"></a>

파이형 차트를 생성하려면 다음 절차에 따르십시오.

**파이 차트 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. [**Visual types**] 창에서 파이형 차트 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 차원 또는 치수 필드를 사용합니다. 차원 필드를 치수로 사용하도록 선택하는 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다.

   파이형 차트를 만들려면 **그룹/색상** 필드 웰에서 하나의 차원을 사용하십시오. 또는 치수를 **값** 필드 모음으로 끌어옵니다.

1. (선택 사항) 하나 이상의 추가 필드를 [**Group/Color**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

# 피벗 테이블 사용하기
<a name="pivot-table"></a>

피벗 테이블을 사용하여 두 차원이 교차하는 부분의 치수 값을 표시합니다.

열 지도와 피벗 테이블은 비슷한 표 형식으로 데이터를 표시합니다. 색상을 사용하면 훨씬 더 쉽게 파악할 수 있기 때문에 트렌드 및 특이값을 식별하려는 경우에 열 지도를 사용합니다. 시각적 객체에서 데이터를 분석하려는 경우에는 피벗 테이블을 사용합니다.

피벗 테이블을 생성하려면 모든 데이터 유형의 필드를 하나 이상 선택하고 피벗 테이블 아이콘을 선택합니다. Amazon Quick은 테이블을 생성하고 교차 행 값의 열 값 수로 셀 값을 채웁니다. 일반적으로 치수를 선택하고 이 치수로 측정 가능한 차원 두 개를 선택합니다.

피벗 테이블은 아래 및 오른쪽 방향으로 무제한 스크롤을 지원합니다. 최대 20개의 필드를 행으로, 20개의 필드를 열로 추가할 수 있습니다. 최대 500,000개의 레코드가 지원됩니다.

피벗 테이블을 사용하여 다음 작업을 수행할 수 있습니다.
+ 데이터 범위를 확인할 수 있도록 여러 치수를 지정하여 테이블의 셀 값 채우기
+ 피벗 테이블의 열과 행을 클러스터로 묶어 관련 차원으로 그룹화된 하위 범주의 값 표시
+ 피벗 테이블 행 또는 열의 값 정렬하기
+ 통계 함수 적용
+ 행 및 열에 합계 및 소계 추가
+ 무제한 스크롤 사용
+ 행 및 열에서 사용하는 필드 이동
+ 사용자 지정 총 집계 생성하기

피벗 테이블의 행과 열에서 사용하는 필드를 쉽게 이동하려면 방향 아이콘(![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/pivot-orientation.png))을 선택합니다. 합계 및 소계 표시 및 숨기기, 시각적 객체 형식 지정 또는 CSV 파일로 데이터 내보내기 옵션을 보려면 오른쪽 상단에 있는 메뉴 항목 아이콘을 선택합니다.

모든 시각적 객체 유형에서 필드를 추가 및 제거할 수 있습니다. 또한 시각적 요소와 연결된 필드, 필드 집계 및 날짜 필드 세부 수준을 변경할 수 있습니다. 추가로 행 또는 열을 강조 표시하거나 제외할 수 있습니다. 피벗 테이블을 이와 같이 변경하는 방법에 대한 자세한 내용은 [Amazon Quick에서 시각적 객체에 사용되는 필드 변경](changing-visual-fields.md) 단원을 참조하십시오.

피벗 테이블 형식 지정에 대한 자세한 내용은 [Amazon Quick의 형식 지정](formatting-a-visual.md) 단원을 참조하십시오.

피벗 테이블의 사용자 지정 총 집계에 대한 자세한 내용은 [사용자 지정 총계 값](tables-pivot-tables-custom-totals.md)을(를) 참조하십시오.

**Topics**
+ [피벗 테이블의 기능](#pivot-table-features)
+ [피벗 테이블 생성하기](create-pivot-table.md)
+ [피벗 테이블 값 방향 설정하기](pivot-table-value-orientation.md)
+ [피벗 테이블 클러스터 확장 또는 축소하기](expanding-and-collapsing-clusters.md)
+ [빠른에서 피벗 테이블 열 표시 및 숨기기](hiding-pivot-table-columns.md)
+ [Quick에서 피벗 테이블 정렬](sorting-pivot-tables.md)
+ [Using table calculations in pivot tables](working-with-calculations.md)
+ [피벗 테이블의 제한 사항](pivot-table-limitations.md)
+ [Pivot table best practices](pivot-table-best-practices.md)

## 피벗 테이블의 기능
<a name="pivot-table-features"></a>

피벗 테이블은 범례를 표시하지 않습니다.

피벗 테이블에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 아니요 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 해당 사항 없음 |  | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 시각적 객체 색상 변경 | 아니요 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예(예외 있음) | 날짜 필드를 차원 중 하나로 사용하는 경우를 제외하고 열 또는 행을 강조 또는 제외할 수 있습니다. 이 경우 날짜 차원을 사용하는 열 또는 행은 강조할 수 있지만 제외할 수는 없습니다. |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 예 | 행 또는 열 필드 웰의 필드를 알파벳순 또는 메트릭별로 오름차순 또는 내림차순으로 정렬할 수 있습니다. | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) [Quick에서 피벗 테이블 정렬](sorting-pivot-tables.md)  | 
| 필드 집계 수행 | 예 | 필드 또는 값에 대해 선택한 필드에 집계를 적용해야 합니다. 행 또는 열에 대해 선택한 필드에는 집계를 적용할 수 없습니다. 다중 치수 피벗 테이블을 생성하도록 선택한 경우 여러 치수에 여러 가지 유형의 집계를 적용할 수 있습니다. 예를 들어 매출액 및 최대 할인 금액의 합계를 보여줄 수 있습니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 아니요 |  | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 
| 합계 및 소계 표시 및 숨기기 | 예 | 행 및 열에 대해 합계 및 소계를 표시하거나 숨길 수 있습니다. 지표는 행 또는 열을 축소할 때 자동적으로 롤업되어 소계를 표시합니다. 테이블 계산을 사용하는 경우 집계를 사용하여 롤업을 표시합니다.  |  | 
| 데이터 내보내기 또는 복사 | 예 |  모든 데이터를 CSV 파일로 내보낼 수 있습니다. 셀의 내용을 선택하고 복사할 수 있습니다.  | [시각화에서 데이터 내보내기](exporting-data.md) | 
| 조건부 형식 지정 | 예 | 값, 소계 및 합계에 대한 조건부 형식을 추가할 수 있습니다. | [Quick의 시각적 객체 유형에 대한 조건부 형식 지정](conditional-formatting-for-visuals.md) | 

**Topics**

# 피벗 테이블 생성하기
<a name="create-pivot-table"></a>

피벗 테이블을 생성하려면 다음 절차에 따르십시오.

**피벗 테이블 생성하기**

1. 분석 페이지의 도구 표시줄에서 **시각화** 아이콘을 선택합니다.

1. **시각적 객체** 창에서 **\$1 추가**를 선택한 다음 피벗 테이블 아이콘을 선택합니다.

1. **필드 목록** 창에서 포함하고자 하는 필드를 선택합니다. Amazon Quick은 이를 필드 모음에 자동으로 배치합니다.

   필드 배치를 변경하려면 이를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 차원 또는 치수 필드를 사용합니다. 차원 필드를 치수로 사용하도록 선택하는 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다.
   + 단일 치수 피벗 테이블을 생성하려면 차원을 [**Rows**] 필드 모음으로 끌어오고 차원을 [**Columns**] 필드 모음으로 끌어오고 치수를 [**Values**] 필드 모음으로 끌어옵니다.
   + 다중 치수 피벗 테이블을 생성하려면 차원을 [**Rows**] 필드 모음으로 끌어오고 차원을 [**Columns**] 필드 모음으로 끌어오고 두 개 이상의 치수를 [**Values**] 필드 모음으로 끌어옵니다.
   + 클러스터 피벗 테이블을 생성하려면 하나 이상의 차원을 [**Rows**] 필드 모음으로 끌어오고 하나 이상의 차원을 [**Columns**] 필드 모음으로 끌어오고 치수를 [**Values**] 필드 모음으로 끌어옵니다.

   또한 원하는 경우 모든 피벗 테이블 필드 모음에 대해 여러 개의 필드를 선택할 수 있습니다. 이를 통해 여러 개의 치수와 클러스터링된 피벗 테이블 접근 방식이 결합됩니다.

**참고**  
계산된 필드에 대한 롤업을 보려면 집계를 사용 중인지 확인하십시오. 예를 들어 `field-1 / field-2 `로 계산된 필드는 롤업 시 요약을 표시하지 않습니다. 하지만 `sum(field-1) / sum(field-2) `의 경우 롤업 요약을 표시합니다.

## 레이아웃 선택
<a name="pivot-table-layout"></a>

Amazon Quick에서 피벗 테이블을 생성할 때 테이블 형식 및 계층 구조 레이아웃 옵션을 사용하여 데이터가 표시되는 방식을 추가로 사용자 지정할 수 있습니다. 테이블 형식 레이아웃을 사용하는 피벗 테이블의 경우 각 행 필드가 자체 열에 표시됩니다. 계층 레이아웃을 사용하는 피벗 테이블의 경우 모든 행 필드가 단일 열에 표시됩니다. 들여쓰기는 여러 필드의 행 머리글을 구분하는 데 사용됩니다. 피벗 테이블 시각화의 레이아웃을 변경하려면 변경하려는 피벗 테이블의 **시각화 서식 지정** 메뉴를 열고 **피벗 옵션** 섹션에서 원하는 레이아웃 옵션을 선택합니다.

피벗 테이블 시각화를 위해 선택한 레이아웃에 따라 다양한 서식 지정 옵션을 사용할 수 있습니다. 테이블 형식 피벗 테이블과 계층 피벗 테이블 간의 서식 지정 차이에 대한 자세한 내용은 [빠른 테이블 및 피벗 테이블 형식 지정 옵션](format-tables-pivot-tables.md)을(를) 참조하십시오.

# 피벗 테이블 값 방향 설정하기
<a name="pivot-table-value-orientation"></a>

피벗 테이블은 열 또는 행 형식으로 표시할 수 있습니다. 열 형식이 기본값입니다. 행 기반 형식으로 변경하면 값 이름이 포함된 열이 행 머리글 열의 오른쪽에 추가됩니다.

**피벗 테이블 서식 변경하기**

1. 분석 페이지에서 편집하려는 피벗 테이블 시각적 객체를 선택합니다.

1. 시각적 객체 상단에 있는 필드 모음을 선택하여 **Field wells(필드 모음)** 창을 확장합니다.

1. [**Values**] 필드 모음에서 다음 옵션 중 하나를 선택합니다.
   + 컬럼 형식에 대하여 [**Column**]을 선택합니다.
   + 행 형식에 대하여 [**Row**]를 선택합니다.
**참고**  
단 하나의 지표를 사용하는 경우 시각적 객체의 형식을 지정하고 **Hide single metric(단일 지표 숨기기)** 옵션을 사용하여 스타일을 적용해 반복되는 헤더를 제거할 수 있습니다.

# 피벗 테이블 클러스터 확장 또는 축소하기
<a name="expanding-and-collapsing-clusters"></a>

피벗 테이블에서 그룹화된 열 또는 행을 사용하는 경우 그룹을 확장하거나 축소해 시각적 객체에서 데이터를 표시하거나 숨길 수 있습니다.

**피벗 테이블 그룹 확장 또는 축소하기**

1. 분석 페이지에서 편집하려는 피벗 테이블 시각적 객체를 선택합니다.

1. 다음 중 하나를 선택합니다.
   + 그룹을 축소하려면 필드의 이름 근처에 있는 축소 아이콘을 선택합니다.
   + 그룹을 확장하려면 필드의 이름 근처에 있는 확장 아이콘을 선택합니다. 축소 아이콘은 마이너스(-) 기호로 표시됩니다. 확장 아이콘은 플러스(\$1) 기호로 표시됩니다.

   다음 스크린샷에서 `Customer Region` 및 `Enterprise` 세그먼트가 확장되고, `SMB` 및 `Startup`이 축소됩니다. 그룹이 축소될 때 데이터는 행 또는 열에 요약됩니다.  
![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/pivot-table-collapse.png)

# 빠른에서 피벗 테이블 열 표시 및 숨기기
<a name="hiding-pivot-table-columns"></a>

기본적으로 피벗 테이블을 생성할 때 모든 열, 행 및 필드 값이 표시됩니다. 피벗 테이블 값을 변경하지 않고도 피벗 테이블에 표시하고 싶지 않은 열과 행을 숨길 수 있습니다. 피벗 테이블에 측정값이 두 개 이상 있는 경우 값을 숨길 수도 있습니다.

언제든지 피벗 테이블에 숨겨진 필드를 표시하도록 선택할 수 있습니다. 시각화를 대시보드의 일부로 게시하면 대시보드를 구독하는 모든 사용자가 피벗 테이블을 CSV(쉼표로 구분된 값) 또는 Microsoft Excel 파일로 내보낼 수 있습니다. 보이는 필드만 내보내거나 모든 필드를 내보내도록 선택할 수 있습니다. 자세한 내용은 [데이터를 대시보드에서 CSV로 내보내기](export-or-print-dashboard.md#export-dashboard-to-csv) 단원을 참조하십시오.

**피벗 테이블에서 열 또는 행 숨기기**

1. 분석으로 가서 작업하려는 피벗 테이블 시각화를 선택합니다.

1. **행**, **열** 또는 **값** 필드 모음에서 점 3개 메뉴를 선택한 다음 **숨기기**를 선택합니다.

**피벗 테이블의 숨겨진 필드 모두 표시하기**

1. 분석으로 가서 작업하려는 피벗 테이블 시각화를 선택합니다.

1. 또는 **필드 모음**에서 아무 필드나 선택한 다음 **숨겨진 필드 모두 표시**를 선택합니다.

# Quick에서 피벗 테이블 정렬
<a name="sorting-pivot-tables"></a>

Amazon Quick에서는 **행** 및 **열** 필드 모음의 필드를 기준으로 피벗 테이블의 값을 정렬하거나 피벗 테이블의 열 헤더를 기준으로 빠르게 정렬할 수 있습니다. 피벗 테이블에서 행과 열을 알파벳순 또는 측정값으로 서로 독립적으로 정렬할 수 있습니다.

**참고**  
측정값을 기준으로 피벗 테이블을 정렬할 때는 합계, 차이 및 백분율 차이 테이블 계산을 실행할 수 없습니다. 피벗 테이블에서 테이블 계산을 사용하는 방법에 대한 자세한 내용은 [Using table calculations in pivot tables](working-with-calculations.md)을(를) 참조하십시오.

## 피벗 테이블 정렬 이해하기
<a name="sorting-pivot-tables-understanding"></a>

피벗 테이블에 여러 개의 창이 있는 경우 정렬은 각 창에 독립적으로 적용됩니다. 예를 들어, 왼쪽 피벗 테이블의 `Segment` 열은 `Cost`을(를) 기준으로 오름차순으로 정렬됩니다. 여러 개의 창이 있는 경우 정렬이 각 패널에 대해 다시 시작되며 각 창에 있는 행(`Segment`)은 가장 낮은 비용에서 가장 높은 비용순으로 정렬됩니다. 다음 그림과 같이 오른쪽 테이블에도 동일한 정렬이 적용되어 있지만 이 정렬은 테이블 전체에 적용됩니다.

![\[정렬이 빨간색으로 강조 표시된 피벗 테이블의 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sorting-pivot-tables2.png)


피벗 테이블에 여러 가지 정렬을 적용하면 외부 차원부터 내부 차원까지 정렬이 적용됩니다. 피벗 테이블의 다음 예제 이미지를 고려해 보는 것도 좋습니다. `Customer Region` 열은 `Cost`을(를) 기준으로 내림차순으로 정렬됩니다(주황색으로 표시). `Channel` 열은 수익 목표를 기준으로 오름차순으로 정렬됩니다(파란색으로 표시).

![\[정렬된 두 측정값 열을 보여주는 피벗 테이블의 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sorting-pivot-tables3.png)


## 행 또는 열 머리글을 사용하여 피벗 테이블 정렬하기
<a name="sorting-pivot-tables-columns"></a>

다음 순서에 따라 행 또는 열 머리글을 사용하여 피벗 테이블을 정렬할 수 있습니다.

**테이블 헤더를 사용하여 테이블 형식 피벗 테이블의 값 정렬하기**

1. 테이블 형식 피벗 테이블 차트에서 정렬하려는 머리글을 선택합니다.

1. **정렬 기준**에서 정렬 기준으로 사용할 필드와 정렬 순서를 선택합니다.

   차원 필드를 알파벳 A-Z순 또는 Z-A순으로 정렬하거나 측정값을 기준으로 오름차순 또는 내림차순으로 정렬할 수 있습니다.  
![\[열 머리글을 사용하여 피벗 테이블의 값을 정렬하는 애니메이션 .gif 파일입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sorting-pivot-table7.gif)

## 값 머리글을 사용하여 피벗 테이블 정렬하기
<a name="sorting-pivot-tables-values"></a>

다음 순서에 따라 값 머리글을 사용하여 피벗 테이블을 정렬할 수 있습니다.

**값 머리글을 사용하여 피벗 테이블 정렬하기**

1. 피벗 테이블 차트에서 정렬하려는 값 머리글을 선택합니다.

1. **오름차순** 또는 **내림차순**을 선택합니다.  
![\[값 머리글을 사용하여 피벗 테이블의 값을 정렬하는 애니메이션 .gif 파일입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sorting-pivot-tables-value.gif)

   피벗 테이블의 값 머리글로 정렬하기를 소계에서도 사용할 수 있습니다.

## 필드 웰을 사용하여 테이블 형식 피벗 테이블 정렬하기
<a name="sorting-pivot-tables-field-wells"></a>

다음 순서에 따라 필드 웰을 사용하여 테이블 형식 피벗 테이블의 값을 정렬할 수 있습니다.

**필드 웰을 사용하여 테이블 형식 피벗 테이블 값 정렬하기**

1. 분석 페이지에서 정렬하려는 테이블 형식 피벗 테이블을 선택합니다.

1. **필드 웰** 창을 확장합니다.

1. **행** 또는 **열** 필드 웰에서 정렬하려는 필드를 선택한 다음 **정렬 기준**으로 필드를 정렬할 방법을 선택합니다.

   **행** 또는 **열** 필드 웰의 차원 필드를 알파벳 A-Z순 또는 Z-A순으로 정렬하거나 측정값을 기준으로 오름차순 또는 내림차순으로 정렬할 수 있습니다. 필드 웰에서 선택한 필드의 모든 행 또는 열을 모두 축소하거나 모두 확장할 수도 있습니다. 필드를 제거하거나 다른 필드로 바꿀 수도 있습니다.
   + 차원 필드를 알파벳순으로 정렬하려면 **행** 또는 **열** 필드 웰의 필드 위에 커서를 놓고 A-Z 또는 Z-A 정렬 아이콘을 선택합니다.  
![\[빨간색 사각형으로 표시된 필드 기준 정렬 및 알파벳순 정렬 아이콘이 있는 행 필드 웰의 필드 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sorting-pivot-tables1.png)
   + 측정값을 기준으로 차원 필드를 정렬하려면 **행** 또는 **열** 필드 웰의 필드 위에 커서를 올려 놓습니다. 그런 다음 목록에서 측정값을 선택하고 오름차순 또는 내림차순 정렬 아이콘을 선택합니다.  
![\[빨간색 사각형으로 표시된 필드 기준 정렬 및 정렬 아이콘이 있는 행 필드 웰의 필드 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sorting-pivot-tables4.png)

또는 피벗 테이블에 정렬이 적용되는 방식을 보다 세밀하게 제어할 수 있도록 정렬 옵션을 사용자 지정합니다.

****정렬 옵션**을 사용하여 정렬 생성하기**

1. 분석 페이지에서 정렬하려는 피벗 테이블을 선택합니다.

1. **필드 웰**을 확장합니다.

1. **행** 또는 **열** 필드 웰에서 정렬할 필드를 선택한 다음 **정렬 옵션**을 선택합니다.

1. 왼쪽에 열리는 **정렬 옵션** 창에서 다음 옵션을 지정합니다.

   1. **정렬 기준**의 경우 드롭다운 목록에서 필드를 선택합니다.

   1. **집계**의 경우 목록에서 집계를 선택합니다.

   1. **정렬 순서**에서는 **오름차순** 또는 **내림차순**을 선택합니다.

   1. **적용**을 선택합니다.

## 필드 웰을 사용하여 계층 피벗 테이블 정렬하기
<a name="pivot-table-sorting-hierarchy"></a>

테이블 형식 피벗 테이블의 경우 **행** 필드 웰의 각 필드에 별도의 제목 셀이 있습니다. 계층 피벗 테이블의 경우 모든 행 필드가 단일 열에 표시됩니다. 이러한 행 필드를 정렬, 축소 및 확장하려면 **행** 레이블을 선택하여 **행 필드 결합** 메뉴를 열고 원하는 옵션을 선택합니다. 계층 피벗 테이블의 각 필드는 **행 필드 결합** 메뉴에서 개별적으로 정렬할 수 있습니다.

![\[행 필드 결합 메뉴의 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/pivot-table-combined-row-fields-menu.png)


필드 웰 메뉴에서 **숨기기** 및 **제거**와 같은 고급 서식 지정 옵션을 사용할 수 있습니다.

# Using table calculations in pivot tables
<a name="working-with-calculations"></a>

테이블 계산을 사용하여 측정값(숫자 값)이 포함된 피벗 테이블 셀에 통계 함수를 적용할 수 있습니다. 다음 섹션을 보고 계산에 사용할 수 있는 함수와 이러한 함수를 적용 또는 제거하는 방법을 이해할 수 있습니다.

셀 값의 데이터 유형은 자동적으로 변경되어 계산이 가능합니다. 예를 들어 현재 데이터 유형에 **Rank** 함수를 적용한다고 가정해 보겠습니다. 순위는 통화로 특정되지 않으므로 값이 통화가 아니라 정수로 표시됩니다. 마찬가지로, 그 대신 **Percent difference** 함수를 적용하면 셀 값이 백분율로 표시됩니다.

**Topics**
+ [피벗 테이블 계산 추가 및 제거하기](adding-a-calculation.md)
+ [피벗 테이블 계산용 함수](supported-functions.md)
+ [피벗 테이블 계산을 적용하는 방법](supported-applications.md)

# 피벗 테이블 계산 추가 및 제거하기
<a name="adding-a-calculation"></a>

피벗 테이블에서 테이블 계산을 추가, 수정 및 제거하려면 다음 절차에 따르십시오.

**Topics**
+ [피벗 테이블 계산 추가하기](add-a-calculation.md)
+ [계산 적용 방식 변경하기](change-how-a-calculation-is-applied.md)
+ [계산 제거하기](remove-a-calculation.md)

# 피벗 테이블 계산 추가하기
<a name="add-a-calculation"></a>

피벗 테이블에 테이블 계산을 추가하려면 다음 절차에 따르십시오.

**피벗 테이블에 테이블 계산 추가하기**

1. 시각적 객체 하단 근처에 있는 필드 모음을 선택하여 **필드 모음** 창을 확장합니다.

1. 테이블 계산을 적용하려는 [**Values**] 모음에서 필드를 선택하고 [**Add table calculation**]을 선택한 다음 적용할 기능을 선택합니다.

**참고**  
측정값을 기준으로 피벗 테이블을 정렬할 때는 합계, 차이 및 백분율 차이 테이블 계산을 실행할 수 없습니다. 이러한 테이블 계산을 사용하려면 피벗 테이블에서 정렬을 제거해야 합니다.

# 계산 적용 방식 변경하기
<a name="change-how-a-calculation-is-applied"></a>

피벗 테이블에 테이블 계산을 적용하는 방식을 변경하려면 다음 절차에 따르십시오.

**피벗 테이블에 테이블 계산을 적용하는 방식 변경하기**

1. 시각적 객체 상단에 있는 필드 모음을 선택하여 **Field wells(필드 모음)** 창을 확장합니다.

1. 변경하려는 테이블 계산이 있는 **값** 모음에서 필드를 선택하고 **Calculate as(다음 형식으로 계산)**을 선택한 다음 원하는 계산 적용 방법을 선택합니다.

# 계산 제거하기
<a name="remove-a-calculation"></a>

피벗 테이블에서 테이블 계산을 제거하려면 다음 절차에 따르십시오.

**피벗 테이블에 테이블 계산 제거하기**

1. 시각적 객체 하단 근처에 있는 필드 모음을 선택하여 **필드 모음** 창을 확장합니다.

1. 테이블 계산을 제거하려는 **값** 웰에서 필드를 선택한 다음 **제거**를 선택합니다.

# 피벗 테이블 계산용 함수
<a name="supported-functions"></a>

피벗 테이블 계산에서는 다음 함수를 사용할 수 있습니다.

**Topics**
+ [누계](#running-total)
+ [차이](#difference)
+ [비율 차이](#percent-difference)
+ [전체 대비 백분율](#percent-of-total)
+ [Rank](#rank)
+ [백분위수](#percentile)

다음 데이터에 나열된 함수를 적용할 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/running-total1.png)


![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/running-total1.png)


## 누계
<a name="running-total"></a>

**Running total(이동 합계)** 함수는 지정된 셀 값과 그 앞에 오는 모든 셀 값의 합계를 계산합니다. 이 합계는 `Cell1=Cell1, Cell2=Cell1+Cell2, Cell3=Cell1+Cell2+Cell3` 등으로 계산됩니다.

테이블 행에 걸쳐 **누계** 함수를 적용하고 **다음과 같이 계산하기**를 위한 **테이블 어크로스**를 사용하여 다음과 같은 결과를 얻을 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/running-total2.png)


## 차이
<a name="difference"></a>

**Difference** 함수는 셀 값과 그 앞에 오는 셀 값 간의 차이를 계산합니다. 이 차이는 `Cell1=Cell1-null, Cell2=Cell2-Cell1, Cell3=Cell3-Cell2,` 등으로 계산됩니다. `Cell1-null = null`이므로 Cell1의 값은 항상 비어 있습니다.

테이블 행에 걸쳐 **차이** 함수를 적용하고 **다음과 같이 계산하기**를 위한 **테이블 어크로스**를 사용하여 다음과 같은 결과를 얻을 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/difference.png)


## 비율 차이
<a name="percent-difference"></a>

**Percentage Difference(백분율 차이)** 함수는 셀 값과 그 앞에 오는 셀 값 간의 백분율 차이를 계산한 다음 그 앞에 오는 셀 값으로 나눕니다. 이 값은 `Cell1=(Cell1-null)/null, Cell2=(Cell2-Cell1)/Cell1, Cell3=(Cell3-Cell2)/Cell2,` 등으로 계산됩니다. `(Cell1-null)/null = null`이므로 Cell1의 값은 항상 비어 있습니다.

테이블 행에 걸쳐 **백분율 차이** 함수를 적용하고 **다음과 같이 계산하기**를 위한 **테이블 어크로스**를 사용하여 다음과 같은 결과를 얻을 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/percentage-difference.png)


## 전체 대비 백분율
<a name="percent-of-total"></a>

**Percent of Total** 함수는 지정된 셀이 계산에 포함된 모든 셀의 합계에서 차지하는 비율을 계산합니다. 이 비율은 `Cell1=Cell1/(sum of all cells), Cell2=Cell2/(sum of all cells),` 등으로 계산됩니다.

테이블 행에 걸쳐 **전체 대비 백분율** 함수를 적용하고 **다음과 같이 계산하기**를 위한 **테이블 어크로스**를 사용하여 다음과 같은 결과를 얻을 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/percent-of-total.png)


## Rank
<a name="rank"></a>

**Rank** 함수는 계산에 포함된 다른 셀의 값과 비교하여 셀 값의 순위를 계산합니다. rank 함수는 항상 가장 큰 값을 1로, 가장 작은 값을 계산에 포함된 셀 수로 표시합니다. 값이 같은 셀이 둘 이상이면 순위는 동일하지만 각각 한 자리씩 차지하는 것으로 간주됩니다. 따라서 그보다 작은 값은 바로 윗 순위의 셀 수만큼 순위가 아래로 밀립니다. 예를 들어 값 5, 3, 3, 4, 3, 2에 rank 함수를 적용하면 순위는 1, 3, 3, 2, 3, 6이 됩니다.

예를 들어 다음과 같은 데이터가 있다고 가정하겠습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/rank.png)


테이블 행에 걸쳐 **순위** 함수를 적용하고 **다음과 같이 계산하기**를 위한 **테이블 어크로스**를 사용하여 다음과 같은 결과를 얻을 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/rank2.png)


## 백분위수
<a name="percentile"></a>

**Percentile** 함수는 계산에 포함된 셀 값 중 지정된 셀 값 이하인 비율을 계산합니다.

이 비율은 다음과 같이 계산됩니다.

```
percentile rank(x) = 100 * B / N

Where:
   B = number of scores below x
   N = number of scores
```

테이블 행에 걸쳐 **백분위수** 함수를 적용하고 **다음과 같이 계산하기**를 위한 **테이블 어크로스**를 사용하여 다음과 같은 결과를 얻을 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/percentile.png)


# 피벗 테이블 계산을 적용하는 방법
<a name="supported-applications"></a>

테이블 계산은 아래에서 설명하는 방식대로 적용할 수 있습니다. 테이블 계산은 한 번에 한 개의 필드에만 적용됩니다. 따라서 피벗 테이블에 값이 여러 개 있는 경우 계산을 적용한 필드를 나타내는 셀에만 계산이 적용됩니다.

**Topics**
+ [테이블 어크로스](#table-across)
+ [테이블 다운](#table-down)
+ [테이블 어크로스-다운](#table-across-down)
+ [테이블 다운-어크로스](#table-down-across)
+ [그룹 어크로스](#group-across)
+ [그룹 다운](#group-down)
+ [그룹 어크로스-다운](#group-across-down)
+ [그룹 다운-어크로스](#group-down-across)

## 테이블 어크로스
<a name="table-across"></a>

**Table across(옆으로 테이블 작성)**를 사용하면 그룹화와 상관없이 피벗 테이블의 행 간에 계산이 적용됩니다. 이 경우가 기본값입니다. 다음과 같은 피벗 테이블을 예로 들 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sample-pivot.png)


**테이블 어크로스**를 사용하여 **누계** 함수를 적용하면 마지막 열에 행 합계가 표시되고 다음과 같은 결과를 얻을 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/table-across.png)


## 테이블 다운
<a name="table-down"></a>

**Table down(아래로 테이블 작성)**을 사용하면 그룹화와 상관없이 피벗 테이블의 열 아래로 계산이 적용됩니다.

**테이블 다운**을 사용하여 **누계** 함수를 적용하면 마지막 행에 열 합계가 표시되고 다음과 같은 결과를 얻을 수 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/table-down.png)


## 테이블 어크로스-다운
<a name="table-across-down"></a>

**Table across down(옆으로 아래로 테이블 작성)**을 사용하면 피벗 테이블의 행 간에 계산이 적용된 다음 결과가 산출되고 피벗 테이블의 열 아래로 계산이 다시 적용됩니다.

**테이블 어크로스-다운**을 사용하여 **누계** 함수를 적용하면 다음과 같은 결과를 얻을 수 있습니다. 이 경우 합계는 옆으로와 아래로 모두 계산되고, 오른쪽 아래에 총 합계가 계산됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/running-total-across-down.png)


이 경우 **테이블 어크로스-다운**을 사용해 **순위** 함수를 적용한다고 가정해 보겠습니다. 이를 수행하는 경우 최초의 순위는 테이블 행 간에 결정된 다음 열 아래에서 결정되어 다음과 같은 결과를 얻게 됩니다. 이러한 접근 방식은 다음과 같은 결과를 제공합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/rank-table-across-down.png)


## 테이블 다운-어크로스
<a name="table-down-across"></a>

**Table down across(아래로 옆으로 테이블 작성)**을 사용하면 피벗 테이블의 열 아래로 계산이 적용됩니다. 그런 다음 결과를 가져오고 피벗 테이블 행 간에 계산을 다시 적용합니다.

**테이블 다운-어크로스**를 사용하여 **누계** 함수를 적용하면 다음과 같은 결과를 얻을 수 있습니다. 이 경우 합계는 옆으로와 아래로 모두 계산되고, 오른쪽 아래에 총 합계가 계산됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/running-total-down-across.png)


**테이블 다운-어크로스**를 사용하여 **순위** 함수를 적용하면 다음과 같은 결과를 얻을 수 있습니다. 이 경우 최초 순위는 테이블 열 간에 결정됩니다. 그런 다음 순위가 행 간에 결정됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/rank-table-down-across.png)


## 그룹 어크로스
<a name="group-across"></a>

**Group across(옆으로 그룹화)**를 사용하면 열에 적용된 그룹화의 두 번째 수준에 따라 결정된 대로 그룹 경계 내에서 피벗 테이블의 행 간에 계산을 적용합니다. 예를 들어 field-2별로 그룹화한 다음 field-1별로 그룹화하면 그룹화는 field-2 수준에서 적용됩니다. field-3, field-2 및 field-1별로 그룹화하는 경우 그룹화가 다시 field-2 수준에서 적용됩니다. 그룹화가 없는 경우 **Group across(옆으로 그룹화)**는 **Table across(옆으로 테이블 작성)**와 동일한 결과를 반환합니다.

예를 들어, 열이 `Service Line` 및 `Consumption Channel`별로 그룹화된 다음과 같은 피벗 테이블이 있다고 가정합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sample-pivot.png)


**그룹 어크로스**를 사용하여 **누계** 함수를 적용하면 다음과 같은 결과를 얻을 수 있습니다. 이 경우 함수는 행 간에 적용되고, 각 서비스 범주 그룹으로 묶인 열 간에 적용됩니다. `Mobile` 열에는 지정된 `Service Line`, `Customer Region` 및 지정된 행으로 표시되는 `Date`(연도)에 대한 `Consumption Channel`의 총액이 표시됩니다. 예를 들어, 강조 표시된 셀은 `2012`에 대한 `APAC` 리전의 합계, 이름이 `Billing`인 `Service Line`의 모든 `Consumption Channel` 값에 대한 합계를 나타냅니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/group-across.png)


## 그룹 다운
<a name="group-down"></a>

**Group down(아래로 그룹화)**을 사용하면 행에 적용된 그룹화의 두 번째 수준에 따라 결정된 대로 그룹 경계 내에서 피벗 테이블의 열 아래에 계산을 적용합니다. 예를 들어 field-2별로 그룹화한 다음 field-1별로 그룹화하면 그룹화는 field-2 수준에서 적용됩니다. field-3, field-2 및 field-1별로 그룹화하는 경우 그룹화가 다시 field-2 수준에서 적용됩니다. 그룹화가 없는 경우 **Group down(아래로 그룹화)**은 **Table down(아래로 테이블 작성)**과 동일한 결과를 반환합니다.

예를 들어, 행이 `Customer Region` 및 `Date`(연도)별로 그룹화된 다음과 같은 피벗 테이블이 있다고 가정합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sample-pivot.png)


**그룹 다운**을 사용하여 **누계** 함수를 적용하면 다음과 같은 결과를 얻을 수 있습니다. 이 경우 함수는 열 간에 아래로 적용되고, 각 `Customer Region` 그룹으로 묶인 행 간에 적용됩니다. `2014` 행에는 지정된 `Customer Region`, 지정된 열로 표시되는 `Service Line` 및 `Consumption Channel`에 대한 모든 연도 합계가 표시됩니다. 예를 들어, 강조 표시된 셀은 `APAC` 리전의 합계, `Mobile` 채널에 대한 `Billing` 서비스 합계, 보고서에 표시되는 모든 `Date` 값(연도)의 합계를 나타냅니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/group-down.png)


## 그룹 어크로스-다운
<a name="group-across-down"></a>

**Group across down(옆으로 아래로 그룹화)**을 사용하면 열에 적용된 그룹화의 두 번째 수준에 따라 결정된 대로 그룹 경계 내에서 행 간에 계산을 적용합니다. 함수는 결과를 가져오고 피벗 테이블 열 간에 아래로 계산을 다시 적용합니다. 이를 행에 적용된 그룹화의 두 번째 수준에 따라 그룹 경계 내에서 수행합니다.

예를 들어 field-2별로 행 또는 열을 그룹화한 다음 field-1별로 그룹화하면 그룹화는 field-2 수준에서 적용됩니다. field-3, field-2 및 field-1별로 그룹화하는 경우 그룹화가 다시 field-2 수준에서 적용됩니다. 그룹화가 없는 경우 **Group across down(옆으로 아래로 그룹화)**은 **Table across down(옆으로 아래로 테이블 작성)**과 동일한 결과를 반환합니다.

예를 들어, 열이 `Service Line` 및 `Consumption Channel`별로 그룹화된 다음과 같은 피벗 테이블이 있다고 가정합니다. 행은 `Customer Region`별로, 그리고 `Date`(연도)별로 그룹화됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sample-pivot.png)


**그룹 어크로스-다운**을 사용하여 **누계** 함수를 적용하면 다음과 같은 결과를 얻을 수 있습니다. 이 경우 합계는 그룹 경계 내에서 옆으로와 아래로 모두 계산됩니다. 여기서 이러한 경계는 열의 경우 `Service Line`이고, 행의 경우 `Customer Region`입니다. 총 합계는 그룹의 오른쪽 아래 셀에 표시됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/running-total-group-across-down.png)


**그룹 어크로스-다운**을 사용하여 **순위** 함수를 적용하면 다음과 같은 결과를 얻을 수 있습니다. 이 경우 함수는 우선 `Service Line` 그룹으로 묶인 행 간에 적용됩니다. 그런 다음 이 함수는 처음 계산 결과에 다시 적용됩니다. 이때에는 각 `Customer Region` 그룹으로 묶인 열 아래로 적용됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/rank-group-across-down.png)


## 그룹 다운-어크로스
<a name="group-down-across"></a>

**Group down across(아래로 옆으로 그룹화)**를 사용하면 행에 적용된 그룹화의 두 번째 수준에 따라 결정된 대로 그룹 경계 내에서 열 아래에 계산을 적용합니다. 그런 다음 Amazon Quick은 결과를 가져와 피벗 테이블의 행에 계산을 다시 적용합니다. 그리고 다시 한 번 열에 적용된 그룹화의 두 번째 수준에 따라 계산을 그룹 경계 내에서 적용합니다.

예를 들어 field-2별로 행 또는 열을 그룹화한 다음 field-1별로 그룹화하면 그룹화는 field-2 수준에서 적용됩니다. field-3, field-2 및 field-1별로 그룹화하는 경우 그룹화가 다시 field-2 수준에서 적용됩니다. 그룹화가 없는 경우 **Group down across(아래로 옆으로 그룹화)**은 **Table down across(아래로 옆으로 테이블 작성)**과 동일한 결과를 반환합니다.

다음과 같은 피벗 테이블을 예로 들 수 있습니다. 열은 `Service Line`별로, 그리고 `Consumption Channel`(연도)별로 그룹화됩니다. 행은 `Customer Region`별로, 그리고 `Date`(연도)별로 그룹화됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/sample-pivot.png)


**그룹 다운-어크로스**를 사용하여 **누계** 함수를 적용하면 다음과 같은 결과를 얻을 수 있습니다. 이 경우 합계는 그룹 경계 내에서 옆으로와 아래로 모두 계산됩니다. 이 경우 이는 열의 경우 `Service Category`이고, 행의 경우 `Customer Region`입니다. 총 합계는 그룹의 오른쪽 아래 셀입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/running-total-group-across-down.png)


**그룹 다운-어크로스**를 사용하여 **순위** 함수를 적용하면 다음과 같은 결과를 얻을 수 있습니다. 이 경우 함수는 열 간에 아래로 처음 적용되고, 각 `Customer Region` 그룹에 적용됩니다. 그런 다음 이 함수는 처음 계산 결과에 다시 적용됩니다. 이때에는 각 `Service Line` 그룹으로 묶인 행 옆으로 적용됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/rank-group-down-across.png)


# 피벗 테이블의 제한 사항
<a name="pivot-table-limitations"></a>

피벗 테이블에는 다음과 같은 제한 사항이 적용됩니다.
+ 최대 500,000개의 레코드가 포함된 피벗 테이블을 생성할 수 있습니다.
+ 행 및 열 필드 값의 합이 최대 40이 되는 모든 조합을 추가할 수 있습니다. 예를 들어 행 필드 값이 10개인 경우 열 필드 값을 최대 30개까지 추가할 수 있습니다.
+ 집계되지 않은 값에만 피벗 테이블 계산을 생성할 수 있습니다. 예를 들어, 측정값의 합계를 나타내는 계산된 필드를 생성한 경우에는 이 필드에 피벗 테이블 계산을 추가할 수 없습니다.
+ 사용자 지정 지표별로 정렬하는 경우 사용자 지정 지표 정렬을 제거하기 전까지 테이블 계산을 추가할 수 없습니다.
+ 테이블 계산을 사용하고 사용자 지정 지표를 추가한 경우 사용자 지정 지표별로 정렬할 수 없습니다.
+ 개별 개수별로 집계된 지표의 테이블 계산에 대한 합계 및 소계는 비어 있습니다.

# Pivot table best practices
<a name="pivot-table-best-practices"></a>

하나의 피벗 테이블에 가능한 모든 조합을 제공하는 것이 아니라 행, 열, 지표 및 테이블 계산의 최소 집합을 배포하는 것이 가장 좋습니다. 너무 많이 포함하면 뷰어를 압도할 위험이 있으며 기본 데이터베이스의 계산 한계에도 부딪힐 수 있습니다.

복잡성을 줄이고 오류 가능성을 줄이려면 다음 작업을 수행할 수 있습니다 
+ 필터를 적용하여 시각적으로 포함된 데이터를 줄입니다.
+ **열** 및 **Column(행)** 필드 모음에서 더 적은 수의 필드를 사용합니다.
+ **값** 필드에서 가능한 한 적은 필드를 사용합니다.
+ 각 피벗 테이블이 더 적은 지표를 표시하도록 추가 피벗 테이블을 만듭니다.

어떤 경우에는 서로 관련하여 여러 지표를 조사해야 하는 비즈니스 요구 사항이 있습니다. 이러한 경우 동일한 대시보드에서 여러 개의 시각 자료를 사용하는 것이 더 나을 수 있습니다. 각 대시보드는 단일 지표를 보여줍니다. 대시보드에서 시각 자료의 크기를 줄이고 같은 위치에 추가하여 그룹으로 묶을 수 있습니다. 사용자가 하나의 시각 자료를 기반으로 한 결정에 따라 다른 보기의 필요성이 생기면 사용자 지정 URL 작업을 배포하여 사용자의 선택에 따라 다른 대시보드를 시작할 수 있습니다.

시각 자료를 빌딩 블록으로 생각하는 것이 가장 좋습니다. 하나의 시각 자료를 여러 용도로 사용하는 대신 각 시각 자료를 사용하여 보다 큰 비즈니스 의사 결정의 한 측면을 용이하게 하십시오. 뷰어는 모든 가능성을 포함하여 압도되지 않고 정보에 입각하여 의사 결정할 수 있는 충분한 데이터가 있어야 합니다.

# 방사형 차트 사용하기
<a name="radar-chart"></a>

스파이더 차트라고도 하는 레이더 차트를 사용하여 Amazon Quick에서 다변량 데이터를 시각화할 수 있습니다. 방사형 차트에서는 하나 이상의 값 그룹이 여러 공통 변수에 걸쳐 표시됩니다. 각 변수에는 고유한 축이 있으며 각 축은 중심점을 중심으로 방사형으로 배열됩니다. 단일 관측치의 데이터 포인트가 각 축에 표시되고 서로 연결되어 다각형을 형성합니다. 여러 관측치를 단일 방사형 차트에 플로팅하여 여러 다각형을 표시할 수 있으므로 여러 관측치의 외부 값을 쉽게 찾을 수 있습니다.

빠른에서 필드를 범주, 값 및 색상 필드 모음으로 끌어서 놓아 **범주**, **값** 또는 **색상** 축을 따라 레이더 차트를 구성할 수 있습니다. 필드 웰에 필드를 어떻게 분포하는지에 따라 데이터가 플로팅되는 축이 결정됩니다.

방사형 차트의 예시를 표시한 이미지입니다.

![\[부서별 직원 만족도 변수를 나타내는 방사형 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/radar-chart-example.png)


## 방사형 차트의 기능
<a name="radar-chart-features"></a>

방사형 차트에서 지원하는 기능에 대해 알아보려면 다음 테이블을 참조하십시오.


****  

| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 예 |  | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 시각적 객체 색상 변경 | 예 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예 |  |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 제한 사항 | 범주 및 색상 필드 웰에 있는 데이터 필드만 정렬할 수 있습니다. | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 |  | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 지원되지 않음 |  | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 
| 크기 선택 | 예 |  | [Amazon Quick의 형식 지정](formatting-a-visual.md) | 
| 합계 표시 | 지원되지 않음 |  | [Amazon Quick의 형식 지정](formatting-a-visual.md) | 

## 방사형 차트 생성하기
<a name="create-radar-chart"></a>

다음 순서에 따라 방사형 차트를 생성할 수 있습니다.

**방사형 차트 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. **시각화 유형** 창에서 방사형 차트 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 대부분의 경우 타겟 필드 웰로 표시된 차원 또는 측정값 필드를 사용합니다.

   방사형 차트를 생성하려면 **범주**, **값** 및 **그룹/색상** 필드 웰로 필드를 드래그합니다. 방사형 차트가 구성되는 축은 필드를 해당 필드 웰로 구성하는 방식에 따라 결정됩니다.
   + **값 축**을 사용하는 방사형 차트에서 차원 값은 선으로 표시되고 축은 값 필드를 나타냅니다. 값 축을 사용하는 방사형 차트를 만들려면 **색상** 필드 웰에 범주 필드 하나를 추가하고 **값** 필드 웰에 하나 이상의 값을 추가합니다.
   + **차원 축**을 사용하는 방사형 차트에서 그룹 차원 값은 축으로 표시되고 값 필드는 선으로 표시됩니다. 모든 축은 범위와 척도를 공유합니다. 차원 축을 사용하는 방사형 차트를 만들려면 **그룹** 필드 웰에 차원 하나를 추가하고 **값** 필드 웰에 하나 이상의 값을 추가합니다.
   + **차원-색상 축**을 사용하는 방사형 차트에서 그룹 차원 값은 축으로 표시되고 색상 차원 값은 선으로 표시됩니다. 모든 축은 범위와 척도를 공유합니다. 차원-색상 축을 사용하는 방사형 차트를 생성하려면 차원 하나를 **범주** 필드 웰에 추가하고 값 하나를 **값** 필드 웰에, 차원 하나를 **색상** 필드 웰에 추가합니다.

# 생키 다이어그램 사용하기
<a name="sankey-diagram"></a>

생키 다이어그램을 사용하여 한 범주에서 다른 범주로의 흐름 또는 한 단계에서 다음 단계로의 경로를 표시할 수 있습니다.

예를 들어, 생키 다이어그램은 한 국가에서 다른 국가로 이주하는 사람들의 수를 표시할 수 있습니다. 또한 생키 다이어그램은 웹 방문자가 회사 웹 사이트의 한 페이지에서 다음 페이지로 이동하는 경로와 그 과정에서 경유하는 지점을 표시할 수 있습니다.

## 생키 다이어그램용 데이터
<a name="sankey-diagram-data"></a>

Quick에서 Sankey 다이어그램을 생성하려면 데이터 세트에 치수와 두 개의 차원(소스 범주가 포함된 차원 하나와 대상 범주가 포함된 차원 하나)이 포함되어야 합니다.

다음 테이블은 생키 다이어그램에 사용할 수 있는 간단한 데이터 예제입니다.


| 차원(원본) | 차원(대상) | 측정값(가중치) | 
| --- | --- | --- | 
|  A  |  W  |  500  | 
|  A  |  X  |  23  | 
|  A  |  Y  |  147  | 

다음 생키 다이어그램은 차원 및 측정값이 필드 웰에 추가되고 왼쪽의 A 노드가 오른쪽의 W, Y, X 노드에 연결되면 생성됩니다. 노드 간 각 링크의 너비는 측정값(가중치) 열의 값에 따라 결정됩니다. 노드는 자동으로 정렬됩니다.

Amazon Quick에서 다단계 Sankey 다이어그램을 생성하려면 데이터세트에 여전히 측정값과 두 개의 차원(소스용 1개와 대상용 1개)이 포함되어야 하지만이 경우 데이터 값은 다릅니다.

다음 테이블은 2단계로 구성된 다단계 생키 다이어그램에 사용할 수 있는 간단한 데이터 예제입니다.


| 차원(원본) | 차원(대상) | 측정값(가중치) | 
| --- | --- | --- | 
|  A  |  W  |  500  | 
|  A  |  X  |  23  | 
|  A  |  Y  |  147  | 
|  W  |  Z  |  300  | 
|  X  |  Z  |  5  | 
|  Y  |  Z  |  50  | 

다음 생키 다이어그램은 차원 및 측정값이 필드 웰에 추가될 때 생성됩니다. 여기서 왼쪽의 A 노드는 중앙에 있는 W, Y, X 노드에 연결되고 W, Y, X 노드는 오른쪽의 Z 노드에 연결됩니다. 노드 간 각 링크의 너비는 측정값(가중치) 열의 값에 따라 결정됩니다.

### 주기적 데이터로 작업하기
<a name="sankey-diagram-cycle"></a>

생키 다이어그램에 사용하는 데이터에 주기가 포함되는 경우가 있습니다. 예를 들어 웹 사이트의 페이지 간 사용자 트래픽 흐름을 시각화한다고 가정해 보겠습니다. 페이지 A로 이동한 사용자가 페이지 E로 이동했다가 다시 페이지 A로 돌아오는 것을 발견했습니다. 전체 플로우는 A-E-A-B-A-E-A와 같이 나타낼 수 있습니다.

데이터에 주기가 포함된 경우 각 주기의 노드가 Quick에서 반복됩니다. 예를 들어 데이터에 A-E-A-B-A-E-A 플로우가 포함된 경우 다음과 같은 생키 다이어그램이 생성됩니다.

## 생키 다이어그램에 사용할 데이터 준비하기
<a name="sankey-diagram-prepare"></a>

데이터 세트에 원본 또는 대상 열이 없는 경우 데이터가 해당 열을 포함하도록 준비합니다. 새 데이터 세트를 생성하거나 기존 데이터 세트를 수정할 때 데이터를 준비할 수 있습니다. 새 데이터 세트 생성 및 준비에 대한 자세한 내용은 [데이터 세트 생성](creating-data-sets.md) 단원을 참조하십시오. 데이터 준비를 위해 기존 데이터 세트를 여는 방법에 대한 자세한 내용은 [데이터 세트 편집](edit-a-data-set.md) 단원을 참조하십시오.

다음 절차에서는 예제 테이블(아래 그림 참조)을 사용하여 Quick에서 Sankey 다이어그램에 맞게 데이터를 준비하는 방법을 보여줍니다. 테이블에는 고객 ID, 시간, 조치라는 열이 셋 있습니다.


| 고객 ID | Time | 작업 | 
| --- | --- | --- | 
|  1  |  오전 9시 5분  |  1단계  | 
|  1  |  오전 9시 6분  |  단계 2  | 
|  1  |  오전 9시 8분  |  3단계  | 
|  2  |  오전 11시 44분  |  1단계  | 
|  2  |  오전 11시 47분  |  단계 2  | 
|  2  |  오전 11시 48분  |  3단계  | 

이 데이터를 사용하여 빠른에서 Sankey 다이어그램을 생성하려면 먼저 테이블에 소스 및 대상 열을 추가합니다. 방법을 알아보려면 다음 절차에 따르세요.

**테이블에 원본 및 대상 열 추가하기**

1. 테이블에 단계 번호 열을 추가하여 각 행의 번호를 매기거나 순위를 지정합니다.

   단계 번호 열을 계산하는 방법은 여러 가지가 있습니다. 데이터 소스가 SQL과 호환되고 데이터베이스가 `ROW_NUMBER` 또는 `RANK` 함수를 지원하는 경우 빠른 사용자 지정 SQL을 사용하여 Step Number 열의 행을 정렬할 수 있습니다. Quick에서 사용자 지정 SQL을 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[SQL을 사용하여 데이터 사용자 지정](adding-a-SQL-query.md).    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/sankey-diagram.html)

1. 단계 번호에 1을 더한 것과 같은 값으로 테이블에 다음 행 번호 열을 추가합니다.

   예를 들어, 테이블의 첫 번째 데이터 행에서 단계 번호 값이 1입니다. 해당 행의 다음 단계 번호 값을 계산하려면 해당 값에 1을 더합니다.

   1 \$1 1 = 2

   테이블의 두 번째 데이터 행에 있는 단계 번호 값이 2이므로 다음 단계 번호 값은 3입니다.

   2 \$1 1 = 3    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/sankey-diagram.html)

1. 테이블 자체와 테이블 결합:

   1. **결합 유형**에서 **안으로**를 선택합니다.

   1. **결합 절**의 경우 다음을 따릅니다.

      1. **고객 ID** 선택 = **고객 ID**

      1. **다음 단계 번호** 선택 = **단계 번호**

   두 테이블을 결합하면 고객 ID, 시간, 조치, 단계 번호 및 다음 단계 번호에 대한 두 개의 열이 생성됩니다. 결합의 왼쪽에 있는 테이블의 열은 원본 열입니다. 결합의 오른쪽에 있는 테이블의 열은 대상 열입니다.

   Quick에서 데이터를 조인하는 방법에 대한 자세한 내용은 섹션을 참조하세요[데이터 조인](joining-data.md).

1. (선택 사항) 원본 및 대상을 나타내도록 열 이름을 변경합니다.

   다음은 예제입니다.

   1. 왼쪽에 있는 **조치** 열의 이름을 **원본**으로 변경합니다.

   1. 오른쪽에 있는 **조치[복사]** 열의 이름을 **대상**으로 변경합니다.

   1. 왼쪽에 있는 **시간** 열의 이름을 **시작 시간**으로 변경합니다.

   1. 오른쪽에 있는 **시간[복사]** 열의 이름을 **종료 시간**으로 변경합니다.

   이제 데이터를 시각화할 준비가 되었습니다.

## 생키 다이어그램 생성하기
<a name="sankey-diagram-create"></a>

다음 순서에 따라 생키 다이어그램을 생성할 수 있습니다.

**생키 다이어그램 생성하기**

1. 분석 화면 왼쪽의 도구 표시줄에서 **시각화**를 선택합니다.

1. 애플리케이션 표시줄에서 **추가**를 선택한 다음 **시각화 추가**를 선택합니다.

1. **시각화 유형** 창에서 생키 다이어그램 아이콘을 선택합니다.

1. 시각적 객체 오른쪽 상단에 있는 메뉴에서 **속성** 아이콘을 선택합니다.

1. **속성 창 **에서 **소스** 또는 **대상** 섹션을 선택합니다.

### 노드 수 사용자 지정하기
<a name="sankey-diagram-number-nodes"></a>

다음 순서에 따라 생키 다이어그램에 표시되는 노드 수를 사용자 지정할 수 있습니다. Quick은 최대 100개의 소스/대상 노드를 지원합니다.

**생키 다이어그램에 표시되는 노드 수 사용자 지정하기**

1. 분석 페이지에서 서식을 지정하려는 생키 다이어그램 시각화를 선택합니다.

1. 시각화 오른쪽 상단에 있는 메뉴에서 **시각화 서식 지정** 아이콘을 선택합니다.

1. **속성** 창이 열리면 **소스** 또는 **대상** 탭을 선택합니다.

1. **표시되는 노드 수**에 숫자를 입력합니다.

   다이어그램의 노드가 지정한 수로 업데이트됩니다. 최상위 노드가 자동으로 표시됩니다. 다른 모든 노드는 **기타** 범주에 배치됩니다.
**참고**  
원본 노드 수를 지정하면 다이어그램에 전체적으로 표시할 수 있는 원본 노드 수가 제어됩니다. 대상 노드 수를 지정하면 원본 노드당 표시할 수 있는 대상 노드 수가 제어됩니다. 즉, 다이어그램에 원본 노드가 두 개 이상 있는 경우 전체 대상 노드 수가 지정된 수보다 많아집니다.  
Quick은 최대 100개의 소스/대상 노드를 지원합니다.

   예를 들어, 다음 생키 다이어그램에는 원본 노드가 (5개 중) 3개로 제한되어 있으므로 상위 3개 노드가 다이어그램에 표시됩니다. 나머지 두 원본 노드는 기타 범주에 배치됩니다.

   다이어그램에서 **기타** 범주를 제거하려면 보기에서 해당 범주를 선택하고 **"기타" 범주 숨기기**를 선택합니다.

## 생키 다이어그램의 기능
<a name="sankey-diagram-features"></a>

생키 다이어그램에서 지원하는 기능에 대해 알아보려면 다음 테이블을 참조하십시오.


| 기능 | 지원 여부 | 자세한 정보 | 
| --- | --- | --- | 
| 범례 표시 변경 | 아니요 |  | 
| 제목 표시 변경 | 예 | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 아니요 |  | 
| 시각적 객체 색상 변경 | 아니요 |  | 
| 요소 강조 또는 제외 | 예 |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md)  | 
| 정렬 | 아니요 |  | 
| 필드 집계 수행 | 예 | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 아니요 |  | 
| 조건부 형식 지정 | 아니요 |  | 

# 산점도 사용하기
<a name="scatter-plot"></a>

산점도를 사용하여 두 차원에 걸쳐 두 개 또는 세 개의 측정값을 시각화합니다.

산점도의 각 풍선은 하나 또는 두 개 차원 값을 나타냅니다. X 및 Y축은 차원에 적용되는 다른 치수 2개를 나타냅니다. 풍선은 차원의 한 항목에 대한 치수 2개의 값이 교차하는 지점에서 차트에 나타납니다. 선택적으로 풍선의 크기를 사용하여 추가 치수를 나타낼 수도 있습니다.

산점도는 시각화에 색상 또는 레이블 차원이 사용되었는지 여부와 관계없이 집계된 시나리오와 집계되지 않은 시나리오에서 최대 2,500개의 데이터 포인트를 표시합니다. 제한 작업의 순서로 인해 데이터세트에 대한 데이터 포인트가 더 적은 경우가 있을 수 있습니다. Amazon Quick이 표시 한도를 벗어나는 데이터를 처리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[표시 제한](working-with-visual-types.md#display-limits).

## 산점도의 기능
<a name="scatter-plot-features"></a>

산점도에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예(예외 있음) | 산점도는 [Group/Color] 필드 모음이 채워진 경우 범례를 표시합니다. | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 예 | X 및 Y축의 범위를 설정할 수 있습니다. | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 축선, 격자선, 축 레이블, 축 정렬 아이콘 표시하기 또는 숨기기 | 예 |  | [Quick의 시각적 객체 유형에 대한 축 및 그리드 선](showing-hiding-axis-grid-tick.md) | 
| 시각적 객체 색상 변경 | 예 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예(예외 있음) | 날짜 필드를 차원으로 사용하는 경우를 제외하고 산점도의 풍선을 강조 또는 제외할 수 있습니다. 이 경우에는 풍선을 강조만 할 수 있고 제외할 수는 없습니다. |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 아니요 |  | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 | X축, Y축 및 크기에 대해 선택한 필드에는 집계를 적용해야 하며, 그룹 또는 색상에 대해 선택한 필드에는 집계를 적용할 수 없습니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 집계되지 않은 필드 표시하기 | 예 | 필드 컨텍스트 메뉴에서 없음을 선택하여 집계되지 않은 X축 및 Y축 값을 표시합니다. 산점도에 집계되지 않은 필드가 표시되는 경우 색상 또는 레이블 필드 웰에 있는 필드에 집계를 적용할 수 없습니다. 산점도에는 혼합 집계가 지원되지 않습니다. |  | 
| 드릴다운 추가 | 예 | [Group/Color] 필드 모음에 드릴다운 수준을 추가할 수 있습니다. | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 

## 산점도 생성하기
<a name="create-scatter-plot"></a>

산점도를 생성하려면 다음 절차에 따르십시오.

**산점도 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. [**Visual types**] 창에서 산점도 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 차원 또는 치수 필드를 사용합니다. 차원 필드를 치수로 사용하도록 선택하는 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다.

   산점도를 생성하려면 측정값 한 개를 **X축** 필드 웰로, 측정값 한 개를 **Y축** 필드 웰로 끌어오고 차원 하나를 **색상** 또는 **레이블** 필드 웰로 끌어옵니다. 풍선 크기를 사용하여 다른 치수를 나타내려면 해당 치수를 [**Size**] 필드 모음으로 끌어옵니다.

1. (선택 사항) 하나 이상의 추가 필드를 **색상** 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

## 산점도 사용 사례
<a name="scatter-use-cases"></a>

필드 메뉴의 집계 옵션 **없음**을 사용하여 색상에서 필드를 사용하는 경우에도 집계되지 않은 값을 플로팅할 수 있고, 여기에는 **합계**, **최소값**, **최대값**과 같은 집계 옵션도 포함됩니다. 한 값이 집계되도록 설정된 경우 다른 값도 자동으로 집계된 값으로 설정됩니다. 집계되지 않은 시나리오에도 동일하게 적용됩니다. 혼합 집계 시나리오는 지원되지 않습니다. 즉, 한 값은 집계된 값이 되고 다른 값은 집계되지 않은 값이 되도록 설정할 수 없습니다. 참고로 집계되지 않은 시나리오, 즉 **없음** 옵션이 숫자 값에만 지원되는 반면, 날짜 또는 차원과 같은 범주형 값은 **개수** 및 **고유 개수**와 같이 집계된 값만 표시합니다.

**없음** 옵션을 사용하면 **X축** 및 **Y축** 필드 메뉴에서 X와 Y 값을 모두 집계 또는 비집계 중 하나로 설정할 수 있습니다. 이렇게 하면 **색상** 및 **레이블** 필드 웰에서 차원에 따라 값을 집계할지 여부가 정의됩니다. 시작하려면 다음 섹션과 같이 필수 필드를 추가하고 사용 사례에 따라 적절한 집계 옵션을 선택하십시오.

### 집계되지 않은 사용 사례
<a name="advanced-scatter-plot-options-unaggregated"></a>
+ 집계되지 않은 X 및 Y 값(색상 포함)  
![\[집계되지 않은 색상\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/unaggregated-color.png)
+ 집계되지 않은 X 및 Y 값(레이블 포함)  
![\[집계되지 않은 레이블\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/unaggregated-label.png)
+ 집계되지 않은 X 및 Y 값(색상 및 레이블 포함)  
![\[집계되지 않은 색상 레이블\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/unaggregated-color-label.png)

### 집계된 사용 사례
<a name="advanced-scatter-plot-options-aggregated"></a>
+ 집계된 X 및 Y 값(색상 포함)  
![\[집계된 색상\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/aggregated-color.png)
+ 집계된 X 및 Y 값(레이블 포함)  
![\[집계된 레이블\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/aggregated-label.png)
+ 집계된 X 및 Y 값(색상 및 레이블 포함)  
![\[집계된 색상 레이블\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/aggregated-color-label.png)

# 테이블을 시각화로 사용하기
<a name="tabular"></a>

테이블형 시각적 객체를 사용하여 데이터의 사용자 지정 테이블 보기를 확인합니다. 테이블 시각적 객체를 생성하려면 데이터 유형과 상관없이 한 필드를 선택합니다. 필요한 만큼 최대 200개까지 열을 추가할 수 있습니다. 또한 계산된 열을 추가할 수 있습니다.

테이블 시각적 객체는 범례를 표시하지 않습니다. 테이블의 제목을 숨기거나 표시할 수 없습니다. 또한 합계를 숨기거나 표시할 수 있으며, 테이블 맨 아래나 위에 통합을 표시할 수 있습니다. 자세한 내용은 [Quick의 유형별 분석 형식](analytics-format-options.md) 단원을 참조하십시오.

**테이블 시각화 생성하기**

1. Amazon Quick을 열고 왼쪽 탐색 창에서 **분석을** 선택합니다.

1. 다음 중 하나를 선택합니다.
   + 새 분석을 생성하려면 오른쪽 상단에서 **새 분석**을 선택합니다. 자세한 내용은 [Quick Sight에서 분석 시작](creating-an-analysis.md) 단원을 참조하십시오.
   + 기존 분석을 사용하려면 편집하려는 분석을 선택합니다.

1. 파일 메뉴에서 **삽입**을 선택한 다음 **시각적 객체 추가**를 선택합니다.

1. 왼쪽 하단의 **시각화 유형**에서 테이블 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용할 필드를 선택합니다. 계산된 필드를 추가하려는 경우 파일 메뉴에서 **삽입**을 선택한 다음 **계산된 필드 추가**를 선택합니다.

   데이터의 집계되지 않은 보기를 생성하려면 **값** 필드 웰에만 필드를 추가합니다. 이렇게 하면 집계 없이 데이터를 보여줍니다.

   데이터의 집계된 보기를 생성하려면 집계하고자 하는 필드를 선택한 다음 **Group by(그룹화 기준)** 필드 모음에 추가합니다.

**테이블에서 열 표시하기 또는 숨기기**

1. 시각화에서 숨기려는 필드를 선택한 다음 **열 숨기기**를 선택합니다.

1. 숨겨진 열을 표시하려면 열을 선택한 다음 **숨겨진 열 모두 표시**를 선택합니다.

**열을 행으로, 행을 열로 바꾸기**
+ 시각화의 오른쪽 상단에 있는 행/열 바꿈 아이콘(![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/transpose-icon.png))을 선택합니다. 이 아이콘에는 다음과 같이 90도 각도로 두 개의 화살표가 있습니다.

**열을 세로로 정렬하기**

1. 시각화에서 시각화의 오른쪽 상단에 있는 **시각화 서식 지정** 아이콘(![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/format-visual-icon.png))을 선택합니다.

1. **속성** 창에서 **테이블 옵션**을 선택하고 테이블의 세로 정렬을 선택합니다.

**머리글의 텍스트 줄바꿈하기**

1. 시각화에서 시각화의 오른쪽 상단에 있는 **시각화 서식 지정** 아이콘(![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/format-visual-icon.png))을 선택합니다.

1. **속성** 창에서 **테이블 옵션**을 선택하고 **머리글 텍스트 줄 바꿈**을 선택합니다.

**테이블 차트의 열을 재정렬하는 방법**

1. 정렬하려는 시각적 객체로 분석을 엽니다. 시각적 객체 창은 기본적으로 열립니다.

1. 다음 중 하나를 수행하세요.
   + **필드 웰**에서 하나 이상의 필드를 드래그 앤 드롭하여 순서를 재정렬할 수 있습니다.
   + 테이블에서 직접 필드를 선택하고 **열 이동**에서 왼쪽 또는 오른쪽 화살표를 선택합니다.

# 필드 스타일 지정 사용하기
<a name="field-styling"></a>

시각화 서식 지정 메뉴의 **필드 스타일 지정** 창을 사용하여 테이블의 URL을 링크로 렌더링할 수 있습니다. 테이블의 각 페이지에 대해 최대 500행의 링크를 추가할 수 있습니다. https 및 mailto 하이퍼링크만 지원됩니다.

**테이블에 링크 추가하기**

1. 빠른 홈페이지에서 **분석을** 선택한 다음 사용자 지정하려는 분석을 선택합니다.

1. 변경할 테이블을 선택합니다.

1. 테이블 오른쪽 상단의 메뉴에서 **시각화 서식 지정**을 선택합니다.

1. **시각화 서식 지정**에 대해 **필드 스타일 지정**을 선택합니다.

1. **필드 스타일 지정** 창의 메뉴에서 스타일을 지정하려는 필드를 선택합니다.

1. **필드 스타일 지정** 메뉴의 **URL 옵션** 섹션에서 **URL 하이퍼링크 만들기**를 선택합니다.

테이블에 링크를 추가한 후 **필드 스타일** 창의 **다음에서 열기** 섹션에서 링크를 선택할 때 링크를 열 위치를 선택할 수 있습니다. 링크를 새 탭, 새 창 또는 같은 탭에서 열도록 선택할 수 있습니다.

**필드 스타일** 창의 **다음으로 스타일 지정** 섹션에서 링크의 스타일을 지정하는 방법을 선택할 수도 있습니다. 링크를 하이퍼링크, 아이콘 또는 일반 텍스트로 표시하거나 사용자 지정 링크를 설정할 수 있습니다.

링크 아이콘 또는 URL의 글꼴 크기를 조정하려면 **시각화 서식 지정** 메뉴의 **테이블 옵션** 창에 있는 **셀** 섹션에서 **글꼴 크기**를 변경합니다.

테이블에서 이미지를 가리키는 임의의 URL을 설정하여 테이블에서 이미지로 렌더링할 수 있습니다. 이렇게 하면 제품 이미지를 테이블에 부분적으로 포함하려는 경우에 유용할 수 있습니다.

**URL을 이미지로 표시하기**

1. 빠른 홈 페이지에서 **분석을** 선택한 다음 사용자 지정하려는 분석을 선택합니다.

1. 변경할 테이블을 선택합니다.

1. 테이블 오른쪽 상단의 메뉴에서 **시각화 서식 지정**을 선택합니다.

1. **시각화 서식 지정** 메뉴에서 **필드 스타일 지정**을 선택합니다.

1. **필드 스타일 지정** 창의 메뉴에서 스타일을 지정하려는 필드를 선택합니다.

1. **필드 스타일 지정** 메뉴의 **URL 옵션** 섹션에서 **URL 이미지 만들기**를 선택합니다.

테이블의 이미지를 렌더링한 후 **필드 스타일 지정** 창의 **이미지 크기 조정** 섹션에서 이미지 크기 조정 방법을 선택할 수 있습니다. 이미지를 셀의 높이 또는 너비에 맞출 수도 있고 이미지 크기를 조정하지 않을 수도 있습니다. 이미지는 기본적으로 셀 높이에 맞춥니다.

# 테이블 시각화에 열 고정하기
<a name="tables-freeze-columns"></a>

테이블 시각화의 열을 고정하여 화면에서 특정 열을 제자리에 고정할 수 있습니다. 이렇게 하면 독자가 테이블을 스크롤하는 동안에도 필수 정보를 계속 볼 수 있습니다. 열을 한 번에 하나씩 고정하거나 열 그룹을 한 번에 고정할 수 있습니다. 고정된 모든 열은 테이블의 맨 왼쪽에 고정되며 화면에 항상 표시됩니다. 이를 통해 Quick Reader는 테이블의 다른 부분과 상호 작용할 때 키 데이터 또는 정보에 대해 일정한 참조점을 가질 수 있습니다.

**테이블에 열 고정하기**

1. 열을 고정하려는 테이블에서 고정할 열을 선택합니다.

1. 다음 옵션 중 하나를 선택합니다.
   + 하나의 열을 고정하려면 **열 고정**을 선택합니다.
   + 선택한 열까지 모든 열을 고정하려면 **이 열까지 고정**을 선택합니다.

테이블에 고정된 열이 여러 개 있는 경우 원하는 순서로 열을 재정렬할 수 있습니다. 테이블에서 고정된 열의 순서를 조정하려면 이동하려는 열의 머리글을 선택한 다음 원하는 방향으로 **이동**을 선택합니다.

**테이블에서 열 고정 해제하기**

1. 변경하려는 테이블에서 고정을 해제하려는 고정된 열을 선택합니다.

1. 다음 옵션 중 하나를 선택합니다.
   + 하나의 열을 고정 해제하려면 **열 고정 해제**를 선택합니다.
   + 고정된 모든 열을 고정 해제하려면 **모든 열 고정 해제**를 선택합니다.

# 사용자 지정 총계 값
<a name="tables-pivot-tables-custom-totals"></a>

빠른 작성자는 필드 모음에서 테이블 또는 피벗 테이블 시각적 객체의 총계 및 소계 집계를 정의할 수 있습니다. 테이블의 경우 사용자 지정 총계 메뉴는 해당 시각화에 대해 총계가 켜져 있는 경우에만 사용할 수 있습니다.

**총계 또는 소계의 집계 변경하기**

1. 변경하려는 분석으로 이동한 다음 총계를 정의하려는 테이블 또는 피벗 테이블 시각화를 선택합니다.

1. 필드 웰에서 변경할 필드를 선택합니다.

1. **총계**를 선택한 다음 원하는 집계를 선택합니다. 다음과 같은 옵션을 사용할 수 있습니다.
   + **기본값** - 총계 계산에서는 메트릭 필드와 동일한 집계를 사용합니다.
   + **합계** - 시각화에서 데이터의 합계를 계산합니다.
   + **합계** - 시각화에서 데이터의 평균을 계산합니다.
   + **최소값** - 시각화에서 데이터의 최소값을 계산합니다.
   + **최대값** - 시각화에서 데이터의 최대값을 계산합니다.
   + **없음(숨기기)** - 총계가 계산되지 않습니다. 이 옵션을 선택하면 시각화 셀의 총계 및 소계 셀이 빈칸으로 표시됩니다. 외부 차원이 총계 또는 소계를 계산하는 메트릭 필드와 함께 정렬된 경우 차원은 알파벳순으로 정렬됩니다. 값을 **없음(숨기기)** 에서 다른 값으로 변경하면 외부 차원이 지정된 집계 유형으로 계산된 소계를 기준으로 정렬됩니다.

사용자 지정 총계에는 다음과 같은 제한 사항이 적용됩니다.
+ 사용자 지정 총계에는 조건부 서식 지정이 지원되지 않습니다.
+ 문자열 열에는 총 집계가 지원되지 않습니다. 총 집계에는 **최소값**, **최대값**, **합계**, **평균**이 포함됩니다.
+ 날짜 열은 **평균** 및 **합계** 총 집계 함수와 호환되지 않습니다.

# 테이블 정렬
<a name="table-sort"></a>

Amazon Quick에서는 테이블의 열 헤더에 있는 필드별로 또는 **시각적 객체 정렬** 도구를 사용하여 테이블의 값을 정렬할 수 있습니다. 단일 테이블에서 최대 10개의 열을 정렬할 수 있습니다. 빠른는 비시각적 정렬을 사용할 수도 있습니다. 열을 **오름차순** 또는 **내림차순으로** 정렬할 수 있습니다. 다음 이미지에서는 **시각적 객체 정렬** 아이콘과 팝업을 보여줍니다.

![\[시각적 객체 정렬 아이콘과 시각적 객체 정렬 팝업이 열립니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/table-sort-icon.png)


## 단일 열 정렬 옵션
<a name="table-sort-single-column"></a>

빠른 작성자는 필드 모음, 열 헤더 또는 **시각적 객체 정렬** 메뉴에서 단일 열 정렬 옵션에 액세스할 수 있습니다. 아래 절차에 따라 빠른 테이블에서 단일 열 정렬 설정을 사용합니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 작업하려는 분석을 열고 정렬하려는 테이블로 이동합니다.

1. 정렬하려는 열의 헤더를 선택합니다.

1. **정렬 기준**에서 화살표 아이콘을 선택한 다음 정렬할 필드를 선택합니다.

**시각적 객체 정렬** 메뉴에서 단일 열 정렬을 설정할 수도 있습니다. 시각적 객체 정렬 메뉴에 액세스하려면 시각적 객체 메뉴의 **시각적 객체 정렬** 아이콘을 선택합니다. **시각적 객체 정렬** 메뉴에서 정렬할 필드를 선택한 다음 오름차순 또는 내림차순으로 정렬할지 선택합니다. 기본적으로 새 정렬은 오름차순으로 정렬됩니다. 작업을 마쳤으면 **적용**을 선택합니다.

단일 열 정렬을 사용하는 테이블은 한 번에 한 열씩 정렬됩니다. 사용자가 정렬할 새 열을 선택하면 이전 정렬 순서가 재정의됩니다.

단일 열 정렬을 변경하려면 **시각적 객체 정렬** 메뉴를 열고 드롭다운 메뉴를 사용하여 새 필드 또는 정렬 순서를 선택합니다. 변경을 마치면 **적용**을 선택합니다.

테이블을 원래 상태로 재설정하려면 **시각적 객체 정렬** 메뉴를 열고 **재설정**을 선택합니다.

## 다중 열 정렬 옵션
<a name="table-sort-multi-column"></a>

빠른 작성자는 **시각적 객체 정렬** 메뉴에서 다중 열 정렬 옵션에 액세스할 수 있습니다. 아래 절차에 따라 테이블에 대한 다중 열 정렬을 설정합니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 작업하려는 분석을 열고 정렬하려는 테이블로 이동합니다.

1. **시각적 객체 정렬** 아이콘을 선택하여 **시각적 객체 정렬** 메뉴를 엽니다.

   1. 또는 정렬할 헤더를 선택합니다.

   1. **정렬 기준**에서 화살표 아이콘을 선택한 다음 **다중 필드**를 선택합니다.

1. **시각적 객체 정렬** 메뉴가 열리면 **정렬 기준** 드롭다운에서 필드를 선택한 다음 필드를 오름차순 또는 내림차순으로 정렬할지 여부를 선택합니다.

1. 다른 정렬을 추가하려면 **정렬 추가**를 선택하고 4단계의 워크플로를 반복합니다. 각 테이블에 최대 10개의 정렬을 추가할 수 있습니다.

1. 작업을 마쳤으면 **적용**을 선택합니다.

열은 **시각적 객체 정렬** 메뉴에 추가된 순서대로 정렬됩니다. 열을 정렬하는 순서를 변경하려면 **시각적 객체 정렬** 메뉴를 열고 **정렬** 기준 드롭다운을 사용하여 정렬 순서를 재정렬합니다. 완료되면 **적용**을 선택하여 새 정렬 순서를 테이블에 적용합니다.

테이블을 원래 상태로 재설정하려면 **시각적 객체 정렬** 메뉴를 열고 **재설정**을 선택합니다.

## 비시각적 객체 정렬 옵션
<a name="table-sort-off-visual"></a>

빠른 작성자는 테이블에서 사용하지만 테이블의 필드 모음 중 하나에서는 사용하지 않는 데이터 세트의 일부인 필드 및 집계를 기준으로 테이블의 값을 정렬하도록 오프 비주얼 정렬을 구성할 수 있습니다. 한 번에 하나의 테이블로 하나의 비필드 정렬을 구성할 수 있습니다.

아래 절차에 따라 비시각적 객체 정렬을 구성합니다.

**테이블에 비시각적 객체 정렬 추가**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 작업하려는 분석을 열고 정렬하려는 테이블로 이동합니다.

1. 테이블에 있는 열의 헤더를 선택합니다.

1. **정렬 기준**에서 화살표 아이콘을 선택한 다음 **비시각적 객체 필드**를 선택합니다.

1. **비시각적 객체 필드** 창이 표시되면 **정렬 기준** 드롭다운 메뉴를 열고 정렬하려는 필드를 선택합니다.

1. **집계**의 경우 드롭다운 메뉴를 열고 사용하려는 집계를 선택합니다.

1. **정렬 순서**에서 정렬을 오름차순 또는 내림차순으로 정렬할지 선택합니다.

1. 작업을 마쳤으면 [**Apply**]를 선택합니다.

테이블에 비시각적 객체 정렬이 적용되면 **시각적 객체 정렬** 메뉴에 정렬이 표시됩니다. 비시각적 객체 정렬이 포함된 테이블의 정렬 순서는 비시각적 객체 정렬이 추가될 때 테이블의 정렬 구성에 따라 달라집니다. 단일 또는 다중 열 정렬이 이미 구성된 테이블에 비시각적 객체 정렬이 추가되면 비시각적 객체 정렬이 다른 모든 정렬보다 우선합니다. 단일 또는 다중 열 정렬 전에 비시각적 객체 정렬이 적용되는 경우 테이블에 더 많은 정렬을 추가하고 재정렬할 수 있습니다.

# 텍스트 상자 사용하기
<a name="textbox"></a>

텍스트 상자를 사용하여 텍스트를 추가하여 분석의 시트에 컨텍스트를 추가할 수 있습니다. 텍스트에는 지시, 설명 또는 외부 웹 사이트로 연결되는 하이퍼링크가 포함될 수 있습니다. 텍스트 상자의 도구 표시줄에서 글꼴 설정을 제공하므로 글꼴 유형, 스타일, 색상, 크기, 간격, 픽셀 크기, 텍스트 하이라이트 및 정렬을 사용자 지정할 수 있습니다. 텍스트 상자 자체에는 서식 설정이 없습니다.

새 텍스트 상자에 텍스트를 추가하려면 해당 텍스트 상자를 선택하고 입력을 시작하기만 하면 됩니다.

# 트리 맵 사용하기
<a name="tree-map"></a>

차원에 대해 하나 또는 두 개의 치수를 시각화하려면 트리 맵을 사용합니다.

트리 맵의 각 직사각형은 차원의 항목 하나를 나타냅니다. 직사각형의 크기는 치수 전체에 비해 항목이 나타내는 선택한 치수의 값 비율을 나타냅니다. 선택적으로 직사각형 색상을 사용하여 항목의 또 다른 치수를 나타낼 수 있습니다. 직사각형 색상은 치수 범위 내에서 항목 값의 위치를 나타내는데, 색이 어두울수록 값이 크고, 색이 밝을수록 값이 작습니다.

트리 맵은 **Group by(그룹화 기준)** 필드에 대해 최대 100개의 데이터 요소를 표시합니다. Amazon Quick이 표시 제한을 벗어나는 데이터를 처리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[표시 제한](working-with-visual-types.md#display-limits).

## 트리 맵의 기능
<a name="tree-map-features"></a>

트리 맵에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


****  

| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 해당 사항 없음 |  | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 시각적 객체 색상 변경 | 아니요 |  | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예(예외 있음) | 날짜 필드를 차원으로 사용하는 경우를 제외하고 트리 맵의 직사각형을 강조 또는 제외할 수 있습니다. 이 경우에는 직사각형을 강조만 할 수 있고 제외할 수는 없습니다. |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 아니요 | 기본 정렬은 크기 열의 측정값을 기준으로 내림차순으로 정렬됩니다. | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 | 크기 및 색상에 대해 선택한 필드에는 집계를 적용해야 하며, 그룹화 기준으로 선택한 필드에는 집계를 적용할 수 없습니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 예 | [Group by] 필드 모음에 드릴다운 수준을 추가할 수 있습니다. | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 

## 트리 맵 생성하기
<a name="create-tree-map"></a>

트리 맵을 생성하려면 다음 절차에 따르십시오.

**트리 맵 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. [**Visual types**] 창에서 트리 맵 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 차원 또는 치수 필드를 사용합니다. 차원 필드를 치수로 사용하도록 선택하는 경우, [**Count**] 집계 함수가 자동으로 차원 필드에 적용되어 숫자 값을 생성합니다.

   트리 맵을 생성하려면 치수를 [**Size**] 필드 모음으로 끌어오고 차원을 [**Group by**] 필드 모음으로 끌어옵니다. 선택적으로 다른 치수를 [**Color**] 필드 모음으로 끌어옵니다.

1. (선택 사항) 하나 이상의 추가 필드를 [**Group by**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

# 워터폴 차트 사용하기
<a name="waterfall-chart"></a>

워터폴 차트를 사용하면 값을 더하거나 뺄 때 순차적인 합계를 시각화할 수 있습니다. 워터폴 차트에서는 초기 값이 (양 또는 음의) 변화를 거치며 각 변경은 막대로 표시됩니다. 최종 합계는 마지막 막대로 표시됩니다. 폭포형 차트는 브리지라고도 하는데, 이는 막대 사이의 연결자가 막대를 서로 연결하여 시각적으로 두 막대가 동일한 스토리에 속한다는 것을 보여주기 때문입니다.

워터폴 차트는 특정 기간 내에서 또는 특정 기간에서 다른 기간으로의 변화를 표시할 수 있기 때문에 재무 데이터를 표시하는 데 가장 일반적으로 사용됩니다. 이렇게 하면 프로젝트 비용에 영향을 미치는 다양한 요인을 시각화할 수 있습니다. 예를 들어 워터폴 차트를 사용하면 같은 달의 총 매출액 대비 순이익 또는 작년부터 올해까지의 순이익 차이와 이러한 변화를 초래한 요인을 표시할 수 있습니다.

또한 워터폴 차트를 사용하여 통계 데이터(예: 고용한 신규 직원 수 및 1년 이내에 퇴사한 직원 수)를 표시할 수 있습니다.

워터폴 차트를 보여주는 스크린샷입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/waterfall-chart.png)


**기본 워터폴 차트 시각화 생성하기**

1. Amazon Quick을 열고 왼쪽 탐색 창에서 **분석을** 선택합니다.

1. 다음 중 하나를 선택합니다.
   + 새 분석을 생성하려면 오른쪽 상단에서 **새 분석**을 선택합니다. 자세한 내용은 [Quick Sight에서 분석 시작](creating-an-analysis.md) 단원을 참조하십시오.
   + 기존 분석을 사용하려면 편집하려는 분석을 선택합니다.

1. **추가(\$1), 시각화 추가**를 선택합니다.

1. 왼쪽 하단의 **시각화 유형**에서 워터폴 차트 아이콘을 선택합니다.

1. **필드 목록** 창에서 해당 필드 모음에 사용하려는 필드를 선택합니다. 워터폴 차트에는 **값**에서 하나의 범주 또는 측정값이 필요합니다.

1. (선택 사항) 하나 이상의 추가 필드를 [**Group/Color**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

   워터폴 차트에서 지원하는 기능을 이해하려면 [Quick의 유형별 분석 형식](analytics-format-options.md)을(를) 참조하십시오. 사용자 지정 옵션에 대한 내용은 [Amazon Quick의 형식 지정](formatting-a-visual.md)을(를) 참조하십시오.

# 단어 클라우드 사용하기
<a name="word-cloud"></a>

단어가 데이터 세트의 다른 단어와 관련하여 얼마나 자주 사용하는지 표시하는 매력적인 방법으로 단어 클라우드를 사용하십시오. 이 유형의 시각화 객체를 가장 잘 사용하는 것은 단어 또는 문구 빈도를 표시하는 것입니다. 트렌드 아이템이나 액션을 보여주기 위해 재미있게 추가 할 수도 있습니다. 창의적인 목적으로 고정 데이터 세트를 사용할 수 있습니다. 예를 들어 팀 목표, 동기 부여 문구, 특정 단어의 다양한 번역 또는 관심을 끌고 싶은 기타 모든 것 중 하나를 만들 수 있습니다.

단어 클라우드의 각 단어는 차원에서 하나 이상의 값을 나타냅니다. 단어의 크기는 동일한 차원에서 다른 값의 발생과 비례하여 선택한 차원에서 값의 발생 빈도를 나타냅니다. 단어 클라우드는 정밀도가 중요하지 않고 별개의 값이 많지 않을 때 가장 좋습니다.

다음 스크린샷은 단어 클라우드의 예를 보여줍니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/word-cloud.png)


단어 클라우드를 만들려면 **그룹화 기준** 필드 웰에서 하나의 차원을 사용하십시오. 선택적으로 **크기** 필드에 측정치를 추가할 수 있습니다.

단어 클라우드는 일반적으로 20\$1100개의 단어나 구로 만들었을 때 좀 더 보기 좋지만, 서식 설정에 있어 광범위한 유연성을 제공합니다. 너무 많은 단어를 선택하면 디스플레이 크기에 따라 단어가 너무 작아져서 읽기 어려울 수 있습니다. 기본적으로 단어 클라우드는 100개의 고유 단어를 표시합니다. 더 많이 표시하려면 **Number of words(단어 수)**에서 형식 설정을 변경합니다.

단어 클라우드는 **그룹화 기준**에 대해 500개의 고유한 값으로 제한됩니다. **Other**라는 단어가 표시되지 않도록 하려면 **Other(기타)** 범주를 숨기도록 시각적 객체의 형식을 지정합니다. Amazon Quick이 표시 제한을 벗어나는 데이터를 처리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[표시 제한](working-with-visual-types.md#display-limits).

## 단어 클라우드의 기능
<a name="word-cloud-features"></a>

단어 클라우드에서 지원하는 기능에 대해 알아보려면 다음 표를 참조하십시오.


| 기능 | 지원 여부 | 설명 | 자세한 정보 | 
| --- | --- | --- | --- | 
| 범례 표시 변경 | 아니요 |  | [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md) | 
| 제목 표시 변경 | 예 |  | [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md) | 
| 축 범위 변경 | 해당 사항 없음 |  | [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md) | 
| 시각적 객체 색상 변경 | 예 | 색상을 변경하려면 단어를 선택한 다음 색상을 선택합니다. | [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md) | 
| 요소 강조 또는 제외 | 예 |  |  [시각화 요소 초점 맞추기](focusing-on-visual-elements.md) [시각화 요소 초점 제외하기](excluding-visual-elements.md) | 
| 정렬 | 예 |  | [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md) | 
| 필드 집계 수행 | 예 | Group by(그룹화 기준)로 선택한 필드에는 집계를 적용할 수 없습니다. Size(크기)로 선택한 필드에는 집계를 적용해야 합니다. | [필드 집계 변경](changing-field-aggregation.md) | 
| 드릴다운 추가 | 예 | [Group by] 필드 모음에 드릴다운 수준을 추가할 수 있습니다. | [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md) | 
| 형식 옵션 사용 | 예 | 세로 단어 허용, 스케일 강조, 유동적인 레이아웃 사용, 소문자 사용, 단어 사이의 패딩 양 설정을 선택할 수 있습니다. 단어 클라우드에 대한 최대 문자열 길이를 설정할 수 있습니다(기본값은 40). Group by(그룹화 기준) 필드의 단어 수도 선택할 수 있습니다(기본값은 100, 최대 값은 500). | [Amazon Quick의 형식 지정](formatting-a-visual.md) | 
| 합계 표시 | 아니요 |  | [Amazon Quick의 형식 지정](formatting-a-visual.md) | 

## 단어 클라우드 생성하기
<a name="create-word-cloud"></a>

단어 클라우드를 생성하려면 다음 절차에 따르십시오.

**단어 클라우드 생성하기**

1. 분석 페이지의 도구 모음에서 [**Visualize**]를 선택합니다.

1. 애플리케이션 표시줄에서 [**Add**]를 선택한 다음 [**Add visual**]을 선택합니다.

1. [**Visual types**] 창에서 단어 클라우드 아이콘을 선택합니다.

1. **Fields list(필드 목록)** 창에서 사용하려는 필드를 적절한 필드 모음으로 끌어옵니다. 일반적으로, 타겟 필드 모음으로 표시된 차원 또는 치수 필드를 사용합니다. 차원 필드를 측정값으로 사용하도록 선택하면 **Count** 집계 함수가 기본적으로 적용됩니다.

   단어 클라우드를 만들려면 **그룹화 기준** 필드 웰에 하나의 차원을 더하십시오. 또는 측정값을 **크기** 필드 웰로 끌어옵니다.

1. (선택 사항) 하나 이상의 추가 필드를 [**Group by**] 필드 모음으로 끌어와 드릴다운 계층을 추가합니다. 드릴다운 추가에 대한 자세한 내용은 [Quick Sight에서 시각적 데이터에 드릴다운 추가](adding-drill-downs.md)을 참조하십시오.

# Amazon Quick의 형식 지정
<a name="formatting-a-visual"></a>

다양한 옵션 중에서 선택하여 데이터 시각화의 형식을 지정하고 스타일을 지정할 수 있습니다. 시각적 형식을 지정하려면 형식을 지정하려는 시각적 개체를 선택하고 시각적 객체의 오른쪽 상단에 있는 **시각적 객체 형식 지정** 아이콘을 선택합니다. 시각적 객체 형식 지정 창을 연 다음 다른 시각적 객체와 컨트롤을 클릭하여 특정 시각적 객체나 컨트롤에 대한 서식 데이터를 볼 수 있습니다. 시각적 객체 형식 지정 제어에 관한 자세한 내용은 [Amazon Quick에서 파라미터와 함께 컨트롤 사용](parameters-controls.md) 단원을 참조하세요.

다음 단원을 사용하여 콘텐츠의 형식을 지정하고 스타일을 지정하세요.

**참고**  
필드 모음에서 적용된 모든 형식 변경 사항은 선택한 시각적 객체에만 적용됩니다.

**Topics**
+ [Quick의 유형별 분석 형식](analytics-format-options.md)
+ [빠른 테이블 및 피벗 테이블 형식 지정 옵션](format-tables-pivot-tables.md)
+ [Quick의 테이블에 데이터 막대 추가](format-data-bars.md)
+ [Quick에서 테이블에 스파크라인 추가](format-sparklines.md)
+ [Quick의 맵 및 지리 공간 차트 형식 지정 옵션](geospatial-formatting.md)
+ [Quick의 시각적 객체 유형에 대한 축 및 그리드 선](showing-hiding-axis-grid-tick.md)
+ [Quick의 시각적 객체 유형의 색상](changing-visual-colors.md)
+ [Amazon Quick에서 필드 수준 색상 지정 작업](format-field-colors.md)
+ [Quick의 시각적 객체 유형에 대한 조건부 형식 지정](conditional-formatting-for-visuals.md)
+ [KPI 옵션](KPI-options.md)
+ [Quick의 시각적 객체 유형에 대한 레이블](customizing-visual-labels.md)
+ [Quick의 언어 설정을 기반으로 시각적 숫자 데이터 형식 지정](customizing-visual-language-preferences.md)
+ [Quick의 시각적 객체 유형에 대한 범례](customizing-visual-legend.md)
+ [빠른 선 차트의 선 및 마커 스타일](line-and-marker-styling.md)
+ [Quick의 시각적 객체 유형에 대한 데이터 누락](customizing-missing-data-controls.md)
+ [Quick의 시각적 객체 유형에 대한 참조 선](reference-lines.md)
+ [빠른에서 레이더 차트 형식 지정](format-radar-chart.md)
+ [Quick의 시각적 객체 유형 범위 및 확장](changing-visual-scale-axis-range.md)
+ [소형 다중 축 옵션](small-multiples-options.md)
+ [Quick의 시각적 객체 유형에 대한 제목 및 자막](customizing-a-visual-title.md)
+ [Quick의 시각적 객체 유형에 대한 툴팁](customizing-visual-tooltips.md)

# Quick의 유형별 분석 형식
<a name="analytics-format-options"></a>

다음 목록을 사용하여 분석 중에 시각화에서 어떤 유형의 서식이 효과가 있는지 확인하세요.
+ 막대 차트(가로, 세로 모두)는 다음의 형식 지정을 지원합니다.
  + 제목과 필드 레이블, 데이터 레이블 사용자 지정, 표시, 숨기기
  + 범례 사용자 지정, 표시, 숨기기(예외: 클러스터링 또는 여러 치수가 없는 간단한 차트에는 범례가 표시되지 않음)
  + 가로 막대 차트의 x축과 세로 막대 차트의 y축에 대한 축 범위 및 단계 지정
  + 가로 막대 차트의 x축과 세로 막대 차트의 y축에 표시할 데이터 포인트의 수 선택
  + 축 선, 축 레이블, 축 정렬 아이콘 및 차트 격자선 표시하기 또는 숨기기
  + 참조 선 사용자 지정, 표시 또는 제거
  + "기타" 범주 표시 또는 숨기기

  가로 막대 차트는 y축과 **값**을 기준으로 정렬할 수 있습니다. 세로 막대 차트는 x축과 **값**을 기준으로 정렬할 수 있습니다.

  누적 막대 차트는 총계 표시를 지원합니다.
+ 상자 그림은 다음 형식 지정을 지원합니다.
  + 제목 사용자 지정, 표시, 숨기기
  + 범례 사용자 지정, 표시, 숨기기
  + x축에는 축 범위와 레이블 눈금을 지정하고 y축에는 단계를 지정합니다.
  + 축 선, 축 레이블, 축 정렬 아이콘 및 차트 격자선 표시하기 또는 숨기기
  + y축에 표시할 데이터 포인트의 수 선택
  + "기타" 범주 표시 또는 숨기기 
  + 기준선 추가

  상자 그림은 **그룹화 기준** 정렬을 지원합니다.
+ 콤보 차트는 다음 형식 지정을 지원합니다.
  + 제목과 필드 레이블, 데이터 레이블 사용자 지정, 표시, 숨기기
  + 범례 사용자 지정, 표시, 숨기기(예외: 클러스터링, 누적 또는 여러 치수가 없는 간단한 차트에는 범례가 표시되지 않음)
  + 막대 및 선에 대한 축 범위 지정
  + 막대와 선의 Y축을 단일 축으로 동기화합니다.
  + x축에 표시할 데이터 포인트의 수 선택
  + 축 선, 축 레이블, 축 정렬 아이콘 및 차트 격자선 표시하기 또는 숨기기
  + 참조 선 사용자 지정, 표시 또는 제거
  + "기타" 범주 표시 또는 숨기기

  콤보 차트는 x축, **막대**, **선**을 기준으로 정렬할 수 있습니다.
+ 도넛형 차트 지원 형식:
  + 제목과 데이터 레이블, 범례 사용자 지정, 표시, 숨기기
  + 그룹 또는 색상 및 값 필드에 대한 레이블 사용자 지정, 표시, 숨기기
  + **그룹/색상**에서 표시할 슬라이스의 수 선택
  + "기타" 범주 표시 또는 숨기기

  도넛형 차트는 **그룹/색상** 및 **값**을 기준으로 정렬할 수 있습니다.
+ 채워진 맵은 다음 형식 지정을 지원합니다.
  + 제목 사용자 지정, 표시, 숨기기
  + 범례 사용자 지정, 표시, 숨기기

  채워진 맵은 **위치** 및 **색상**에 따른 정렬을 지원합니다.
+ 퍼널 차트는 다음 형식 지정을 지원합니다.
  + 제목과 데이터 레이블 사용자 지정, 표시, 숨기기
  + 그룹 또는 색상 및 값 필드에 대한 레이블 사용자 지정, 표시, 숨기기
  + **그룹화 기준** 필드에서 표시할 단계 수 선택
  + "기타" 범주 표시 또는 숨기기

  퍼널 차트는 **그룹화 기준** 및 **값**을 기준으로 정렬할 수 있습니다.
+ 게이지 차트는 다음 형식 지정을 지원합니다.
  + 제목 사용자 지정, 표시, 숨기기 축 레이블을 표시하거나 숨깁니다.
  + 값을 표시하는 방법을 사용자 정의합니다: 숨김, 실제 값, 비교
  + 비교 방법 선택(두 가지 방법을 사용할 때 사용 가능)
  + 게이지 차트에 표시할 축 범위와 패딩을 선택하십시오.
  + 아크 스타일(180\$1360도) 아크 두께 선택

  게이지 차트는 정렬을 지원하지 않습니다.
+ 지리 공간 차트(맵)는 다음 형식 지정을 지원합니다.
  + 제목 및 범례 사용자 지정, 표시, 숨기기
  + 기본 맵 이미지를 선택합니다.
  + 클러스터를 사용하거나 사용하지 않고 맵 포인트를 표시하도록 선택합니다.

  지리 공간 차트는 정렬을 지원하지 않습니다.
+ 히트 맵은 다음 형식 지정을 지원합니다.
  + 제목, 범례 및 레이블 사용자 지정, 표시, 숨기기
  + 표시할 행과 열 선택
  + 색상 또는 그레이디언트를 선택합니다.
  + "기타" 범주 표시 또는 숨기기

  히트 맵은 **값** 및 **열** 정렬을 지원합니다.
+ 히스토그램 차트는 다음 형식 지정을 지원합니다.
  + 제목과 필드 레이블, 데이터 레이블 사용자 지정, 표시, 숨기기
  + y축에 축 범위, 척도 및 단계 지정
  + x축에 표시할 데이터 포인트의 수 선택
  + 축 선, 축 레이블, 축 정렬 아이콘 및 차트 격자선 표시하기 또는 숨기기

  히스토그램 차트는 정렬을 지원하지 않습니다.
+ 핵심 성능 지표(KPI)는 다음 형식 지정을 지원합니다.
  + 제목 사용자 지정, 표시, 숨기기
  + 트렌드 화살표 및 진행률 표시줄 표시 또는 숨기기
  + 비교 방법(자동, 차이, 백분율(%), 백분율 차이(%)) 사용자 지정
  + 표시되는 기본 값(비교 또는 실제) 사용자 지정
  + 조건부 형식 지정

  KPI는 정렬을 지원하지 않습니다.
+ 선 차트는 다음 형식 지정을 지원합니다.
  + 제목과 필드 레이블, 데이터 레이블 사용자 지정, 표시, 숨기기
  + 범례 사용자 지정, 표시, 숨기기(예외: 간단한 차트에는 범례가 표시되지 않음)
  + 축 범위 및 단계 지정(y축)
  + x축에 표시할 데이터 포인트의 수 선택
  + 축 선, 축 레이블, 축 정렬 아이콘 및 차트 격자선 표시하기 또는 숨기기
  + 참조 선 사용자 지정, 표시 또는 제거
  + 선 스타일 및 선 내 데이터 포인트의 마커 사용자 지정
  + ‘기타’ 범주 표시 또는 숨기기(x축이 날짜인 경우 제외)

  라인 차트는 숫자용으로만 x축 및 **값**을 기준으로 정렬할 수 있습니다.
+ 파이형 차트는 다음 형식 지정을 지원합니다.
  + 제목과 데이터 레이블, 범례 사용자 지정, 표시, 숨기기
  + 그룹 또는 색상 및 값 필드에 대한 레이블 사용자 지정, 표시, 숨기기
  + 측정치를 값, 백분율 또는 둘 다로 표시합니다.
  + **그룹/색상** 필드에서 표시할 슬라이스의 수 선택
  + "기타" 범주 표시 또는 숨기기

  파이 차트는 **값** 및 **그룹/색상**을 기준으로 정렬할 수 있습니다.
+ 피벗 테이블은 다음 형식 지정을 지원합니다.
  + 제목 사용자 지정, 표시, 숨기기
  + 열, 행 및 값 필드에 대한 레이블의 사용자 지정, 표시, 숨기기
  + 테이블 헤더 및 셀/본문에 대한 글꼴 크기 사용자 정의 
  + 행 또는 열에 합계 및 소계를 표시하거나 숨깁니다.
  + 총계 또는 소계에 대한 사용자 지정 레이블
  + 추가 스타일 옵션 선택: 보기에 테이블 맞춤, \$1/- 단추 숨기기, 열 필드 이름 숨기기, 단일 지표 사용 시 중복 레이블 숨기기
  + 조건부 형식 지정

  피벗 테이블은 **열** 및 **행** 정렬을 지원합니다. 피벗 테이블 데이터 정렬에 대한 자세한 내용은 [Quick에서 피벗 테이블 정렬](sorting-pivot-tables.md) 단원을 참조하십시오.
+ 산점도는 다음 형식 지정을 지원합니다.
  + 제목과 범례, 필드 레이블, 데이터 레이블 사용자 지정, 표시, 숨기기
  + 참조 선 사용자 지정, 표시 또는 제거
  + 축 범위 지정(x축 및 y축)
  + 축 선, 축 레이블, 축 정렬 아이콘 및 차트 격자선 표시하기 또는 숨기기

  산점도는 정렬을 지원하지 않습니다.
+ 테이블은 다음 형식 지정을 지원합니다.
  + 제목, 범례 및 열 사용자 지정, 표시, 숨기기
  + 그룹화 기준 및 값 필드에 대한 열 이름 사용자 지정, 표시, 숨기기
  + 테이블 헤더 및 셀/본문에 대한 글꼴 크기 사용자 정의 
  + 테이블 위쪽 또는 아래쪽에 합계 표시 또는 숨기기
  + 총계에 사용자 지정 레이블을 제공하세요.
  + 조건부 형식 지정 추가

  테이블은 **그룹화 기준** 및 **값**을 기준으로 정렬할 수 있습니다.
+ 트리 맵은 다음 형식 지정을 지원합니다,
  + 제목 및 범례 사용자 지정, 표시, 숨기기
  + 그룹화 기준, 크기 및 색상 필드에 대한 레이블 사용자 지정, 표시, 숨기기
  + 색상 또는 그레이디언트를 선택합니다.
  + **그룹화 기준** 필드에서 표시할 정사각형의 수 선택
  + "기타" 범주 표시 또는 숨기기

  선 차트는 **크기**, **그룹화 기준**, **색상** 정렬을 지원합니다.
+ 폭포 차트는 다음 형식 지정을 지원합니다.
  + 제목 또는 부제목 사용자 지정, 표시, 숨기기
  + 전체 레이블을 사용자 지정하세요.
  + x축 레이블 크기 및 방향, y축 레이블 범위 및 방향을 지정합니다.
  + 축 선, 축 레이블, 축 정렬 아이콘 및 차트 격자선 표시하기 또는 숨기기
  + "기타" 범주 표시 또는 숨기기
  + 범례 크기 및 위치를 사용자 지정합니다.
  + 데이터 레이블 사용자 지정, 표시, 숨기기

  폭포 차트는 **범주** 및 **값에** 따른 정렬을 지원합니다.
+ 단어 클라우드는 다음 형식 지정을 지원합니다.
  + 제목 사용자 지정, 표시, 숨기기
  + 단어 색상 및 **그룹화 기준** 필드에서 표시할 단어 수를 사용자 정의하십시오.
  + "기타" 범주 표시 또는 숨기기
  + 추가 스타일링 옵션 선택: 세로 단어 허용, 스케일 강조 또는 유동적 레이아웃, 소문자, 패딩 레벨 및 최대 문자열 길이로 작업

  단어 클라우드는 **그룹화 기준** 정렬을 지원합니다.

# 빠른 테이블 및 피벗 테이블 형식 지정 옵션
<a name="format-tables-pivot-tables"></a>

비즈니스 요구 사항에 맞게 Quick에서 테이블과 피벗 테이블을 사용자 지정할 수 있습니다. 각 텍스트의 색상, 크기, 줄 바꿈 및 정렬을 지정하여 테이블 헤더, 셀 및 총계를 사용자 정의할 수 있습니다. 표의 행 높이를 지정하고, 테두리와 격자선을 추가하고, 사용자 정의 배경색을 추가할 수도 있습니다. 또한 합계 및 소계를 표시하는 방법을 사용자 정의할 수 있습니다.

표 또는 피벗 테이블에 조건부 서식을 적용한 경우 구성한 다른 스타일보다 조건부 서식이 우선합니다.

표 또는 피벗 테이블 시각 자료를 Microsoft Excel로 내보내는 경우, 시각 자료에 적용한 서식 사용자 지정이 다운로드된 Excel 파일에 반영되지 않습니다.

**표 또는 피벗 테이블의 서식 지정**
+ 분석에서 사용자 지정하려는 표 또는 피벗 테이블을 선택한 다음 **시각적 객체 형식 지정** 아이콘을 선택합니다.  
![\[시각적 객체 형식 지정 아이콘의 이미지.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/format-tables-icon.png)

  **속성** 창이 왼쪽에 열립니다.

이어서 **속성** 창에서 테이블 또는 피벗 테이블의 각 영역을 사용자 지정하는 옵션에 대한 설명을 확인할 수 있습니다.

**Topics**
+ [헤더](format-tables-headers.md)
+ [셀 형식 지정](format-tables-pivot-tables-cells.md)
+ [합계 및 소계](format-tables-pivot-tables-totals.md)
+ [Quick의 테이블 및 피벗 테이블의 행 및 열 크기](format-tables-pivot-tables-resize-rows-columns.md)
+ [피벗 테이블 데이터 사용자 지정](format-tables-pivot-tables-layout-options.md)

# 헤더
<a name="format-tables-headers"></a>

## 모든 헤더 확장
<a name="format-tables-headers-expand"></a>

피벗 테이블의 모든 헤더를 확장하여 헤더의 모든 하위 및 손자 행을 표시하도록 선택할 수 있습니다.

**피벗 테이블의 모든 헤더 확장**

1. 변경하려는 시각적 객체에서 원하는 헤더를 선택하여 **시각적 객체** 메뉴를 엽니다.

1. **아래에서 모두 확장**을 선택합니다.

## 헤더 높이
<a name="format-tables-headers-row"></a>

테이블 헤더 높이를 사용자 지정할 수 있습니다.

**테이블의 헤더 높이 사용자 지정**

1. **속성** 창에서 **헤더**를 선택합니다.

1. **행 높이**에 픽셀 단위로 숫자를 입력합니다. 8부터 500까지의 숫자를 입력할 수 있습니다.

**피벗 테이블의 헤더 높이 사용자 지정**

1. **속성** 창에서 **헤더**를 선택합니다.

1. **열** 섹션에서 **행 높이**에 픽셀 단위로 숫자를 입력합니다. 8부터 500까지의 숫자를 입력할 수 있습니다.

## 헤더 텍스트
<a name="format-tables-headers-text"></a>

테이블 헤더 텍스트를 사용자 지정할 수 있습니다.

**테이블 헤더 텍스트 사용자 지정**

1. **속성** 창에서 **헤더**를 선택합니다.

1. **텍스트** 섹션으로 이동하고 다음 중 하나 이상을 수행하세요.
   + 헤더 텍스트의 색상을 변경하려면 **텍스트 스타일** 아래에서 색 견본을 선택하고 테이블 텍스트에서 원하는 색상을 선택하세요.
   + 헤더 텍스트의 글꼴 또는 글꼴 크기를 변경하려면 **글꼴** 또는 **글꼴 크기** 드롭다운을 열고 원하는 글꼴 또는 글꼴 크기를 선택하세요.
   + 헤더 텍스트에 굵게, 기울임꼴로 또는 밑줄을 적용하려면 스타일 표시줄에서 적절한 아이콘을 선택하세요.
   + 너무 길어서 머리글에 맞출 수 없는 텍스트를 줄 바꿈하려면 **텍스트 줄 바꿈**을 선택합니다. 머리글의 텍스트를 줄바꿈해도 머리글 높이가 자동으로 증가하지는 않습니다. 머리글 높이를 높이려면 이전 절차를 따르십시오.
   + 머리글에 있는 텍스트의 가로 정렬을 변경하려면 가로 정렬 아이콘을 선택합니다. 왼쪽 정렬, 가운데 정렬, 오른쪽 정렬 또는 자동 정렬을 선택할 수 있습니다.
   + 머리글에 있는 텍스트의 세로 정렬을 변경하려면 세로 정렬 아이콘을 선택합니다. 위쪽 정렬, 중간 정렬 또는 아래쪽 정렬을 선택할 수 있습니다.

**피벗 테이블 헤더 텍스트 사용자 지정**

1. **속성** 창에서 **헤더**를 선택합니다.

   머리글 섹션이 확장되어 열 및 행 머리글을 사용자 지정하는 옵션이 표시됩니다.

1. **헤더** 섹션에서 다음 중 하나 이상을 수행하세요.
   + 행 또는 열의 필드 이름에 행 스타일을 적용하려면 사용자 지정하려는 레이블에 따라 **스타일 행 레이블** 또는 **스타일 열 레이블**을 선택하세요.
   + 헤더 글꼴을 사용자 지정하려면 **행** 또는 **열** 섹션의 **텍스트** 하위 섹션으로 이동하고 다음 중 하나 이상을 수행하세요.
     + 헤더 텍스트의 색상을 변경하려면 **텍스트 스타일** 아래에서 색 견본을 선택하고 테이블 텍스트에서 원하는 색상을 선택하세요.
     + 헤더 텍스트의 글꼴 또는 글꼴 크기를 변경하려면 **글꼴** 또는 **글꼴 크기** 드롭다운을 열고 원하는 글꼴 또는 글꼴 크기를 선택하세요.
     + 헤더 텍스트에 굵게, 기울임꼴로 또는 밑줄을 적용하려면 스타일 표시줄에서 적절한 아이콘을 선택하세요.
   + 머리글에 있는 텍스트의 가로 정렬을 변경하려면, 정렬 아이콘을 선택합니다. 왼쪽 정렬, 가운데 정렬, 오른쪽 정렬 또는 자동 정렬을 선택할 수 있습니다. **열** 섹션에서 열 머리글의 가로 정렬을 선택하고 **행** 섹션에서 행 머리글의 가로 정렬을 선택할 수 있습니다.
   + 머리글에 있는 텍스트의 세로 정렬을 변경하려면, 정렬 아이콘을 선택합니다. 위쪽 정렬, 중간 정렬 또는 아래쪽 정렬을 선택할 수 있습니다. **열** 섹션에서 열 머리글의 세로 정렬을 선택하고 **행** 섹션에서 행 머리글의 세로 정렬을 선택할 수 있습니다.
   + 행 레이블 또는 열 필드 이름을 숨기려면 **행 레이블** 또는 **열 필드 이름** 옆의 눈 아이콘을 선택하세요.

## 헤더 배경색
<a name="format-tables-headers-background"></a>

테이블 헤더의 배경색을 사용자 지정할 수 있습니다.

**테이블 헤더의 배경색 사용자 지정**

1. **속성** 창에서 **헤더**를 선택합니다.

1. **배경**에서 배경색 아이콘을 선택한 다음 색상을 선택합니다. 제공된 색상 중 하나를 선택하거나, 헤더 텍스트 색상을 기본 색상으로 재설정하거나, 사용자 지정 색상을 생성할 수 있습니다.

**피벗 테이블 헤더의 배경색 사용자 지정**

1. **속성** 창에서 **헤더**를 선택합니다.

   **헤더** 섹션이 확장되어 열 및 행 머리글을 사용자 지정하는 옵션이 표시됩니다.

1. **열** 섹션에서 배경색 아이콘을 선택한 다음, 색상을 선택합니다.

1. **행** 섹션에서 배경색 아이콘을 선택한 다음, 색상을 선택합니다.

## 헤더 테두리
<a name="format-tables-headers-border"></a>

헤더 테두리의 색상을 사용자 지정할 수 있습니다.

**테이블 헤더 테두리 사용자 지정**

1. **속성** 창에서 **헤더**를 선택합니다.

1. **테두리**에서 다음 중 한 개 이상을 수행하세요.
   + 원하는 테두리 유형을 사용자 지정하려면, 테두리 유형 아이콘을 선택합니다. 테두리 없음, 가로 테두리만, 세로 테두리만 또는 모든 테두리를 선택할 수 있습니다.
   + 테두리 두께를 사용자 지정하려면, 테두리 두께를 선택합니다.
   + 테두리 색상을 사용자 지정하려면, 테두리 색상 아이콘을 선택한 다음 색상을 선택합니다. 제공된 색상 중 하나를 선택하거나, 테두리 색상을 기본 색상으로 재설정하거나, 사용자 지정 색상을 생성할 수 있습니다.

**피벗 테이블 헤더 테두리 사용자 지정**

1. **속성** 창에서 **헤더**를 선택합니다.

   **헤더** 섹션이 확장되어 열 및 행 머리글을 사용자 지정하는 옵션이 표시됩니다.

1. **열** 및 **행** 섹션에서 **테두리**에 대해 다음 중 하나 이상을 수행하세요.
   + 원하는 테두리 유형을 사용자 지정하려면, 테두리 유형 아이콘을 선택합니다. 테두리 없음, 가로 테두리만, 세로 테두리만 또는 모든 테두리를 선택할 수 있습니다.
   + 테두리 두께를 사용자 지정하려면, 테두리 두께를 선택합니다.
   + 테두리 색상을 사용자 지정하려면, 테두리 색상 아이콘을 선택한 다음 색상을 선택합니다. 제공된 색상 중 하나를 선택하거나, 테두리 색상을 기본 색상으로 재설정하거나, 사용자 지정 색상을 생성할 수 있습니다.

## 계층 피벗 테이블의 헤더 스타일 지정 옵션
<a name="format-pivot-tables-header-styling"></a>

계층 피벗 테이블의 **행** 레이블을 숨기거나 이름을 바꿀 수 있습니다.

**계층 피벗 테이블의 **행** 레이블 변경**

1. 변경하려는 계층 피벗 테이블을 선택하고 **시각적 객체 형식 지정** 메뉴를 엽니다.

1. **헤더** 섹션에서 다음 작업을 수행할 수 있습니다.
   + **행 레이블 숨기기**를 선택하여 피벗 테이블에서 **행** 레이블을 숨깁니다.
   + **행 레이블**의 경우 피벗 테이블에 표시할 레이블을 입력합니다.

# 셀 형식 지정
<a name="format-tables-pivot-tables-cells"></a>

## 행 높이
<a name="format-tables-pivot-tables-cells-row"></a>

테이블 행 높이를 사용자 지정할 수 있습니다.

**표 또는 피벗 테이블의 헤더 높이 사용자 지정**

1. **속성** 창에서 **셀**을 선택합니다.

   **셀** 섹션이 확장되어 셀을 사용자 지정하는 옵션이 표시됩니다.

1. **행 높이**에 픽셀 단위로 숫자를 입력합니다. 8부터 500까지의 숫자를 입력할 수 있습니다.

## 셀 텍스트
<a name="format-tables-pivot-tables-cells-text"></a>

표 내 셀 텍스트의 형식을 사용자 지정할 수 있습니다.

**표 또는 피벗 테이블의 셀 텍스트 형식 지정**

1. **속성** 창에서 **셀**을 선택합니다.

   **셀** 섹션이 확장되어 셀을 사용자 지정하는 옵션이 표시됩니다.

1. **텍스트**에 대해 다음 중 한 개 이상을 수행하세요.
   + 셀 텍스트의 색상을 변경하려면 **텍스트 스타일** 아래에서 색 견본을 선택하고 테이블 텍스트에서 원하는 색상을 선택하세요.
   + 셀 텍스트의 글꼴 또는 글꼴 크기를 변경하려면 **글꼴** 또는 **글꼴 크기** 드롭다운을 열고 원하는 글꼴 또는 글꼴 크기를 선택하세요.
   + 셀 텍스트에 굵게, 기울임꼴로 또는 밑줄을 적용하려면 스타일 표시줄에서 적절한 아이콘을 선택하세요.
   + 너무 길어서 머리글에 맞출 수 없는 텍스트를 줄 바꿈하려면 **텍스트 줄 바꿈**을 선택합니다. 셀의 텍스트를 줄바꿈해도 행 높이가 자동으로 증가하지는 않습니다. 행 높이를 높이려면 이전 절차를 따르십시오.
   + 머리글에 있는 텍스트의 가로 정렬을 변경하려면, 가로 정렬 아이콘을 선택합니다. 왼쪽 정렬, 가운데 정렬, 오른쪽 정렬 또는 자동 정렬을 선택할 수 있습니다. 가로 정렬은 계층 피벗 테이블의 **행** 필드에만 구성할 수 있습니다.
   + 셀 내 텍스트의 세로 정렬을 변경하려면, 세로 정렬 아이콘을 선택합니다. 위쪽 정렬, 중간 정렬,아래쪽 정렬 또는 자동 정렬을 선택할 수 있습니다. 테이블 형식 피벗 테이블의 경우 **자동** 값은 세로입니다. 계층 피벗 테이블의 경우 **자동** 값은 중간입니다.  
![\[시각적 객체 형식 지정 메뉴의 세로 및 가로 셀 정렬 옵션.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/format-pivot-table-alignment.png)

## 셀 배경색
<a name="format-tables-pivot-tables-cells-background"></a>

표 셀의 배경색을 사용자 지정할 수 있습니다.

**표 또는 피벗 테이블의 셀 배경색 사용자 정의**

1. **속성** 창에서 **셀**을 선택합니다.

   **셀** 섹션이 확장되어 셀을 사용자 지정하는 옵션이 표시됩니다.

1. **배경**에 대해 다음 중 하나 이상을 수행합니다.
   + 행 간에 배경색을 바꾸려면 **대체 행 색상**을 선택합니다. 이 옵션을 지우면 모든 셀의 배경색이 동일합니다.
   + 행 간에 배경색을 번갈아 사용하려는 경우, 각 행의 배경색 아이콘을 선택하고 색상을 선택하여 **홀수 행**의 색상과 **짝수 행**의 색상을 선택합니다. 제공된 색상 중 하나를 선택하거나,배경색 색상을 기본 색상으로 재설정하거나, 사용자 지정 색상을 생성할 수 있습니다.
   + 행 간에 배경색을 바꾸지 않으려면, 배경색 아이콘을 선택하고 모든 셀의 색상을 선택합니다. 제공된 색상 중 하나를 선택하거나,배경색 색상을 기본 색상으로 재설정하거나, 사용자 지정 색상을 생성할 수 있습니다.

## 셀 테두리
<a name="format-tables-pivot-tables-cells-border"></a>

표 셀의 테두리를 사용자 지정할 수 있습니다.

**표 또는 피벗 테이블의 셀 테두리를 사용자 정의하려면**

1. **속성** 창에서 **셀**을 선택합니다.

   **셀** 섹션이 확장되어 셀을 사용자 지정하는 옵션이 표시됩니다.

1. **테두리**에서 다음 중 한 개 이상을 수행하세요.
   + 원하는 테두리 유형을 사용자 지정하려면, 테두리 유형 아이콘을 선택합니다. 테두리 없음, 가로 테두리만, 세로 테두리만 또는 모든 테두리를 선택할 수 있습니다.
   + 테두리 두께를 사용자 지정하려면, 테두리 두께를 선택합니다.
   + 테두리 색상을 사용자 지정하려면, 테두리 색상 아이콘을 선택한 다음 색상을 선택합니다. 제공된 색상 중 하나를 선택하거나, 테두리 색상을 기본 색상으로 재설정하거나, 사용자 지정 색상을 생성할 수 있습니다.

# 합계 및 소계
<a name="format-tables-pivot-tables-totals"></a>

펴 및 피벗 테이블에서 합계 또는 소계 표시를 구성할 수 있습니다. 테이블에서 시각적 객체의 맨 위 또는 맨 아래에 합계가 표시될 수 있습니다. 피벗 테이블에서 행 및 열에 합계 및 소계가 표시될 수 있습니다.

## Quick에서 테이블 및 피벗 테이블에 합계 및 소계 추가
<a name="format-tables-pivot-tables-totals-position"></a>

표 및 피벗 테이블 시각적 객체에 합계 열을 추가할 수 있습니다. 피벗 테이블 시각적 객체에 소계 열을 추가할 수 있습니다.

**피벗 테이블의 합계 및 소계를 표시하거나 숨기기**

1. 합계를 표시하려면 **속성** 창을 열고 **합계**를 선택합니다.
   + 행의 합계를 표시하려면 **행** 스위치를 켭니다. 합계는 시각적 객체의 하단 행에 표시됩니다. 표를 스크롤할 때 합계가 계속 보이도록 하려면 **합계 고정**을 선택합니다.
   + 열의 합계를 표시하려면 **열** 스위치를 켭니다. 합계는 시각적 객체의 마지막 열에 표시됩니다.

1. 합계를 표시하려면 **속성** 창을 열고 **소계**를 선택합니다.
   + 행의 소계를 표시하려면 **행** 스위치를 켭니다. 합계는 시각적 객체의 하단 행에 표시됩니다.
   + 열의 소계를 표시하려면 **열** 스위치를 켭니다.
   + **수준**에서 다음 중 하나를 선택합니다.
     + 차트 계층 구조에서 **마지막** 필드의 소계만 표시하려면 마지막을 선택합니다. 이 항목이 기본 옵션입니다.
     + 모든 필드의 소계를 표시하려면 **모두**를 선택합니다.
     + 소계를 표시할 필드를 사용자 지정하려면 **사용자 지정**을 선택합니다.

표 또는 피벗 테이블 시각적 객체에 행 합계를 추가한 후 합계를 시각적 객체의 상단 또는 하단에 배치하도록 선택할 수도 있습니다. 피벗 테이블에서 열 합계의 위치를 변경할 수도 있습니다.

**표 또는 피벗 테이블의 행 또는 열 합계 위치 지정하기**

1. **속성** 창에서 **합계**를 선택합니다.

1. (선택 사항) **행의** 경우 **합계 표시**를 선택합니다.

1. (선택 사항) **열의** 경우 **합계 표시**를 선택합니다.

1. (선택 사항) **행** 메뉴에서 **위치** 드롭다운을 열고 합계를 표시할 위치를 선택합니다. 합계를 표 상단에 배치하려면 **상단**을 선택하고, 합계를 표 하단에 배치하려면 **바닥**을 선택합니다.

1. (선택 사항) **열** 메뉴에서 **위치** 드롭다운을 열고 합계를 표시할 위치를 선택합니다. 합계를 표 왼쪽에 배치하려면 **왼쪽**을 선택하고, 합계를 표 오른쪽에 배치하려면 **오른쪽**을 선택합니다.

피벗 테이블 시각적 객체의 소계 위치는 변경할 수 없습니다. 피벗 테이블에서 계층 레이아웃을 사용하는 경우, 소계 행은 테이블 상단에 배치됩니다. 표 형식의 피벗 테이블 소계는 테이블 아래쪽에 표시됩니다.

## 합계 또는 소계에 대한 사용자 지정 레이블
<a name="format-tables-pivot-tables-totals-text"></a>

표 및 피벗 테이블 시각적 객체의 합계 이름을 변경하여 계정 독자에게 더 나은 컨텍스트를 제공할 수 있습니다. 기본적으로 합계와 소계는 레이블 없이 표시됩니다.

**표 또는 피벗 테이블 시각적 객체에서 합계 이름 변경**

1. **속성** 창에서 **합계** 또는 **소계**를 선택합니다.

1. **레이블**에는 합계에 표시할 단어나 짧은 문구를 입력합니다.

   피벗 테이블에서 열 합계 및 소계에 레이블을 추가할 수도 있습니다. 이렇게 하려면 **열** 섹션의 **레이블**에 대한 단어나 짧은 문구를 입력합니다.

1. (선택 사항) 표 형식 피벗 테이블의 경우 소계에 그룹 이름을 추가할 수도 있습니다. 행 소계에 그룹 이름을 추가하려면, **레이블** 필드 옆에 있는 **플러스(\$1)** 아이콘을 선택하여 원하는 그룹 이름 파라미터를 추가합니다. 이 필드에 단어나 짧은 문구를 입력할 수도 있습니다.

표 및 피벗 테이블 시각적 객체의 합계 및 소계 레이블의 텍스트 크기 및 글꼴 색상을 변경할 수도 있습니다.

**합계 및 소계 텍스트 형식 지정**

1. **속성** 창에서 **합계** 또는 **소계**를 선택합니다.

1. **텍스트**에 대해 다음 중 한 개 이상을 수행하세요.
   + 합계 또는 소계 텍스트의 색상을 변경하려면 **텍스트 스타일** 아래에서 색 견본을 선택하고 테이블 텍스트에서 원하는 색상을 선택하세요.
   + 합계 또는 소계 텍스트의 글꼴 또는 글꼴 크기를 변경하려면 **글꼴** 또는 **글꼴 크기** 드롭다운을 열고 원하는 글꼴 또는 글꼴 크기를 선택하세요.
   + 합계 또는 소계 텍스트에 굵게, 기울임꼴로 또는 밑줄을 적용하려면 스타일 표시줄에서 적절한 아이콘을 선택하세요.

   피벗 테이블에서 열 합계 및 소계에 대한 서식 텍스트를 추가할 수도 있습니다. 이렇게 하려면 **열** 섹션에서 위 단계를 반복합니다.

## 합계 및 소계 배경색
<a name="format-tables-pivot-tables-totals-background"></a>

**합계 및 소계의 배경색 사용자 지정**

1. **속성** 창에서 **합계** 또는 **소계**를 선택합니다.

1. **배경**에서 배경색 아이콘을 선택한 다음 색상을 선택합니다. 제공된 색상 중 하나를 선택하거나,배경색 색상을 기본 색상으로 재설정하거나, 사용자 지정 색상을 생성할 수 있습니다.

   피벗 테이블에서 열 합계 및 소계에 배경색을 추가할 수도 있습니다. 이렇게 하려면 **열** 섹션에서 **배경**의 배경색 아이콘을 선택합니다.

## 합계 및 소계 테두리
<a name="format-tables-pivot-tables-totals-border"></a>

**총계 및 소계의 테두리 사용자 지정**

1. **속성** 창에서 **합계** 또는 **소계**를 선택합니다.

1. **테두리**에서 다음 중 한 개 이상을 수행하세요.
   + 원하는 테두리 유형을 사용자 지정하려면, 테두리 유형 아이콘을 선택합니다. 테두리 없음, 가로 테두리만, 세로 테두리만 또는 모든 테두리를 선택할 수 있습니다.
   + 테두리 두께를 사용자 지정하려면, 테두리 두께를 선택합니다.
   + 테두리 색상을 사용자 지정하려면, 테두리 색상 아이콘을 선택한 다음 색상을 선택합니다. 제공된 색상 중 하나를 선택하거나, 테두리 색상을 기본 색상으로 재설정하거나, 사용자 지정 색상을 생성할 수 있습니다.

   피벗 테이블에서 열 합계 및 소계에 테두리를 추가할 수도 있습니다. 이렇게 하려면 **열** 섹션에서 위 단계를 반복합니다.

## 셀에 합계 및 소계 스타일 적용
<a name="format-tables-pivot-tables-totals-apply"></a>

피벗 테이블에서 총계에 적용한 텍스트, 배경색 및 테두리 스타일을 동일한 열 또는 행의 셀에 적용할 수 있습니다. 행 소계는 피벗 테이블에서 사용하는 레이아웃에 따라 다르게 나타납니다. 표 형식 피벗 테이블의 경우 시각적 객체에 명시적인 소계 헤더가 나타납니다. 계층 피벗 테이블의 경우 명시적 소계 헤더가 표시되지 않습니다. 대신 작성자는 **시각적 객체 형식 지정** 메뉴에서 개별 필드에 소계 스타일을 적용합니다. 접힌 헤더는 소계로 스타일을 지정할 수 없습니다.

**셀에 합계 및 소계 스타일 적용**

1. **속성** 창에서 **합계** 또는 **소계**를 선택합니다.

1. **스타일 적용 대상**에서 소계 스타일을 적용할 시각적 객체를 선택합니다. 다음 옵션 중에서 선택할 수 있습니다.
   + **없음** - 모든 셀에서 스타일 지정 옵션을 제거합니다.
   + **헤더만** - 스타일 지정 옵션을 피벗 테이블의 모든 헤더에 적용합니다.
   + **셀만** - 피벗 테이블의 헤더가 아닌 모든 셀에 스타일 옵션을 적용합니다.
   + **머리글 및 셀** - 스타일 지정 옵션을 피벗 테이블의 모든 셀에 적용합니다.

# Quick의 테이블 및 피벗 테이블의 행 및 열 크기
<a name="format-tables-pivot-tables-resize-rows-columns"></a>

작성자와 독자는 표 또는 피벗 테이블 시각적 객체에서 행과 열의 크기를 조정할 수 있습니다. 행 높이와 열 너비를 모두 조정할 수 있습니다. 작성자는 피벗 테이블 시각적 객체에서 열의 기본 열 너비를 설정할 수도 있습니다.

**테이블 또는 피벗 테이블의 행 크기 조정**
+ 테이블 또는 피벗 테이블 시각적 객체에서 가로 커서가 나타날 때까지 크기를 조정하려는 줄 위로 커서를 가져갑니다. 표시되면 선을 선택하고 새 높이로 드래그합니다.

  셀과 행 머리글의 수평선을 선택하여 행 높이를 조정할 수 있습니다.  
![\[표 또는 피벗 테이블의 행 크기 조정\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/resize-table-row1.gif)

**표 또는 피벗 테이블의 행 크기 조정**
+ 표 또는 피벗 테이블 시각적 객체에서 세로 커서가 나타날 때까지 크기를 조정하려는 줄 위로 커서를 가져갑니다. 표시되면 선을 선택하고 새 너비로 드래그합니다.

  셀, 열 머리글 및 행 머리글의 수직선을 선택하여 열 너비를 조정할 수 있습니다.  
![\[표 또는 피벗 테이블의 열 크기를 조정합니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/resize-table-row2.gif)

**피벗 테이블의 열에 대한 기본 열 너비 설정**

1. 변경하려는 피벗 테이블을 선택하고 **시각적 객체 형식 지정** 메뉴를 엽니다.

1. **피벗 옵션** 섹션에서 **값 열 너비(픽셀)** 필드로 이동하여 원하는 기본값을 픽셀 단위로 입력합니다.

# 피벗 테이블 데이터 사용자 지정
<a name="format-tables-pivot-tables-layout-options"></a>

빠른 독자가 피벗 테이블을 한 눈에 읽고 이해할 수 있도록 피벗 테이블을 보는 방법을 사용자 지정할 수 있습니다. 피벗 테이블의 더하기 및 빼기 아이콘을 숨기고, 단일 지표 값만 있는 열을 숨기고, 축소된 열을 뷰에서 숨기도록 선택할 수 있습니다. 이러한 옵션은 빠른 작성자가 피벗 테이블에서 어수선함을 제거하고 빠른 사용자에게 더 쉬운 읽기 환경을 제공하는 데 도움이 될 수 있습니다. 이는 피벗 테이블 레이아웃을 선택하는 것과는 다릅니다. 피벗 테이블 레이아웃 옵션에 대한 자세한 내용은 [레이아웃 선택](create-pivot-table.md#pivot-table-layout) 단원을 참조하세요.

이러한 옵션은 피벗 테이블의 **결합 행 필드 메뉴**에서도 액세스할 수 있습니다. 피벗 테이블에 대해 선택한 레이아웃에 따라 이 메뉴에 액세스하는 방법이 결정됩니다. **결합된 행 필드** 메뉴에 액세스하는 방법에 대한 자세한 내용은 참조하십시오.

**피벗 테이블의 레이아웃 변경**

1. **시각적 객체 형식 지정** 창에서 **피벗 옵션**을 선택합니다.

1. **피벗 옵션** 메뉴에서 다음 옵션을 선택하여 보기를 사용자 정의합니다.
   + **\$1/– 버튼 숨기기** - 기본적으로 피벗 테이블에서 더하기 및 빼기 아이콘을 숨깁니다. 독자는 여전히 더하기 및 빼기 아이콘을 표시하고 열과 행을 확장 또는 축소하도록 선택할 수 있습니다.
   + **단일 지표 숨기기** - 지표 값이 하나 뿐인 열을 숨깁니다.
   + **축소된 열 숨기기** - 축소된 열을 모두 피벗 테이블에서 자동으로 숨깁니다. 이 옵션은 테이블 형식 피벗 테이블에만 사용할 수 있습니다.

# Quick의 테이블에 데이터 막대 추가
<a name="format-data-bars"></a>

데이터 막대를 사용하여 Amazon Quick의 테이블 시각적 객체에 시각적 컨텍스트를 추가할 수 있습니다. 표에 색상을 삽입하면 데이터 막대를 사용하여 다양한 필드의 데이터를 쉽게 시각화하고 비교할 수 있습니다. 데이터 막대는 표의 셀에 추가하는 다양한 색상 또는 음영의 막대입니다. 막대는 단일 열에 있는 모든 셀의 범위를 기준으로 측정되며, 이는 막대형 차트와 비슷합니다. 데이터 막대를 사용하여 연중 분기당 수익과 같은 변동 추세를 강조 표시할 수 있습니다.

시각적 객체의 **값** 필드에 추가된 필드에만 데이터 막대를 적용할 수 있습니다. 그룹화 기준에 추가된 항목에는 데이터 막대를 적용할 수 없습니다.

단일 표에 대해 최대 200개의 서로 다른 데이터 막대 구성을 만들 수 있습니다.

![\[표의 데이터 막대를 보여 주는 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/data-bars-1.png)


**표에 데이터 막대 추가**

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. 시각적 객체 오른쪽 상단에 있는 메뉴에서 **시각적 객체 형식 지정** 아이콘을 선택합니다. **시각적 객체 형식 지정** 창이 열립니다.

1. **속성** 창에서 **시각적 객체** 드롭다운 목록을 열고 **데이터 표시줄 추가**를 선택합니다.

1. 나타나는 **데이터 막대** 팝업에서, 데이터 막대로 표시할 값 필드를 선택합니다. 시각적 객체의 **값** 필드 모음에 추가된 필드에서만 선택할 수 있습니다.

1. (선택 사항) **양의 색상** 레이블이 지정된 아이콘을 선택하여 양수 값 데이터 막대를 나타낼 색상을 선택합니다. 기본 색상은 녹색입니다.

1. (선택 사항) **음의 색상** 레이블이 지정된 아이콘을 선택하여 음수 값 데이터 막대를 나타낼 색상을 선택합니다. 기본 색상은 빨간색입니다.

데이터 막대를 만들면 데이터 막대가 나타내는 필드 값에 따라 데이터 막대의 이름이 지정됩니다. 예를 들어 데이터 막대를 추가하여 시간 경과에 따른 제품 수익을 나타내는 경우 데이터 막대 구성에는 ‘수익’이라는 레이블이 지정됩니다. **속성** 메뉴의 **시각적 객체** 패널에는 데이터 표시줄이 생성된 순서대로 나열됩니다.

**시각적 객체에서 데이터 막대 제거**

1. 시각적 객체 오른쪽 상단에 있는 메뉴에서 **시각적 객체 형식 지정** 아이콘을 선택합니다. **속성** 창이 열립니다.

1. **속성** 창에서 **시각적 객체** 드롭다운 목록을 열고 제거하려는 데이터 표시줄을 선택합니다.

1. **데이터 막대 제거**를 선택합니다.

# Quick에서 테이블에 스파크라인 추가
<a name="format-sparklines"></a>

Sparklines은 테이블 셀 내에서 추세를 직접 표시하는 작은 인라인 차트로, 독자가 테이블 보기를 벗어나지 않고 패턴과 계절성을 빠르게 식별할 수 있도록 도와줍니다. 표 형식 데이터와 함께 컴팩트한 추세 시각화가 필요한 경우 스파크라인을 사용합니다.

**테이블에 스파크라인을 적용하려면**

1. 분석 페이지에서 형식을 지정할 테이블 시각적 객체를 선택합니다.

1. 시각적 객체 오른쪽 상단에 있는 메뉴에서 **시각적 객체 형식 지정** 아이콘을 선택합니다. **시각적 객체 형식 지정** 창이 열립니다.

1. **속성** 창에서 **시각적 객체** 드롭다운 목록을 열고 **APPLY SPARKLINES**를 선택합니다.

1. 스파크라인 편집 창에서 데이터 설정을 구성합니다.
   + **값 열**에서 스파크라인이 나타낼 측정값 필드를 선택합니다. 다른 스파크라인 또는 데이터 표시줄에서 이미 사용하고 있는 필드는 사용할 수 없습니다.
   + **X축 필드에서 가로 축**을 따라 표시할 차원 필드를 선택합니다. X축 필드는 **그룹화 기준** 필드 모음의 필드와 동일해서는 안 됩니다. X축 필드의 정렬 방향 및 시간 세부 수준(날짜/시간 필드의 경우)을 구성할 수도 있습니다.

1. (선택 사항) **프레젠테이션** 섹션을 확장하여 스파크라인 모양을 사용자 지정합니다. 세부 정보는 [Sparkline 옵션](#format-sparklines-options) 섹션을 참조하세요.

1. (선택 사항) 마커 가시성을 구성합니다. 모든 마커는 기본적으로 숨겨집니다. 다음을 표시하도록 선택할 수 있습니다.
   + **모든 포인트** - 모든 데이터 포인트에 마커를 표시합니다.
   + **최댓값** - 가장 높은 값에 마커를 표시합니다.
   + **최소값** - 가장 낮은 값에 마커를 표시합니다.

1. **적용**을 선택합니다.

스파크라인은 스파크라인이 나타내는 값 필드의 이름을 따서 명명됩니다(예: "Profit"). Sparklines은 생성된 순서대로 **시각적 객체** 창에 표시됩니다.

## Sparkline 옵션
<a name="format-sparklines-options"></a>

다음 표에서는 스파크라인 프레젠테이션 옵션을 설명합니다.


| 설정 | 옵션 | 기본값 | 설명 | 
| --- | --- | --- | --- | 
| Y축 동작 | 공유, 독립 | 공유 | 공유는 모든 행에서 동일한 Y축 스케일을 사용하여 쉽게 비교할 수 있습니다. 독립적으로 각 행을 개별적으로 조정하여 개별 추세 셰이프를 강조 표시합니다. | 
| 시각적 객체 유형 | 라인, 영역 라인 | 행 | 영역 라인은 라인 아래에 음영 영역을 추가합니다. | 
| 선 색상 | Color Picker | 테마 색상 | 스파크 선에 대한 사용자 지정 색상입니다. | 
| 선 보간 | Linear, Smooth, Stepped | Linear | 포인트 연결 방법을 제어합니다. | 

## 스파크라인 편집 및 제거
<a name="format-sparklines-edit-remove"></a>

스파크 라인을 편집하려면 **시각적 객체** **형식 지정 창에서 시각적** 객체 드롭다운을 열고 수정하려는 스파크 라인 옆에 있는 편집 아이콘을 선택합니다. 설정을 업데이트하고 **적용을** 선택합니다.

스파크 라인을 제거하려면 스파크 라인의 편집 창을 열고 **삭제**를 선택합니다.

## 자동 제거
<a name="format-sparklines-auto-removal"></a>

빠른는 필드 변경으로 인해 스파크라인이 유효하지 않은 경우 스파크라인을 자동으로 제거합니다.
+ 모든 **그룹화 기준** 필드가 제거됨 - 모든 스파크 라인이 제거됩니다.
+ Sparkline의 값 열은 **값** 필드 웰에서 제거되며, 해당 Sparkline은 제거됩니다.
+ 스파크라인의 X축 필드가 **그룹화 기준** 필드 모음에 추가됩니다. 해당 스파크라인은 제거됩니다.

스파크 라인이 자동으로 제거되면 알림이 나타납니다.

## Sparkline 제한 사항
<a name="format-sparklines-limitations"></a>

스파크 라인으로 작업할 때는 다음 사항을 고려하세요.
+ **테이블당 최대 스파크라인** - 테이블 시각적 객체당 최대 3개의 스파크라인 열
+ **최대 데이터 포인트** - 스파크 라인당 최대 52개의 데이터 포인트. 데이터가이 제한을 초과하면 Quick은 X축 정렬 순서에 따라 마지막 52개의 데이터 포인트를 표시합니다.
+ **필드 요구 사항** - **그룹화 기준** 필드 모음에 하나 이상의 필드와 **값** 필드 모음에 하나 이상의 필드
+ **X축 제약 조건** - X축 필드는 **그룹화 기준** 필드와 같을 수 없습니다.
+ **전용 값 열 사용** - Sparkline과 데이터 표시줄 모두에서 값 열을 사용할 수 없습니다.
+ **내보내기 지원** - Sparklines은 PDF 내보내기에 포함되지만 CSV 또는 Excel 내보내기에는 포함되지 않습니다.
+ **필터 동작** - 테이블에 적용된 필터는 스파크 라인 데이터도 필터링합니다.

# Quick의 맵 및 지리 공간 차트 형식 지정 옵션
<a name="geospatial-formatting"></a>

Amazon Quick에서는 맵 및 지리 공간 차트에 대한 여러 형식 지정 옵션 중에서 선택할 수 있습니다. 현재 선택한 지리 공간 맵의 오른쪽 상단에 있는 시각적 객체 메뉴에서 **속성** 창을 열어 형식 지정 옵션을 확인할 수 있습니다.

빠른 작성자와 독자는 시각적 객체 메뉴의에서 지리 공간 맵 시각적 객체의 다양한 형식 지정 옵션을 전환할 수도 있습니다.

![\[시각적 객체 메뉴에서 지리 공간 지도 형식 지정 옵션을 전환합니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/geospatial-map-options-1.gif)


**Topics**
+ [빠른 지리 공간 맵의 기본 맵](base-maps.md)
+ [Amazon Quick의 지리 공간 히트맵](heat-maps.md)
+ [Quick의 지리 공간 포인트 맵에 대한 마커 클러스터링](marker-clustering-on-maps.md)

# 빠른 지리 공간 맵의 기본 맵
<a name="base-maps"></a>

Quick에서 맵 시각적 객체를 생성할 때 맵의 기본을 변경할 수 있습니다. 기본 맵은 맵의 데이터 아래에 나타나는 맵 스타일입니다. 위성 뷰와 스트리트 뷰를 예로 들 수 있습니다.

Quick에는 라이트 그레이 캔버스, 다크 그레이 캔버스, 거리, 이미지 등 네 가지 기본 맵 옵션이 있습니다. 다음 목록에는 각 기본 맵 옵션 예제가 포함되어 있습니다.

**중요**  
아시아 태평양(뭄바이) AWS 리전(ap-south-1)에서는 밝은 회색 캔버스만 지원됩니다.
+ 라이트 그레이 캔버스  
![\[밝은 회색 캔버스 베이스를 사용한 맵 시각적 객체의 예제 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/map-layers1.png)
+ 다크 그레이 캔버스  
![\[밝은 회색 캔버스 베이스를 사용한 맵 시각적 객체의 예제 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/map-layers2.png)
+ 거리  
![\[다음은 도로 기반이 있는 맵 시각적 객체의 예제 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/map-layers3.png)
+ 이미지  
![\[다음은 이미지 기반이 있는 맵 시각적 객체의 예제 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/map-layers4.png)

## 기본 맵 변경
<a name="base-maps-change"></a>

필드 이름을 변경하려면 다음 절차를 따르세요.

**기본 맵 변경**

1. 분석에서 포인트 맵 또는 채워진 맵을 생성합니다. 자세한 내용은 [맵 및 지리공간 차트 생성하기](geospatial-charts.md) 단원을 참조하십시오.

1. 맵 시각적 객체에서 **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. **속성** 창이 열리면 **기본 맵** 섹션을 선택한 다음 원하는 기본 맵을 선택합니다.

# Amazon Quick의 지리 공간 히트맵
<a name="heat-maps"></a>

지리공간 히트 맵을 사용하여 지리공간 시각적 객체의 마커 농도 패턴을 확인할 수 있습니다. 히트 맵은 시각적 객체 마커의 강도 또는 농도를 강조하는 컬러 오버레이를 사용하여 데이터 포인트의 농도를 표시합니다.

![\[다음은 실제 마커 클러스터링의 예입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/heat-map-1.png)


**지리공간 맵을 히트 맵으로 전환하려면**

1. 분석을 열고 형식을 지정하려는 지리공간 맵을 선택합니다. 시각적 객체를 선택하면 주변이 강조된 상태로 표시됩니다.

1. 형식 지정 창을 열려면 **시각적 객체 메뉴에서 시각적 객체 형식** 지정 아이콘을 선택합니다.

1. 왼쪽의 서식 지정 창에서 **포인트**를 선택합니다.

1. **히트 맵**을 선택합니다.

1. (선택 사항) **히트 맵 그라데이션**의 경우 **고밀도 및 **저밀도** 값에** 사용할 색상을 선택합니다.

# Quick의 지리 공간 포인트 맵에 대한 마커 클러스터링
<a name="marker-clustering-on-maps"></a>

마커 클러스터링을 사용하면 맵에서 배치된 지점의 가독성을 높일 수 있습니다. 포인트 맵의 지리 공간 위치는 마커를 사용하여 표시됩니다. 일반적으로 데이터 포인트당 하나의 마커가 있습니다. 하지만 서로 가까이 있는 마커가 너무 많으면 맵을 읽기가 어려워집니다. 맵을 더 쉽게 해석할 수 있도록, 마커 클러스터링을 활성화하여 맵상의 위치 그룹을 표시할 수 있습니다. 판독기가 지도를 확대하면, 군집된 마커는 영역 표시자가 그대로 남아 별도로 표시됩니다.

![\[다음은 실제 마커 클러스터링의 예입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/map-marker-clustering.gif)


**맵에 클러스터 포인트 추가**

1. 분석을 열고 형식을 지정하려는 지리 공간 맵을 선택합니다. 시각적 객체를 선택하면 주변이 강조된 상태로 표시됩니다.

1. 형식 지정 창을 열려면 **시각적 객체 메뉴에서 시각적 객체 형식** 지정 아이콘을 선택합니다.

1. 왼쪽의 서식 지정 창에서 **포인트**를 선택합니다.

1. 다음 옵션 중 하나를 선택하세요.
   + **기본** - 맵 포인트의 기본 표시 설정을 사용합니다.
   + **클러스터 포인트** - 한 영역에 맵 포인트가 여러 개 있는 경우 맵 포인트를 함께 클러스터링합니다.

# Quick의 시각적 객체 유형에 대한 축 및 그리드 선
<a name="showing-hiding-axis-grid-tick"></a>

빠른에서 차트를 생성하면 축 선, 축 레이블, 축 정렬 아이콘 및 그리드 선이 차트에 자동으로 추가됩니다. 원하는 경우 시각적 개체를 표시하거나 숨기도록 형식을 지정하고 축 레이블 크기 및 방향을 사용자 지정할 수도 있습니다.

다음 차트 유형에 대해 축 선, 격자 선, 축 레이블 및 축 정렬 아이콘의 서식을 지정할 수 있습니다.
+ 막대 차트
+ 박스 플롯 차트
+ 콤보 차트
+ 히스토그램
+ 선 차트
+ 산점도
+ 폭포 차트

**차트에서 축 선, 축 레이블, 격자선의 서식 지정**

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. 시각적 객체 오른쪽 상단에 있는 메뉴에서 시각적 객체 형식 지정 아이콘을 선택합니다.

   **속성** 창이 왼쪽에 열립니다.

**축 선을 표시하거나 숨기기**

1. **속성** 창에서 형식을 지정하려는 축을 선택합니다.

1. **축 선 표시**를 선택합니다. 선택한 축의 축선을 숨기려면 확인란의 선택을 취소합니다. 확인란을 선택하여 표시합니다.

**축 제목 사용자 지정**

1. **속성** 창에서 형식을 지정하려는 축을 선택합니다.

1. **제목 보기**를 선택합니다. 선택한 축의 축 제목과 드롭다운 캐럿 아이콘을 숨기려면 확인란의 선택을 취소합니다. 확인란을 선택하여 표시합니다.

1. 기본 필드 이름에서 제목을 변경하려면, 텍스트 상자에 제목을 입력합니다.

**참고**  
이 항목의 이전에 나열된 차트 유형 외에도 파이 차트, 도넛 차트, 퍼널 차트, 히트 맵, 트리 맵의 축 제목을 사용자 지정할 수 있습니다.

**축 글꼴 설정을 수정하려면**

1. **속성** 창에서 형식을 지정하려는 축을 선택합니다.

1. 다음 속성을 조정합니다.
   + **글꼴 그룹**
   + **텍스트 크기**
   + **스타일**(굵게, 기울임꼴, 밑줄)
   + **Color(색상)**

**참고**  
축 제목에는 **밑줄**이 지원되지만 축 레이블에는 지원되지 않습니다.
차트 유형마다 다른 용어를 사용합니다.  
**막대/선 차트** - **X축** 및 **Y축**
**파이형 차트** - **값**
**히트 맵** - **행** 및 **열**

**정렬 아이콘을 표시하거나 숨기기**

1. **속성** 창에서 형식을 지정하려는 축을 선택합니다.

1. **정렬 표시**를 선택합니다. 선택한 축의 정렬 아이콘을 숨기려면 확인란의 선택을 취소합니다. 확인란을 선택하여 표시합니다.

   정렬 아이콘을 제거하도록 선택하면 정렬 아이콘이 축에서 제거됩니다. 아이콘을 제거하기 전에 시각적 객체에 적용한 정렬은 시각적 객체에서 제거되지 않습니다.

**참고**  
이 항목의 이전에 나열된 차트 유형 외에도 파이 차트, 도넛 차트, 퍼널 차트, 히트 맵, 트리 맵의 정렬 아이콘을 표시하거나 숨길 수 있습니다.

**데이터 확대/축소를 표시하거나 숨기기**

1. **속성** 창에서 **X축**을 선택합니다.

1. **데이터 확대/축소 표시**를 선택합니다. 데이터 확대/축소를 숨기려면 확인란의 선택을 취소합니다. 확인란을 선택하여 표시합니다.

   데이터 확대/축소 막대는 데이터 포인트가 두 개 이상 포함된 X축의 차트에 자동으로 표시됩니다. 막대를 왼쪽과 오른쪽으로 조정하여 차트의 특정 데이터 포인트로 확대할 수 있습니다.
**참고**  
데이터 확대/축소 막대를 사용하여 확대 또는 축소한 다음 데이터 확대/축소 막대를 숨기도록 선택하면 확대/축소 위치가 유지되지 않습니다. 시각적 객체는 모든 데이터 포인트를 포함하도록 완전히 축소됩니다. 데이터 확대/축소를 다시 표시하면 시각적 객체가 이전 상태로 돌아갑니다.

**축 레이블을 표시하거나 숨기기**

1. **속성** 창에서 형식을 지정하려는 축을 선택합니다.

1. **레이블 보기**를 선택합니다. 선택한 축의 축 레이블을 숨기려면 확인란의 선택을 취소합니다. 확인란을 선택하여 표시합니다.

**레이블 크기 변경**

1. **속성** 창에서 형식을 지정하려는 축을 선택합니다.

1. **레이블 크기**에서 크기를 선택합니다.

**레이블 방향 변경**

1. **속성** 창에서 형식을 지정하려는 축을 선택합니다.

1. **레이블 방향**의 방향을 선택합니다.

**격자선을 표시하거나 숨기기**

1. **속성** 창에서 형식을 지정하려는 축을 선택합니다.

1. **격자선 보기**를 선택합니다. 선택한 축의 축선을 숨기려면 확인란의 선택을 취소합니다. 확인란을 선택하여 표시합니다.

# Quick의 시각적 객체 유형의 색상
<a name="changing-visual-colors"></a>

다음 유형의 차트에서 한 요소, 일부 또는 전체 요소의 색상을 변경할 수 있습니다.
+ 막대 차트
+ 도넛 차트
+ 게이지 차트
+ 히트 맵
+ 선 차트
+ 산점도
+ 트리 맵

막대형 차트, 도넛형 차트, 게이지 차트, 라인 차트, 산점도에서 색상을 변경하려면 [차트 색 변경](#format-colors-on-charts)을(를) 참조하세요.

히트 맵 및 트리 맵의 색상을 변경하려면 [히트 맵 및 트리 맵의 색상 변경](#format-colors-on-heatmaps-and-treemaps)을(를) 참조하세요.

## 차트 색 변경
<a name="format-colors-on-charts"></a>

차트의 모든 요소가 사용하는 차트 색상을 변경하고 개별 요소의 색상도 변경할 수 있습니다. 개별 요소의 색상을 설정하면 그 색상으로 차트 색상을 덮어씁니다.

예를 들어 차트 색상을 녹색으로 설정한다고 가정합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/color-priority1.png)


모든 막대가 녹색으로 변합니다. 첫 번째 막대를 선택하더라도 차트 색상은 모든 막대에 적용됩니다. 그런 다음 **SMB** 막대의 색상을 파란색으로 설정합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/color-priority2.png)


결과를 보면 녹색 막대와 파란색 막대 사이에 더 많은 대비가 필요하므로 차트 색상을 주황색으로 변경합니다. 차트 색상을 변경하는 경우 컨텍스트 메뉴를 열기 위해 선택하는 막대는 중요하지 않습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/color-priority3.png)


**SMB** 막대는 그대로 파란색으로 표시됩니다. 이는 직접 구성했기 때문입니다. 나머지 막대는 주황색으로 변합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/color-priority4.png)


그룹화된 요소의 색상을 변경하면 모든 그룹에서 해당 요소의 색상이 변경됩니다. 예를 들면 클러스터 막대 차트의 막대가 있습니다. 다음 예에서 고객 세그먼트는 **Y축**에서 벗어나 **그룹/색상** 필드 모음으로 이동합니다. 고객 리전은 **Y축**으로 추가됩니다. 차트 색상은 주황색으로 유지되고 SMB는 모든 고객 리전에 대해 파란색으로 유지됩니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/color-priority5.png)


시각적 객체에 범주(차원)를 표시하는 범례가 있는 경우 범례의 값을 클릭하여 사용 가능한 작업 메뉴를 볼 수 있습니다. 예를 들어 막대 차트의 **색상** 또는 **그룹/색상** 필드 모음에 필드가 있다고 가정합니다. 막대 차트 메뉴에는 다음과 같이 막대를 클릭하거나 마우스 오른쪽 버튼으로 클릭하여 선택할 수 있는 작업이 표시됩니다.
+ 시각적 요소에 초점 맞추기 또는 제외
+ 시각적 요소의 색상 변경
+ 계층 구조로 드릴다운
+ 필터링 또는 URL 작업을 포함하여 메뉴에서 활성화된 사용자 지정 작업

다음은 범례를 사용하여 차원의 색상을 변경하는 예제입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/visual-elements-legend-color.png)


### 시각적 객체에 새 색상 설정
<a name="change-visual-color"></a>

시각적 객체의 색상을 변경하려면 다음 절차에 따르십시오.

**시각적 객체의 색상 변경**

1. 분석 페이지에서 수정하려는 시각적 객체를 선택합니다.

1. 차트 색상을 변경하려면 시각적 객체의 요소를 선택한 다음 **차트 색상**을 선택합니다.

   다음과 같이 요소를 선택합니다.
   +  막대 차트에서 막대를 선택합니다.
   +  선 차트에서 행 끝을 선택합니다.
   +  산점도에서 요소를 선택합니다. 필드는 **필드 모음**의 **그룹/색상** 섹션에 있어야 합니다.

1. 사용하려는 색상을 선택합니다. 기존 팔레트에서 색상을 선택하거나 사용자 지정 색상을 선택할 수 있습니다. 사용자 지정 색상을 사용하려면 색상 16진수 코드를 입력합니다.

   이전에 색상을 개별적으로 설정한 요소를 제외하고, 시각적 객체의 모든 요소가 이 색상을 사용하도록 변경됩니다. 그런 경우에는, 요소 색상이 차트 색상을 덮어씁니다.

1. 시각적 객체에서 단일 요소의 색상을 변경하려면, 해당 요소를 선택하고 **색상 <필드 이름>**을 선택한 다음 사용하려는 색상을 선택합니다. 기존 팔레트에서 색상을 선택하거나 사용자 지정 색상을 선택할 수 있습니다. 사용자 지정 색상을 사용하려면 색상 16진수 코드를 입력합니다.

   수정할 모든 요소에 대한 색상을 설정할 때까지 이 단계를 반복하십시오. 색상을 원래 색상으로 다시 변경하려면 **기본값으로 재설정**을 선택합니다.

### 시각적 객체의 색상을 다시 기본값으로 설정
<a name="reset-visual-color"></a>

시각적 객체에 기본 색상을 사용하도록 되돌리려면 다음 절차에 따르십시오.

**시각적 객체의 기본 색상으로 돌아가기**

1. 분석 페이지에서 수정하려는 시각적 객체를 선택합니다.

1. **차트 색상을** 선택하고, 시각적 객체에서 원하는 요소를 선택한 다음, **기본값으로 재설정**을 선택합니다. 이렇게 하면 차트 색상이 해당 시각적 유형의 기본 색상으로 다시 변경됩니다.

   이전에 색상을 개별적으로 설정한 요소를 제외하고, 시각적 객체에 대한 모든 요소가 시각적 객체 유형의 기본 색상으로 변경됩니다. 그런 경우에는, 요소 색상 설정이 차트 색상 설정을 덮어씁니다.

1. 단일 요소의 색상을 기본으로 다시 변경하려면, 해당 요소를 선택하고 **색상 <필드 이름>**을 선택한 다음 **기본값으로 재설정**을 선택합니다.

   색상을 지정한 경우 개별 요소에 대한 기본 색상은 차트 색상입니다. 그렇지 않을 경우 시각적 객체 유형의 기본 색상입니다.

## 히트 맵 및 트리 맵의 색상 변경
<a name="format-colors-on-heatmaps-and-treemaps"></a>

**히트 맵 또는 트리 맵에 표시되는 색상 변경**

1. 편집할 히트 맵 또는 트리 맵을 선택합니다.

1. 설정 메뉴에서 **확장**을 선택하고 톱니바퀴 아이콘을 선택하여 **속성** 패널을 엽니다.

1. **색상**에서 사용하려는 설정을 선택합니다.

1. **그라디언트 색상** 또는 **이산 색상**의 경우 색상 막대 옆의 색상 사각형을 선택한 다음 사용할 색상을 선택합니다. 각 색상 사각형에 대해 반복합니다. 막대에는 기본적으로 두 가지 색상이 있습니다.

1. 세 번째 색상을 추가하려면 **3색 활성화** 확인란을 선택합니다. 색상 막대 가운데에 새 사각형이 나타납니다.

   두 기본 그라디언트 색상 사이의 중간점을 정의하는 숫자를 입력할 수 있습니다. 값을 추가하면 가운데 색이 입력한 숫자를 나타냅니다. 이 필드를 비워 두면 중간 색상이 그라디언트의 다른 색상과 동일하게 작용합니다.

1. 차트를 선택한 색상으로 제한하려면 **단계 활성화** 확인란을 선택합니다. 이렇게 하면 색상 막대의 레이블이 **그라디언트 색상**에서 **이산 색상**으로 변경됩니다.

1. **Null 값 색상**의 경우, NULL 값을 나타내는 색상을 선택합니다. 이 옵션은 히트 맵에서만 사용할 수 있습니다.

# Amazon Quick에서 필드 수준 색상 지정 작업
<a name="format-field-colors"></a>

필드 수준 색상 지정을 사용하면 빠른 분석 또는 대시보드의 모든 시각적 객체에서 특정 필드 값에 특정 색상을 할당할 수 있습니다. 색상은 필드별로 할당되므로 색상 설정 프로세스를 단순화하고 동일한 필드를 사용하는 모든 시각적 객체에서 일관성을 유지할 수 있습니다. 이를 테면 여러 지역의 배송료를 추적하는 시각적 객체 세트를 만들려는 배송 회사를 예로 들어 보겠습니다. 필드 수준 색상 지정을 사용하면 분석 또는 대시보드의 모든 시각적 객체에서 필드를 나타내기 위해 각 지역에 다른 색상을 할당할 수 있습니다. 이렇게 하면 계정 리더가 찾고 있는 필드 색상을 빠르게 파악하고 필요한 정보를 더 쉽게 찾을 수 있습니다.

빠른 작성자는 필드당 최대 50개의 필드 기반 색상을 구성할 수 있습니다. 시각적 객체 수준에서 정의된 색상은 필드 기반 색상보다 우선합니다. 즉, 작성자가 시각적 객체의 값에 색상을 설정하면 해당 색상이 해당 개별 시각적 객체의 필드 기반 색상 구성을 재정의합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/field-coloring.gif)


**기존 계정에 필드 수준 색상 적용**

1. 분석의 **필드** 패널에서, 색상을 할당하려는 필드 옆의 줄임표(점 3개) 를 선택한 다음 **필드 색상 편집**을 선택합니다.

1. 표시되는 **필드 색상 편집** 창에서 색상을 할당하려는 값을 선택하고 원하는 색상을 선택합니다. **필드 값** 창에 나타나는 모든 값에 색상을 적용할 수 있습니다.

1. 원하는 필드에 색상을 할당한 후 **적용**을 선택합니다.

필드의 색상 값을 재설정하려면, **필드 색상 편집** 창을 열고 재설정하려는 필드 옆의 새로 고침 아이콘을 선택합니다. **색상 재설정**을 선택하여 분석의 모든 색상 값을 재설정할 수 있습니다.

**필드 색상 편집** 창에서 **사용하지 않은 색상 표시**를 선택하여 새 필드에 구성할 수 있는 미사용 색상 목록을 볼 수 있습니다. 필드 색상을 재설정하면, 삭제된 색상이 **미사용 색상** 목록에 추가되고 새 필드에 할당될 수 있습니다.

# Quick의 시각적 객체 유형에 대한 조건부 형식 지정
<a name="conditional-formatting-for-visuals"></a>

일부 시각적 객체 유형에서는 일부 데이터를 강조 표시하기 위해 조건부 형식을 추가할 수 있습니다. 현재 지원되는 조건부 형식 옵션에는 텍스트 색상 또는 배경색 변경과 기호 아이콘 사용이 포함됩니다. 제공된 세트의 아이콘을 사용하거나 유니코드 아이콘을 대신 사용할 수 있습니다.

조건부 형식은 다음과 같은 시각적 객체에서 사용할 수 있습니다.
+ 게이지 차트
+ 핵심 성능 지표(KPI)
+ 피벗 테이블
+ 표

이제 표 및 피벗 테이블의 경우 대상 셀에 적용할 형식 옵션과 함께 필드 또는 지원되는 집계에 대한 여러 조건을 설정할 수 있고, KPI와 게이지 차트의 경우 데이터 세트의 모든 차원에 적용되는 조건에 따라 주 값의 형식을 지정할 수 있습니다. 게이지 차트의 경우 조건에 따라 아크의 전경색을 형식 지정할 수도 있습니다.

**시각적 객체에서 조건부 형식 사용**

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. 시각적 객체에서, 오른쪽 상단에 있는 아래쪽 아이콘에서 컨텍스트 메뉴를 엽니다. 그런 다음 **조건부 형식 지정**을 선택합니다.

   형식 지정 옵션이 왼쪽에 표시됩니다. 다음 중 하나를 선택합니다.
   + ****피벗 테이블의 경우**** - 먼저 사용할 치수를 선택합니다. 하나 이상의 필드에 조건부 형식을 설정할 수 있습니다. **값** 필드에 있는 치수로 선택이 제한됩니다.
   + ****표의 경우**** - 먼저 사용할 필드를 선택합니다. 하나 이상의 필드에 조건부 형식을 설정할 수 있습니다. 또한 전체 행에 형식을 적용하도록 선택할 수 있습니다. 전체 행에 형식을 지정하면 다른 조건에 의해 추가된 형식 외에 행 형식을 적용하는 **맨 위에 적용** 옵션이 추가됩니다.
   + ****KPI의 경우**** - 주 값 또는 진행률 표시줄 또는 둘 다에 형식을 적용합니다.

1. 이 절차의 나머지 단계에 사용할 기능을 선택합니다. 모든 시각적 객체에 대해 모든 옵션을 사용할 수 있는 것은 아닙니다.

1. (선택 사항) **배경색 추가**를 선택하여 배경색을 설정합니다. 배경색이 이미 추가된 경우 **배경**을 선택합니다.
   + **채우기 유형** - 배경색은 **단색** 또는 **그라데이션**이 될 수 있습니다. 그라데이션을 사용하도록 선택하면 그라데이션 배율의 최소값과 최대값을 선택할 수 있는 추가 색상 옵션이 표시됩니다. 최소값은 가장 낮은 값으로, 최대값은 가장 높은 값으로 기본 설정됩니다.
   + **다음에 기반한 형식 필드** - 형식을 적용할 때 사용할 필드입니다.
   + **집계** - 사용할 집계입니다(사용 가능한 집계만 표시).
   + **조건** - 사용할 비교 연산자입니다(예: "보다 큼").
   + **값** - 사용할 값입니다.
   + **색상** - 사용할 색상입니다.
   + **추가 옵션**: 피벗 테이블에서 컨텍스트 메뉴(**…**)에 있는 옵션: **값**, **소계**, **합계**를 선택하여 형식을 지정할 항목을 설정할 수 있습니다.

1. (선택 사항) **텍스트 색상 추가**를 선택하여 텍스트 색상을 설정합니다. 텍스트 색상이 이미 추가된 경우 **텍스트**를 선택합니다.
   + **다음에 기반한 형식 필드** - 형식을 적용할 때 사용할 필드 또는 항목입니다.
   + **집계** - 사용할 집계입니다(사용 가능한 집계만 표시). 이 옵션은 테이블 및 피벗 테이블에 적용됩니다.
   + **조건** - 사용할 비교 연산자입니다(예: "보다 큼").
   + **값** - 사용할 값입니다.
   + **색상** - 사용할 색상입니다.
   + [**추가 옵션:** 테이블 및 피벗 테이블에서 컨텍스트 메뉴(**…**)에 있는 옵션(**값**, **소계**, **합계**)을 선택하여 형식을 지정할 항목을 설정할 수 있습니다.

1. (선택 사항) **아이콘 추가**를 선택하여 아이콘 또는 아이콘 세트를 설정합니다. 아이콘이 이미 추가된 경우 **아이콘**을 선택합니다.
   + **다음에 기반한 형식 필드** - 형식을 적용할 때 사용할 필드 또는 항목입니다.
   + **집계** - 사용할 집계입니다(사용 가능한 집계만 표시). 이 옵션은 테이블 및 피벗 테이블에 적용됩니다.
   + **아이콘 세트** - **다음에 기반한 형식 필드**에서 필드에 적용할 아이콘 세트입니다. 이 옵션은 테이블 및 피벗 테이블에 적용됩니다.
   + **색상 반전** - 테이블 및 피벗 테이블의 아이콘 색상을 반전합니다.
   + **사용자 지정 조건** - 표 및 피벗 테이블에 대한 추가 아이콘 옵션을 제공합니다.
   + **조건** - 사용할 비교 연산자입니다.
   + **값** - 사용할 값입니다.
   + **아이콘** - 사용할 아이콘입니다. 아이콘 세트를 선택하려면 **아이콘)** 기호를 사용하여 사용할 아이콘을 선택합니다. 제공된 아이콘 세트에서 선택합니다. 경우에 따라 직접 추가할 수도 있습니다. 고유한 아이콘을 사용하려면 **사용자 지정 유니코드 아이콘 사용**을 선택합니다. 아이콘으로 사용할 유니코드 문자 모양을 붙여 넣습니다. **적용**을 선택하여 저장하거나 **취소**를 선택하여 아이콘 설정을 종료합니다.
   + **색상** - 사용할 색상입니다.
   + **아이콘만 표시** - 값을 표 및 피벗 테이블에 대한 아이콘으로 바꿉니다.
   + **추가 옵션:**
     + 표 및 피벗 테이블에서 컨텍스트 메뉴(**…**)에 있는 옵션(**값**, **소계**, **합계**)을 선택하여 형식을 지정할 항목을 설정할 수 있습니다.
     + 피벗 테이블에서 **사용자 지정 조건**을 활성화하면 사전 설정된 조건부 형식이 활성화되어 이를 유지하거나 여기에 더 추가하거나 고유한 설정으로 덮어쓸 수 있습니다.

1. (선택 사항) **전경색 추가**를 선택하여 KPI 진행률 표시줄의 전경색을 설정합니다. 전경색이 이미 추가된 경우 **전경**을 선택합니다.
   + **다음에 기반한 형식 필드** - 형식을 적용할 때 사용할 필드입니다.
   + **조건** - 사용할 비교 연산자입니다.
   + **값** - 사용할 값입니다.
   + **색상** - 사용할 색상입니다.

1. 조건부 형식 구성을 마쳤으면 다음 중 하나 이상을 선택합니다.
   + 작업 내용을 저장하려면 **적용**을 선택합니다.
   + 선택을 취소하고 이전 패널로 돌아가려면 **취소**를 선택합니다.
   + 설정 패널을 닫으려면 **닫기**를 선택합니다.
   + 이 패널에서 모든 설정을 재설정하려면 **지우기**를 선택합니다.

# KPI 옵션
<a name="KPI-options"></a>

비즈니스 요구 사항에 맞게 Amazon Quick에서 KPIs를 사용자 지정할 수 있습니다. 상황에 맞는 스파크라인 또는 진행률 표시줄을 추가하고, 기본 및 보조 값을 할당하고, KPI에 조건부 서식을 추가할 수 있습니다.

Quick에서 KPI를 포맷하려면 변경하려는 KPI로 이동하여 **시각적 객체 포맷** 아이콘을 선택하여 **시각적 객체 포맷**을 엽니다.

다음 절차를 사용하여 KPI에 대한 형식 지정 작업을 수행하십시오.

## KPI에 시각적 객체 추가
<a name="KPI-add-visual"></a>

Quick의 모든 KPI에 영역 스파크라인, 스파크라인 또는 진행률 표시줄을 추가하도록 선택할 수 있습니다. KPI에 시각적 객체를 추가하면 KPI 데이터를 보는 독자에게 시각적 컨텍스트를 제공합니다. KPI에 시각적 객체를 추가하려면 다음 절차에 따르십시오.

**KPI에 시각적 객체 추가**

1. 변경하려는 KPI로 이동한 다음 시각적 객체 형식 지정 메뉴를 엽니다.

1. **속성** 메뉴에서 **시각적 객체** 박스를 선택하여 KPI 차트에 시각적 객체를 표시합니다.

1. (선택 사항) **시각적 객체** 드롭다운을 열고 KPI에 표시할 시각적 객체의 유형을 선택합니다. QuickSight의 모든 KPI에 영역 스파크라인, 스파크라인 또는 진행률 표시줄을 추가하도록 선택할 수 있습니다. 스파크라인을 표시하려면, **추세** 필드 모음에 KPI의 값이 제대로 입력되어 있어야 합니다. **영역 스파크라인**이 기본값입니다.

1. (선택 사항) 스파크라인의 색상을 변경하려면 **시각적 객체** 드롭다운 왼쪽에 있는 색상 아이콘을 선택하고 원하는 색상을 선택합니다. 진행률 표시줄에는 색상 형식이 지원되지 않습니다.

1. (선택 사항) **툴팁 추가**를 선택하여 KPI 시각적 객체에 도구 설명을 추가합니다.

## 기본 및 보조 값 사용자 지정
<a name="KPI-customize-values"></a>

**시각적 객체 형식 지정** 메뉴를 사용하여 글꼴, 색상을 사용자 정의하고 표시할 기본 값을 선택할 수 있습니다. 또한 보조 값을 표시하도록 선택할 수도 있습니다.

**KPI의 기본 및 보조 값 사용자 지정**

1. 변경하려는 KPI로 이동한 다음, **시각적 객체 형식 지정** 메뉴를 열고, **KPI** 섹션을 탐색합니다.

1. **기본 값**의 경우 **글꼴** 드롭다운을 사용하여 원하는 글꼴 크기를 선택합니다. 기본값은 **자동**입니다.

1. (선택 사항) 기본 값 글꼴 색상을 변경하려면, **글꼴** 드롭다운 옆에 있는 색상 아이콘을 선택한 다음, 원하는 색상을 선택합니다.

1. **표시된 기본 값**에 대해 실제 값을 표시할지 기본 값의 비교 값을 표시할지 선택할 수 있습니다.

1. 보조 값을 추가하려면 **보조 값**을 선택합니다.

   1. (선택 사항) **글꼴** 드롭다운을 사용하여 원하는 글꼴 크기를 선택합니다. 기본값은 **엑스트라 라지**입니다.

   1. (선택 사항) 보조 값 글꼴 색상을 변경하려면, **글꼴** 드롭다운 옆에 있는 색상 아이콘을 선택한 다음, 원하는 색상을 선택합니다.

## KPI의 조건부 형식 옵션
<a name="KPI-conditional-formatting"></a>

KPI의 조건부 형식은 비교 값에 자동으로 설정됩니다. 기본적으로 양수 값은 녹색으로 표시되고 음수 값은 빨간색으로 표시됩니다. **속성** 창에서 이러한 색상 값의 색상 값을 사용자 지정할 수 있습니다.

**양수 및 음수 값의 색상을 변경하려면**

1. **속성** 창에서 **조건부 서식** 섹션을 열고 변경하려는 비교 값을 선택합니다.

1. 양수 값의 색을 변경하려면, **조건 \$11**로 이동하여, **색** 아이콘을 선택한 다음, 원하는 색을 선택합니다.

1. 음수 값의 색을 변경하려면, **조건 \$12**로 이동하여, **색** 아이콘을 선택한 다음, 원하는 색을 선택합니다.

1. 원하는 대로 변경한 후 **적용**을 선택합니다.

**조건부 서식** 메뉴에서 **실제 값**에 대한 텍스트 색상과 아이콘을 추가할 수도 있습니다. 텍스트 색상이나 아이콘을 실제 값에 추가하려면, **텍스트 색상 추가** 또는 **추가 아이콘**를 선택하여 새 값을 설정합니다.

# Quick의 시각적 객체 유형에 대한 레이블
<a name="customizing-visual-labels"></a>

시각적 객체의 레이블을 사용자 지정하거나, 표시하거나, 숨기려면 다음 절차에 따르십시오.

**시각적 객체의 레이블을 사용자 지정, 표시 또는 숨기기**

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다. 시각적 객체에 대한 레이블을 직접 선택하고 **이름 바꾸기**를 선택하여 레이블을 변경할 수 있습니다. 기본 이름으로 되돌리려면 입력 항목을 삭제합니다.

1. 더 많은 옵션을 보려면 시각적 객체의 오른쪽 상단 모서리에 있는 아래쪽 아이콘에서 시각적 객체 메뉴를 선택한 다음 **시각적 객체 형식** 지정 아이콘을 선택합니다.

   피벗 테이블의 경우 행 이름, 열 이름 및 값 이름을 재지정할 수 있습니다. 추가로 **스타일**에서 열 레이블 또는 지표 레이블을 숨길 수 있습니다(단일 지표의 경우에만).

   동일한 시각적 객체에 여러 번 동일한 값을 추가할 수 있습니다. 이를 통해 다른 집계 또는 테이블 계산이 적용된 동일한 값을 표시할 수 있습니다. 기본적으로 필드는 동일한 레이블을 모두 표시합니다. **속성** 패널을 사용하여 이름을 편집하고 오른쪽 상단의 **V**자 모양 아이콘을 클릭하여 패널을 열 수 있습니다.

1. **속성** 창에서 **제목 표시**를 활성화하거나 비활성화합니다. 이 옵션은 축 제목을 제거합니다.

1. 창의 오른쪽 상단에서 **X** 아이콘을 선택하여**속성** 창을 닫습니다.

# Quick의 시각적 객체 유형에 대한 데이터 레이블
<a name="customizing-visual-data-labels"></a>

시각적 개체의 데이터 레이블을 사용자 지정하려면 **속성** 창을 사용하여 데이터 레이블을 표시한 다음 설정을 통해 구성합니다. 데이터 레이블 사용자 지정은 막대, 선, 콤보, 영역, 산점도, 도넛, 박스플로트, 폭포, 히트맵, 트리맵, 히스토그램, 퍼널, 샌키, 게이지, 레이더 및 파이 차트에서 지원됩니다.

다음 옵션을 사용자 지정할 수 있습니다.
+ (막대, 콤보, 선 차트에서) 데이터 포인트와 상대적으로 레이블이 나타나는 곳을 결정하는 위치:
  + 세로 막대 차트에서 위치를 설정하는 사용자 지정 옵션:
    + 막대 위
    + 막대 안
    + 막대 아래
    + 막대 상단
  + 가로 막대 차트에서 위치를 설정하는 사용자 지정 옵션:
    + 막대 오른쪽
    + 막대 안
  + 선 차트에서 위치를 설정하는 사용자 지정 옵션:
    + 선 위
    + 선 왼쪽 또는 오른쪽
    + 선 아래
  + 산점도에서 위치를 설정하는 사용자 지정 옵션:
    + 포인트 위
    + 포인트 왼쪽 또는 오른쪽
    + 포인트 아래
+ (막대, 콤보, 선, 산점도, 파이형 차트에서) 글꼴 크기와 색상
+ (막대, 콤보, 선, 산점도 차트에서) 데이터 레이블 방식을 지정하는 레이블 패턴:
  + 막대, 콤보, 산점도, 차트에서 레이블 지정 옵션:
    + 모두 
    + 그룹별 또는 색상별
  + 선 차트에서 사용 가능한 레이블 옵션:
    + 모두 
    + 그룹별 또는 색상별
    + 선 끝
    + 최댓값만 또는 최솟값만
    + 최댓값 및 최솟값
  + 파이 차트에서 사용 가능한 레이블 옵션:
    + 범주 보기 
    + 지표 보기
    + 지표 레이블을 값, 백분율 또는 둘 다로 표시하도록 선택합니다.
+ (막대와 선 차트에서 레이블 패턴이 "그룹 또는 색상"인 경우) 그룹 선택
+ (막대와 선 차트에서) 데이터 포인트 몇 가지로 사용하도록 레이블 중첩 허용
+ 레이블이 지나치게 길 경우 세로 막대 차트, 콤보 차트 및 선 차트에서 기본적으로 각지게 표시됩니다. **X축** 설정에서 각도를 구성할 수 있습니다.

**참고**  
축에 2개 이상의 치수를 추가할 경우 데이터 레이블은 첫 번째 치수의 형식 지정만을 표시합니다.

**데이터 레이블 구성**

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. 시각적 객체의 오른쪽 상단 모서리에 있는 아래쪽 아이콘에서 시각적 객체 메뉴를 선택한 다음 **시각적 객체 형식** 지정 아이콘을 선택합니다.

1. **속성** 창에서 **데이터 레이블**을 선택합니다.

1. 레이블을 표시하고 사용자 지정하려면 **데이터 레이블 표시**를 활성화합니다. 데이터 레이블을 숨기려면 이 옵션을 비활성화합니다.

1. 사용하려는 설정을 선택합니다. 설정 내용은 각 차트 유형마다 조금씩 다릅니다. 사용 가능한 옵션을 모두 확인하려면 이 절차에 앞서 목록을 확인하십시오.

   각 변경 사항의 효과를 시각적 개체로 바로 확인할 수 있습니다.

1. 데이터 레이블 글꼴 설정을 수정하려면 다음 속성을 조정합니다.
   + **글꼴 그룹**
   + **텍스트 크기**
   + **스타일**(굵게, 이탤릭체)
   + **Color(색상)**

1. 창의 오른쪽 상단에서 X 아이콘을 선택하여 **속성** 창을 닫습니다.

# Quick의 언어 설정을 기반으로 시각적 숫자 데이터 형식 지정
<a name="customizing-visual-language-preferences"></a>

Amazon Quick에서는 선택한 리전 언어에 맞게 숫자 데이터 값이 시각적 객체에 표시되는 방식을 선택할 수 있습니다.

빠른 작성자는 대상에 가장 적합한 언어 형식을 선택할 수 있습니다. Amazon Quick은 Quick in을 보기로 선택한 언어를 기반으로 분석 수준에서 숫자 데이터 언어를 구성합니다. 숫자, 통화 및 날짜 형식을 변경할 수 있습니다. 오른쪽 상단에 있는 빠른 **사용자** 메뉴의 **언어** 드롭다운 목록에서 빠른 언어 설정을 변경할 수 있습니다. 시트의 모든 시각적 객체에서 필드의 언어 형식을 변경하거나 개별 시각적 수준에서 언어 형식을 변경할 수 있습니다.

**분석 내 모든 시각적 개체의 숫자 언어 형식 변경하기**

1. 변경하려는 분석의 **시각적 객체** 창에서 변경하려는 필드 옆에 있는 추가 작업(3개의 점) 아이콘을 선택합니다. 나타나는 메뉴에서 **형식** 드롭다운 목록을 연 다,음 **추가 포맷 옵션**을 선택합니다.

1. 왼쪽에 나타나는 **데이터 형식 지정** 창에서 **언어 형식 적용**을 선택합니다.

   **데이터 형식 지정** 메뉴를 다시 열고 **기본값으로 재설정**을 선택하여 필드의 기본 언어 형식을 재설정할 수 있습니다. 기본 언어 형식은 미국 영어입니다.

**분석 내 단일 시각적 개체의 숫자 언어 형식 변경하기**

1. 분석 페이지에서 수정하려는 시각적 객체를 선택합니다.

1. 다음 옵션 중 하나를 사용하여 **데이터 형식 지정** 창으로 이동합니다.
   + 변경하려는 데이터가 포함된 시각적 이미지에서 변경하려는 필드를 선택하고, **형식** 드롭다운 목록을 연 다음 **추가 형식 지정 옵션**을 선택합니다.  
![\[시각적 객체에서 데이터 형식 지정 창에 접근할 수 있습니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/format-visual-numeric-data-language-3.png)
   + 분석의 **필드 모음** 섹션에서 변경하려는 필드 옆의 드롭다운을 엽니다. **형식** 메뉴를 열고 **추가 형식 지정 옵션**을 선택합니다.  
![\[필드 모음에서 데이터 형식 지정 창에 접근합니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/format-visual-numeric-data-language-6.png)

1. **데이터 형식 지정** 창이 나오면, **언어 형식 적용**을 선택합니다.

   **데이터 형식 지정** 메뉴를 다시 열고 **기본값으로 재설정**을 선택하여 시각적 객체의 기본 언어 형식을 재설정할 수 있습니다. 기본 언어 형식은 미국 영어입니다.

# Quick의 시각적 객체 유형에 대한 범례
<a name="customizing-visual-legend"></a>

*시각적 객체 범례*는 요소 값을 색상에 매핑하여 시각적 요소가 무엇을 나타내는지 식별하도록 합니다. 기본적으로 시각적 객체 범례는 시각적 객체의 오른쪽에 표시됩니다. 시각적 객체 범례를 숨기거나 표시하도록 선택하고 범례 제목과 위치의 형식을 지정할 수 있습니다. 범례 제목 및 항목의 글꼴 설정도 사용자 지정할 수 있습니다.

**시각적 객체 범례를 표시하거나 숨기기**

1. 에서 Quick에 로그인합니다[https://quicksight.aws.amazon.com/](https://quicksight.aws.amazon.com/).

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. 형식을 지정할 시각적 객체를 선택한 다음 **속성** 아이콘을 선택하여 속성 창을 엽니다.

1. **범례**를 켜면 시각적 객체의 범례가 표시됩니다. 범례가 표시되면 값이 알파벳순으로 표시됩니다. 범례를 숨기려면 **범례** 스위치를 끕니다.

**시각적 객체 범례 사용자 지정**

1. 속성 창을 열고 **범례** 섹션을 확장합니다.

1. **위치** 드롭다운을 사용하여 시각적 객체에서 범례의 위치를 사용자 지정합니다.

1. **범례 제목**에서 범례의 사용자 지정 이름을 입력하고 다음 작업의 전부 또는 일부를 수행하세요.

   1. (선택 사항) 범례 제목의 색상을 변경하려면 범례 제목 아래에서 색 견본을 선택하고 범례 제목에 적용할 색상을 선택하세요.

   1. (선택 사항) 범례 제목의 글꼴 또는 글꼴 크기를 변경하려면 **글꼴** 또는 **글꼴 크기** 드롭다운을 열고 원하는 글꼴 또는 글꼴 크기를 선택하세요.

   1. (선택 사항) 범례 제목에 굵게, 기울임꼴로 또는 밑줄을 적용하려면 스타일 표시줄에서 적절한 아이콘을 선택하세요.

1. **범례 항목**에서 다음 작업 중 전부 또는 일부를 수행하세요.

   1. (선택 사항) 범례 항목 글꼴의 색상을 변경하려면 색 견본을 선택하고 범례 제목에 적용할 색상을 선택하세요.

   1. (선택 사항) 범례 항목의 글꼴 또는 글꼴 크기를 변경하려면 **글꼴** 또는 **글꼴 크기** 드롭다운을 열고 원하는 글꼴 또는 글꼴 크기를 선택하세요.

   1. (선택 사항) 범례 항목 글꼴에 굵게, 기울임꼴로 또는 밑줄을 적용하려면 스타일 표시줄에서 적절한 아이콘을 선택하세요.

1. 오른쪽 상단의 **X** 아이콘을 선택하여 **속성** 창을 닫습니다.

# 빠른 선 차트의 선 및 마커 스타일
<a name="line-and-marker-styling"></a>

빠른 선 차트에는 독자가 초점을 맞출 수 있는 색상, 선 스타일, 마커 등 여러 가지 옵션이 있습니다. 이러한 옵션을 함께 사용하거나 개별적으로 사용하여 독자가 다양한 상황에서 선 차트를 더 빨리 이해할 수 있도록 할 수 있습니다. 예를 들어 색맹이나 단색 인쇄 때문에 독자 중 일부가 색상 차이를 보지 못하는 경우 선 패턴을 사용하여 차트에서 하나 이상의 선을 구분할 수 있습니다.

다른 경우에는 스텝 라인을 사용하여 급격한 변화나 데이터 변경 사이의 간격에 주의를 환기시킬 수 있습니다. 예를 들어, 미국의 우표 가격 변동을 보여 주는 차트를 만들고, 시간 경과에 따른 가격 상승 폭을 강조하고 싶다고 가정해 보겠습니다. 다음 가격 변동이 발생할 때까지 데이터 포인트 사이에 일정하게 유지되는 스텝 라인을 사용할 수 있습니다. 급격한 가격 상승에 대한 데이터 스토리는 단계별 라인을 통해 독자에게 더 명확하게 전달됩니다. 시간이 지남에 따라 점진적으로 변화하는 스토리를 보여주고 싶다면 대신 부드러운 경사를 사용하여 선의 스타일을 지정하는 것이 좋습니다.

**시각화의 스타일 사용자 지정**

1. 분석을 열고 형식을 지정하려는 차트를 선택합니다.

1. 형식을 지정하려는 시각적 객체의 오른쪽 상단에서 연필 아이콘으로 표시되는 **시각적 객체 형식 지정**을 선택합니다.

1. 왼쪽에서 **데이터 시리즈**를 선택합니다.

1. 다음 옵션 중 하나를 선택하세요.
   + **기본 스타일** - 차트에 있는 모든 선과 마커의 스타일을 편집합니다.
   + **스타일을 지정할 시리즈 선택** - 목록에서 선택한 필드의 스타일을 편집합니다.

   시각적 객체에서 호환되는 필드의 수에 따라 다양한 옵션이 표시됩니다.

1. **선 유형**을 전환하여 선 스타일 지정을 켜거나 끕니다.

   다음 옵션을 사용자 지정할 수 있습니다.
   + 선의 무게 또는 두께.
   + 선 스타일: 실선, 파선, 점선
   + 선의 색상입니다.
   + 선 유형: 직선, 평활 선, 계단식 선.

1. **마커**를 전환하여 마커 스타일을 켜거나 끕니다.

   다음 마커 옵션을 사용자 지정할 수 있습니다.
   + 선의 무게 또는 두께.
   + 마커 스타일: 원, 삼각형, 사각형, 다이아몬드 등.
   + 마커의 색상.

1. 축의 경우 **축**을 왼쪽에 표시할지 오른쪽에 표시할지 선택합니다.

1. 변경 내용은 자동으로 저장됩니다.

1. (선택 사항) 사용자 지정을 취소하려면 다음 옵션 중 하나 이상을 선택합니다.
   +  한 가지 변경 사항을 취소하려면 왼쪽 상단의 실행 취소 화살표를 클릭합니다. 필요에 따라 반복합니다. 재실행 화살표도 있습니다.
   +  데이터 시리즈의 기본 스타일을 재설정하려면 **기본 스타일**을 선택한 다음 **기본값으로 재설정**을 클릭합니다.
   +  **스타일이 적용된 시리즈**에 나열된 데이터 시리즈에서 모든 스타일을 제거하려면 필드를 선택한 다음 **스타일 제거**를 클릭합니다.

# Quick의 시각적 객체 유형에 대한 데이터 누락
<a name="customizing-missing-data-controls"></a>

선 차트와 영역 차트에서 누락된 데이터 포인트를 시각화하는 방법을 사용자 지정할 수 있습니다. 누락된 데이터 포인트가 다음 형식으로 표시되도록 선택할 수 있습니다.
+ 끊어진 라인: 데이터 포인트가 없을 때 끊기는 분리된 선입니다. 이것은 기본 누락 데이터 형식입니다.
+ 연속 라인: 누락된 데이터 포인트를 건너뛰고 시리즈에서 사용 가능한 다음 데이터 포인트에 라인을 연결하여 연속 라인을 표시합니다. 연속 줄을 표시하려면 **X축** 창의 **날짜 간격 표시** 상자를 선택 취소합니다.
+ 0으로 표시: 누락된 데이터 포인트의 값을 0으로 설정합니다.

**시각적 객체의 누락된 데이터 설정 사용자 지정**

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. **시각적 객체 형식 지정** 메뉴에 액세스하려면 시각적 객체의 오른쪽 상단에서 **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. 시각적 객체 형식 지정 메뉴의 **Y축** 창을 열고 **누락된 데이터** 섹션으로 이동합니다.

1. 원하는 누락된 데이터 형식을 선택합니다.

# Quick의 시각적 객체 유형에 대한 참조 선
<a name="reference-lines"></a>

참조 선은 눈금 선과 비슷한 시각적 객체의 시각적 표시입니다. 일반적으로 데이터와 함께 표시해야 하는 값에는 참조 선을 사용합니다. 기준선을 사용하여 값의 임계값이나 한도를 전달할 수 있습니다. 참조 선은 차트를 작성하는 데 사용되는 데이터의 일부가 아닙니다. 대신 사용자가 입력한 값이나 차트에 사용되는 데이터 세트에서 식별한 필드를 기반으로 합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/formatting-reference-lines-example.png)


Quick은 다음에서 참조 선을 지원합니다.
+  막대 차트
+  선 차트
+  콤보 차트

분석을 설계하는 동안 참조선을 생성, 변경 및 삭제할 수 있습니다. 선 패턴, 레이블 글꼴 및 각 항목의 색상을 개별적으로 사용자 정의할 수 있습니다. 숫자 값을 숫자, 통화 또는 백분율로 표시할 수 있습니다. 필드 모음의 필드를 사용자 지정하는 것과 같은 방식으로 값의 숫자 형식을 사용자 지정할 수도 있습니다.

접두사 목록에는 두 가지 유형이 있습니다.
+ 상수 줄은 서식 설정에서 지정한 값을 기반으로 하는 위치에 표시됩니다. 이 값은 어떤 필드와도 연관될 필요가 없습니다. 줄의 서식을 사용자 지정할 수 있습니다.
+ 계산된 줄은 함수의 결과인 값을 기반으로 하는 위치에 표시됩니다. 구성 중에 사용할 측정값(지표)과 적용할 집계를 지정합니다. 이는 필드 모음에서 적용할 수 있는 것과 동일한 집계입니다. 그런 다음 참조 선의 필드 계산에 적용할 집계(예: 평균, 최솟값, 최댓값 또는 백분위 수)를 제공해야 합니다. 필드가 차트의 필드 모음에 표시될 필요는 없지만 차트에서 사용하는 데이터 세트에 있어야 합니다.

100% 누적 차트에서는 계산된 기준선이 지원되지 않습니다.

**기준선 추가 또는 편집하기(콘솔)**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 분석을 엽니다.

1. 변경하려는 시각적 객체를 선택하고 **속성** 메뉴를 엽니다.

1. **속성** 창이 열리면 **참조 라인** 드롭다운을 연 다음 **새 라인 추가**를 선택합니다.

1. **새 참조 라인** 메뉴가 열립니다. 이 메뉴를 사용하여 새 참조 라인을 구성합니다. 아래 목록은 구성할 수 있는 모든 참조 라인 속성을 설명합니다.
   + **데이터** 
     + **유형** - 사용하려는 참조 선의 유형입니다. 다음 옵션 중 하나를 선택하세요.
       + 입력한 단일 값을 기반으로 상수 선을 만들려면 **상수 줄**을 선택합니다.
       + 필드를 기반으로 계산된 선을 만들려면 **계산된 줄**을 선택합니다.
     + **값** - (상수 줄에만 해당) 사용하려는 값입니다. 이 위치가 시각적 객체 상 선의 위치가 됩니다. 즉시 표시되므로 설정을 시험해 볼 수 있습니다.
     + **열** - (계산된 줄만 해당) 참조 선으로 사용하려는 열입니다.
     + **다음과 같이 집계됨** (열) —- (계산된 줄만 해당) 선택한 열에 적용하려는 집계입니다.
     + **계산** - (계산된 줄만 해당) 집계에 적용하려는 계산입니다.
     + **백분위 수 값** - (**계산**을 **백분위 수로** 설정한 경우에만 해당) 1에서 100 사이의 숫자를 입력합니다.
     + **차트 유형** ** - (콤보 차트의 경우) **막대** 또는 선을 선택합니다.**
   + **선 스타일** 
     + **패턴** - 선에 사용되는 패턴. 유효한 옵션으로는 **파선**, **점선**, **실선**이 있습니다.
     + **색상** - 선에 사용되는 색상입니다.
   + **레이블**
     + **유형** — 표시할 레이블 유형. 유효한 옵션으로는 **값만**, **사용자 지정 텍스트**, **사용자 지정 텍스트 및 값**, **레이블 없음** 등이 있습니다. 사용자 정의 텍스트가 포함된 옵션을 선택하는 경우, 선에 표시되도록 하려는 레이블 텍스트를 입력합니다.
     + **사용자 지정 텍스트 입력**(텍스트 상자) - (**유형**을 **사용자 지정 텍스트 및 값**으로 설정한 경우에만) 레이블과 관련하여 값을 표시할 위치를 선택합니다. 유효한 옵션은 **왼쪽** 또는 **오른쪽**입니다.
     + **위치** - 라인을 기준으로 한 레이블의 위치입니다. 유효한 옵션에는 왼쪽, 가운데, 오른쪽, 위, 아래 등의 조합이 포함됩니다.
     + **값 형식** - 값에 사용할 형식입니다. 다음 중 하나를 선택합니다.
       + **값과 동일** - 시각화에서 이 필드에 대해 이미 선택된 형식을 사용합니다.
       + **표시 형식** - 사용 가능한 옵션 (예: 숫자, 통화 또는 백분율) 중에서 선택합니다.
       + **형식** - 사용 가능한 형식 지정 옵션 중에서 선택합니다.
     + **글꼴 크기** - 레이블 텍스트에 사용할 글꼴 크기입니다.
     + **색상** - 레이블 텍스트에 사용할 색상입니다.

1. 선택 사항을 저장하려면 **완료**를 선택합니다.

**기존 참조 선을 나열**

1. 변경하려는 시각적 객체를 선택하고 **속성** 창을 엽니다.

1. **속성** 창에서 **참조 라인** 드롭다운을 연 다음 변경하려는 라인 옆에 있는 줄임표(3개의 점)를 선택합니다.

1. **편집**을 선택합니다.

1. **새 참조 라인** 메뉴가 열립니다. 이 메뉴를 사용하여 참조 라인을 변경합니다. 마쳤으면 **완료**를 선택합니다.

**참조선 비활성화**

1. 변경하려는 시각적 객체를 선택하고 **속성** 창을 엽니다.

1. **속성** 창에서 **참조 라인** 드롭다운을 연 다음 변경하려는 라인 옆에 있는 줄임표(3개의 점)를 선택합니다.

1. **비활성화**를 선택합니다.

**참조 선 삭제**

1. 변경하려는 시각적 객체를 선택하고 **속성** 창을 엽니다.

1. **속성** 창에서 **참조 라인** 드롭다운을 연 다음 변경하려는 라인 옆에 있는 줄임표(3개의 점)를 선택합니다.

1. **삭제**를 선택합니다.

# 빠른에서 레이더 차트 형식 지정
<a name="format-radar-chart"></a>

Amazon Quick에서 레이더 차트를 사용자 지정하여 원하는 방식으로 데이터를 정렬할 수 있습니다. 레이더 차트의 시리즈 스타일, 시작 각도, 채우기 영역 및 격자 모양을 사용자 지정할 수 있습니다.

**레이더 차트의 시리즈 스타일 설정**

1. 변경하려는 레이더 차트 시각적 객체를 선택하고 시각적 객체의 오른쪽 상단에 있는 **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. 왼쪽의 **속성** 창에서 **레이더 차트** 드롭다운 목록을 엽니다.

1. **시리즈 스타일**에서 원하는 스타일을 선택합니다. 다음 모드 중에서 선택할 수 있습니다.
   + **선**. 선택하면 데이터로 생성된 다각형에 윤곽선이 표시됩니다.
   + **영역**. 선택하면 데이터로 생성된 다각형이 채워집니다.

   기본 선택 값은 **선**입니다.

**레이더 차트의 시작 각도 선택**

1. 변경하려는 레이더 차트 시각적 객체를 선택하고 시각적 객체의 오른쪽 상단에 있는 **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. 왼쪽의 **속성** 창에서 **레이더 차트** 드롭다운 목록을 엽니다.

1. **시작 각도**에서 원하는 시작 각도 값을 입력합니다. 기본값은 90도입니다.

**레이더 차트의 채우기 영역 설정**

1. 변경하려는 레이더 차트 시각적 객체를 선택하고 시각적 객체의 오른쪽 상단에 있는 **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. 왼쪽의 **속성** 창에서 **축** 드롭다운 목록을 엽니다.

1. **격자선 채우기** 확인란을 선택합니다.

1. (선택 사항) 짝수 및 홀수 격자선의 색상을 선택합니다.
   + 나타나는 **짝수 색상** 아이콘을 선택한 다음, 짝수 격자선에 적용할 색상을 선택합니다. 이 값의 기본 색상은 흰색입니다.
   + 나타나는 **홀수 색상** 아이콘을 선택한 다음, 홀수 번호의 격자선에 적용할 색상을 선택합니다. 이 값의 기본 색상은 흰색입니다.

**레이더 차트의 격자 모양 선택**

1. 변경하려는 레이더 차트 시각적 객체를 선택하고 시각적 객체의 오른쪽 상단에 있는 **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. 왼쪽의 **속성** 창에서 **레이더 차트** 드롭다운 목록을 엽니다.

1. **격자 모양**에서 원하는 레이더 차트 격자의 모양을 선택합니다. **다각형**과 **원** 중에서 선택할 수 있습니다.

# Quick의 시각적 객체 유형 범위 및 확장
<a name="changing-visual-scale-axis-range"></a>

시각적 객체에 표시되는 값의 크기를 변경하기 위해 **속성** 창에서 시각적 객체의 축 하나 또는 둘 모두의 범위를 설정할 수 있습니다. 이 옵션은 막대 차트, 콤보 차트, 선 차트 및 산점도의 값 축에 사용할 수 있습니다.

기본적으로 축 범위는 0에서 시작해 표시된 치수의 최대값에서 끝납니다. 그룹화 기준 축의 경우 시각적 객체에 대한 데이터 확대/축소 도구를 사용하여 크기를 동적으로 조정할 수 있습니다.

**시각적 객체를 위한 축 범위 설정하기**

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. 시각적 객체의 오른쪽 상단 모서리에서 제어 메뉴를 선택한 다음 구성 아이콘을 선택합니다.

1. **속성** 창에서 사용자 지정 중인 시각적 객체의 유형에 따라 **X축** 또는 **Y축**을 선택합니다. 이 섹션은 가로 막대 차트의 경우 [**X-Axis**] 섹션이고, 세로 막대 차트와 선 차트의 경우 [**Y-Axis**] 섹션이며, 양축 모두 산점도에 사용할 수 있습니다. 콤보 차트에서는 **막대** 및 **선**을 대신 사용합니다.

1. 상자에 새 이름을 입력하여 축의 이름을 바꿉니다. 기본 이름으로 되돌리려면 입력 항목을 삭제합니다.

1. 다음 옵션 중 하나를 선택하여 축의 범위를 설정합니다.
   + 범위가 0에서 시작하여 표시된 치수의 최대값 부근에서 끝나게 하려면 **자동 (0에서 시장)**을 선택합니다.
   + 범위가 표시된 치수의 최솟값에서 시작하여 표시된 치수의 최댓값 부근에서 끝나게 하려면 **자동(데이터 범위 기준)**을 선택합니다.
   + 범위가 지정한 값에서 시작하고 끝나게 하려면 **사용자 지정**을 선택합니다.

     **사용자 지정**을 선택한 경우 해당 섹션의 필드에 시작 값과 종료 값을 입력합니다. 일반적으로 범위 값에는 정수를 사용합니다. 누적 100% 막대 차트의 경우, 소수 값을 사용하여 원하는 백분율을 표시합니다. 예를 들어, 범위를 0\$1100 퍼센트 대신 0\$130 퍼센트로 하려면 시작 값에 0을 입력하고 종료 값에 .3을 입력합니다.

1. **눈금**의 경우 기본값은 선형 눈금입니다. 로그 눈금을 표시하려면 로그 옵션을 활성화합니다. 빠른는 해당 축의 값 범위에 따라 표시할 축 레이블을 선택합니다.
   + 선형 눈금에서 축 레이블은 산술 차이를 표시하기 위해 균등한 간격으로 배치됩니다. 이 레이블은 \$11만, 1백만, 1억…\$1이 아닌 \$11000, 2000, 3000...\$1 또는 \$10, 5천만, 1억...\$1 같은 숫자 집합을 표시합니다.

     다음과 같은 경우에 *선형 눈금*을 사용합니다.
     + 차트에 표시되는 모든 숫자는 동일한 자릿수입니다.
     + 축 레이블을 균등하게 간격 두기를 원합니다.
     + 축 값의 자릿수는 100, 200, 300 등과 같이 비슷합니다.
     + 숫자 사이의 변화 속도가 상대적으로 느리고 안정적입니다. 즉, 추세선은 결코 수직에 근접하지 않습니다.

     예시:
     + 같은 나라의 다른 리전에서의 이익
     + 품목의 제조를 위해 발생하는 비용
   + 로그 눈금에서, 축 값은 상호 비교를 위한 방법으로 자릿수를 표시하도록 간격이 지정됩니다. 로그 눈금은 매우 큰 범위의 값 또는 백분율을 표시하거나 기하급수적 증가를 표시하는 데 자주 사용됩니다.

     다음과 같은 경우에는 로그 눈금을 사용합니다.
     + 차트에 표시되는 숫자가 동일한 자릿수가 아닙니다.
     + 해당 축의 넓은 범위의 값을 반영해 축 레이블에 유연하게 간격을 두고자 합니다. 축 값의 자릿수가 서로 다름을 의미할 수 있습니다(예: 10, 100, 1000 등). 축 레이블 간격이 일정하지 않음을 의미할 수도 있습니다.
     + 숫자 사이의 변화 속도가 기하급수적으로 증가하고 있거나, 의미 있는 방식으로 표시하기에는 너무 클 수 없습니다.
     + 차트 고객은 로그 눈금의 데이터를 해석하는 방법을 알고 있습니다.
     + 차트에 점점 더 빠르게 증가하는 값이 표시됩니다. 눈금에서 특정 거리 이동은 숫자에 다른 숫자를 곱한 것을 의미합니다.

     예시:
     + 장기간에 걸쳐 수익이 높은 주가
     + 전염병 감염률의 증가

1. 축 레이블에 표시할 값의 수를 사용자 지정하려면 1과 50 사이의 정수를 입력합니다.

1. 콤보 차트의 경우 **단일 Y축**을 선택하여 막대와 선의 Y축을 단일 축으로 동기화합니다.

1. 창의 오른쪽 상단에서 **X** 아이콘을 선택하여**속성** 창을 닫습니다.

# 소형 다중 축 옵션
<a name="small-multiples-options"></a>

소배수 시각적 객체의 각 개별 패널에 대해 x축과 y축을 구성할 수 있습니다. 독립적인 x축 또는 독립적인 y축을 따라 데이터를 그룹화할 수 있습니다. 또한 x축과 y축을 차트 내부 또는 외부에 배치하여 데이터의 가독성을 높일 수 있습니다.

독립적인 x축을 사용하는 소배수 시각적 개체의 경우 각 패널과 관련된 값만 축에 표시됩니다. 예를 들어 하나의 패널로 미국의 각 지역을 나타내는 소배수 시각적 객체가 있다고 가정해 보겠습니다. 독립적인 x축의 경우 각 패널은 패널이 나타내는 리전의 상태만 표시하고 패널의 리전 외부에 있는 상태를 숨깁니다.

독립적인 y축을 사용하는 소배수 시각적 객체의 경우, 각 패널은 포함된 데이터의 범위에 따라 결정되는 자체 y축 척도를 사용합니다. 기본적으로 데이터 레이블은 패널 내부에 표시됩니다.

**소배수 시각적 객체를 위한 독립 축 구성하기**

1. 변경하려는 소배수 시각적 객체를 선택하고 **시각적 객체 형식 지정** 메뉴를 엽니다.

1. **속성** 창이 나타나면 **다중 옵션** 메뉴를 엽니다.

1. **X축**에 대해 드롭다운에서 **독립**을 선택합니다.

   또는 **Y축**에 대해 드롭다운에서 **독립**을 선택합니다.

**X축** 또는 **Y축** 드롭다운 메뉴에서 **공유**를 선택하여 변경 내용을 되돌릴 수 있습니다.

또한 모든 패널의 x축 및 y축의 레이블 위치를 소배수 시각적 객체로 구성할 수 있습니다. 패널 내부 또는 외부에 축 레이블을 표시하도록 선택할 수 있습니다.

**여러 개의 작은 시각적 개체에 대한 축 레이블 위치 구성**

1. 변경하려는 소배수 시각적 객체를 선택하고 **시각적 객체 형식 지정** 메뉴를 엽니다.

1. **속성** 창이 나타나면 **다중 옵션** 메뉴를 엽니다.

1. **X축 레이블**에 대해 드롭다운에서 **내부** 또는 **외부**를 선택합니다.

   또는 **Y축 레이블**에 대해 드롭다운에서 **내부** 또는 **외부**를 선택합니다.

# Quick의 시각적 객체 유형에 대한 제목 및 자막
<a name="customizing-a-visual-title"></a>

Quick에서 비즈니스 요구 사항에 맞게 시각적 객체 제목과 자막의 형식을 지정할 수 있습니다. Quick은 제목 및 부제목에 대한 풍부한 텍스트 형식 지정과 제목에 하이퍼링크 및 파라미터를 추가할 수 있는 기능을 제공합니다. 속성 창에서 제목을 편집하거나, 해당 시각적 객체에서 제목 또는 부제목을 두 번 클릭하여 제목을 편집할 수 있습니다.

다음 절차를 사용하여 시각적 객체의 제목과 부제목을 표시하는 방식을 사용자 지정합니다. 시각적 객체 제목은 기본적으로 표시됩니다. 부제목을 만든 후에는 기본적으로 부제목도 표시됩니다.

1. 에서 Quick에 로그인합니다[https://quicksight.aws.amazon.com/](https://quicksight.aws.amazon.com/).

1. 사용하려는 분석을 여세요.

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. 시각적 객체 오른쪽에서 **속성** 아이콘을 선택하세요.

1. **속성** 창이 열리면 **설정 표시** 탭을 선택하세요.

1. 시각적 객체의 제목 또는 부제목을 편집하려면 **제목 편집** 또는 **부제목 편집** 옆의 페인트브러시 아이콘을 선택하세요. 또는 다음 이미지에 표시된 대로 **제목 편집** 또는 **부제목 편집** 옆에 있는 눈 아이콘을 선택하여 제목 또는 부제목을 숨길 수 있습니다.

1. **제목 편집** 또는 **부제목 편집** 팝업이 열리면 다음 옵션을 사용하여 원하는 대로 업데이트할 수 있습니다.
   + 사용자 지정 제목 또는 부제목을 입력하려면 편집기에 제목 또는 부제목 텍스트를 입력합니다. 제목은 공백을 포함하여 최대 120자까지 입력할 수 있습니다. 부제목은 최대 500자까지 가능합니다.
   + 글꼴 유형을 변경하려면, 왼쪽 목록에서 글꼴 유형을 선택합니다.
   + 글꼴 크기를 변경하려면, 오른쪽 목록에서 크기를 선택합니다.
   + 글꼴 두께 및 강조를 변경하거나 밑줄 또는 취소 선 텍스트를 변경하려면 굵게, 강조, 밑줄 또는 취소 선 아이콘을 선택합니다.
   + 글꼴 색상을 변경하려면 색상(Abc) 아이콘을 선택한 다음, 색상을 선택합니다. 16진수 또는 RGB 값을 입력할 수도 있습니다.
   + 정렬되지 않은 목록을 추가하려면 정렬되지 않은 목록 아이콘을 선택합니다.
   + 텍스트 정렬을 변경하려면 왼쪽, 가운데 또는 오른쪽 정렬 아이콘을 선택합니다.
   + 제목이나 부제목에 파라미터를 추가하려면 오른쪽의 파라미터 아래 목록에서 기존 **파라미터**를 선택합니다. 파라미터 생성에 대한 자세한 방법은 [Amazon Quick에서 파라미터 설정](parameters-set-up.md) 단원을 참조하세요.
   + 하이퍼링크를 추가하려면 연결하려는 텍스트를 강조 표시하고, 하이퍼링크 아이콘을 선택한 후 다음 옵션 중에서 선택합니다.
     + **링크 입력**에는 연결하려는 URL을 입력합니다.

       오른쪽에 있는 \$1 아이콘을 선택하여 URL에 기존 파라미터, 함수 또는 계산을 추가합니다.
     + 표시 텍스트를 편집하려면 **표시 텍스트**에 텍스트를 입력합니다.
     + 빠른 브라우저 탭과 동일한 브라우저 탭에서 하이퍼링크를 열려면 **동일한 탭을** 선택합니다.
     + 새 브라우저 탭에서 하이퍼링크를 열려면 **새 탭**을 선택합니다.
     + 하이퍼링크를 삭제하려면 왼쪽 하단에 있는 삭제 아이콘을 선택합니다.

     하이퍼링크 구성을 마치면 **저장**을 선택합니다.

1. 작업을 마쳤으면 **저장**을 선택합니다.

1. **대체 텍스트**에서 시각적 객체에 사용할 대체 텍스트를 입력하세요.

1. 완료되면 속성 창을 닫으세요.

# Quick의 시각적 객체 유형에 대한 툴팁
<a name="customizing-visual-tooltips"></a>

빠른 시각적 객체의 그래픽 요소 위에 커서를 놓으면 해당 특정 요소에 대한 정보와 함께 툴팁이 나타납니다. 예를 들어, 선 차트의 날짜 위에 커서를 놓으면 해당 날짜에 대한 정보가 포함된 툴팁이 나타납니다. 기본적으로 필드 모음의 필드에 따라 툴팁에 표시되는 정보가 결정됩니다. 툴팁은 최대 10개의 필드를 표시할 수 있습니다.

시청자가 볼 수 있는 내용을 사용자 지정하여 시각적 객체의 데이터에 대한 추가 정보를 시청자에게 제공할 수 있습니다. 요소 위에 커서를 올려놓았을 때 툴팁이 표시되지 않도록 할 수도 있습니다. 이렇게 하려면 해당 시각적 객체 항목의 툴팁을 사용자 지정하면 됩니다.

## 시각적 객체의 툴팁 사용자 지정
<a name="customizing-visual-tooltips-customize"></a>

다음 절차를 따라 시각적 객체에 대한 툴팁을 사용자 지정합니다.

**시각적 객체의 툴팁 사용자 지정**

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. 시각적 객체 오른쪽 상단에 있는 메뉴에서, **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. **속성** 창이 열리면 **도구 설명**을 선택합니다.

1. **유형**에서 **자세한 툴팁**을 선택합니다. 새로운 옵션 세트가 나타납니다.

**툴팁에서 제목을 표시하거나 숨기기**
+ **기본 값을 제목으로 사용**을 선택합니다.

  옵션을 지우면 툴팁에서 제목이 숨겨집니다. 옵션을 선택하면 기본 필드 값이 툴팁의 제목으로 표시됩니다.

**툴팁에서 필드의 집계를 표시하거나 숨기기**
+ **집계 보기**를 선택합니다.

  옵션을 지우면 툴팁의 필드 집계가 숨겨집니다. 옵션을 선택하면 툴팁의 필드 집계가 표시됩니다.

**툴팁에 필드 추가하기**

1. **필드 추가**를 선택합니다.

1. 열리는 **툴팁에 필드 추가** 페이지에서 **필드 선택**을 선택한 다음, 목록에서 필드를 선택합니다.

   툴팁에 필드를 10개까지 추가할 수 있습니다.

1. (선택 사항) **레이블**에는 필드의 레이블을 입력합니다. 이 옵션은 툴팁의 필드에 대한 사용자 지정 레이블을 만듭니다.

1. (선택 사항) 차원을 추가하는지 측정 값을 추가하는지에 따라 툴팁에 집계를 표시할 방법을 선택합니다. 옵션을 선택하지 않으면 Quick은 기본 집계를 사용합니다.

   툴팁에 측정값을 추가하면 필드를 집계할 방법을 선택할 수 있습니다. 이렇게 하려면 **집계 선택** 을 선택한 다음, 목록에서 집계를 선택합니다. Quick의 집계 유형에 대한 자세한 내용은 섹션을 참조하세요[필드 집계 변경](changing-field-aggregation.md).

1. **저장**을 선택합니다.

   툴팁의 필드 목록에 새 필드가 추가됩니다.

**툴팁에서 필드 제거하기**
+ **필드** 목록에서, 제거하려는 필드의 필드 메뉴(점 3개)를 선택하고 **숨기기**를 선택합니다.

**툴팁에서 필드 순서 재정렬**
+ **필드** 목록에서, 필드의 필드 메뉴(점 3개)를 선택하고 **위로 이동** 또는 **아래로 이동**을 선택합니다.

**툴팁에서 필드의 레이블 사용자 지정**

1. 사용자 지정하려는 필드의 필드 메뉴(점 3개)를 선택하고 **편집**을 선택합니다.

1. 열리는 **툴팁 편집 필드** 페이지에서, 툴팁에 표시할 레이블을 **레이블**에 입력합니다.

1. **저장**을 선택합니다.

## 빠른에서 시트 툴팁 사용
<a name="customizing-visual-tooltips-sheet"></a>

시트 툴팁은 분석 흐름을 방해하지 않고 풍부한 컨텍스트를 제공하여 최종 사용자가 데이터를 탐색하는 방법을 변환합니다. 시각적 객체에서 벗어나거나 별도의 시트를 여는 대신 최종 사용자는 세부 분석, 추세 및 지원 정보에 즉시 액세스할 수 있으므로 대시보드를 더 직관적으로 만들고 여러 시트의 필요성을 줄일 수 있습니다.

시트 툴팁은 대화형 시트에서만 사용할 수 있습니다. 페이지가 매겨진 보고서에서는 지원되지 않습니다. 도구 설명 시트를 다른 도구 설명 시트에 복제하거나 도구 설명 시트를 일반 대화형 시트에 복제할 수 있습니다. 또한 시각적 객체를 툴팁 시트에 복제할 수 있습니다.

### 시트 툴팁 작동 방식
<a name="customizing-visual-tooltips-sheet-how"></a>

작성자가 시트 툴팁을 생성하면 툴팁 시트가 생성되어 시각적 객체와 연결됩니다. 이 툴팁 시트는 일반 시트처럼 작동합니다. 자유 형식 레이아웃을 사용하여 시각적 객체, 텍스트 상자 및 이미지를 추가할 수 있습니다. 최종 사용자가 데이터 포인트를 가리키면 도구 설명 시트는 소스 시각적 객체에서 모든 필터를 상속하고 특정 데이터 포인트에 대한 추가 필터를 추가합니다. 예를 들어 소스 시각적 객체가 "2025 데이터"로 필터링되고 최종 사용자가 "Electronics" 위에 마우스를 올려 놓으면 툴팁에 2025년 전자 데이터만 표시됩니다.

제품 범주별 매출을 보여주는 막대 차트를 생각해 보세요. 월별 매출 추세선, year-over-year 성장 KPI, 범주 이름이 포함된 텍스트 상자를 보여주는 시트 도구 설명을 생성할 수 있습니다.이 모두는 최종 사용자가 가리키는 범주로 필터링됩니다.

### 시트 툴팁 제한
<a name="customizing-visual-tooltips-sheet-limits"></a>

시트 툴팁에는 다음 제한이 적용됩니다.
+ 분석당 최대 50개의 툴팁 시트
+ 도구 설명 시트당 최대 5개의 시각적 객체
+ 도구 설명 시트당 최대 5개의 텍스트 상자
+ 도구 설명 시트당 최대 5개의 이미지
+ 툴팁 시트는 자유 형식 레이아웃만 사용합니다.
+ 도구 설명 시트에는 계층 맵 시각적 객체가 허용되지 않습니다.
+ 도구 설명 시트의 최대 크기는 너비 640픽셀 x 높이 720픽셀입니다.

### 시트 도구 설명 생성
<a name="customizing-visual-tooltips-sheet-create"></a>

다음 절차에 따라 시각적 객체에 대한 시트 툴팁을 생성합니다.

**툴팁 시트를 생성하려면**

1. 분석 페이지에서 시트 도구 설명을 추가할 시각적 객체를 선택합니다.

1. 시각적 객체 오른쪽 상단에 있는 메뉴에서, **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. 속성 **** 창이 열리면 **상호작용 > 툴팁을** 선택합니다. **** 

1. **유형**에서 **시트 툴팁**을 선택합니다.

1. **도구 설명 시트 생성을** 선택합니다. 도구 설명 시트 편집 환경으로 자동으로 이동합니다. 도구 설명 이름은 자동으로 생성되며 탭 제목을 선택하여 편집할 수 있습니다.

1. 도구 설명 시트에 시각적 객체, 텍스트 상자 또는 이미지를 추가합니다. 자유 형식 레이아웃을 사용하여 정렬합니다.

1. 완료되면 시트 툴팁 제목 왼쪽에 있는 **뒤로** 버튼을 선택하여 소스 시트로 돌아갑니다. 툴팁을 미리 보려면 시각적 객체의 데이터 포인트 위에 마우스를 올려 놓습니다.

### 시각적 객체에 도구 설명 시트 할당
<a name="customizing-visual-tooltips-sheet-assign"></a>

**속성** 창에서 **도구 설명 유형으로 시트** 도구 설명을 선택하면 분석에서 사용할 수 있는 모든 도구 설명 시트를 선택할 수 있는 제어가 나타납니다. 여러 시각적 객체에 도구 설명 시트 하나를 할당하거나 각 시각적 객체에 대해 별도의 도구 설명 시트를 생성할 수 있습니다.

동일한 툴팁 시트를 다른 시각적 객체에 적용하려면 **속성** 창의 **상호 작용** > 툴팁 아코디언에서 하나의 **툴팁** 시트를 여러 시각적 객체에 할당하면 됩니다.

### 툴팁 시트 편집
<a name="customizing-visual-tooltips-sheet-edit"></a>

다음 절차에 따라 기존 시트 툴팁을 편집합니다.

**도구 설명 시트를 편집하려면**

1. 시트 툴팁이 활성화된 시각적 객체를 선택합니다.

1. **속성** 창을 열고 **상호작용** > **툴팁**으로 이동합니다.

1. **툴팁** 아코디언에서 편집하려는 툴팁을 선택하고 툴팁 시트 이름 옆에 있는 편집 아이콘을 선택하여 탐색합니다.

1. 툴팁 시트의 시각적 객체, 텍스트 상자 또는 이미지를 변경합니다.

### 툴팁 유형 간 전환
<a name="customizing-visual-tooltips-sheet-switch"></a>

언제든지 시각적 객체의 툴팁을 기본, 세부 및 시트 툴팁 유형 간에 전환할 수 있습니다.

**툴팁 유형을 변경하려면**

1. 업데이트할 시각적 객체를 선택합니다.

1. **속성** 창을 열고 **상호 작용을** 선택한 다음 **툴팁**을 선택합니다.

1. **유형**에서 기본 도구 설명, 세부 **도구 설명** 또는 **시트 도구 설명 중에서 원하는 도구 설명** 유형을 선택합니다. **** 

**참고**  
시트 툴팁에서 전환하면 작업이 보존됩니다. 도구 설명 시트 디자인을 그대로 유지하면서 언제든지 다시 전환할 수 있습니다.

### 시트 툴팁 고려 사항
<a name="customizing-visual-tooltips-sheet-considerations"></a>

시트 툴팁으로 작업할 때는 다음 사항에 유의하세요.
+ 테이블 및 피벗 테이블은 시트 툴팁을 지원하지만 기본 또는 세부 툴팁은 지원하지 않습니다.
+ 툴팁 시트의 시각적 객체는 컨텍스트 메뉴, 시각적 객체 메뉴 또는 사용자 지정 작업을 지원하지 않습니다.
+ [필터링 및 탐색을 위한 사용자 지정 동작 사용](quicksight-actions.md) 도구 설명 시트의 시각적 객체에 대한는 시트가 도구 설명으로 렌더링될 때 지원되지 않습니다.
+ 시트 툴팁은 필터, 교차 시트 필터링 및 파라미터를 지원합니다. 필터 제어는 지원되지 않습니다.
+ 시트 설명은 툴팁 시트에 표시되지 않습니다.
+ 교차 시트 필터의 범위는 툴팁 시트로 지정할 수 없습니다.
+ 분석에는 하나 이상의 일반 대화형 시트가 포함되어야 합니다. 분석은 툴팁 시트로만 구성될 수 없습니다.
+ 계층 맵 시각적 객체는 툴팁 시트 내에 배치할 수 없습니다.
+ 툴팁 시트의 툴팁은 지원되지 않습니다.

이러한 제한을 통해 툴팁 시트가 빠르게 로드되고 최종 사용자에게 집중적이고 스캔 가능한 환경을 유지할 수 있습니다. 보다 복잡한 분석을 위해 드릴다운 작업 또는 별도의 세부 정보 시트를 사용하는 것이 좋습니다.

## 시각적 객체의 툴팁 숨기기
<a name="customizing-visual-tooltips-hide"></a>

시각적 객체에서 데이터 위에 커서를 올려놓았을 때 툴팁이 표시되지 않도록 하려면, 툴팁을 숨길 수 있습니다.

**시각적 객체에서 툴팁 숨기기**

1. 분석 페이지에서 형식을 지정하려는 시각적 객체를 선택합니다.

1. 시각적 객체 오른쪽 상단에 있는 메뉴에서, **시각적 객체 형식 지정** 아이콘을 선택합니다.

1. **속성** 창이 열리면 **도구 설명**을 선택합니다.

1. **툴팁 표시**를 선택합니다.

   이 옵션을 지우면 시각적 개체에 대한 툴팁이 숨겨집니다. 옵션을 선택하면 해당 옵션이 표시됩니다.

# 사용자 지정 데이터 프레젠테이션
<a name="analyzing-data-analyses"></a>

빠른 분석에서 시각적 객체(차트)를 생성할 때 데이터에 대한 추가 인사이트를 얻기 위해 시각적 객체에서 데이터를 정렬하고 필터링할 수 있습니다. 또한 시각적 객체에서 날짜 필드의 세분성, 데이터 유형, 역할 및 필드 형식을 변경할 수 있습니다.

**Topics**
+ [Amazon Quick에서 시각적 객체에 사용되는 필드 변경](changing-visual-fields.md)
+ [Amazon Quick에서 시각적 데이터 정렬](sorting-visual-data.md)

# Amazon Quick에서 시각적 객체에 사용되는 필드 변경
<a name="changing-visual-fields"></a>

**필드 목록** 창, 필드 모음, 시각적 객체 편집기 또는 시각적 객체의 드롭 타겟을 사용하여 시각적 객체의 필드를 추가하거나 수정할 수 있습니다.

특정 시각적 객체에 사용 가능한 필드 모음, 시각적 객체 편집기 및 드롭 타겟은 선택한 시각적 객체 유형에 따라 다릅니다. 자세한 내용은 [Amazon Quick Sight의 시각적 객체 유형](working-with-visual-types.md) 단원에서 해당하는 시각적 객체 유형 주제를 참조하세요.

**중요**  
또한 필드 모음 및 시각적 객체 편집기를 사용하여 숫자 필드의 데이터 형식을 변경할 수도 있습니다. 이 방법으로 필드를 변경하면 선택한 시각적 객체에 대해서만 변경됩니다. 숫자 필드 데이터 유형 및 형식 변경에 대한 자세한 내용은 [Amazon Quick에서 시각적 객체에 사용되는 필드 변경](#changing-visual-fields) 단원을 참조하세요.

다음 주제를 읽고 시각적 객체에 대한 필드 추가, 제거 및 수정에 대해 자세히 알아보세요.

**Topics**
+ [시각적 객체 필드 컨트롤 사용](using-visual-field-controls.md)
+ [필드 추가 또는 제거](adding-or-removing-a-field.md)
+ [시각적 요소와 연결된 필드 변경](changing-a-field-association.md)
+ [필드 집계 변경](changing-field-aggregation.md)
+ [날짜 필드 단위 변경](changing-date-field-granularity.md)
+ [필드 형식 사용자 지정](customizing-field-format.md)

# 시각적 객체 필드 컨트롤 사용
<a name="using-visual-field-controls"></a>

다음 사용자 인터페이스(UI) 컨트롤을 사용하여 시각적 객체에서 사용하는 필드를 편집할 수 있습니다.

이러한 제어는 다음과 같이 사용할 수 있습니다.
+ 시각적 객체를 생성한 다음 **필드 목록** 창에서 필드를 선택하거나 필드 모음 또는 드롭 대상으로 필드를 드래그하여 시각적 객체 위의 여러 요소에 필드를 할당할 수 있습니다.
+ 필드를 드롭 대상 또는 필드 모음으로 드래그하거나 필드 모음 또는 시각적 객체 편집기에서 다른 필드를 선택하여 시각적 객체와 연결된 필드를 변경합니다.
+ 필드 모음 또는 시각적 객체 편집기를 사용하여 필드 집계 또는 날짜 단위를 변경합니다.

특정 시각적 객체에 사용 가능한 필드 모음, 시각적 객체 편집기 및 드롭 타겟은 선택한 시각적 객체 유형에 따라 다릅니다.

## 드롭 타겟 또는 필드 모음으로 필드 끌기
<a name="dragging-a-field"></a>

필드를 드롭 대상 또는 필드 모음으로 드래그하면 Amazon Quick은 대상 요소가 치수 또는 차원을 예상하는지 여부에 대한 정보를 제공합니다. Amazon Quick은 해당 요소를 필드 할당에 사용할 수 있는지 여부에 대한 정보도 제공합니다.

예를 들어 새로운 단일 치수 선 차트의 값 드롭 대상으로 치수를 끌면 녹색으로 표시된 드롭 대상이 나타납니다. 이 녹색은 드롭 대상에 치수가 필요함을 나타냅니다. 끌기 레이블은 해당 대상을 필드 추가에 사용할 수 있음을 나타냅니다.

새로운 선 차트의 X축 또는 컬러 드롭 대상으로 차원을 끌면 파란색으로 구분된 레이블이 나타납니다. 이 파란색은 드롭 대상에 차원이 필요함을 나타냅니다. 끌기 레이블은 해당 대상을 필드 추가에 사용할 수 있음을 나타냅니다.

또한 요소가 이미 필드와 연결된 단일 선 차트의 드롭 대상으로 치수 또는 차원을 끌 수도 있습니다. 이러한 경우 끌기 레이블은 사용자가 드롭 대상과 현재 연결된 필드를 대체하고 있음을 나타냅니다.

# 필드 추가 또는 제거
<a name="adding-or-removing-a-field"></a>

**필드 목록** 창에서 필드를 선택하여 시각적 객체에 추가할 수 있습니다. 또는 시각적 객체의 놓기 대상 또는 필드 모음으로 필드를 끌어다 놓을 수 있습니다. 시각적 객체 유형별로 드롭 타겟과 필드 모음이 1:1 대응을 이루므로, 어떤 방법이든 사용할 수 있습니다.

일부 차트에서는 차트 양쪽에 있는 **값** 필드에 두 개 이상의 필드가 있는 경우 **축 제목** 필드가 숨겨집니다. 이 효과는 다음 차트에서 발생할 수 있습니다.
+ 막대 차트
+ 선 차트
+ 상자 그림
+ 콤보 차트
+ 폭포 차트

시각적 객체에서 필드를 제거하려면 **필드 목록** 창에서 필드의 선택을 취소합니다. 또는 시각적 객체 편집기 또는 해당 필드를 사용하는 필드 모음을 선택한 다음, 컨텍스트(마우스 오른쪽 클릭) 메뉴에서 **제거**를 선택합니다.

## 필드 목록 창에서 선택하여 필드 추가
<a name="add-a-field-data-set"></a>

Amazon Quick이 필드를 가장 적절한 시각적 요소에 매핑하도록 할 수도 있습니다. 이렇게 하려면 **필드 목록** 창에서 필드를 선택합니다. Amazon Quick은 해당 필드 유형(측정 또는 차원)에 해당하는 첫 번째 빈 필드 웰을 채워 시각적 객체에 필드를 추가합니다. 모든 시각적 요소가 이미 채워져 있는 경우 Amazon Quick은 가장 적합한 필드 모음을 결정하고 해당 모음의 필드를 선택한 필드로 바꿉니다.

## 드롭 타겟을 사용하여 필드 추가
<a name="add-a-field-drop-target"></a>

놓기 대상을 사용하여 시각적 객체에 필드를 추가하려면 **필드 목록** 창에서 필드를 선택합니다. 필드를 시각적 객체의 선택한 드롭 대상으로 끌어 드롭 표시기에 해당 필드가 추가되었다고 표시되는지 확인합니다.

## 필드 모음을 사용하여 필드 추가
<a name="add-a-field-field-well"></a>

필드 모음을 사용하여 시각적 객체에 필드를 추가하려면 **필드 목록**에서 필드를 선택합니다. 그런 다음 필드를 대상 필드 모음으로 끌어 드롭 표시기에 해당 필드가 추가되었다고 표시되는지 확인합니다.

1. 필드 항목을 **필드 모음**으로 드래그합니다.

1. **필드 목록** 창에서 추가하려는 필드를 적절한 필드 모음으로 끌어옵니다.

**참고**  
동일한 시각적 객체에 여러 번 동일한 값을 추가할 수 있습니다. 이를 통해 다른 집계 또는 테이블 계산이 적용된 동일한 값을 표시할 수 있습니다. 기본적으로 필드는 동일한 레이블을 모두 표시합니다. **속성** 패널을 사용하여 이름을 편집하고 오른쪽 상단의 **V**자 모양 아이콘을 클릭하여 패널을 열 수 있습니다.

# 시각적 요소와 연결된 필드 변경
<a name="changing-a-field-association"></a>

시각적 객체에 대한 필드 모음, 드롭 타겟 또는 시각적 객체 편집기를 사용하여 시각적 객체의 요소에 할당된 필드를 변경할 수 있습니다. 피벗 테이블은 시각적 객체 편집기를 제공하지 않는 시각적 객체 유형이므로 필드 모음 또는 드롭 타겟을 사용해야 합니다.

## 시각적 객체 편집기를 사용하여 필드 매핑 변경
<a name="change-field-mappings-element-controls"></a>

시각적 요소에 대한 필드 매핑을 수정하려면 다음 절차에 따르십시오.

**시각적 객체 편집기를 사용하여 필드 매핑 수정**

1. 시각적 객체에서 필드를 변경하려는 시각적 객체 요소용 시각적 객체 편집기를 선택합니다.

1. 시각적 객체 편집기 메뉴에서 시각적 객체 요소와 연결하려는 필드를 선택합니다.

## 드롭 타겟을 사용하여 필드 매핑 변경
<a name="change-field-mappings-drop-target"></a>

드롭 대상을 사용하여 시각적 요소에 대한 필드 매핑을 수정하려면 **필드 목록**에서 필드를 선택합니다. 필드를 시각적 객체의 선택한 드롭 대상으로 끌어 드롭 표시기에 해당 필드가 바뀌었다고 표시되는지 확인합니다.

## 필드 모음을 사용하여 필드 매핑 변경
<a name="change-field-mappings-field-wells"></a>

시각적 요소에 대한 필드 매핑을 수정하려면 다음 절차에 따르십시오.

**필드 모음을 사용하여 필드 매핑 수정**

1. 필드 항목을 **필드 모음**으로 드래그합니다.

1. 다시 매핑하려는 요소를 나타내는 필드 모음을 선택한 다음 표시되는 메뉴에서 새 필드를 선택합니다.

# 필드 집계 변경
<a name="changing-field-aggregation"></a>

필드에 함수를 적용하여 지정된 제품에 대한 매출 합계와 같은 집계 정보를 표시할 수 있습니다. 시각적 객체 편집기 또는 필드 모음에서 옵션을 사용하여 집계 함수를 적용할 수 있습니다. Amazon Quick에서 사용할 수 있는 집계 함수는 다음과 같습니다.
+ 평균 - 선택한 필드의 평균값을 계산합니다.
+ 개수 - 지정된 차원에 대해 선택한 치수가 포함된 레코드 수를 계산합니다. 예: 주별 주문 ID 수 
+ 개별 집계 - 선택된 차원에 대해, 선택된 치수에 포함된 서로 다른 값의 수를 계산합니다. 예: 리전별 제품 수 단순 집계는 각 리전에서 판매된 제품의 수를 표시할 수 있습니다. 개별 집계는 각 리전에서 판매되는 다른 제품의 수를 표시할 수 있습니다. 2,000개의 품목을 판매했어도 품목의 종류는 단 두 가지 뿐일 수도 있습니다.
+ 최대 - 선택한 필드의 최댓값을 계산합니다.
+ 최소 - 선택한 필드의 최솟값을 계산합니다.
+ 중간값 - 선택한 차원으로 그룹화된 지정된 치수의 중간값을 계산합니다.
+ 합계 - 선택한 필드의 모든 값을 합산합니다.
+ 표준 편차 - 샘플 또는 편향된 모집단을 기반으로, 선택한 차원으로 그룹화된 지정된 치수에서 숫자 집합의 표준 편차를 계산합니다.
+ 분산 - 샘플 또는 편향된 모집단을 기반으로, 선택한 차원으로 그룹화된 지정된 치수에서 숫자 집합의 분산을 계산합니다.
+ 백분위수 - 선택한 차원으로 그룹화된 지정된 치수의 n번째 백분위수를 계산합니다.

숫자 필드에는 모든 집계 함수를 적용할 수 있습니다. 치수가 필요한 필드 모음에서 사용하도록 선택하면 *개수*는 자동으로 차원에 적용됩니다. 이러한 방식으로 차원을 사용하면 차원에 적용된 집계 함수도 변경할 수 있습니다. 차원 필드 모음의 필드에는 집계 함수를 적용할 수 없습니다.

집계된 필드를 지원하는 시각적 요소는 시각적 객체 유형에 따라 달라집니다.

## 시각적 객체 편집기를 사용하여 필드에 대한 집계 변경 또는 추가
<a name="change-field-aggregation-element-controls"></a>

필드 집계를 변경하거나 추가하려면 다음 절차를 따르세요.

**필드의 집계 변경 또는 추가**

1. 시각적 객체에서 집계를 적용하려는 필드에 대한 시각적 편집기를 선택합니다.

1. 시각적 객체 편집기 메뉴에서, **집계**를 선택한 다음 적용하려는 집계 기능을 선택합니다.

## 필드 모음을 사용하여 필드에 대한 집계 변경 또는 추가
<a name="change-field-aggregation-field-wells"></a>

피벗 테이블 시각적 객체의 필드에 집계를 추가하려면 다음 절차를 따르세요.

**피벗 테이블 시각적 객체의 필드에 집계를 추가하려면 다음 절차를 따르세요.**

1. 필드 항목을 **필드 모음**으로 드래그합니다.

1. 집계 기능을 적용하려는 필드를 포함한 필드 모음을 선택합니다.

1. 필드 모음 메뉴에서, **집계**를 선택한 다음 적용하려는 집계 기능을 선택합니다.

# 날짜 필드 단위 변경
<a name="changing-date-field-granularity"></a>

시각적 객체에 대한 날짜 필드의 단위를 변경하여 항목 값이 표시되는 간격을 결정할 수 있습니다. 날짜 필드 단위는 다음 값 중 하나로 설정할 수 있습니다.
+ 연도
+ 분기
+ 월
+ 주
+ 일(기본값)
+ 시간
+ 분
+ 초

시간과 분은 필드에 시간 데이터가 포함된 경우에만 사용할 수 있습니다.

## 시각적 객체 편집기를 사용하여 날짜 필드 단위 변경
<a name="change-date-granularity-element-controls"></a>

시각적 객체 편집기를 사용하여 날짜 필드 단위를 변경하려면 다음 절차를 따르세요.

**시각적 객체 편집기를 사용하여 날짜 필드 세부 수준 변경**

1. 시각적 객체에서 변경하려는 세부 수준이 있는 날짜 필드의 필드 모음을 선택합니다.

1. 필드 모음 메뉴에서 **집계**를 선택하고 다음과 같이 적용하려는 시간 간격을 선택합니다.

## 필드 모음을 사용하여 날짜 필드 단위 변경
<a name="change-date-granularity-field-wells"></a>

필드 모음을 사용하여 날짜 필드 단위를 변경하려면 다음 절차를 따르세요.

**필드 모음을 사용하여 날짜 필드 세부 수준 변경**

1. 필드 항목을 **필드 모음**으로 드래그합니다.

1. 데이터 필드가 포함된 필드 모음을 선택한 후 **집계**를 선택합니다. 사용할 날짜 단위를 선택합니다.

# 필드 형식 사용자 지정
<a name="customizing-field-format"></a>

분석에서 필드의 모양을 사용자 지정하려면 다음 절차에 따르십시오.

**분석에서 필드 모양을 사용자 지정**

1. 분석에서 필드 모음 또는 ****시각화** 창의 필드 목록**에서 필드를 선택하여 형식을 지정할 필드를 선택합니다.

1. **다른 형식으로 표시**를 선택하여 분석에서 필드를 표시하는 방법을 변경하거나 컨텍스트 메뉴에서 옵션을 선택할 수 있습니다. 사용 가능한 옵션 목록은 필드의 데이터 유형에 따라 다릅니다. 필드 목록에서 숫자가 아닌 필드를 선택한 경우 필드를 계산할 때 사용되는 서식에 해당하는 *개수 형식*을 변경할 수 있습니다.

1. **형식**을 선택하여 필드의 형식을 변경하고 컨텍스트 메뉴에서 옵션을 선택합니다. 사용하려는 옵션이 표시되지 않는 경우 컨텍스트 메뉴에서 **추가 서식 옵션**을 선택합니다.

   **형식 데이터** 창이 열리고 선택한 숫자 또는 날짜 필드의 형식에 대한 옵션이 표시됩니다.

   이제 컨텍스트 메뉴의 **다른 형식으로 표시** 옵션이 **형식 데이터** 창의 맨 위에 있는 드롭다운 목록에 표시됩니다. 나머지 옵션은 필드를 표시하도록 선택하는 방법 및 데이터 형식에 고유합니다.

날짜 및 시간 데이터의 기본 형식 패턴은 YYYY-MM-DD**`T`**HH:mm:ssZZ, for example 2016-09-22T17:00:00-07:00입니다.

숫자의 경우 다음 중에서 숫자 뒤에 표시할 단위를 선택할 수 있습니다.
+ 단위 접미사 없음. 기본값입니다.
+ 천 단위(K)
+ 백만 단위(M)
+ 십억 단위(B)
+ 조 단위(T)
+ 사용자 지정 단위 접두사 또는 접미사

통화의 경우 다음 기호 중에서 선택할 수 있습니다.
+ 달러(\$1)
+ 유로(€)
+ 파운드(£)
+ 엔(¥)

# 필드 형식 변경
<a name="changing-a-field-format"></a>

분석의 컨텍스트 안에서 필드의 형식을 변경할 수 있습니다. 필드에 사용 가능한 서식 옵션은 필드의 데이터 형식에 따라 다릅니다.

간단한 형식 변경에는 **필드 목록** 창 또는 시각적 객체 필드의 메뉴 옵션을 사용하고, 보다 광범위한 형식 변경에는 **형식 데이터** 창을 사용합니다.

**Topics**
+ [통화 필드의 형식 지정](format-a-currency-field.md)
+ [날짜 필드의 형식 지정](format-a-date-field.md)
+ [숫자 필드의 형식 지정](format-a-number-field.md)
+ [백분율 필드의 형식 지정](format-a-percent-field.md)
+ [텍스트 필드 형식 지정](format-a-text-field.md)
+ [필드의 형식을 기본 설정으로 되돌리기](set-field-format-to-default.md)

# 통화 필드의 형식 지정
<a name="format-a-currency-field"></a>

통화 필드의 형식을 지정할 때는 공통 옵션 목록에서 통화 기호를 선택하거나 **형식 데이터** 창을 열고 수동으로 필드 형식을 지정할 수 있습니다. 수동으로 필드 형식을 지정하는 경우, 사용할 기호, 사용할 구분자, 표시할 소수 자릿수, 사용할 단위, 음수 표시 방법 등을 선택할 수 있습니다.

필드 형식을 변경하면 해당 분석의 모든 시각적 객체에도 변경 사항이 적용되지만, 데이터 세트에서는 변경되지 않습니다.

공통 옵션 목록에서 통화의 기호를 선택하려는 경우 이러한 목록에 여러 가지 방법으로 액세스할 수 있습니다. **Field list(필드 목록)** 창, 시각적 객체 편집기 또는 시각적 객체 필드 모음에서 이러한 목록에 액세스할 수 있습니다.

**목록 옵션을 선택하여 통화 필드의 기호 선택**

1. 다음 옵션 중 하나를 선택하세요.
   + **필드 목록** 창에서 형식을 지정하려는 숫자 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.
   + 형식을 지정하려는 통화 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다. **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.

1. **형식** 선택한 다음, 원하는 통화 필드를 선택합니다.
   + 달러(\$1)로 표시합니다.
   + 파운드(£)로 표시합니다.
   + 유로(€)로 표시합니다.
   + 엔 또는 위안(¥)으로 표시합니다.

**통화 필드 형식 수동으로 변경**

1. 다음 옵션 중 하나를 선택하세요.
   + **필드 목록** 창에서 형식을 지정하려는 숫자 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.
   + 형식을 지정하려는 숫자 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다. **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.

1. **Format**을 선택한 다음 **More Formatting options**를 선택합니다.

   **데이터 형식 지정** 창이 열립니다.

1. **기호** 섹션을 확장하고 다음 옵션에서 선택합니다.
   + 달러(\$1)로 표시합니다. 기본값입니다.
   + 파운드(£)로 표시합니다.
   + 유로(€)로 표시합니다.
   + 엔 또는 위안(¥)으로 표시합니다.

1. [**Separators**] 섹션을 확장하고 다음 옵션에서 선택합니다.
   + [**Decimal**] 아래에서 소수 구분자로 점 또는 쉼표를 선택합니다. 기본값은 점(.)입니다. 점 대신 쉼표를 선택하는 경우 천 단위 구분자로 점 또는 공백을 사용해야 합니다.
   + [**Thousands**] 아래에서, [**Enabled**]를 선택하거나 선택 취소하여 천 단위 구분자를 사용할지 여부를 표시합니다. [**Enabled**]가 기본적으로 선택됩니다.
   + 천 단위 구분자를 사용하는 경우 구분자로 쉼표, 점 또는 공백을 사용할지 여부를 선택합니다. 기본값은 쉼표입니다. 쉼표 대신 점을 선택하는 경우 소수 구분자로 쉼표를 사용해야 합니다.

1. **소수 자릿수** 섹션을 확장하고 사용할 소수점 자리 수를 선택합니다. 기본값은 2입니다. 필드 값은 지정된 소수점 자리로 반올림됩니다. 예를 들어, 소수점 두 자리를 지정한 경우 값 6.728은 6.73으로 반올림됩니다.

1. [**Units**] 섹션을 확장하고 다음 옵션에서 선택합니다.
   + 사용할 단위를 선택합니다. 단위를 선택하면 숫자 값에 적절한 접미사가 추가됩니다. 예를 들어, [**Thousands**]를 선택한 경우 1234의 필드 값은 1.234K로 표시됩니다.

     단위 모음 옵션은 다음과 같습니다.
     + 단위 접미사 없음. 기본값입니다.
     + 천 단위(K)
     + 백만 단위(M)
     + 십억 단위(B)
     + 조 단위(T)
   + 사용자 지정 접두사 또는 접미사를 사용하려는 경우 [**Prefix**] 또는 [**Suffix**] 상자에 지정합니다. 사용자 지정 접미사를 사용하면 Amazon Quick에서 이미 제공한 접미사 이외의 통화 접미사를 지정할 수 있습니다. 둘 다 지정할 수도 있습니다. 단위를 선택하여 추가된 접미사 외에 사용자 지정 접두사도 지정할 수 있습니다.

1. [**Negatives**] 섹션을 확장하고 음수 값을 표시하기 위해 마이너스 부호를 사용할지 또는 값을 괄호로 묶을지를 선택합니다. 기본값은 마이너스 부호 사용입니다.

1. **Null 값** 섹션을 확장하고 Null 값을 `null`(이)나 또는 사용자 지정 값으로 표시할지 여부를 선택합니다. `null` 사용이 기본값입니다.
**참고**  
테이블 또는 피벗 테이블을 사용하는 경우, **행**, **열** 또는 **그룹화 기준** 필드 모음에 배치된 필드에만 null 값이 표시됩니다. **값** 필드 모음에 있는 필드의 Null 값은 테이블 또는 피벗 테이블에서 빈 상태로 나타납니다.

# 날짜 필드의 형식 지정
<a name="format-a-date-field"></a>

날짜 필드의 형식을 지정할 때 일반 서식 옵션 목록을 선택할 수 있습니다. 또는 **형식 데이터** 창을 열고 일반 형식 목록에서 선택하거나 날짜 및 시간 값에 대한 사용자 지정 형식을 지정할 수 있습니다.

필드 형식을 변경하면 해당 데이터 세트를 사용하는 분석의 모든 시각적 객체에도 변경 사항이 적용되지만, 데이터 세트 자체의 설정은 변경되지 않습니다.

공통 옵션 목록에서 선택하여 날짜 필드의 형식을 지정하려는 경우 이러한 목록에 여러 가지 방법으로 액세스할 수 있습니다. **Field list(필드 목록)** 창, 시각적 객체 편집기 또는 시각적 객체 필드 모음에서 이러한 목록에 액세스할 수 있습니다.

**목록 옵션을 선택하여 날짜 필드의 형식 변경**

1. 다음 옵션 중 하나를 선택하세요.
   + **필드 목록** 창에서 형식을 지정하려는 숫자 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.
   + 형식을 지정하려는 숫자 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다. **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.

1. **형식**을 선택한 다음 원하는 형식을 선택합니다. 다음과 같은 빠른 형식 지정 옵션이 날짜 필드에 제공됩니다.
   + 월, 일, 년 및 시간을 표시합니다.
   + 월, 일 및 년을 표시합니다.
   + 월 및 년을 표시합니다.
   + 년을 표시합니다.

**날짜 필드의 형식을 수동으로 변경**

1. 다음 옵션 중 하나를 선택하세요.
   + **필드 목록** 창에서 형식을 지정하려는 숫자 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.
   + 형식을 지정하려는 숫자 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다. **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.

1. **Format**을 선택한 다음 **More Formatting options**를 선택합니다.

   **데이터 형식 지정** 창이 열립니다.

1. **일** 섹션을 확장합니다. 기존 날짜 형식을 선택하거나, **사용자 지정**을 선택하고 **데이터 형식 지정** 패널의 아래 **사용자 지정** 섹션에서 서식 패턴을 지정합니다. **날짜** 섹션에서 **사용자 지정**을 선택하는 경우, 다음 **시간** 섹션에도 **사용자 지정**을 선택해야 합니다. **사용자 지정** 섹션에서 지정하는 패턴에는 원하는 날짜 및 시간 형식이 포함되어야 합니다.

   기본 선택 항목은 **사용자 지정** 지정이며, 기본 서식 패턴은 MMM D, YYYY h:mma(예: 2022년 9월 20일 오후 5시 30분)입니다.

1. **시간** 섹션을 확장합니다. 기존 시간 형식을 선택하거나, **사용자 지정**을 선택하고 **데이터 형식 지정** 패널의 아래 **사용자 지정** 섹션에서 서식 패턴을 지정합니다. **시간** 섹션에서 **사용자 지정**을 선택하는 경우, 다음 **날짜** 섹션에도 **사용자 지정**을 선택해야 합니다. **사용자 지정** 섹션에서 지정하는 패턴에는 원하는 날짜 및 시간 형식이 포함되어야 합니다.

   기본 선택 항목은 **사용자 지정** 지정이며, 기본 서식 패턴은 MMM D, YYYY h:mma(예: 2022년 9월 20일 오후 5시 30분)입니다.

1. **날짜** 및 **시각** 섹션에서 **사용자 지정**을 선택한 경우, **사용자 지정** 섹션을 확장하고 Moment.js JavaScript 설명서의 [Moment.js 표시 형식](https://momentjs.com/docs/#/displaying/)에 지정된 서식 패턴 구문을 사용하여 원하는 서식 패턴을 지정합니다.
**참고**  
Moment.js 라이브러리`Z`의 시간대 관련 표시 토큰은 Quick에서 지원되지만 `z` 토큰은 지원되지 않습니다.

   **날짜** 및 **시각** 섹션에서 **사용자 지정** 이외의 항목을 선택한 경우 **사용자 지정**은 선택 내용을 반영하는 형식 패턴으로 채워집니다. 예를 들어 **날짜** 섹션에 2016년 6월 21일을 선택하고 **시각** 섹션에 17:00:00pm(오후 17시)을 선택한 경우, **사용자 지정** 섹션에 MMM dd, yyyy H:mm:ssa 형식 패턴이 표시됩니다.

1. (선택 사항) **사용자 지정** 섹션을 확장하고 **미리 보기**를 사용하여 지정된 형식을 확인합니다.

1. **Null 값** 섹션을 확장하고 Null 값을 `null`(이)나 또는 사용자 지정 값으로 표시할지 여부를 선택합니다. `null` 사용이 기본값입니다.

# Quick에서 날짜 형식 사용자 지정
<a name="format-visual-date-controls"></a>

Quick에서는 필터 및 파라미터 컨트롤에서 날짜 형식을 지정하는 방법을 사용자 지정할 수 있습니다. 예를 들어 컨트롤의 날짜 형식을 20-09-2021로 지정하거나 원하는 경우 09-20-2021로 지정할 수 있습니다. 다른 사용자 지정 외에도 날짜(예: September)의 월을 세 글자(Sep)로 단축하도록 지정할 수도 있습니다.

다음은 사용자 지정 날짜 형식을 만드는 데 사용할 수 있는 토큰 목록입니다. 이를 서로 조합하여 컨트롤에 날짜가 표시되는 방식을 제어할 수 있습니다.

## 날짜 형식 지정에 지원되는 토큰 목록
<a name="format-date-supported-tokens"></a>

다음 토큰을 사용하여 Quick에서 날짜 형식을 사용자 지정합니다.


| 예제 | 설명 | 토큰 | 
| --- | --- | --- | 
|  0\$16  |  특정 요일을 숫자로 나타냅니다. 0은 일요일이고 6은 토요일입니다.  |  `d`  | 
|  Mo(월요일)\$1Su(일요일)  |  특정 요일을 2자로 된 텍스트 형태로 표현한 것입니다.  |  `dd`  | 
|  Mon(월요일)\$1Sun(일요일)  |  특정 요일을 3자로 된 텍스트 형태로 표현한 것입니다.  |  `ddd`  | 
|  Monday(월요일)\$1Sunday(일요일)  |  특정 요일을 텍스트 형태로 표현한 것입니다.  |  `dddd`  | 
|  99 또는 21  |  연도를 2자리 숫자로 표현한 것입니다.  |  `YY`  | 
|  1999년 또는 2021년  |  연도를 완전한 4자리 숫자로 표현한 것입니다.  |  `YYYY`  | 
|  1\$112  |  앞에 0이 없는 월의 수입니다.  |  `M`  | 
|  1st(1월), 2nd(2월), 12th(12월)까지  |  앞에 0이 없고 접미사가 서수인 월의 수입니다.  |  `Mo`  | 
|  01\$112  |  앞에 0이 있는 월의 수입니다.  |  `MM`  | 
|  Jan(1월)\$1Dec(12월)  |  한 달을 3자로 된 텍스트 형태로 표현한 것입니다.  |  `MMM`  | 
|  January(1월)\$1December(12월)  |  한 달을 완전한 텍스트 형태로 표현한 것입니다.  |  `MMMM`  | 
|  1\$14  |  분기를 숫자로 표현한 것입니다.  |  `Q`  | 
|  1st(1분기)\$14th(4분기)  |  서수 접미사가 있는 분기를 숫자로 표현한 것입니다.  |  `Qo`  | 
|  1\$131  |  앞에 0이 없는 월의 요일입니다.  |  `D`  | 
|  1st(1일), 2nd(2일), 31st(31일)까지  |  앞에 0이 없고 접미사가 서수인 월의 요일입니다.  |  `Do`  | 
|  01\$131  |  앞에 0이 있는 2자로 된 월의 요일입니다.  |  `DD`  | 
|  1\$1365  |  앞에 0이 없는 년의 날입니다.  |  `DDD`  | 
|  001\$1365  |  앞에 0이 있는 년의 날입니다.  |  `DDDD`  | 
|  1\$153  |  앞에 0이 없는 년의 주입니다.  |  `w`  | 
|  1st(1주)\$153rd(53주)  |  앞에 0이 없고 접미사가 서수가 붙은 년의 주입니다.  |  `wo`  | 
|  01\$153rd(53주)  |  앞에 0이 있는 년의 주입니다.  |  `ww`  | 
|  1\$123  |  앞에 0이 없는 24시간 형식의 시간입니다.  |  `H`  | 
|  01\$123  |  앞에 0이 있는 24시간 형식의 시간입니다.  |  `HH`  | 
|  1\$112  |  앞에 0이 없는 12시간 형식의 시간입니다.  |  `h`  | 
|  01\$112  |  앞에 0이 있는 12시간 형식의 시간입니다.  |  `hh`  | 
|  0\$159  |  앞에 0이 없는 분입니다.  |  `m`  | 
|  00\$159  |  앞에 0이 있는 분입니다.  |  `mm`  | 
|  0\$159  |  앞에 0이 없는 초입니다.  |  `s`  | 
|  00\$159  |  앞에 0이 있는 초입니다.  |  `ss`  | 
|  am(오전) 또는 pm(오후)  |  am(오전) 또는 pm(오후)  |  `a`  | 
|  AM(오전) 또는 PM(오후)  |  AM(오전) 또는 PM(오후)  |  `A`  | 
|  1632184215  |  Unix 타임스탬프입니다.  |  `X`  | 
|  1632184215000  |  밀리초의 Unix 타임스탬프입니다.  |  `x`  | 
|  Z  |  제로 UTC 오프셋.  |  `Z`  | 

다음의 날짜 유형이 지원됩니다.
+ 콜론이 있는 시간대 오프셋. 예: \$107:00.
+ 콜론을 제외한 시간대 오프셋. 예: \$10730.

### 사전 설정된 날짜 형식
<a name="visuals-preset-date-formats"></a>

다음 예제 형식 중 하나로 표시되도록 날짜와 시간을 빠르게 사용자 지정하려면 다음 빠른 사전 설정 토큰을 사용할 수 있습니다.


| 예제 | 토큰 | 
| --- | --- | 
|  오후 8:30  |  `LT`  | 
|  오후 8:30:25  |  `LTS`  | 
|  1985년 8월 2일  |  `LL`  | 
|  1985년 8월 2일  |  `ll`  | 
|  1985년 8월 2일 오후 08:30  |  `LLL`  | 
|  1985년 8월 2일 오후 08:30  |  `lll`  | 
|  1985년 8월 2일 목요일 오후 08:30  |  `LLLL`  | 
|  1985년 8월 2일 목요일 오후 08:30  |  `llll`  | 

## 공통 데이터 형식
<a name="visuals-common-date-formats"></a>

다음은 빠르게 참조할 수 있도록 세 가지 일반적인 날짜 예시와 관련 토큰 형식입니다.


| 예제 | 토큰 형식 | 
| --- | --- | 
|  2021년 9월 20일  |  `MMM DD, YYYY`  | 
|  21년 9월 20일 오후 5시  |  `DD-MM-YY ha`  | 
|  2021년 9월 20일 월요일 17:30:15  |  `dddd, MMMM DD, YYYY HH:mm:ss`  | 

## 날짜에 단어 추가
<a name="visuals-adding-words-to-dates"></a>

2021년 9월 20일의 단어 "of"와 같이 날짜 형식의 단어를 포함하려면 단어의 각 문자 앞에 백슬래시(\$1)를 입력합니다. 예를 들어, 2021년 9월 20일 날짜 예시에서는 다음 토큰 형식 `Do \o\f MMM, YYYY`을(를) 사용합니다.

## 예: 필터 컨트롤의 날짜 형식 사용자 지정
<a name="format-visual-date-controls-example"></a>

다음 절차를 사용하여 날짜 토큰 형식을 사용하여 필터 컨트롤의 날짜를 사용자 지정하는 방법을 알아보세요.

**데이터 토큰을 사용하여 필터 컨트롤의 날짜를 사용자 지정하는 방법**

1. 빠른 분석에서 사용자 지정하려는 필터 컨트롤을 선택합니다.

1. 필터 컨트롤에서 **제어 편집** 아이콘을 선택합니다.

1. 열리는 **제어 편집** 페이지에서, **날짜 형식**에 원하는 사용자 지정 날짜 형식을 입력합니다. 이 항목의 앞에 나열된 토큰을 사용하세요.

   예를 들어 2020년 9월 3일 오후 5시 형식을 사용하여 날짜를 사용자 지정한다고 가정해 보겠습니다. 그렇게 하기 위해 다음 토큰 형식을 입력할 수 있습니다.

   `MMM Do, YYYY \a\t ha`

   각 토큰을 입력하면 입력 필드 아래에 날짜 형식 미리 보기가 나타납니다.

1. **적용**을 선택합니다.

   컨트롤의 날짜가 지정한 형식으로 업데이트됩니다.

# 숫자 필드의 형식 지정
<a name="format-a-number-field"></a>

숫자 필드의 형식을 지정할 때 공통 옵션 목록에서 소수 자릿수 및 천 단위 구분자 형식을 선택할 수 있습니다. 또는 **Format Data(날짜 형식 지정)** 창을 열고 수동으로 필드 형식을 지정할 수 있습니다. 수동으로 필드 형식을 지정하면 사용할 구분자 및 표시할 소수 자릿수를 선택할 수 있습니다. 또한 사용할 단위와 음수 표시 방법도 선택할 수 있습니다.

필드 형식을 변경하면 해당 분석의 모든 시각적 객체에도 변경 사항이 적용되지만, 데이터 세트에서는 변경되지 않습니다.

공통 옵션 목록에서 선택하여 숫자 필드의 형식을 지정하려는 경우, **필드 목록** 창이나 시각적 객체 편집기 또는 시각적 객체 필드 모음을 통해 그러한 목록에 액세스할 수 있습니다.

**목록 옵션을 선택하여 날짜 필드의 형식 변경**
+ 다음 옵션 중 하나를 선택하세요.
  + **필드 목록** 창에서 형식을 지정하려는 숫자 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.
  + 형식을 지정하려는 숫자 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다. **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.
+ **형식**을 선택한 다음 원하는 형식을 선택합니다. 다음과 같은 빠른 형식 지정 옵션이 숫자 필드에 제공됩니다.
  + 쉼표를 사용하여 수천 개의 그룹을 분리하고 소수점을 사용하여 숫자의 소수부를 표시합니다(예: 1,234.56).
  + 소수점을 사용하여 숫자의 소수부를 표시합니다(예: 1234.56).
  + 숫자를 정수로 표시하고 쉼표를 사용하여 수천 개의 그룹을 분리합니다(예: 1,234).
  + 숫자를 정수로 표시합니다(예: 1234).

**숫자 필드의 형식을 수동으로 변경**

1. 다음 옵션 중 하나를 선택하세요.
   + **필드 목록** 창에서 형식을 지정하려는 숫자 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.
   + 형식을 지정하려는 숫자 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다. **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.

1. **Format**을 선택한 다음 **More Formatting options**를 선택합니다.

   **데이터 형식 지정** 창이 열립니다.

1. [**Separators**] 섹션을 확장하고 다음 옵션에서 선택합니다.
   + [**Decimal**] 아래에서 소수 구분자로 점 또는 쉼표를 선택합니다. 기본값은 점(.)입니다. 점 대신 쉼표를 선택하는 경우 천 단위 구분자로 점 또는 공백을 사용해야 합니다.
   + [**Thousands**] 아래에서, [**Enabled**]를 선택하거나 선택 취소하여 천 단위 구분자를 사용할지 여부를 표시합니다. [**Enabled**]가 기본적으로 선택됩니다.
   + 천 단위 구분자를 사용하는 경우 구분자로 쉼표, 점 또는 공백을 사용할지 여부를 선택합니다. 기본값은 쉼표입니다. 쉼표 대신 점을 선택하는 경우 소수 구분자로 쉼표를 사용해야 합니다.

1. [**Decimal Places**] 섹션을 확장하고 다음 옵션에서 선택합니다.
   + Amazon Quick이 적절한 소수 자릿수를 자동으로 결정하도록 하려면 **자동**을 선택하고 소수 자릿수를 지정하려면 **사용자** 지정을 선택합니다. 기본값은 [**Auto**] 입니다.
   + [**Custom**]을 선택한 경우 사용할 소수점 자리 수를 입력합니다. 필드 값은 지정된 소수점 자리로 반올림됩니다. 예를 들어, 소수점 두 자리를 지정한 경우 값 6.728은 6.73으로 반올림됩니다.

1. [**Units**] 섹션을 확장하고 다음 옵션에서 선택합니다.
   + 사용할 단위를 선택합니다. 단위를 선택하면 숫자 값에 적절한 접미사가 추가됩니다. 예를 들어, [**Thousands**]를 선택한 경우 1234의 필드 값은 1.234K로 표시됩니다.

     단위 모음 옵션은 다음과 같습니다.
     + 단위 접미사 없음. 기본값입니다.
     + 천 단위(K)
     + 백만 단위(M)
     + 십억 단위(B)
     + 조 단위(T)
   + 사용자 지정 접두사 또는 접미사를 사용하려는 경우 [**Prefix**] 또는 [**Suffix**] 상자에 지정합니다. 둘 다 지정할 수도 있습니다. 단위를 선택하여 추가된 접미사 외에 사용자 지정 접두사도 지정할 수 있습니다.

1. [**Negatives**] 섹션을 확장하고 음수 값을 표시하기 위해 마이너스 부호를 사용할지 또는 값을 괄호로 묶을지를 선택합니다. 기본값은 마이너스 부호 사용입니다.

1. **Null 값** 섹션을 확장하고 Null 값을 `null`(이)나 또는 사용자 지정 값으로 표시할지 여부를 선택합니다. `null` 사용이 기본값입니다.
**참고**  
테이블 또는 피벗 테이블을 사용하는 경우, **행**, **열** 또는 **그룹화 기준** 필드 모음에 배치된 필드에만 null 값이 표시됩니다. **값** 필드 모음에 있는 필드의 Null 값은 테이블 또는 피벗 테이블에서 빈 상태로 나타납니다.

# 백분율 필드의 형식 지정
<a name="format-a-percent-field"></a>

백분율 필드의 형식을 지정할 때 공통 옵션 목록에서 소수 자릿수를 선택할 수 있습니다. 또는 **날짜 형식 지정** 창을 열고 수동으로 필드 형식을 지정할 수 있습니다. 수동으로 필드 형식을 지정하면 사용할 구분자를 선택할 수 있습니다. 또한 표시할 소수 자릿수와 음수 표시 방법도 선택할 수 있습니다.

필드 형식을 변경하면 해당 분석의 모든 시각적 객체에도 변경 사항이 적용되지만, 데이터 세트에서는 변경되지 않습니다.

공통 옵션 목록에서 퍼센트 필드의 소수 자릿수를 선택하려는 경우 이러한 목록에 여러 가지 방법으로 액세스할 수 있습니다. **Field list(필드 목록)** 창, 시각적 객체 편집기 또는 시각적 객체 필드 모음에서 이러한 목록에 액세스할 수 있습니다.

**목록 옵션을 선택하여 백분율 필드의 소수 자릿수 변경**

1. 다음 옵션 중 하나를 선택하세요.
   + **필드 목록** 창에서 형식을 지정하려는 숫자 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.
   + 형식을 지정하려는 백분율 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다. **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.

1. **형식 지정**을 선택한 다음 사용할 소수점 자리 수를 선택합니다. 다음과 같은 빠른 형식이 백분율 필드에 제공됩니다.
   + 소수점 두 자리가 포함된 값을 표시합니다.
   + 소수점 한 자리가 포함된 값을 표시합니다.
   + 소수점 자리가 없는 값을 표시합니다.

**백분율 필드의 형식을 수동으로 변경**

1. 다음 옵션 중 하나를 선택하세요.
   + **필드 목록** 창에서 형식을 지정하려는 숫자 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.
   + 형식을 지정하려는 숫자 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다. **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.

1. **Format**을 선택한 다음 **More Formatting options**를 선택합니다.

   **데이터 형식 지정** 창이 열립니다.

1. [**Separators**] 섹션을 확장하고 다음 옵션에서 선택합니다.
   + [**Decimal**] 아래에서 소수 구분자로 점 또는 쉼표를 선택합니다. 기본값은 점(.)입니다. 점 대신 쉼표를 선택하는 경우 천 단위 구분자로 점 또는 공백을 사용해야 합니다.
   + [**Thousands**] 아래에서, [**Enabled**]를 선택하거나 선택 취소하여 천 단위 구분자를 사용할지 여부를 표시합니다. [**Enabled**]가 기본적으로 선택됩니다.
   + 천 단위 구분자를 사용하는 경우 구분자로 쉼표, 점 또는 공백을 사용할지 여부를 선택합니다. 기본값은 쉼표입니다. 쉼표 대신 점을 선택하는 경우 소수 구분자로 쉼표를 사용해야 합니다.

1. [**Decimal Places**] 섹션을 확장하고 다음 옵션에서 선택합니다.
   + Amazon Quick이 적절한 소수 자릿수를 자동으로 결정하도록 하려면 **자동**을 선택하고 소수 자릿수를 지정하려면 **사용자** 지정을 선택합니다. 기본값은 [**Auto**] 입니다.
   + [**Custom**]을 선택한 경우 사용할 소수점 자리 수를 입력합니다. 필드 값은 지정된 소수점 자리로 반올림됩니다. 예를 들어, 소수점 두 자리를 지정한 경우 값 6.728은 6.73으로 반올림됩니다.

1. [**Negatives**] 섹션을 확장하고 음수 값을 표시하기 위해 마이너스 부호를 사용할지 또는 값을 괄호로 묶을지를 선택합니다. 기본값은 마이너스 부호 사용입니다.

1. **Null 값** 섹션을 확장하고 Null 값을 `null`(이)나 또는 사용자 지정 값으로 표시할지 여부를 선택합니다. `null` 사용이 기본값입니다.
**참고**  
테이블 또는 피벗 테이블을 사용하는 경우, **행**, **열** 또는 **그룹화 기준** 필드 모음에 배치된 필드에만 null 값이 표시됩니다. **값** 필드 모음에 있는 필드의 Null 값은 테이블 또는 피벗 테이블에서 빈 상태로 나타납니다.

# 텍스트 필드 형식 지정
<a name="format-a-text-field"></a>

텍스트 필드의 형식을 지정할 때 **필드 목록** 창, 시각적 객체 편집기 또는 시각적 객체 필드 모음을 사용하여 null 값을 표시하는 방법을 선택할 수 있습니다.

**텍스트 필드의 null 값 표시 방법 선택**

1. 다음 옵션 중 하나를 선택하세요.
   + **필드 목록** 창에서 형식을 지정하려는 숫자 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.
   + 형식을 지정하려는 백분율 필드와 연결된 시각적 객체 편집기가 들어 있는 시각적 객체에서 해당 시각적 객체 편집기를 선택합니다. **필드 모음** 창을 확장한 다음 변경하려는 숫자 필드와 연결된 필드 모음을 선택합니다.

1. **Format**을 선택한 다음 **More Formatting options**를 선택합니다.

   **데이터 형식 지정** 창이 열립니다.

1. **Null 값** 섹션을 확장하고 Null 값을 `null`(이)나 또는 사용자 지정 값으로 표시할지 여부를 선택합니다. `null` 사용이 기본값입니다.

# 필드의 형식을 기본 설정으로 되돌리기
<a name="set-field-format-to-default"></a>

필드의 형식을 기본 설정으로 되돌리려면 다음 절차를 따르세요.

**필드의 형식을 기본 설정으로 되돌리기**

1. **필드 목록** 창에서, 재설정하려는 필드의 오른쪽에 있는 선택기 아이콘을 선택합니다.

1. **형식**을 선택한 다음, **추가 형식 지정 옵션**을 선택합니다.

   **데이터 형식 지정** 창이 열립니다.

1. **기본값으로 재설정**을 선택합니다.

# Amazon Quick에서 시각적 데이터 정렬
<a name="sorting-visual-data"></a>

대부분의 시각적 객체 유형에 대해 여러 방법을 사용하여 데이터를 정렬할 수 있습니다. 빠른 정렬 옵션 또는 필드 모음을 사용하여 시각적 객체 데이터의 정렬 순서를 선택할 수 있습니다. 필드 모음을 사용하여 오프 비주얼 지표로 데이터를 정렬할 수도 있습니다. 정렬할 수 있는 시각적 객체는 시각적 객체 유형과 해당 시각적 객체 정렬 지원 여부에 따라 달라집니다. 정렬을 지원하는 시각적 유형에 대한 자세한 내용은 [Quick의 유형별 분석 형식](analytics-format-options.md)을(를) 참조하세요.

값을 정렬할 때 피벗 테이블은 테이블과 다르게 동작합니다. 피벗 테이블 정렬에 대한 자세한 내용은 [Quick에서 피벗 테이블 정렬](sorting-pivot-tables.md) 단원을 참조하세요.

SPICE 데이터 세트의 경우 최대 크기의 텍스트 문자열을 다음과 같은 한도까지 정렬할 수 있습니다.
+ 최대 2백만(2,000,000)개의 고유 값
+ 최대 16열

한도를 초과하면 시각적 객체가 오른쪽 상단에 알림을 표시합니다.

정렬을 지원하는 모든 시각적 객체 유형을 정렬할 수 있습니다. 시각적 객체 유형이 정렬을 지원하는 경우, 빠른 정렬 옵션이나 필드 모음을 사용하여 정렬할 수 있습니다.

**차원 및 측정값을 빠르게 정렬**
+ 다음 중 하나를 수행하세요.
  + 각 축의 필드 이름 근처에 나타나는 정렬 아이콘을 선택합니다. 직접 쿼리의 경우 이 아이콘은 모든 데이터 유형에 표시됩니다. SPICE의 경우 날짜 및 시간, 숫자, 십진법 데이터 유형에서만 사용할 수 있습니다.
  + 필드 이름을 선택한 다음 메뉴에서 정렬 옵션을 선택합니다. 축에 레이블이 표시되지 않으면 시각적 객체 형식을 점검하여 해당 축이 레이블을 표시하도록 설정되어 있는지 여부를 확인합니다. 표시 레이블은 작은 시각적 객체에 자동으로 숨겨집니다. 레이블을 표시하기에 충분할 만큼 시각적 객체를 크게 만들어야 할 수 있습니다.

**오프 비주얼 지표를 사용하여 정렬**

1. 정렬하려는 시각적 객체로 분석을 엽니다. 시각적 객체 창은 기본적으로 열립니다.

1. 정렬을 지원하는 필드 모음을 선택한 다음 **정렬 기준**, **정렬 옵션**을 선택합니다.

1. **정렬 옵션** 패널에서 특정 필드를 기준으로 정렬하거나 집계를 선택하거나, 오름차순 또는 내림차순으로 정렬하거나 이들을 조합하여 수행합니다.

1. **적용**을 선택해 변경 사항을 저장합니다. 또는 **지우기**를 선택하여 다시 시작하거나 **취소**를 선택하여 돌아가세요.

**필드 모음을 사용하여 정렬**

1. 정렬하려는 시각적 객체로 분석을 엽니다. 시각적 객체 창은 기본적으로 열립니다.

1. 정렬을 지원하는 필드 모음을 선택합니다.

1. 필드 모음 메뉴에서 **정렬**을 선택한 다음 올림차순 또는 내림차순 정렬 순서 아이콘을 선택합니다.

# Amazon Quick Sight에서 테마 사용
<a name="themes-in-quicksight"></a>

Amazon Quick Sight에서 *테마*는 여러 분석 및 대시보드에 적용할 수 있는 설정 모음입니다. Amazon Quick Sight에는 몇 가지 테마가 포함되어 있으며 테마 편집기를 사용하여 직접 추가할 수 있습니다. 사용자 또는 소유자로 설정된 권한 수준으로 테마를 공유할 수 있습니다. 테마에 액세스할 수 있는 모든 사용자는 이 테마를 분석 및 대시보드에 적용하거나 **다른 이름으로 저장**을 사용하여 복사본을 만들 수 있습니다. 테마 소유자는 테마를 편집하고 다른 사용자와 공유할 수도 있습니다.

각 분석에 테마를 하나만 적용할 수 있습니다. (**적용** 버튼을 사용하여) 분석에 테마를 적용하면, 분석 뷰어와 대시보드 뷰어 모두를 대해 테마가 즉시 변경됩니다. 색상 옵션을 적용하지 않은 채 탐색하고 저장하려면 적용된 테마를 편집하고 저장하지 마십시오.

모든 색상은 배경색과 전경색의 쌍으로 제공됩니다. 전경색은 쌍을 이루는 배경색 위에 나타나기 때문에 대비가 잘 되는 색상을 선택하세요.

다음 표에는 여러 가지 설정에 대한 설명이 나와 있습니다.


| Group | 설정 | 설명 | 
| --- | --- | --- | 
|  기본   |  주 배경  | 시각적 객체와 기타 중요 UI에 사용되는 배경색입니다.  | 
|  기본   |  주 전경  | 격자선, 테두리, 테이블 줄무늬, 아이콘 등과 같은 주 배경 영역 위에 나타나는 텍스트 및 기타 전경 요소의 색상입니다.  | 
|  기본   |  보조 배경  |  시트 배경 및 시트 컨트롤에 사용되는 배경색입니다.  | 
|  기본   |  보조 전경  | 보조 배경 위에 나타나는 시트 제목, 시트 컨트롤 텍스트 또는 UI에 사용되는 전경색입니다. | 
|  기본   |  강조  | 이 설정은 다음 요소에 대한 대화형 힌트로 사용됩니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/themes-in-quicksight.html) | 
|  기본   |  강조 전경  | 이 전경색은 강조색 위에 나타나는 텍스트 또는 기타 요소에 적용됩니다. | 
| 기본 | Font | 모든 텍스트에 사용할 글꼴입니다. Amazon Quick Sight에서 지원하는 다양한 글꼴 중에서 선택할 수 있습니다. | 
|  데이터   |  데이터 색상  | 그룹에 색상을 할당할 때 차트가 교체되는 데이터 색상입니다. 이 목록에서 색상을 추가 또는 제거하거나 색상을 선택하여 변경할 수 있습니다. | 
|  데이터   |  최소/최대 그라데이션  | 히트 맵 등에서 배율로 그라데이션이 사용되는 경우 적용할 기본 최소/최대 그라데이션입니다. | 
|  데이터   |  빈 채우기 색상  | 데이터가 없음을 나타내기 위해 데이터 색상과 함께 사용되는 색상입니다. 예를 들어, 이 색상은 핵심 성능 지표(KPI) 및 게이지 차트에 표시되는 진행률 표시줄의 빈 부분 또는 빈 열 지도 셀에 나타납니다. | 
|  레이아웃   |  테두리  | 이 설정은 현재 선택되지 않은 시각적 객체 주위의 테두리를 토글합니다. 선택한 시각적 객체의 테두리에는 계속 강조색이 표시됩니다. | 
|  레이아웃   |  Margin(여백)  | 이 설정은 시트 경계와 시각적 객체 사이의 공백을 토글합니다. | 
|  레이아웃   |  거터  | 이 설정은 격자에서 시각적 객체 사이의 공간을 표시하거나 숨깁니다. | 
|  기타   |  Success  성공 전경  | 이 색상은 성공 메시지(예: 다운로드 성공 확인 표시)에 사용합니다. | 
|  기타   |  경고  경고 전경  | 이 색상은 경고 및 정보 메시지에 사용합니다. | 
|  기타   |  위험  위험 전경  | 이 색상은 오류 메시지에 사용합니다. | 
|  기타   |  측정 기준  차원 전경  | 차원으로 식별되는 필드 이름에 사용되는 색상입니다. 이 옵션은 포함된 대시보드의 필터 패널에 있는 차원의 색상도 설정합니다. | 
|  기타   |  치수  치수 전경  | 치수로 식별되는 필드 이름에 사용되는 색상입니다. 이 색상은 임베디드 대시보드의 필터 패널에 있는 치수에도 사용합니다. | 

**테마 뷰어 및 편집기 간략하게 둘러보기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 분석을 열거나 새 분석을 생성합니다. 테마에 대한 작업을 수행하려면 분석을 열어두어야 합니다. 하지만 테마가 적용된 보기는 미리보기일 뿐입니다.

   테마는 분석과 별개입니다. 테마를 저장하더라도 분석은 변경되지 않습니다.

1. 애플리케이션 표시줄에서 **편집**을 선택한 다음 **테마**를 선택합니다. 테마 패널이 열립니다.

1. 테마 목록에는 다음이 표시됩니다.
   + **적용된 테마**는 이 분석과 해당 대시보드에 현재 적용된 테마를 보여줍니다.
   + **내 테마**는 사용자가 만든 테마 및 사용자와 공유된 테마를 보여줍니다.
   +  **스타터 테마**는 Amazon Quick Sight에서 생성한 테마를 보여줍니다.

1. 각 테마에는 **…** 아이콘에서 액세스할 수 있는 컨텍스트 메뉴가 있습니다.

   각 테마에서 사용할 수 있는 작업은 액세스 수준에 따라 다릅니다.
   + ****테마 소유자**** - 테마를 직접 생성했거나 다른 사용자가 테마를 공유하고 소유자로 만든 경우 다음 작업을 수행할 수 있습니다.
     + **편집** - 테마에 대한 설정을 변경하고 저장합니다.
     + **저장** - 테마에 대한 변경 사항을 저장합니다. 적용된 테마를 편집하고 변경 사항을 저장하면 새 테마 설정이 해당 테마를 사용하는 모든 분석 및 대시보드에 적용됩니다. 적용된 테마를 덮어쓰기 전에 정보 메시지가 표시됩니다.
     + **공유** - 테마를 공유하고 다른 사용자에게 사용자 또는 소유자 권한을 할당합니다.
     + **삭제** - 테마를 삭제합니다. 이 작업을 취소할 수 없습니다. 삭제를 확인하기 전에 정보 메시지가 표시됩니다.
   + ****테마 사용자**** - 누군가 테마를 공유했거나 Amazon Quick Sight 테마인 경우 다음을 수행할 수 있습니다.
     + **적용** - 테마를 현재 분석에 적용합니다. 이 옵션은 분석에서 생성된 대시보드에도 테마를 적용합니다. 적용된 테마를 덮어쓰기 전에 정보 메시지가 표시됩니다.
     + **다른 이름으로 저장** - 현재 테마를 편집할 수 있도록 다른 이름으로 저장합니다.
   + ****분석 작성자**** - 분석에 대한 액세스 권한이 있지만 테마에 대한 액세스 권한은 없는 경우 다음 작업을 수행할 수 있습니다.
     + 테마가 적용된 분석을 볼 수 있습니다.
     + **테마** 패널에서 테마를 볼 수 있습니다.
     + **다른 이름으로 저장**을 사용하여 테마의 복사본을 생성할 수 있습니다.
   + ****대시보드 최종 사용자**** - 대시보드에 대한 액세스 권한이 있지만 테마에 대한 액세스 권한은 없는 경우 다음 작업을 수행할 수 있습니다.
     + 테마가 적용된 대시보드를 볼 수 있습니다.
     + 테마 또는 해당 설정을 볼 수 없습니다. 대시보드 사용자는 **테마** 패널을 볼 수 없습니다.

1. 테마 설정을 살펴보려면 왼쪽에 있는 아이콘을 선택하여 색상에 대한 설정을 확인합니다.

다음 절차에서는 테마를 생성하는 과정을 안내합니다. 기존 분석 또는 분석 복사본을 시작하여 색상을 미리 보는 데 사용할 수 있습니다. 또는 새 분석을 시작할 수도 있습니다. 테마를 저장한 후 현재 분석이나 다른 분석에 적용할 수 있습니다. 테마를 공유하면 다른 사용자도 사용할 수 있습니다.

**테마 편집기를 사용하려면**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 분석을 열거나 새 분석을 생성합니다. 애플리케이션 표시줄에서 **편집**을 선택한 다음 **테마**를 선택합니다. **테마** 패널이 열립니다.

   테마에 대한 작업을 수행하려면 분석을 열어두어야 합니다. 하지만 테마가 적용된 보기는 미리보기일 뿐입니다. 테마는 분석과 별개입니다. 테마를 저장하더라도 분석은 변경되지 않습니다.

1. **기본**을 선택합니다. 이러한 각 설정에 사용되는 색상 선택기는 Amazon Quick Sight 전체에서 사용되는 표준 선택기입니다.

   시각적 객체 및 기타 중요 UI에 사용할 **주 배경** 및 **주 전경** 색상을 설정합니다.

   시트 및 시트 컨트롤에 사용할 **보조 배경** 및 **보조 전경** 색상을 설정합니다.

   버튼, 선택한 시각적 객체 주위의 테두리, 로딩 표시기, 내레이션 사용자 지정, 링크, 포함된 대시보드의 필터 창 등 대화식 힌트에 사용할 **강조** 및 **강조 전경** 색상을 설정합니다.

1. **데이터**를 선택합니다.

   데이터 색상으로 사용할 **색상**을 설정합니다. 색상을 할당할 때 차트가 이러한 색상으로 교체됩니다. 색상을 추가 또는 삭제하거나 끌어 놓기를 사용하여 색상 순서를 변경할 수 있습니다. 기존 색상을 변경하려면 색상 편집기를 선택하여 엽니다.

   열 지도 등에 그라데이션을 배율로 사용할 때 적용할 **최소/최대 그라데이션** 색상을 설정합니다.

   데이터가 없음(예: 진행률 표시줄의 빈 부분)을 나타내는 데 사용할 **빈 칸 채우기** 색상을 설정합니다.

1. **레이아웃**을 선택합니다.

   현재 선택되지 않은 시각적 객체 주위의 테두리를 표시하거나 숨기려면 **테두리** 확인란을 활성화하거나 비활성화합니다.

   시트 경계와 시각적 객체 사이의 공백을 표시하거나 숨기려면 **여백** 확인란을 활성화하거나 비활성화합니다.

   격자에서 시각적 객체 사이의 공백을 표시하거나 숨기려면 **거터** 확인란을 활성화하거나 비활성화합니다.

1. **기타**를 선택합니다.

   성공 메시지((예: .csv 파일을 성공적으로 다운로드한 경우)에 사용할 **성공** 색상을 설정합니다. 성공 전경색은 현재 사용되지 않습니다.

   경고 및 정보 메시지에 사용할 **경고** 색상을 설정합니다. 경고 전경색은 현재 사용되지 않습니다.

   오류 메시지에 사용할 **위험** 색상을 설정합니다. 위험 전경색은 현재 사용되지 않습니다.

   차원으로 식별되는 필드 이름에 사용할 **차원**] 색상을 설정합니다. 이 옵션은 포함된 대시보드의 필터 패널에 있는 차원의 색상도 설정합니다.

   치수로 식별되는 필드 이름에 사용할 **치수** 색상을 설정합니다. 이 옵션은 포함된 대시보드의 필터 패널에 있는 치수의 색상도 설정합니다.

1. 테마를 저장하려면 **기본**을 선택하고 새 테마의 이름을 지정한 다음 브라우저 오른쪽 위에 있는 **저장**을 선택합니다.

   테마를 저장해도 테마가 분석에 적용되지 않으며, 현재 분석을 사용하는 색상의 미리보기만 볼 수 있습니다.

1. 테마를 공유하려면 보고 있는 테마를 저장하거나 닫습니다. 테마 컬렉션에서 테마를 찾습니다. 컨텍스트 메뉴(...) 에서 **공유**를 선택합니다.

1. 테마를 적용하려면 보고 있는 테마를 저장하거나 닫습니다. 테마 컬렉션에서 테마를 찾습니다. 컨텍스트 메뉴(...) 에서 **적용**을 선택합니다.

# 키보드 바로 가기를 사용하여 Amazon Quick Sight에 액세스
<a name="quicksight-accessibility"></a>

다음 키보드 바로 가기를 사용하여 Amazon Quick Sight 대시보드 또는 분석을 탐색할 수 있습니다.
+ `TAB` 키를 사용하여 메뉴 옵션 또는 시각적객체를 탐색할 수 있습니다.
+ `Shift+TAB` 키를 사용하여 이전 선택 항목으로 뒤로 이동할 수 있습니다.
+ `Enter` 키를 사용하여 시각적 객체 또는 메뉴 옵션을 선택합니다.
+ `ESC` 키를 사용하여 시각적 항목이나 메뉴 항목에서 선택 항목을 지울 수 있습니다.

![\[alt_text\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/keyboard-shortcuts-1.gif)


## 시각적 객체 내에서 단축키 사용
<a name="in-visual-shortcuts"></a>

`TAB` `Shift+TAB`, 및 `Enter` 키를 사용하여 선택한 시각적 객체 내에서 다른 필드를 탐색하고 선택할 수 있습니다. 예를 들어 비주얼 제목의 일부인 링크를 사용하고 싶다고 가정해 보겠습니다. 이렇게 하려면 원하는 비주얼을 선택한 다음 링크만 선택될 때까지 `TAB` 키를 사용합니다. 그런 다음 `Enter` 키를 사용하여 링크를 클릭합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/keyboard-shortcuts-2.gif)


이 키보드 단축키를 사용하여 비주얼의 오른쪽 상단에 있는 시각적 객체 메뉴를 탐색하고 입력할 수도 있습니다. 이렇게 하려면 원하는 비주얼을 선택하고 `TAB` 키를 사용하여 선택하려는 필드로 이동합니다. 원하는 필드를 놓친 경우 `Shift+TAB` 키를 사용하여 필드로 돌아가십시오.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/keyboard-shortcuts-3.gif)


# 대시보드 및 보고서를 사용하여 Amazon Quick Sight에서 데이터 공유 및 구독
<a name="working-with-dashboards"></a>

*대시보드*는 보고 목적으로 다른 Amazon Quick Sight 사용자와 공유할 수 있는 분석의 읽기 전용 스냅샷입니다. 대시보드에는 필터링 및 파라미터, 컨트롤, 정렬 순서 등 분석을 생성할 당시의 구성 정보가 보존되어 있습니다. 단, 분석에 사용한 데이터는 대시보드에 포함하여 캡처하지 않습니다. 분석에 사용한 데이터 세트의 최신 데이터가 대시보드를 볼 때 대시보드에 반영됩니다.

대시보드를 공유할 때 원하는 사용자를 지정하여 액세스를 허용할 수 있습니다. 대시보드를 볼 수 있는 최종 사용자는 대시보드 데이터를 보고 필터링할 수 있습니다. 사용자가 대시보드를 보는 동안 적용한 필터, 컨트롤, 분류 등 선택 사항은 해다 사용자가 대시보드를 보는 동안만 존재하며, 닫은 뒤에는 저장되지 않습니다. 대시보드 소유자인 사용자는 대시보드를 편집 및 공유할 수 있으며, 선택에 따라 분석에 대해 편집하거나 공유할 수 있습니다. 이들이 데이터 세트 또한 편집 및 공유할 수 있도록 만들기 위해 분석에서 이를 설정할 수 있습니다.

엔터프라이즈 버전을 사용하는 경우에는 공유 대시보드를 웹 사이트 또는 앱에 임베딩할 수 있습니다. 임베디드 대시보드에 대한 자세한 내용은 [Amazon Quick Sight에 대한 임베디드 분석](embedded-analytics.md) 단원을 참조하세요.

다음 섹션을 사용하여 대시보드를 게시 및 공유하고, 임계값 알림을 구독하고, 대시보드 이메일 보고서를 전송 및 구독하는 방법을 알아보세요.

**Topics**
+ [대시보드 게시](creating-a-dashboard.md)
+ [Amazon Quick Sight 대시보드 공유](sharing-a-dashboard.md)
+ [대시보드 시각적 객체에서 빠른 작업 커넥터 사용](action-connectors-in-dashboard-visuals.md)
+ [Amazon Quick Sight 대시보드 보기 공유](share-dashboard-view.md)
+ [이메일로 Quick Sight 보고서 예약 및 전송](sending-reports.md)
+ [Amazon Quick Sight에서 이메일 보고서 구독](subscribing-to-reports.md)
+ [Amazon Quick Sight에서 임계값 알림 작업](threshold-alerts.md)
+ [대시보드 또는 분석 인쇄](printing1.md)
+ [Amazon Quick Sight 분석 또는 대시보드를 PDFs로 내보내기](export-dashboard-to-pdf.md)
+ [실패한 PDF 내보내기 작업의 오류 코드](qs-reports-error-codes.md)
+ [Amazon Quick Sight의 폴더로 자산 구성](folders.md)

# 대시보드 게시
<a name="creating-a-dashboard"></a>

분석을 게시하면 해당 분석은 Amazon Quick 계정의 사용자 또는 경우에 따라 계정에 없는 익명 사용자가 공유하고 상호 작용할 수 있는 대시보드가 됩니다. 분석 시트 하나를 게시하거나, 분석 중인 모든 시트를 게시하거나, 원하는 다른 시트 조합을 게시하도록 선택할 수 있습니다. 대화형 시트를 게시하면, 해당 시트가 사용자가 상호 작용할 수 있는 대화형 대시보드가 됩니다. 픽셀 완성 보고서 시트를 게시하면 Amazon Quick Sight에서 보고서를 예약할 때 보고서 데이터의 스냅샷을 생성하고 저장하는 픽셀 완성 보고서가 시트가 됩니다. 동일한 분석에서 대화형 시트와 픽셀 완성 보고서의 조합을 포함하는 대시보드를 게시할 수 있습니다.

보고서 예약에 대한 자세한 내용은 [이메일로 Quick Sight 보고서 예약 및 전송](sending-reports.md) 단원을 참조하세요.

보고서 스냅샷 보기에 대한 자세한 내용은 [Amazon Quick Sight에서 픽셀 완성 보고서 사용](qs-reports-consume-reports.md) 단원을 참조하세요.

대시보드를 게시하고, 선택에 따라 공유하려면 다음 절차를 따르십시오. 이 절차를 사용하여 게시된 대시보드의 이름을 바꿀 수도 있습니다. 이름이 바뀐 대시보드에는 보안 및 이메일로 전송된 보고서 설정이 유지됩니다.

1. 사용하려는 분석을 여십시오. **게시**를 선택합니다.

1. 다음 중 하나를 수행하세요.
   + 새 대시보드를 생성하려면 **새 대시보드**를 선택한 다음 대시보드 이름을 입력하세요.
   + 기존 대시보드를 바꾸려면 다음 중 하나를 수행하십시오. 대시보드를 교체하면 보안 또는 이메일 보고서 설정을 변경하지 않고 대시 보드가 업데이트됩니다.
     + 변경 사항으로 업데이트하려면 **기존 대시보드 바꾸기**를 선택한 다음 목록에서 대시보드를 선택하십시오.
     + 이름을 바꾸려면 **기존 대시보드 바꾸기**를 선택하고 목록에서 대시 보드를 선택한 다음 연필 아이콘을 선택하세요. 새 이름을 입력하여 기존 대시보드의 이름을 바꾸고 확인 표시를 클릭하거나 Enter 키를 눌러 확인하세요. 이름을 바꾼 후 대시보드를 게시하면 분석에 대한 변경 내용도 저장됩니다. 분석 또는 대시보드에 대한 변경 내용은 **게시**할 때까지 지속되지 않습니다. 이름을 바꾸려면 대시보드의 초기 버전을 게시해야 합니다.

1. (선택 사항) **시트** 드롭다운에서 게시하려는 시트를 선택합니다. 새 대시보드에 추가할 시트를 선택하면, 게시를 위해 선택한 시트 수가 드롭다운에 표시됩니다. 기본 옵션은 **모든 시트 선택**입니다.

   기존 대시보드를 바꿀 때 이전에 게시한 적이 없는 분석에서 게시하는 경우가 아니라면 기존 대시보드에 이미 게시된 시트가 드롭다운에서 미리 선택됩니다. 드롭다운 목록에서 시트를 선택하거나 선택 취소하여 이를 변경할 수 있습니다.

1. (선택 사항) 메모 섹션에 변경 내용에 대한 설명을 추가하세요. 이 설명은 [버전 기록](publishing-a-previous-dashboard-version.md)에서 볼 수 있습니다.

1. (선택 사항) 대시보드 독자가 데이터 스토리를 공유하도록 허용하려면 **데이터 스토리 공유 허용**을 선택합니다. 데이터 스토리에 대한 자세한 정보는 [Amazon Quick Sight에서 데이터 스토리 작업](working-with-stories.md) 섹션을 참조하세요.

1. (선택 사항) **추가 설정**을 여세요. 이러한 옵션은 새 대시보드에서 하나 이상의 시트가 대화형 시트인 경우에만 사용할 수 있습니다.
**참고**  
스크롤 가능한 창입니다. **대시보드 게시** 창에서 아래로 스크롤하여 사용 가능한 모든 옵션을 봅니다.

   다음과 같이 이 대시보드에 대한 환경을 단순화하기 위해 끌 수 있는 몇 가지 옵션이 있습니다.
   + **대시보드 옵션**의 경우:
     + 단순화된 보기를 표시하려면 **기본적으로 on-sheet 제어 확장**을 선택 취소한 상태로 둡니다. 이 옵션은 기본적으로 비활성화되어 있습니다. 기본적으로 해당 제어를 표시하려면 이 옵션을 켭니다.
     + 대시보드 뷰어가 데이터를 직접 필터링할 수 있는 기능을 제거하려면 **왼쪽 창에서 고급 필터링 활성화**의 선택을 취소합니다. 자체 필터를 생성하는 경우 필터는 사용자가 대시보드를 보는 동안에만 존재합니다. 필터를 저장하거나 재사용할 수 없습니다.
     + **포인터 가리키기 툴팁 활성화**의 선택을 취소하여 도구 설명을 끕니다.
   + **시각적 객체 옵션**의 경우:
     + 시각적 객체 메뉴를 모두 끄려면 **시각적 객체 메뉴 활성화**의 선택을 취소합니다.
     + 대시보드 뷰어가 대시보드의 시각적 객체에서 데이터를 다운로드할 수 있어야 할 필요가 없는 경우 **다운로드 옵션 활성화**의 선택을 취소합니다. CSV 파일에는 현재 시각 파일을 다운로드할 때 표시되는 내용만 포함됩니다. 뷰어는 각 개별 시각적 객체에서 온 스크린 메뉴를 사용하여 데이터를 다운로드합니다.
     + 시각적 객체를 확대하여 화면을 채우는 기능을 끄려면 **시각적 객체 최대화 옵션 활성화**의 선택을 취소합니다.
   + **데이터 포인트 옵션**의 경우:
     + 대시보드가 드릴 가능한 필드 계층 구조를 제공하지 않는 경우 **드릴업/드릴다운 활성화**의 선택을 취소합니다.
     + 독자가 데이터 포인트를 선택(클릭)할 때 나타나는 도구 설명을 끄려면 **클릭 시 툴팁 활성화**의 선택을 취소합니다.
     + 정렬 제어를 끄려면 **정렬 옵션 활성화**의 선택을 취소합니다.

1. **대시보드 게시**를 선택합니다.

   기존 대시보드의 이름을 바꾼 경우 화면 상단이 새로 고침되어 새 이름이 표시됩니다.

1. (선택 사항) 다음 중 하나를 수행하십시오.
   + 공유 없이 대시보드를 게시하려면 **사용자와 대시보드 공유** 화면의 상단 오른쪽에서 나타날 때 **x**를 선택합니다. 나중에 언제든지 애플리케이션 표시줄에서 **공유**를 선택하여 대시보드를 공유할 수 있습니다.
   + 대시보드를 공유하려면 [Amazon Quick Sight 대시보드 공유](sharing-a-dashboard.md)의 절차를 따르세요.

   이 단계를 완료하면 대시보드를 생성해 공유할 수 있습니다. 대시보드 구독자는 대시보드에 대한 링크가 포함된 이메일을 받습니다. 그룹은 초대 이메일을 받지 않습니다.

# Amazon Quick Sight 대시보드 복사
<a name="copying-a-dashboard"></a>

기존 대시보드에 대한 공동 소유자 액세스 권한 또는 **다른 이름으로 저장** 권한이 있는 경우, 대시보드를 복사할 수 있습니다. 이렇게 하려면, 대시보드에서 새 분석을 만든 다음 복사한 분석을 사용하여 새 대시보드를 만드십시오.

원래의 대시보드를 새 분석으로 저장한 후, 새 분석을 다른 사용자와 공유하여 분석에 대하여 협업할 수 있습니다. 예를 들어, 이 워크플로우를 사용하여 프로덕션 버전의 대시보드를 보존하면서 또한 새로운 버전의 대시보드를 개발하거나 테스트할 수도 있습니다.

**대시보드 복사**

1. Quick에 로그인하고 홈페이지에서 **대시보드**를 선택합니다.

1. 복제하려는 대시보드를 엽니다.

1. 오른쪽 상단의 **다른 이름으로 저장**을 선택한 다음, 새 분석에 대한 이름을 입력합니다. **다른 이름으로 저장**을 사용하여 기존 대시보드를 저장하면, 해당 대시보드를 바탕으로 분석이 생성됩니다.
**참고**  
**다른 이름으로 저장이** 보이지 않으면, 관리자에게 문의하여 적절한 권한이 있는지 확인하십시오.

1. (선택 사항) 새 분석을 변경합니다.

1. (선택 사항) 다른 사용자와 분석을 공유하여 변경 사항에 대하여 협업할 수 있습니다. 액세스 권한이 있는 모든 사용자는 새 분석을 변경할 수 있습니다.

   분석을 다른 사용자와 공유하려면 페이지 오른쪽 상단에서 **공유**를 선택한 다음 **분석 공유**를 선택합니다.

1. (선택 사항) **공유**를 선택한 다음 **대시보드 게시**를 선택하여 새 분석에 대한 변경 사항과 함께 새 대시보드를 생성합니다.

자세한 내용은 다음을 참조하세요.
+ [Amazon Quick Sight 대시보드 공유](sharing-a-dashboard.md)
+ [Quick Sight 분석 공유](sharing-analyses.md)

# Amazon Quick Sight 대시보드 삭제
<a name="deleting-a-dashboard"></a>

Amazon Quick Sight 대시보드를 삭제하면 계정과 대시보드가 속한 모든 폴더에서 대시보드가 영구적으로 제거됩니다. 삭제된 대시보드에는 더 이상 액세스할 수 없습니다. 소유한 또는 공동 소유한 대시보드만 삭제할 수 있습니다. 대시보드를 삭제하려면 다음 절차에 따르십시오.

**대시보드 삭제**

1. Amazon Quick 홈페이지의 **대시보드** 탭에서 삭제할 대시보드의 세부 정보 아이콘(수직 점 ")을 선택합니다.

1. **삭제**를 선택합니다. 그런 다음 **삭제**를 다시 선택해 대시보드 삭제를 확인합니다. 대시보드를 삭제하면 계정에서 대시보드가 영구적으로 삭제되고, 대시보드가 속해 있던 모든 폴더에서 대시보드가 사라집니다. 삭제된 대시보드를 게시한 분석에서 다른 대시보드에 계속 액세스하고 만들 수 있습니다.

# Amazon Quick Sight 대시보드의 이전 버전 게시
<a name="publishing-a-previous-dashboard-version"></a>

분석을 업데이트하고 게시할 때마다 Amazon Quick Sight 대시보드의 새 버전이 생성됩니다. 대시보드의 이전 버전으로 되돌리려면 대시보드의 **버전 기록**에서 대시보드를 검색하고 관심 있는 이전 버전을 게시할 수 있습니다. 각 대시보드에서는 최대 1,000개의 삭제되지 않은 버전을 저장할 수 있습니다. 다음 절차를 사용하여 대시보드의 이전 버전으로 되돌립니다.

**대시보드의 이전 버전을 게시하는 방법**

1. Amazon Quick 홈페이지의 **대시보드** 탭에서 관리하려는 대시보드를 선택합니다.

1. 오른쪽 도구 모음에서 **버전 기록**을 선택하세요. 현재 게시된 대시보드 버전과 사용 가능한 이전 버전이 목록에 표시됩니다. 메모 섹션에 추가된 모든 설명이 해당 버전과 함께 표시됩니다.

1. 관심 있는 대시보드 버전을 선택하세요. 이 버전이 게시된 시점과 게시한 사용자를 확인할 수 있습니다.

1. 이 버전으로 되돌리려면 **게시**를 선택하세요. **확인**을 클릭하여 버전을 게시하세요.

# Amazon Quick Sight 대시보드 공유
<a name="sharing-a-dashboard"></a>

기본적으로 Amazon Quick Sight의 대시보드는 누구와도 공유되지 않으며 소유자만 액세스할 수 있습니다. 그러나 대시보드를 게시한 후에는 Amazon Quick 계정의 다른 사용자 또는 그룹과 공유할 수 있습니다. 또한 빠른 계정의 모든 사용자와 대시보드를 공유하고 계정의 모든 사용자가 빠른 홈페이지에 대시보드를 표시하도록 선택할 수 있습니다. 또한 대시보드 링크를 복사하여 대시보드에 액세스할 수 있는 다른 사용자와 공유할 수 있습니다.

**중요**  
대시보드에 액세스할 수 있는 사용자는 관련 분석에서 사용한 데이터를 볼 수 있습니다.

대시보드를 공유하고 나면, 그 대시보드에 대한 액세스 권한이 있고 가지고 있는 액세스 유형을 제어하는 다른 사용자 또는 그룹을 검토할 수 있습니다. 모든 사용자의 대시보드 액세스 권한을 취소할 수 있습니다. 자신을 삭제할 수도 있습니다.

대시보드 또는 시각적 임베드 코드를 복사한 후 애플리케이션에 붙여넣는 방법으로 대화형 대시보드 및 시각적 객체를 웹 사이트 및 앱에 내장할 수도 있습니다. 자세한 내용은 [원클릭 임베드 코드를 사용하여 등록된 사용자를 위한 Amazon Quick Sight 시각적 객체 및 대시보드 임베딩](embedded-analytics-1-click.md) 단원을 참조하십시오.

# 대시보드 액세스 권한 부여
<a name="share-a-dashboard"></a>

대시보드 및 시각적 객체를 계정의 특정 사용자 또는 그룹 또는 Amazon Quick 계정의 모든 사용자와 공유할 수 있습니다. 또는 인터넷상의 누구와도 공유할 수 있습니다. Quick 콘솔 또는 Quick Sight API를 사용하여 대시보드와 시각적 객체를 공유할 수 있습니다. 공유된 시각적 객체에 대한 액세스는 시각적 객체가 속한 대시보드에 구성된 공유 설정에 따라 달라집니다. 시각적 객체를 웹 사이트 또는 애플리케이션에 공유하고 내장하려면 해당 시각적 객체가 속한 대시보드의 공유 설정을 조정하세요. 자세한 내용은 다음을 참조하세요.
+ [개별 Amazon Quick Sight 사용자 및 그룹에 Amazon Quick Sight의 대시보드에 대한 액세스 권한 부여](share-a-dashboard-grant-access-users.md)
+ [Amazon Quick Sight 계정의 모든 사용자에게 대시보드에 대한 액세스 권한 부여](share-a-dashboard-grant-access-everyone.md)
+ [인터넷상의 모든 사용자에게 Amazon Quick Sight 대시보드에 대한 액세스 권한 부여](share-a-dashboard-grant-access-anyone.md)
+ [Quick Sight API를 사용하여 Amazon Quick 계정의 모든 사용자에게 대시보드에 대한 액세스 권한 부여](share-a-dashboard-grant-access-everyone-api.md)
+ .[Quick Sight API를 사용하여 인터넷상의 모든 사용자에게 Amazon Quick Sight 대시보드에 대한 액세스 권한 부여](share-a-dashboard-grant-access-anyone-api.md)

# 개별 Amazon Quick Sight 사용자 및 그룹에 Amazon Quick Sight의 대시보드에 대한 액세스 권한 부여
<a name="share-a-dashboard-grant-access-users"></a>

대시보드에 대한 사용자 액세스 권한을 부여하려면 다음 절차를 따르세요.

**사용자 또는 그룹에 대시보드에 대한 액세스 권한 부여**

1. 게시된 대시보드를 열고 오른쪽 상단에서 **공유**를 선택합니다. 그런 다음 **대시보드 공유**를 선택합니다.

1. 열리는 **대시보드 공유** 페이지에서 다음을 수행하세요.

   1. 왼쪽의 **대시보드에 사용자 및 그룹 초대**의 경우 검색 상자에 사용자 이메일 또는 그룹 이름을 입력합니다.

      검색어와 일치하는 모든 사용자 또는 그룹이 검색 상자 아래 목록에 표시됩니다. 활성 사용자 및 그룹만 목록에 표시됩니다.

   1. 대시보드에 대한 액세스 권한을 부여하려는 사용자 또는 그룹의 경우 **추가**를 선택합니다. 그런 다음 그들에게 부여하려는 권한 수준을 선택합니다.

      사용자의 빠른 역할에 따라 **최종** 사용자 또는 **공동 소유자**를 선택할 수 있습니다. 각 역할에 사용할 수 있는 권한은 다음과 같습니다.
      + **독자 **- 빠른 독자에게는 대시보드에 대한 **최종** 사용자 액세스 권한만 부여할 수 있습니다. 대시보드를 보고, 내보내고, 인쇄할 수는 있지만 대시보드를 분석으로 저장할 수는 없습니다. 대시보드 데이터를 보고, 필터링하고, 정렬할 수 있습니다. 또한 대시보드에 있는 제어 또는 사용자 지정 작업을 사용할 수도 있습니다. 대시보드에 적용한 변경 사항은 보고 있는 동안에만 존재하며, 대시보드를 닫은 뒤에 저장되지 않습니다.
      + **작성자** - 빠른 작성자는 대시보드에 대한 **최종** 사용자 또는 **공동 소유자** 액세스 권한을 부여받을 수 있습니다.
        + 뷰어 액세스 권한이 있는 작성자는 대시보드를 보고, 내보내고, 인쇄할 수 있습니다. 대시보드 데이터를 보고, 필터링하고, 정렬할 수 있습니다. 또한 대시보드에 있는 제어 또는 사용자 지정 작업을 사용할 수도 있습니다. 대시보드에 적용한 변경 사항은 보고 있는 동안에만 존재하며, 대시보드를 닫은 뒤에 저장되지 않습니다.

          하지만 대시보드 소유자가 달리 지정하지 않는 한 대시보드를 분석으로 저장할 수 있습니다. 이것은 이들이 새 분석을 생성할 수 있도록 데이터 세트에 읽기 전용 액세스 권한을 부여하는 권한입니다. 소유자에게는 분석에도 동일한 권한을 부여할 수 있는 옵션이 있습니다. 소유자가 원한다면 이들이 데이터 세트 또한 편집 및 공유할 수 있도록, 분석 내에서 이를 설정할 수 있습니다.
        + 공동 소유자 액세스 권한이 있는 작성자는 대시보드를 보고, 내보내고, 인쇄할 수 있습니다. 또한 편집, 공유, 삭제할 수 있습니다. 대시보드 소유자가 달리 지정하지 않는 한 대시보드를 분석으로 저장할 수도 있습니다. 이것은 이들이 새 분석을 생성할 수 있도록 데이터 세트에 읽기 전용 액세스 권한을 부여하는 권한입니다. 소유자에게는 분석에도 동일한 권한을 부여할 수 있는 옵션이 있습니다. 소유자가 원한다면 이들이 데이터 세트 또한 편집 및 공유할 수 있도록, 분석에서 이를 설정할 수 있습니다.
      + **그룹** - 빠른 그룹에는 대시보드에 대한 **최종** 사용자 액세스 권한만 부여할 수 있습니다. 대시보드를 보고, 내보내고, 인쇄할 수는 있지만 대시보드를 분석으로 저장할 수는 없습니다.

      대시보드에 사용자 또는 그룹을 추가하면, **사용자 및 그룹**의 **권한 관리** 섹션에서 해당 사용자 및 그룹에 대한 정보를 볼 수 있습니다. 해당 사용자의 사용자 이름, 이메일, 권한 수준 및 "다른 이름으로 저장" 권한을 확인할 수 있습니다.

      사용자 또는 그룹이 대시보드를 분석으로 저장할 수 있도록 허용하려면 **분석으로 저장** 열에서 **"다른 이름으로 저장" 허용**을 설정합니다.

   1. 대시보드에 사용자를 더 추가하려면 검색 상자에 다른 사용자 이메일이나 그룹 이름을 입력하고 A, B 단계를 반복합니다.

# Amazon Quick Sight 계정의 모든 사용자에게 대시보드에 대한 액세스 권한 부여
<a name="share-a-dashboard-grant-access-everyone"></a>

또는 Amazon Quick Sight 대시보드를 계정의 모든 사용자와 공유할 수 있습니다. 이렇게 하면 개별적으로 액세스 권한이 부여되지 않았고 권한이 할당되지 않았더라도, 계정의 모든 사람이 대시보드에 액세스할 수 있습니다. 대시보드 링크(사용자 공유)가 있거나 대시보드가 내장되어 있으면 대시보드에 액세스할 수 있습니다.

계정 내 모든 사람과 대시보드를 공유해도 이메일 보고서에는 영향을 미치지 않습니다. 예를 들어 대시보드를 계정의 모든 사용자와 공유하기로 선택했다고 가정해봅니다. 또한 동일한 대시보드에 이메일 보고서를 설정할 때 **대시보드에 액세스할 수 있는 모든 사용자에게 이메일 보고서 보내기**를 선택한다고 가정해 보겠습니다. 이 경우 대시보드에 액세스할 수 있는 사용자에게만 이메일 보고서가 전송됩니다. 대시보드는 데이터를 명시적으로 공유하는 사람, 그룹 또는 공유 폴더를 통해 액세스 권한을 받습니다.

**계정의 모든 사용자에게 대시보드 액세스 권한 부여**

1. 게시된 대시보드를 열고 오른쪽 상단에서 **공유**를 선택합니다. 그런 다음 **대시보드 공유**를 선택합니다.

1. 열린 **대시보드 공유** 페이지에서, 왼쪽 하단의 **액세스 활성화**에서 **이 계정의 모든 사용자**를 선택합니다. Active Directory로 로그인하는 계정은 **이 계정의 모든 사용자** 전환에 액세스할 수 없습니다. Active Directory를 사용하는 계정은 `UpdateDashboardPermissions` API 호출을 통해 이 설정을 활성화할 수 있습니다. 에 대한 자세한 내용은 Amazon Quick Sight API `UpdateDashboardPermissions`참조의 [UpdateDashboardPermissions](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_UpdateDashboardPermissions.html)를 참조하세요. ** 

1. (선택 사항) **Quick Sight에서 검색 가능**을 켭니다.

   계정의 모든 사람과 대시보드를 공유하면 소유자는 Quick Sight에서 대시보드를 검색할 수 있도록 선택할 수도 있습니다. 검색 가능한 대시보드는 **대시보드** 페이지에 있는 모든 사용자의 대시보드 목록에 표시됩니다. 이 옵션을 켜면 계정의 모든 사용자가 대시보드를 보고 검색할 수 있습니다. 이 옵션을 끄면 링크가 있거나 링크가 내장되어 있는 경우에만 대시보드에 액세스할 수 있습니다. 대시보드는 **대시보드** 페이지에 표시되지 않으며, 사용자는 대시보드를 검색할 수 없습니다.

# 인터넷상의 모든 사용자에게 Amazon Quick Sight 대시보드에 대한 액세스 권한 부여
<a name="share-a-dashboard-grant-access-anyone"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Amazon Quick 콘솔의 **공유** 메뉴에서 인터넷상의 모든 사용자와 Amazon Quick Sight 대시보드를 공유할 수도 있습니다. 이렇게 하면 대시보드 링크를 공유하거나 대시보드를 포함할 때 빠른 계정에 등록된 사용자가 아니더라도 인터넷상의 모든 사용자가 대시보드에 액세스할 수 있습니다.

다음 섹션을 통해 대시보드를 공유할 때 인터넷 상의 모든 사용자에게 대시보드에 대한 액세스 권한을 부여합니다.

**Topics**
+ [시작하기 전에](share-a-dashboard-grant-access-anyone-prerequisites.md)
+ [인터넷을 사용하는 모든 사용자에게 대시보드에 대한 액세스 권한 부여](share-a-dashboard-grant-access-anyone-access.md)
+ [공개적으로 공유된 대시보드 업데이트](share-a-dashboard-grant-access-anyone-update.md)
+ [퍼블릭 공유 설정 끄기](share-a-dashboard-grant-access-anyone-no-share.md)

# 시작하기 전에
<a name="share-a-dashboard-grant-access-anyone-prerequisites"></a>

대시보드를 인터넷상의 모든 사용자와 공유하려면 다음을 먼저 해야 합니다.

1. 계정에서 세션 용량 가격 책정을 켜세요. 계정에서 세션 용량 가격 책정을 켜지 않은 경우, 계정의 퍼블릭 공유 설정을 업데이트할 수 없습니다.

1. IAM 콘솔에서 관리자에게 퍼블릭 공유 권한을 할당하세요. 새 정책을 사용하여 이러한 권한을 추가하거나 기존 사용자에게 새 권한을 추가할 수 있습니다.

   다음 샘플 정책은 `UpdatePublicSharingSettings`을(를) 사용할 수 있는 권한을 제공합니다.

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": "quicksight:UpdatePublicSharingSettings",
               "Resource": "*",
               "Effect": "Allow"
           }
       ]
   }
   ```

------

   관리자 액세스 권한이 있는 사용자가 이 기능을 사용하는 것을 원하지 않는 계정은 퍼블릭 공유 권한을 거부하는 IAM 정책을 추가할 수 있습니다. 다음 샘플 정책은 `UpdatePublicSharingSettings`을(를) 사용할 수 있는 권한을 부인합니다.

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": "quicksight:UpdatePublicSharingSettings",
               "Resource": "*",
               "Effect": "Deny"
           }
       ]
   }
   ```

------

   Quick Sight에서 IAM을 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[IAM에서 빠른 사용](security_iam_service-with-iam.md).

   조직의 어떤 계정에도 공용 공유 기능을 사용하지 않으려면 "거부" 정책을 서비스 제어 정책(SCP)으로 사용할 수도 있습니다. 자세한 내용은 *AWS Organizations 사용 설명서*의 [서비스 제어 정책(SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)을 참조하세요.

1. Amazon Quick 계정에서 퍼블릭 공유를 켭니다.

   1. Amazon 빠른 시작 페이지에서 브라우저 창의 오른쪽 상단에 있는 사용자 아이콘을 선택한 다음 **빠른 관리를** 선택합니다.

   1. 열리는 페이지에서 권한 섹션까지 아래로 스크롤**합니다**.

   1. 왼쪽**에서 대시보드에 대한 퍼블릭 액세스를** 선택합니다.

   1. 열리는 페이지에서 **인터넷에 접속하는 모든 사용자**를 선택합니다.

      이 설정을 켜면 선택을 확인하라는 팝업이 나타납니다. 선택을 확인했으면, 링크를 사용하거나 공용 애플리케이션, Wiki 또는 포털에 대시보드를 내장하여 특정 대시보드에 대한 퍼블릭 액세스 권한을 부여하고 해당 대시보드를 다른 사용자와 공유할 수 있습니다.

# 인터넷을 사용하는 모든 사용자에게 대시보드에 대한 액세스 권한 부여
<a name="share-a-dashboard-grant-access-anyone-access"></a>

**인터넷을 사용하는 모든 사용자에게 대시보드에 대한 액세스 권한 부여**

1. 빠른에서 공유하려는 게시된 대시보드를 엽니다. 대시보드의 소유자 또는 공동 소유자여야 합니다.

1. 게시된 대시보드에서 오른쪽 상단의 **공유** 아이콘을 선택한 다음, **대시보드 공유**를 선택합니다.

1. 열린 **대시보드 공유** 페이지에서, 왼쪽 하단의 **액세스 활성화 대상** 섹션에서 **인터넷에 접속하는 모든 사람(공개)**을 선택합니다.

   이 설정을 사용하면 공유 링크를 사용하거나 내장된 상태로 인터넷에 있는 모든 사람과 대시보드를 공유할 수 있습니다. 이 스위치를 켜면 **이 계정의 모든** 사용자 옵션도 자동으로 켜지므로 대시보드가 Quick 계정의 모든 사용자와 공유됩니다. 이 옵션을 원하지 않으면 이 옵션을 끄세요.

1. 표시되는 **퍼블릭 액세스 허용** 팝업에서, `confirm` 상자에 입력하여 선택을 확인한 다음 **확인**을 선택합니다.

대시보드의 액세스 설정을 확인하면 Amazon Quick 콘솔의 대시보드 오른쪽 상단에 주황색 **PUBLIC** 태그가 나타납니다. 또한 Quick Sight 대시보드 페이지의 대시보드에 타일 및 목록 보기로 눈 아이콘이 나타납니다.

참고로 퍼블릭 액세스가 설정된 경우 링크를 사용하거나 내장 코드를 사용하여 내장한 경우에만 대시보드에 액세스할 수 있습니다. 대시보드 링크 공유에 대한 자세한 내용은 [공유 대시보드 링크 공유](share-a-dashboard-share-link.md)을(를) 참조하세요. 인터넷에 있는 모든 사용자를 위해 대시보드를 내장하는 방법에 대한 자세한 내용은 [원클릭 임베드 코드를 사용하여 익명 사용자를 위한 Amazon Quick Sight 시각적 객체 및 대시보드 임베딩](embedded-analytics-1-click-public.md)을(를) 참조하하세요.

# 공개적으로 공유된 대시보드 업데이트
<a name="share-a-dashboard-grant-access-anyone-update"></a>

인터넷상의 모든 사용자가 액세스할 수 있는 공유 대시보드를 업데이트하려면 다음 절차를 수행하세요.

**퍼블릭 대시보드 업데이트**

1. Amazon 빠른 시작 페이지에서 업데이트하려는 대시보드에 연결된 분석을 선택하고 원하는 대로 변경합니다. 분석의 소유자 또는 공동 소유자여야 합니다.

1. 분석에서 **게시**를 선택합니다.

1. 표시되는 팝업에서, **기존 대시보드 바꾸기**를 선택하고 업데이트하려는 퍼블릭 대시보드를 선택합니다.

1. 선택을 확인하려면, `confirm`를 입력하고 **대시보드 게시를** 선택합니다.

   **대시보드 게시**를 선택하면, 새 변경 사항을 반영하여 퍼블릭 대시보드가 업데이트됩니다.

# 퍼블릭 공유 설정 끄기
<a name="share-a-dashboard-grant-access-anyone-no-share"></a>

대시보드의 퍼블릭 공유 설정은 언제든지 끌 수 있습니다. 개별 대시보드 또는 계정의 모든 대시보드에 대한 퍼블릭 공유를 끌 수 있습니다. 시각적 객체 공유 설정은 대시보드 수준에서 결정됩니다. 삽입하려는 시각적 객체가 들어 있는 대시보드에 대한 퍼블릭 공유 설정을 끄면, 사용자가 해당 시각적 객체에 액세스할 수 없게 됩니다.

다음 표에서는 대시보드를 공개적으로 사용할 수 있는 경우의 다양한 시나리오에 대해 설명합니다.


| 계정 수준의 퍼블릭 설정 | 대시보드 수준의 퍼블릭 설정 | 공개 액세스(Public access) | 시각적 지표 | 
| --- | --- | --- | --- | 
|  꺼짐  |  꺼짐  |  꺼짐  |  없음  | 
|  켜짐  |  꺼짐  |  꺼짐  |  없음  | 
|  켜짐  |  켜짐  |  예  |  대시보드에 주황색 배지가 나타나고 **대시보드** 페이지의 대시보드에는 눈 아이콘이 나타납니다.  | 
|  꺼짐  |  켜짐  |  아니요  |  대시보드에 회색 배지가 나타나고 **대시보드** 페이지의 대시보드에는 슬래시와 눈 아이콘이 나타납니다. 대시보드의 퍼블릭 액세스가 취소되는 데 최대 2분이 걸릴 수 있습니다.  | 

**단일 대시보드의 퍼블릭 공유 끄기**

1. Amazon Quick에서 더 이상 공유하지 않으려는 게시된 대시보드를 엽니다. 대시보드의 소유자 또는 공동 소유자여야 합니다.

1. 게시된 대시보드에서 오른쪽 상단의 **공유** 아이콘을 선택한 다음, **대시보드 공유**를 선택합니다.

1. 열린 **대시보드 공유** 페이지에서, 왼쪽 하단의 **액세스 활성화 대상** 섹션에서 **인터넷에 있는 모든 사용자 (공개)** 스위치를 끕니다.

   이 작업을 수행하면 대시보드에 대한 퍼블릭 액세스가 제거됩니다. 이제 공유된 사용자만 액세스할 수 있습니다.

**빠른 사용자 계정의 모든 대시보드에 대한 퍼블릭 공유 설정을 끄려면**

1. Amazon 빠른 시작 페이지에서 브라우저 창의 오른쪽 상단에 있는 사용자 아이콘을 선택한 다음 **빠른 관리를** 선택합니다.

1. 열리는 페이지에서 권한 섹션까지 아래로 스크롤**합니다**.

1. 왼쪽**에서 대시보드에 대한 퍼블릭 액세스를** 선택합니다.

1. 열리는 페이지에서 **인터넷상에 접속하는 모든 사람** 스위치를 끕니다.

   **퍼블릭 공유** 메뉴에서 퍼블릭 공유 설정을 비활성화하면, 선택을 확인하라는 팝업이 나타납니다. **이 변경 사항을 읽었으며 승인합니다**를 선택한 다음 **확인**을 선택하여 선택을 확인합니다.

   이 작업을 수행하면 계정의 모든 대시보드에 대한 퍼블릭 액세스가 제거됩니다. 인터넷상의 모든 사람이 볼 수 있었던 대시보드에는 이제 각 대시보드를 공유한 사용자만 액세스할 수 있습니다. 퍼블릭 설정이 켜져 있는 개별 대시보드에는 회색 배지가 표시되고 **대시보드** 페이지에 나타나는 눈 모양 아이콘에는 계정 수준 퍼블릭 설정이 비활성화되어 대시보드를 볼 수 없음을 나타내는 취소선이 표시됩니다. 대시보드의 퍼블릭 액세스가 취소되는 데 최대 2분이 걸릴 수 있습니다.

세션 용량 요금 구독이 만료되면 계정 전체에서 퍼블릭 공유 설정이 자동으로 제거됩니다. 구독을 갱신하여 퍼블릭 공유 설정에 대한 액세스 권한을 복원하세요.

# Quick Sight API를 사용하여 Amazon Quick 계정의 모든 사용자에게 대시보드에 대한 액세스 권한 부여
<a name="share-a-dashboard-grant-access-everyone-api"></a>


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

또는 `UpdateDashboardPermissions` 작업을 사용하여 Quick Sight API를 사용하여 계정의 모든 사용자에게 대시보드에 대한 액세스 권한을 부여할 수 있습니다.

다음 예제 API 요청은 AWS CLI 명령을 사용하여 이를 수행하는 방법을 보여줍니다. 계정의 대시보드에 대한 링크 권한을 부여하고 다음 `DescribeDashboard`, `QueryDashboard` 및 `ListDashboard` 작업을 허용합니다.

```
aws quicksight update-dashboard-permissions \
--aws-account-id account-id \
--region aws-directory-region \
--dashboard-id dashboard-id \
--grant-link-permissions 
	Principal="arn:aws:quicksight:aws-directory-region:account-id:namespace/default",
	Actions="quicksight:DescribeDashboard, quicksight:QueryDashboard, 
	quicksight:ListDashboardVersions"
```

선행 요청에 대한 응답은 다음과 비슷합니다.

```
{
		"Status": 200,
		"DashboardArn": "arn:aws:quicksight:AWSDIRECTORYREGION:ACCOUNTID:dashboard/
		DASHBOARDID",
		"DashboardId": "DASHBOARDID",
		"LinkSharingConfiguration": {
			"Permissions": [
				{
					"Actions": [
						"quicksight:DescribeDashboard",
						"quicksight:ListDashboardVersions",
						"quicksight:QueryDashboard"
					],
					"Principal": "arn:aws:quicksight:AWSDIRECTORYREGION:ACCOUNTID:namespace/default"
				}
			]
		},
		"Permissions": [
			// other dashboard permissions here
		],
		"RequestId": "REQUESTID"
	}
```

계정의 모든 사용자가 동일한 API 작업을 사용하여 대시보드에 액세스하는 것을 방지할 수도 있습니다. 다음 예제 요청은 CLI 명령을 사용하여 이를 수행하는 방법을 보여줍니다.

```
aws quicksight update-dashboard-permissions \
--aws-account-id account-id \
--region aws-directory-region \
--dashboard-id dashboard-id \
--revoke-link-permissions 
	Principal="arn:aws:quicksight:aws-directory-region:account-id:namespace/default",
	Actions="quicksight:DescribeDashboard, quicksight:QueryDashboard, 
	quicksight:ListDashboardVersions"
```

자세한 내용은 Amazon Quick API 참조의 [UpdateDashboardPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardPermissions.html)를 참조하세요. ** 

빠른 사용자 계정의 모든 사용자에게 대시보드에 대한 액세스 권한이 부여되면 다음 코드 조각이 `eventName` `UpdateDashboardAccess`및의 일부로 AWS CloudTrail 로그에 추가됩니다`eventCategory``Management`.

```
"linkPermissionPolicies": 
	[
		{
			"principal": "arn:aws:quicksight:AWSDIRECTORYREGION:ACCOUNTID:
							namespace/default",
			"actions": 
			[
				"quicksight:DescribeDashboard",
				"quicksight:ListDashboardVersions",
				"quicksight:QueryDashboard"
			]
		}
	]
```

# Quick Sight API를 사용하여 인터넷상의 모든 사용자에게 Amazon Quick Sight 대시보드에 대한 액세스 권한 부여
<a name="share-a-dashboard-grant-access-anyone-api"></a>

또는 `UpdateDashboardPermissions` 작업을 사용하여 Amazon Quick Sight API를 사용하여 인터넷상의 모든 사용자에게 대시보드에 대한 액세스 권한을 부여할 수 있습니다.

시작하기 전에 먼저 계정의 모든 사용자에게 대시보드 액세스 권한을 부여해야 합니다. 자세한 내용은 [Quick Sight API를 사용하여 Amazon Quick 계정의 모든 사용자에게 대시보드에 대한 액세스 권한 부여](share-a-dashboard-grant-access-everyone-api.md) 단원을 참조하십시오.

다음 예제 API 요청은 AWS CLI 명령을 사용하여 인터넷상의 모든 사용자에게 대시보드에 대한 액세스 권한을 부여하는 방법을 보여줍니다. 계정의 대시보드에 대한 링크 권한을 부여하고 다음 `DescribeDashboard`, `QueryDashboard` 및 `ListDashboardVersions` 작업을 허용합니다.

```
aws quicksight update-dashboard-permissions 
--aws-account-id account-id 
--region aws-directory-region
--dashboard-id dashboard-id
--grant-link-permissions 
Principal="arn:aws:quicksight:::publicAnonymousUser/*",
Actions="quicksight:DescribeDashboard, quicksight:QueryDashboard, 
quicksight:ListDashboardVersions"
```

선행 요청에 대한 응답은 다음과 비슷합니다.

```
{
    "Status": 200,
    "DashboardArn": "arn:aws:quicksight:AWSDIRECTORYREGION:ACCOUNTID:dashboard/
    DASHBOARDID",
    "DashboardId": "DASHBOARDID",
    "LinkSharingConfiguration": {
        "Permissions": [
            {
                "Actions": [
                    "quicksight:DescribeDashboard",
                    "quicksight:ListDashboardVersions",
                    "quicksight:QueryDashboard"
                ],
                "Principal": "arn:aws:quicksight:AWSDIRECTORYREGION:ACCOUNTID:namespace/default"
            },
                "Principal": "arn:aws:quicksight:::publicAnonymousUser/*",
                "Actions": [
                    "quicksight:DescribeDashboard",
                    "quicksight:ListDashboardVersions",
                    "quicksight:QueryDashboard"
                ]
            }
        ]
    },
    "Permissions": [
        // other dashboard permissions here
    ],
    "RequestId": "REQUESTID"
}
```

인터넷상의 다른 사용자가 동일한 API 작업을 사용하여 대시보드에 액세스하는 것을 차단할 수도 있습니다. 다음 예제 요청은 CLI 명령을 사용하여 이를 수행하는 방법을 보여줍니다.

```
aws quicksight update-dashboard-permissions \
--aws-account-id account-id \
--region aws-directory-region \
--dashboard-id dashboard-id \
--revoke-link-permissions 
Principal="arn:aws:quicksight:::publicAnonymousUser/*",
Actions="quicksight:DescribeDashboard, quicksight:QueryDashboard, 
quicksight:ListDashboardVersions"
```

자세한 내용은 Amazon Quick API 참조의 [UpdateDashboardPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardPermissions.html)를 참조하세요. ** 

인터넷상의 모든 사용자에게 대시보드에 대한 액세스 권한이 부여되면 다음 코드 조각이 `UpdateDashboardAccess`및 `eventName`의 일부로 AWS CloudTrail 로그에 추가됩니다`eventCategory``Management`.

```
"linkPermissionPolicies": 
	[
		{
			"principal": "arn:aws:quicksight:::publicAnonymousUser/*",
			"actions": 
			[
				"quicksight:DescribeDashboard",
				"quicksight:ListDashboardVersions",
				"quicksight:QueryDashboard"
			]
		}
	]
```

# 공유 대시보드 링크 공유
<a name="share-a-dashboard-share-link"></a>

사용자에게 대시보드 액세스 권한을 부여한 후, 링크를 복사하여 사용자에게 보낼 수 있습니다. 대시보드에 액세스할 수 있는 사람은 누구나 링크에 액세스하여 대시보드를 볼 수 있습니다.

**사용자에게 대시보드 링크 보내기**

1. 게시된 대시보드를 열고 오른쪽 상단에서 **공유**를 선택합니다. 그런 다음 **대시보드 공유**를 선택합니다.

1. 열린 **대시보드 공유** 페이지에서 왼쪽 상단의 **링크 복사**를 선택합니다.

   공유할 링크가 클립보드에 복사됩니다. 다음과 유사하게 표시됩니다.

   `https://quicksight.aws.amazon.com/sn/accounts/accountid/dashboards/dashboardid?directory_alias=account_directory_alias`

   이 대시보드에 액세스할 수 있는 사용자 및 그룹(또는 Quick 계정의 모든 사용자)은 링크를 사용하여 액세스할 수 있습니다. Quick에 처음 액세스하는 경우 계정의 이메일 주소 또는 빠른 사용자 이름 및 암호로 로그인하라는 메시지가 표시됩니다. 로그인하면 대시보드에 액세스할 수 있습니다.

# 공유 대시보드에 대한 액세스 권한이 있는 사용자 보기
<a name="view-users-dashboard"></a>

대시보드에 대한 액세스 권한이 있는 사용자 또는 그룹을 확인하려면 다음 절차를 수행하세요.

1. 게시된 대시보드를 열고 오른쪽 상단에서 **공유**를 선택합니다. 그런 다음 **대시보드 공유**를 선택합니다.

1. 열리는 **대시보드 공유** 페이지의 **권한 관리**에서 사용자 및 그룹, 역할 및 설정을 검토합니다.

   특정 사용자나 그룹을 찾기 위해 오른쪽 상단에 있는 검색란에 이름이나 이름의 일부를 입력해 검색할 수 있습니다. 검색은 대/소문자를 구분하며 와일드카드는 사용할 수 없습니다. 모든 사용자 보기로 돌아가려면 검색어를 삭제합니다.

# 공유 대시보드에 대한 액세스 권한 취소
<a name="revoke-access-to-a-dashboard"></a>

대시보드에 대한 사용자 액세스 권한을 취소하려면 다음 절차를 따르세요.

**대시보드 액세스 권한 취소**

1. 대시보드를 열고 오른쪽 상단에서 **공유**를 선택합니다. 그런 다음 **대시보드 공유**를 선택합니다.

1. 열리는 **대시보드 공유** 페이지의 **권한 관리**에서, 제거하려는 사용자를 찾고 맨 오른쪽에 있는 삭제 아이콘을 선택합니다.

# 대시보드 시각적 객체에서 빠른 작업 커넥터 사용
<a name="action-connectors-in-dashboard-visuals"></a>

## 사전 조건
<a name="action-connectors-in-dashboards-prerequisites"></a>

시작하기 전에 [하나 이상의 작업 커넥터를 생성](builtin-services-integration.md)해야 합니다.

커넥터는 다음 요구 사항을 충족해야 합니다.
+ **사용자 인증** 방법을 사용합니다.
+ 다음 통합 중 하나를 사용합니다.
  + 아틀라시안 Jira 클라우드
  + Microsoft Outlook
  + Microsoft Teams
  + Salesforce
  + ServiceNow
  + Slack

## 대시보드에서 빠른 작업을 활성화하여 작업 커넥터 사용
<a name="enable-quick-actions-on-dashboards"></a>

**대시보드에서 빠른 작업을 활성화하여 작업 커넥터를 사용하려면**

1. 대시보드가 있는 경우 대시보드의 소스 분석으로 이동합니다. 그렇지 않으면 [새 분석을 생성합니다](quickstart-createanalysis.md).

1. **게시**를 선택합니다.

1. **새 대시보드** 또는 **기존 대시보드 교체** 중에서 선택합니다.

1. **대시보드 옵션**에서 **빠른 작업 활성화** 확인란을 선택합니다.

1. **대시보드 게시**를 선택합니다.

## 시각적 객체에서 작업 커넥터 사용
<a name="use-action-connectors-on-visuals"></a>

**시각적 객체에서 작업 커넥터를 사용하려면**

1. **빠른 작업 게시 활성화** 옵션이 켜져 있는 대시보드를 엽니다.

1. 시각적 객체 위에 마우스를 올려 놓습니다.

1. 번개 아이콘을 선택합니다.

1. 지원되는 모든 작업 커넥터 및 작업 목록이 포함된 메뉴가 나타납니다.

1. 목록에서 원하는 작업을 선택합니다.

1. 이전에 커넥터를 사용한 적이 없거나 이전 로그인 자격 증명이 만료된 경우 인증 모달이 나타납니다. 조직에 적합한 자격 증명으로 로그인합니다.

1. 오른쪽 창에 **작업** 양식이 나타납니다.

1. 작업에 포함해야 하는 모든 정보를 입력합니다.

1. 일부 필드에서는 자동 채우기 값을 포함할 수 있습니다. **자동 채우**기를 선택하여 메뉴를 엽니다. 필요한 값을 선택하면 입력한 텍스트에 추가됩니다.
   + **오늘 날짜**: 오늘 날짜를 삽입합니다.
   + **시각적 객체 이름**: 시각적 객체 이름을 삽입합니다.
   + **모두**: 위의 두 항목을 모두 주입합니다.

1. 일부 작업은 첨부 파일을 포함하는 기능을 지원합니다. 선택적으로 시각적 이미지 확인란을 선택하여 이러한 작업과 함께 시각적 객체의 **이미지를** 연결할 수 있습니다.

1. 양식 하단의 작업 버튼을 선택하여 작업을 호출합니다.

## 보안 및 사용자 지정
<a name="dashboard-security-and-customizations"></a>

**사용자 지정 권한/기능 사용자 지정**
+ **작업** 기능: 사용자 또는 역할이 작업 기능 사용 권한이 제한된 경우 작업을 보거나 사용할 수 없습니다.

사용자 지정 권한에 대한 자세한 내용은 [Amazon Quick에서 사용자 지정 권한 프로필 생성을](create-custom-permissions-profile.md) 참조하세요.

**행 수준 보안(RLS)/열 수준 보안(CLS)**
+ RLS 또는 CLS를 사용하는 데이터 세트를 기반으로 하는 시각적 객체에서는 작업을 보거나 사용할 수 없습니다.

RLS에 대한 자세한 내용은 [Amazon Quick에서 행 수준 보안 사용을](row-level-security.md) 참조하세요.

CLS에 대한 자세한 내용은 [열 수준 보안을 사용하여 데이터 세트에 대한 액세스 제한을 참조하세요](row-level-security.md).

**대시보드 게시 옵션**
+ 빠른 작업 활성화
  + **빠른 작업 게시 활성화 옵션이 비활성화된 상태로 게시된 대시보드의 시각적 객체에서는 작업을** 보거나 사용할 수 없습니다.

대시보드 게시 옵션에 대한 자세한 내용은 [대시보드 게시를 참조하세요](creating-a-dashboard.md).

## 제한 사항
<a name="action-connectors-on-dashboard-limitations"></a>

**시각적 이미지 연결 지원**

다음 시각적 객체 유형은 이미지 연결을 지원하지 않습니다.
+ 높은 차트(HTML을 사용하는 경우)
+ ML Insights(HTML을 사용하는 경우)
+ 텍스트 상자 및 인사이트(HTML을 사용하는 경우)
+ 사용자 지정 콘텐츠

**참고**  
이러한 시각적 객체의 경우 **시각적 이미지** 확인란이 UI에 표시되지 않습니다.

# Amazon Quick Sight 대시보드 보기 공유
<a name="share-dashboard-view"></a>

게시된 대시보드와 상호 작용하는 동안, 변경 내용만 포함된 고유한 대시보드 링크를 공유하도록 선택할 수 있습니다. 예를 들어 대시보드의 데이터를 필터링하면, 대시보드를 볼 권한이 있는 다른 사람과 보이는 내용을 공유할 수 있습니다. 이렇게 하면 새 대시보드를 만들지 않고도 사용자가 보는 내용을 볼 수 있습니다.

전송한 링크를 사용하여 다른 사용자가 대시보드 보기에 액세스하면 링크를 만들었을 때와 똑같이 대시보드가 표시됩니다. 사용자가 변경한 모든 파라미터, 필터 또는 컨트롤을 볼 수 있습니다.

**대시보드 보기 공유**

1. 게시된 대시보드를 열고 원하는 대로 변경합니다.

1. 오른쪽 상단에서 **공유**를 선택한 다음 **이 보기 공유**를 선택합니다.

1. 열리는 **링크를 사용하여 공유** 페이지에서 **링크 복사**를 선택합니다.

1. 링크를 이메일이나 IM 메시지에 붙여 넣으면 다른 사람과 공유할 수 있습니다.

   Quick Sight에서 대시보드를 볼 수 있는 권한이 있는 사람만 링크에 액세스할 수 있습니다.

# 이메일로 Quick Sight 보고서 예약 및 전송
<a name="sending-reports"></a>

**중요**  
유럽(스페인)(eu-south-2) 리전의 Amazon Quick Sight는 유럽(아일랜드)(eu-west-1)의 내부 이메일 서비스(Amazon SES)를 사용하여 Quick Sight 사용자에게 이메일을 보냅니다. 예약된 보고서, 알림 및 기타 기능에 포함된 고객 데이터는 Quick Sight 사용자에게 도달하기 전에 유럽(스페인)에서 유럽(아일랜드)으로 이메일을 통해 전달됩니다.  
개인 정보 보호 조치로 이메일에서 고객 데이터를 전송하는 다음 기능은 기본적으로 제한되거나 비활성화됩니다.  
예약된 보고서 이메일의 첨부 파일 및 시트 미리 보기. [다운로드 링크 옵션](https://docs.aws.amazon.com/quicksuite/latest/userguide/email-reports-from-dashboard)은 기본값입니다.
임계치 알림을 사용하는 이메일.
이상 탐지 알림.
 AWS 개인 정보 보호 기능에 대한 자세한 내용은 [서비스의 개인 정보 보호 기능을 참조하세요 AWS](https://aws.amazon.com/compliance/privacy-features/).

Enterprise Edition에서는 한 번 또는 예약(매일, 매주, 매달, 매년)으로 대시보드를 보고서 형식으로 전송할 수 있습니다. Amazon Quick 구독을 공유하는 사용자 또는 그룹에 보고서를 이메일로 보낼 수 있습니다. 이메일 보고서를 받아보려면 사용자 또는 그룹 구성원이 다음 조건에 부합해야 합니다.
+ 빠른 구독의 일부입니다.
+ 이미 이들과 대시보드를 공유했습니다.
+ Amazon Quick Sight는 5,000명 이상의 멤버에게 예약된 이메일을 보낼 수 없습니다.

Amazon Quick Sight는 대시보드에 정의된 데이터 권한을 기반으로 각 사용자 또는 그룹에 대한 사용자 지정 이메일 스냅샷을 생성합니다. 이메일 보고서의 행 수준 보안(RLS), 열 수준 보안(CLS) 및 동적 기본 파라미터는 예약 이메일과 임시 (일회성) 이메일 모두에 사용할 수 있습니다.

빠른 작성자는 빠른 콘솔의 **지금 보고** 버튼 또는 [https://docs.aws.amazon.com//quicksight/latest/APIReference/API_StartDashboardSnapshotJobSchedule.html](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_StartDashboardSnapshotJobSchedule.html) API를 사용하여 예약된 보고서를 실행할 수 있습니다.

독자인 구독자가 대시보드에서 이메일 보고서를 이용할 수 있게 되면 대시보드의 **보고서**에 선택 사항이 보입니다. **일정** 메뉴에서 이메일 구독 또는 구독 해지를 할 수 있습니다. 자세한 내용은 [Amazon Quick Sight에서 이메일 보고서 구독](subscribing-to-reports.md) 단원을 참조하십시오.

각 대시보드에 대해 최대 다섯 개의 일정을 만들 수 있습니다.

Quick Sight 대시보드 뷰어는 Quick Sight 대시보드에서 자체 보고서를 예약할 수도 있습니다. 리더 생성 보고서에 대한 자세한 내용은 [Amazon Quick Sight에서 리더 생성 보고서 생성](reader-scheduling.md) 섹션을 참조하세요.

다음 주제를 통해 이메일 보고서 설정 및 보고서 결제에 대해 자세히 알아봅니다.

**Topics**
+ [Quick Sight 대시보드에 대한 이메일 보고서 설정 구성](email-reports-from-dashboard.md)
+ [이메일 보고서의 결제 작동 방식](sending-reports-billing-info.md)

# Quick Sight 대시보드에 대한 이메일 보고서 설정 구성
<a name="email-reports-from-dashboard"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 

Amazon Quick Enterprise 에디션에서는 대시보드의 모든 시트에서 보고서를 이메일로 보낼 수 있습니다. 대화형 대시보드 및 픽셀 완성 보고서 시트에서 보고서를 보낼 수 있습니다. 일정에는 이메일을 보낼 시기, 포함할 내용, 이메일을 받는 사람에 대한 설정이 포함됩니다. 샘플 보고서와 보고서에 사용된 데이터 세트 목록을 볼 수 있습니다. 대시보드에서 전송된 일정을 설정하거나 변경하려면, 대시보드의 소유자 또는 공동 소유자인지 확인하세요.

대시보드에 액세스할 수 있는 경우, 대시보드 보기를 열어 구독 옵션을 변경할 수 있습니다. 이 작업이 이루어지는 과정에 대한 자세한 내용은 [Amazon Quick Sight에서 이메일 보고서 구독](subscribing-to-reports.md) 단원을 참조하세요.

이메일 보고서에 사용할 수 있는 예약 옵션은 다음과 같습니다.
+ **1회(반복 없음)** - 선택한 날짜와 시간에 한 번만 보고서를 전송합니다.
+ **일별** — 선택한 시간에 매일 반복합니다.
+ **주별** — 선택한 시간에 같은 날 또는 요일에 매주 반복합니다. 이 옵션을 사용하여 격주 또는 3주와 같은 주간 간격으로 보고서를 전송할 수도 있습니다.
+ **월별** — 선택한 시간에 매월 같은 날에 반복합니다. 이 옵션을 사용하여 매월 두 번째 수요일 또는 마지막 금요일과 같은 특정 날짜에 보고서를 보낼 수도 있습니다.
+ **매년** - 선택한 시간에 선택한 달의 또는 월별로 같은 날 매년 반복합니다. 이 옵션을 사용하여 선택한 달의 특정 날짜 또는 날짜 세트에 대한 보고서를 보낼 수도 있습니다. 예를 들어, 매년 1월, 3월, 9월의 첫 번째 월요일, 7월 14일 또는 2월, 4월, 6월 둘째 날에 보내도록 보고서를 구성할 수 있습니다.
+ **사용자 지정** - 비즈니스 요구 사항에 가장 적합한 예약 보고서를 직접 구성하세요.

보고서 제목, 선택적 이메일 제목 및 본문을 사용자 지정할 수 있습니다.

액세스 권한이 있는 모든 사람이 사본을 받도록 보고서를 구성할 수 있지만, 일반적으로 이 방법이 가장 좋은 방법은 아닙니다. 자동 이메일, 특히 그룹으로 보내는 이메일을 제한하는 것이 좋습니다. 액세스 목록에서 특정 사람을 선택하여 소수의 구독자부터 시작할 수 있습니다. 다른 사용자를 구독하도록 하기 전에 회사 정책을 확인하세요.

다음과 같은 방법으로 보고서 구독에 사람을 직접 추가할 수 있습니다.
+ (추천 방법) 주어진 액세스 목록에서 수신자를 선택하여 지정하고 이메일 보고서를 보낼 사람 목록을 유지합니다. 검색 상자를 이용하여 사용자를 이메일 또는 그룹 이름으로 찾을 수 있습니다.
+ 모든 대시보드 구독자에게 보고서를 보내려면, 메시지가 표시될 때 **대시보드 액세스 권한이 있는 모든 사용자에게 이메일 보고서 보내기**를 선택합니다.

이메일을 받고 싶은 사람은 누구나 대시보드를 열고 구독 옵션을 설정하여 옵트인 또는 옵트아웃을 선택할 수 있습니다.

**중요**  
대시보드를 새 Quick 사용자 이름 또는 그룹과 공유하면 자동으로 이메일 보고서 수신을 시작합니다. 이런 일이 발생하지 않도록 하려면, 대시보드에 사람을 추가할 때마다 보고서 설정을 편집해야 합니다.

기존 이메일 일정의 경우 변경하는 동안 Amazon Quick Sight에서 일정을 일시 중지할 수 있습니다. **일정** 창에서 각 보고서 아래에 나타나는 토글을 사용하여 예약된 보고서를 일시 중지하거나 재개할 수 있습니다. 보고서를 일시 중지해도 Quick Sight에서 보고서의 일정은 삭제되지 않습니다.

보고서에 사용자 지정 시각적 개체가 포함된 경우, 이미지에 액세스할 수 있더라도 이메일 보고서에 사설 네트워크의 이미지를 포함할 수 없다는 점에 유의하세요. 이미지를 포함하려면 공개적으로 사용할 수 있는 이미지를 사용합니다.

시작하기 전에 Amazon Quick Enterprise 에디션을 사용하고 있고 의도한 수신자와 대시보드를 공유했는지 확인합니다.

**이메일 보고서 생성 또는 변경**

1. Quick을 열고 왼쪽 탐색 창에서 **대시보드**를 선택합니다.

1. 대시보드를 열어 이메일 보고서를 구성합니다.

1. 오른쪽 상단에서 **일정**을 선택한 다음 **일정**을 선택합니다.

1. **일정 추가**를 선택합니다.

1. 표시되는 **새 일정** 창에 일정 이름을 입력합니다. 선택 사항으로 새 일정에 대한 설명을 추가할 수도 있습니다.

1. **콘텐츠** 탭에서, **PDF**, **CSV** 또는 **Excel** 스위치를 전환하여 보고서 형식을 선택합니다. CSV 및 Excel 형식은 현재 픽셀 완성 보고서에 대해 지원됩니다.

1. **콘텐츠** 탭의 **시트** 드롭다운에서, 보고서를 예약하려는 시트를 선택합니다.

   **CSV** 또는 **Excel**을 선택하는 경우, 보고서에 포함하려는 대시보드의 모든 시트에서 테이블 또는 피벗 테이블 시각적 개체를 선택합니다. 각 일정에 대해 최대 5개 시각적 개체를 선택할 수 있습니다.

   **Excel**을 선택하면, 하나의 Excel 통합 문서가 최종 출력으로 생성됩니다.

1. **날짜** 탭의 **반복** 드롭다운에서 보고서의 빈도를 선택합니다. 잘 모르겠으면 **1회 전송(반복 없음)**을 선택하세요.

1. **시작 날짜**에서 첫 번째 보고서를 보낼 시작 날짜와 런타임을 선택합니다.

1. **시간대**의 경우 드롭다운에서 시간대를 선택합니다.

1. **이메일** 탭의 **이메일 제목 줄** 사용자 지정 제목을 입력하거나, 보고서 제목을 사용하려면 비워 두십시오.

1. 보고서를 수신하려는 사용자 또는 그룹의 빠른 그룹 이름의 이메일 주소를 입력합니다. **액세스 권한이 있는 모든 사용자에게 전송** 상자를 선택하여 계정의 대시보드에 액세스할 수 있는 모든 사람에게 보고서를 보낼 수도 있습니다.

1. **이메일 헤더**에는 이메일 보고서에 표시할 헤더를 입력합니다.

1. (선택 사항) **이메일 본문 텍스트**의 경우, 비워 두거나 전자 메일 시작 부분에 표시할 사용자 지정 메시지를 입력합니다.

1. (선택 사항) PDF 첨부 파일의 경우, **이메일 본문에 시트 포함**을 선택하여 전자 메일 본문에 PDF 스냅샷의 첫 페이지를 표시할 수 있습니다.

1. 보고서에서 사용할 첨부 방법을 선택합니다. 다음과 같은 옵션을 사용할 수 있습니다.
   + **파일 첨부** - 스냅샷의 첨부 파일을 이메일에 업로드합니다. 이메일 크기는 10MB 이하여야 합니다. 이 제한에는 모든 첨부 파일이 포함됩니다.
   + **다운로드 링크** - 사용자가 스냅샷 보고서를 다운로드하기 위해 액세스할 수 있는 링크를 이메일 본문에 추가합니다. 사용자가 다운로드 링크를 선택하면, 보고서 다운로드를 시작하기 전에 로그인하라는 메시지가 표시됩니다. 링크는 보고서 전송 후 1년 후에 만료됩니다.

1. (선택 사항, 권장) 변경 내용을 저장하기 전에 보고서 샘플을 보내려면 **테스트 보고서 보내기**를 선택합니다. 이 옵션은 대시보드 소유자의 사용자 이름 옆에 표시됩니다.

1. 다음 중 하나를 수행하세요.
   + (권장) **저장**을 선택하여 입력한 내용을 확인합니다.
   + 보고서를 즉시 보내려면 **저장 후 지금 실행**을 선택합니다. 스케줄의 시작 날짜가 미래인 경우에도, 보고서는 즉시 전송됩니다.

# 이메일 보고서의 결제 작동 방식
<a name="sending-reports-billing-info"></a>

작성자와 관리자는 추가 요금 없이 이메일 보고서를 몇 개라도 받아볼 수 있습니다.

독자(독자 역할인 사용자)의 경우 월별 최대 요금까지 보고서 건당 1세션의 비용이 듭니다. 이메일 보고서를 받아본 후 그 독자에게는 그 달 중에 추가 요금 없이 대시보드에 액세스할 수 있는 세션 크레딧이 주어집니다. 독자 세션 크레딧은 다음 달로 이월되지 않습니다.

독자의 경우 월별 최대 요금에 도달할 때까지 이메일 보고서와 대화형 세션에 대한 요금이 계속 발생합니다. 월별 최대 요금에 도달한 독자에게는 추가 요금이 없으며, 필요한 만큼 추가 이메일 보고서를 받아볼 수 있습니다.

# Amazon Quick Sight에서 이메일 보고서 구독
<a name="subscribing-to-reports"></a>

엔터프라이즈 에디션에서 Amazon Quick 작성자는 보고서 양식으로 대시보드에 대한 구독을 설정할 수 있습니다. 자세한 내용은 [이메일로 Quick Sight 보고서 예약 및 전송](sending-reports.md) 단원을 참조하십시오. 그러면 빠른 독자와 작성자가 대시보드를 구독하고 보고서 설정을 조정할 수 있습니다. 리더가 대시보드를 구독하는 방법에 대한 자세한 내용은 [Amazon Quick Sight 대시보드 이메일 및 알림 구독](subscriber-alerts.md) 단원을 참조하십시오.

다음 절차에 따라 대시보드의 구독 및 보고서 설정을 변경합니다.

1. 먼저 자신이 공유하거나 소유 또는 공동 소유한 대시보드를 엽니다.

1. 오른쪽 상단에서 **보고서**아이콘을 선택합니다.

1. **보고서 기본 설정 변경** 화면이 나타납니다. 이 화면에는 현재 보고서 일정과 더불어 구독 옵션, 최적화 옵션이 표시됩니다.

   **구독**에서 **구독**을 선택하면 보고서를 받아보기 시작하고, **구독 해제**를 선택하면 받아보던 보고서를 중단합니다.

   **최적화** 아래에서 보고서를 볼 디바이스를 선택합니다.
   + 보통 모바일 디바이스를 사용하거나 가로로 보는 것이 좋으면 **모바일 디바이스에서 보기**를 선택합니다. 보고서를 받으면 시각적 개체가 세로 열 한 개로 표시됩니다.
   + 보통 데스크톱을 사용하거나 세로로 보는 것이 좋으면 **데스크톱에서 보기**를 선택합니다. 보고서를 받으면 시각적 개체가 데스크톱 대시보드에서 보는 것과 동일하게 표시됩니다.

1. 선택 내용을 확인하려면 **업데이트**를 선택하고 변경 내용을 취소하려면 **취소**를 선택합니다.

# Amazon Quick Sight에서 임계값 알림 작업
<a name="threshold-alerts"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

데이터의 중요한 변경 사항에 대한 최신 정보를 얻으려면 Amazon Quick Sight 대시보드에서 KPI, 게이지, 테이블 및 피벗 테이블 시각적 객체를 사용하여 임계값 알림을 생성할 수 있습니다. 이러한 알림을 통해 데이터 임계값을 설정하고 데이터가 임계값을 초과할 경우 이메일로 알림을 받을 수 있습니다. Quick Sight 지원 웹 브라우저에서 언제든지 알림을 보고 관리할 수도 있습니다.

예를 들어, 대규모 조직의 고객 성공 관리자로서 지원 대기열의 티켓 수가 특정 수를 초과하는 시점을 알고 싶다고 가정해 보겠습니다. 이 대기열에 있는 티켓 수를 추적하는 KPI, 게이지, 테이블 또는 피벗 테이블 비주얼이 있는 대시보드가 있다고 가정해 보겠습니다. 이 경우 알림을 만들어 숫자가 지정한 임계값을 초과하면 이메일로 알림을 받을 수 있습니다. 이렇게 하면 알림을 받는 즉시 조치를 취할 수 있습니다.

하나의 시각적 객체에 대해 여러 알림을 만들 수 있습니다. 알림을 만든 후 작성자가 해당 시각적 객체를 업데이트하거나 삭제해도 알림 설정은 변경되지 않습니다. 알림을 만들면 해당 시점에 시각적 객체에 적용된 모든 필터가 알림에 적용됩니다. 사용자 또는 작성자가 필터를 변경해도 기존 알림은 변경되지 않습니다. 하지만 새 알림을 만들면, 새 알림에 새 필터 설정이 적용됩니다.

예를 들어 대시보드의 각 시각적 객체를 미국 도시 간에 전환하는 데 사용할 수 있는 필터 컨트롤이 있는 대시보드가 있다고 가정해 보겠습니다. 대시보드에 평균 비행 지연을 보여주는 KPI 시각적 객체가 있는데, 미국 워싱턴주 시애틀에서 출발하는 항공편의 지연에 관심이 있다고 가정합니다. 필터 컨트롤을 시애틀로 변경하고 시각적 객체에 알림을 설정합니다. 이 경고는 시애틀에서 출발하는 항공편 지연을 추적합니다. 내일 오리건주 포틀랜드에서 출발하는 항공편 지연도 추적하려는 경우 필터 제어를 포틀랜드로 변경하고 또 다른 알림을 생성한다고 가정해 보겠습니다. 이 새로운 경고는 포틀랜드에서 출발하는 항공편 지연을 추적합니다. 이제 시애틀과 포틀랜드에 각각 하나씩 총 두 개의 경보가 독립적으로 작동합니다.

`eu-central-2` 유럽(취리히) 리전에서는 임계값 알림을 사용할 수 없습니다.

KPI, 게이지, 테이블 또는 피벗 테이블 비주얼에 대한 자세한 내용은 [Amazon Quick Sight의 시각적 객체 유형](working-with-visual-types.md) 섹션을 참조하세요.

**참고**  
임베디드 대시보드 또는 Quick 모바일 앱에서 시각적 객체에 대한 알림을 생성할 수 없습니다.  
테이블 시각적 객체의 경우 `Group by` 필드 모음에 있는 값에 대해 임계값 알림을 생성할 수 없습니다. `Value` 필드 모음에 있는 값에 대해서만 알림을 생성할 수 있습니다.  
날짜-시간 필드를 추세로 사용하지 않는 KPI 시각적 객체는 알림을 지원하지 않습니다. 예를 들어 날짜 A와 B 사이의 항공편 차이를 보여주는 KPI 대신 항공사 X와 Y 간의 항공편 차이를 보여주는 KPI가 있습니다.

아래 섹션을 사용하여 Quick Sight에서 KPI, 게이지, 테이블 및 피벗 테이블 시각적 객체에 대한 임계값 알림을 생성하고 구성합니다.

**Topics**
+ [알림 권한](threshold-alerts-permissions.md)
+ [알림 생성](threshold-alerts-creating.md)
+ [임계값 경고 관리](threshold-alerts-managing.md)
+ [알림 오류 조사](threshold-alerts-failures.md)
+ [알림 예약](threshold-alerts-scheduling.md)
+ [임계값 알림에서 빠른 작업 커넥터 사용](action-connectors-in-threshold-alerts.md)

# 알림 권한
<a name="threshold-alerts-permissions"></a>

관리자인 경우 사용자 지정 권한 정책을 생성하여 Quick Sight에서 조직의 누가 임계값 알림을 설정할 수 있는지 제어할 수 있습니다. 빠른에서 사용자 지정 권한을 설정하려면 빠른 페이지의 오른쪽 상단에서 사용자 이름을 선택하고 **빠른 관리를** 선택한 다음 **사용자 지정 권한을** 선택합니다.

# 알림 생성
<a name="threshold-alerts-creating"></a>

대시보드의 KPI 또는 게이지 시각적 개체에 대한 임계값 알림을 생성하려면 다음 절차를 수행하세요.

**경보 생성**

1. Quick을 열고 원하는 대시보드로 이동합니다.

   Quick에서 대시보드 구독자로 대시보드를 보는 방법에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick Sight 대시보드와 상호 작용](exploring-dashboards.md).

1. 대시보드에서 알림을 만들려는 시각적 개체를 선택하고 오른쪽 상단의 메뉴를 연 다음 **알림 생성**을 선택합니다.

1. 화면 오른쪽 상단의 메뉴에서 **알림 생성** 아이콘을 선택합니다.

   또는 오른쪽 상단의 파란색 도구 모음에서 경고 아이콘을 선택할 수도 있습니다. 그런 다음 열리는 **알림 생성** 페이지에서 알림을 만들려는 KPI, 게이지, 표 또는 피벗 테이블 시각적 객체를 선택하고 **다음**을 선택합니다.

   셀을 선택하고 **알림 생성**을 선택하여 테이블 또는 피벗 테이블 시각적 개체에 알림을 만들 수도 있습니다. 단일 셀에 대한 알림만 만들 수 있습니다. 전체 열 또는 사용자 지정 집계를 사용하는 값에 대해서는 알림을 생성할 수 없습니다. 사용자 지정 집계에 대한 자세한 정보는 [집계 함수](calculated-field-aggregations.md) 섹션을 참조하세요.

1. 오른쪽에 열리는 **알림 생성** 페이지에서 다음을 수행하세요.

   1. **이름**에 경고의 이름을 입력합니다.

      기본적으로 알림 이름에는 시각적 이름이 사용됩니다. 원하는 경우 변경할 수 있습니다.

   1. **추적할 값**에서 임계값을 설정하려는 값을 선택합니다. 표시되는 정보는 알림을 만들려는 시각적 객체 유형에 따라 달라집니다.

      이 옵션에 사용할 수 있는 값은 대시보드 작성자가 시각적 객체에서 설정하는 값을 기반으로 합니다. 예를 들어, 두 날짜 간의 백분율 차이를 보여주는 KPI 시각적 이미지가 있다고 가정해 봅니다. 이를 감안하면 두 가지 경고 값 옵션, 즉 백분율 차이와 실제가 표시됩니다.

      시각적 객체에 값이 하나 뿐인 경우 이 옵션을 변경할 수 없습니다. 이 값은 현재 값이며 임계값을 선택할 때 참조로 사용할 수 있도록 여기에 표시됩니다. 예를 들어 평균 비용에 대한 알림을 설정하는 경우, 이 값은 현재 평균 비용(예: 5 USD) 을 보여줍니다. 이 기준값을 사용하면 임계값을 설정할 때 정보에 입각한 결정을 내릴 수 있습니다.

   1. **조건**의 경우 임계값 조건을 선택합니다.

      조건을 선택하는 방법은 다음과 같습니다.
      + **초과** - 알림 값이 설정한 임계값을 초과할 경우 알림이 트리거되는 규칙을 설정합니다.
      + **미만** - 알림 값이 설정한 임계값 아래로 내려갈 경우 알림이 트리거되는 규칙을 설정합니다.
      + **같음** - 알림 값이 설정한 임계값과 같을 경우 알림이 트리거되는 규칙을 설정합니다.

   1. **임계값**에는 알림을 표시할 값을 입력합니다.

   1. **알림 기본 설정**에 설정한 임계값 범위 내에서 위반에 대한 알림을 받을 빈도를 선택합니다.

      다음 옵션 중에서 선택할 수 있습니다.
      + **최대한 한 자주** - 이 옵션은 임계값이 초과될 때마다 경고를 표시합니다. 이 옵션을 선택하면 하루에 여러 번 알림을 받을 수 있습니다.
      + **일별 최대** - 이 옵션은 임계값 위반 시 하루에 한 번 경보를 보냅니다.
      + **매주 최대** - 이 옵션은 임계값 위반 시 일주일에 한 번 알림을 제공합니다.

   1. (선택 사항) **데이터가 없을 경우 이메일 전** 선택 - 이 옵션을 선택하면 알림 규칙을 확인할 데이터가 없을 때 알림을 받게 됩니다.

   1. **저장**을 선택합니다.

      오른쪽 상단에 알림이 저장되었음을 알리는 메시지가 나타납니다. 데이터가 설정한 임계값을 초과하면 Quick 계정과 연결된 주소로 이메일로 알림을 받게 됩니다.

# 임계값 경고 관리
<a name="threshold-alerts-managing"></a>

기존 알림을 편집하거나, 알림을 켜거나 끄거나, 알림이 트리거된 시간의 기록을 볼 수 있습니다. 이렇게 하려면 다음 절차를 사용하세요.

**기존 알림 편집**

1. Quick을 열고 **대시보드를** 선택한 다음 알림을 편집하려는 대시보드로 이동합니다.

1. 대시보드 페이지에서 오른쪽 상단의 **알림**을 선택합니다.

1. 열리는 **알림 관리** 페이지에서 편집하려는 알림을 찾은 다음 알림 이름 아래에 있는 **편집**을 선택합니다.

   알림 이름, 조건 및 임계값을 편집할 수 있습니다.

1. **저장**을 선택합니다.

**알림이 트리거된 시점의 기록 보기**

1. Quick을 열고 **대시보드를** 선택한 다음 알림 기록을 보려는 대시보드로 이동합니다.

1. 대시보드 페이지에서 오른쪽 상단의 **알림**을 선택합니다.

1. 열리는 **알림 관리** 페이지에서 보려는 기록을 찾은 다음 알림 이름 아래에 있는 **기록**을 선택합니다.

**기존 알림 설정 또는 해제**

1. Quick을 열고 **대시보드를** 선택한 다음 알림을 켜거나 끌 대시보드로 이동합니다.

1. 대시보드 페이지에서 오른쪽 상단의 **알림**을 선택합니다.

1. 열리는 **알림 관리** 페이지에서 켜거나 끄려는 알림을 찾은 다음, 알림 이름을 기준으로 토글을 선택하거나 지웁니다.

   토글이 파란색이면 알림이 켜지고, 토글이 회색이면 알림이 꺼집니다.

**기존 알림 삭제**

1. Quick을 열고 **대시보드를** 선택한 다음 알림을 삭제할 대시보드로 이동합니다.

1. 대시보드 페이지에서 오른쪽 상단의 **알림**을 선택합니다.

1. 열리는 **알림 관리** 페이지에서, 켜거나 끄려는 알림을 찾아 알림 옆에 있는 점 3개 메뉴를 선택한 다음 드롭다운에서 **삭제**를 선택합니다.

# 알림 오류 조사
<a name="threshold-alerts-failures"></a>

알림이 실패하면 Quick은 실패에 대한 이메일 알림을 보냅니다. 알림은 다음과 같은 여러 이유로 실패할 수 있습니다.
+ 알림에서 사용 중인 데이터 세트가 삭제되었습니다.
+ 알림 소유자가 데이터 세트 또는 데이터 세트의 특정 행 또는 열에 대한 권한을 상실했습니다.
+ 알림 소유자가 대시보드에 대한 액세스 권한을 잃었습니다.
+ 알림에서 추적한 데이터에 대한 데이터가 없습니다.

실패가 발생하면 Quick은 알림을 보내고 실패 이유가 해결되지 않을 경우 알림을 비활성화합니다. 대시보드에 대한 액세스 권한 손실로 인해 알림이 실패하거나 대시보드가 삭제된 경우를 예로 들 수 있습니다. 그렇지 않으면 빠른가 데이터에 임계값 위반이 있는지 다시 확인하려고 시도합니다. 4번 실패하면 Quick은 알림을 끄고 알림이 꺼져 있음을 알립니다. 알림을 다시 확인할 수 있는 경우 Quick에서 알림을 보냅니다.

알림이 실패한 이유를 조사하려면, 대시보드에 계속 액세스할 수 있는지 확인하세요. 또한 올바른 데이터 세트와 데이터 세트의 올바른 행과 열에 대한 권한이 있는지도 확인하세요. 액세스 권한이나 권한을 잃은 경우, 대시보드 소유자에게 문의하세요. 필요한 액세스 및 권한이 있는 경우, 향후 알림이 실패하지 않도록 알림을 편집해야 할 수 있습니다.

# 알림 예약
<a name="threshold-alerts-scheduling"></a>

알림을 생성하면 Quick은 데이터 세트를 새로 고치도록 예약된 시점에 따라 설정한 임계값과 비교하여 데이터에 위반이 있는지 확인합니다. 알림에 표시되는 정보는 알림을 만들려는 시각적 객체 유형에 따라 달라집니다. SPICE 데이터 세트의 경우, SPICE 데이터 세트를 성공적으로 새로 고친 후에 알림 규칙을 확인합니다. 직접 쿼리 데이터 세트의 경우 기본적으로 데이터 세트를 보관 AWS 리전 하는에서 알림 규칙은 오후 6시에서 오전 8시 사이에 무작위로 확인됩니다.

데이터 세트 소유자인 경우, 데이터 세트 설정에서 알림 평가 일정을 설정할 수 있습니다. 다음 절차를 이용하여 방법을 알아봅니다.

**데이터 세트에 대한 알림 평가 일정 설정**

1. 빠른에서 왼쪽의 탐색 모음에서 **데이터를** 선택합니다.

1. 알림 평가를 예약할 데이터 세트를 선택합니다.

1. **알림 일정 설정**을 선택합니다.

1. 열리는 **알림 일정 설정** 페이지에서 다음을 수행하세요.
   + **시간대**에서 시간대를 선택합니다.
   + **반복**의 경우 데이터를 평가할 빈도를 선택합니다.
   + **시작**에는 알림 평가를 시작할 시간을 입력합니다.

# 임계값 알림에서 빠른 작업 커넥터 사용
<a name="action-connectors-in-threshold-alerts"></a>

## 사전 조건
<a name="action-connectors-in-threshold-alerts-prerequisites"></a>

시작하기 전에 [하나 이상의 작업 커넥터를 생성](builtin-services-integration.md)해야 합니다.

커넥터는 다음 요구 사항을 충족해야 합니다.
+ **서비스 인증 방법을 사용합니다**.
+ 다음 통합 중 하나를 사용합니다.
  + 아틀라시안 Jira 클라우드
  + Microsoft Outlook
  + Salesforce
  + ServiceNow

## 대시보드에서 빠른 작업을 활성화하여 작업 커넥터 사용
<a name="enable-quick-actions-on-dashboards-for-threshold-alert"></a>

**대시보드에서 빠른 작업을 활성화하여 작업 커넥터를 사용하려면**

1. 대시보드가 있는 경우 대시보드의 소스 분석으로 이동합니다. 그렇지 않으면 [새 분석을 생성합니다](quickstart-createanalysis.md).

1. **게시**를 선택합니다.

1. **새 대시보드** 또는 **기존 대시보드 교체** 중에서 선택합니다.

1. **대시보드 옵션**에서 **빠른 작업 활성화** 확인란을 선택합니다.

1. **대시보드 게시**를 선택합니다.

## 임계값 알림에서 작업 커넥터 사용
<a name="use-action-connectors-in-threshold-alert"></a>

**임계값 알림에서 작업 커넥터를 사용하려면**

1. **빠른 작업 게시 활성화** 옵션이 켜져 있는 대시보드를 엽니다.

1. 임계값 알림을 지원하는 시각적 객체 위에 마우스를 올려 놓습니다. 알림을 지원하는 시각적 객체 유형은 [여기에서](threshold-alerts.md) 확인할 수 있습니다.

1. 종 모양 아이콘을 선택합니다.

1. **알림 생성** 창이 오른쪽에 열립니다.

1. **작업 추가**를 선택합니다.

1. 지원되는 모든 작업 커넥터 및 작업 목록이 포함된 메뉴가 나타납니다.

1. 목록에서 원하는 작업을 선택합니다.

1. 오른쪽 창에 **작업** 양식이 나타납니다.

1. 작업에 포함해야 하는 모든 정보를 입력합니다.

1. 일부 필드에서는 자동 채우기 값을 포함할 수 있습니다. **자동 채우**기를 선택하여 메뉴를 엽니다. 필요한 값을 선택하면 입력한 텍스트에 추가됩니다.
   + **값**: 알림이 알림 조건을 평가하는 데 사용한 현재 값을 주입합니다.
   + **알림 이름**: 알림 이름을 삽입합니다.
   + **조건**: 알림 조건을 주입합니다.
   + **임**곗값: 임곗값을 주입합니다.
   + **모두**: 위의 항목을 모두 주입합니다.

1. 일부 작업은 첨부 파일을 포함하는 기능을 지원합니다. 선택적으로이 시트를 PDF**로 포함 확인란을 선택하여 이러한 작업이 포함된 현재 대시보드 시트의 PDF**를 연결할 수 있습니다.

1. **작업 추가**를 선택하여 알림에 작업을 추가합니다.

1. **알림 생성** 창으로 돌아가면 구성된 작업이 하단의 알림에 추가됩니다.

1. 알림의 다른 모든 원하는 필드를 구성하고 **저장**을 선택합니다.

1. 구성된 임계값을 위반하면이 작업이 호출됩니다. 임계값 알림이 평가되는 시기에 대한 자세한 내용은 [알림 예약을 참조하세요](threshold-alerts-scheduling.md).

## 보안 및 사용자 지정
<a name="threshold-alert-security-and-customizations"></a>

**사용자 지정 권한/기능 사용자 지정**
+ **작업** 기능: 사용자 또는 역할이 작업 기능 사용 권한이 제한된 경우 작업을 보거나 사용할 수 없습니다.
+ **PDF로 내보내기** 기능:
  + 알림에 대한 새 작업: 사용자 또는 역할이 PDF로 **내보내기 기능을 사용할 수 있는 권한을 제한하는 경우 알림에 새 작업을 추가하는 동안 시트의 PDF**를 연결하는 옵션이 표시되지 않습니다.
  + 알림에 대한 기존 작업: PDF 첨부 파일이 포함된 작업이 포함된 기존 알림이 있는 경우 사용자 또는 역할이 PDF**로 내보내기 기능을 사용하도록 제한되면 해당 작업이 PDF** 첨부 파일 없이 전송됩니다.

사용자 지정 권한에 대한 자세한 내용은 [Amazon Quick에서 사용자 지정 권한 프로필 생성을](create-custom-permissions-profile.md) 참조하세요.

**행 수준 보안(RLS)/열 수준 보안(CLS)**
+ 알림에 대한 새 작업: 대시보드에 RLS 또는 CLS가 있는 데이터 세트가 포함된 경우
  + RLS 또는 CLS로 데이터 세트를 추적하는 새 알림에는 작업을 추가할 수 없습니다.
  + RLS 또는 CLS 없이 다른 데이터 세트를 추적하는 새 알림에 작업을 추가할 수 있지만 이러한 작업에 PDF 첨부 파일을 포함할 수는 없습니다.
+ 알림에 대한 기존 작업: 작업으로 알림을 생성한 후 데이터 세트에 RLS 또는 CLS를 추가하는 경우
  + 데이터 세트 작동이 완전히 중지될 것임을 추적하는 알림에 대한 기존 작업
  + 동일한 대시보드에서 다른 데이터 세트를 추적하는 알림에 대한 기존 작업은 PDF 첨부 파일 없이 전송됩니다.

RLS에 대한 자세한 내용은 [Amazon Quick에서 행 수준 보안 사용을](row-level-security.md) 참조하세요.

CLS에 대한 자세한 내용은 [열 수준 보안을 사용하여 데이터 세트에 대한 액세스 제한을 참조하세요](row-level-security.md).

**대시보드 게시 옵션**
+ 대화형 시트에 대한 PDF 생성 활성화
  + 알림에 대한 새 작업: 대시보드에 **대화형 시트 게시를 위한 PDF 생성 활성화 옵션이 비활성화된 경우 알림에 새 작업을 추가하는 동안 시트의 PDF**를 연결하는 옵션이 표시되지 않습니다.
  + 알림에 대한 기존 작업: PDF 첨부 파일이 포함된 작업이 포함된 기존 알림이 있는 경우 대시보드에서 **대화형 시트 게시를 위한 PDF 생성 활성화** 옵션이 비활성화되면 해당 작업이 PDF 첨부 파일 없이 전송됩니다.
+ 빠른 작업 활성화
  + 알림에 대한 새 작업: 대시보드에 **빠른 작업 게시 활성화 옵션이 꺼져 있는 경우 알림에 작업을** 추가하는 옵션이 표시되지 않습니다.
  + 알림에 대한 기존 작업: 대시보드에서 **빠른 작업 게시 활성화 옵션이 비활성화되면 알림에 대한 기존 작업이** 완전히 작동하지 않습니다.

대시보드 게시 옵션에 대한 자세한 내용은 [대시보드 게시를 참조하세요](creating-a-dashboard.md).

# 대시보드 또는 분석 인쇄
<a name="printing1"></a>

Amazon Quick Sight에서 대시보드 또는 분석을 인쇄할 수 있습니다.

인쇄하려면 다음 절차를 따르세요.

1. 인쇄할 대시보드 또는 분석을 엽니다.

1. 오른쪽 상단에 있는 **인쇄** 아이콘을 선택합니다.

1. **인쇄 준비** 화면에서 사용할 용지 크기 및 방향을 선택합니다.

1. **미리 보기로 이동**을 선택합니다.

1. 다음 중 하나를 수행하세요.
   + 인쇄를 계속하려면 **인쇄**를 선택하여 운영 체제의 인쇄 대화 상자를 엽니다.
   + 용지 크기 또는 방향을 변경하려면 **구성**을 선택합니다.

1. 미리 보기 화면을 종료하려면 **미리 보기 종료**를 선택합니다.

# Amazon Quick Sight 분석 또는 대시보드를 PDFs로 내보내기
<a name="export-dashboard-to-pdf"></a>

대시보드의 콘텐츠를 PDF(Portable Document Format) 파일로 내보낼 수 있습니다. 인쇄물과 마찬가지로, 이 형식은 다운로드 시 화면에 나타나는 현재 시트의 스냅샷을 제공합니다.

**대시보드 시트를 PDF로 내보내기**

1. Quick을 열고 왼쪽 탐색 창에서 **대시보드**를 선택합니다.

1. 내보내려는 대시보드를 엽니다.

1. 오른쪽 상단에서 **내보내기**, **PDF로 다운로드**를 선택합니다. 다운로드가 백그라운드에서 준비됩니다.

   파일을 다운로드할 준비가 되면 **PDF가 준비되었다.**는 메시지가 나타납니다.

1. 키 페어 파일을 다운로드하려면 **지금 다운로드**를 선택합니다. 다운로드하지 않고 닫으려면 **닫기**를 선택합니다.

   파일을 다운로드하지 않고 이 대화 상자를 닫았다가 파일을 다시 만들려면, 이전 단계를 반복하세요. 또한 다운로드 가능한 파일은 5분 동안만 일시적으로만 사용할 수 있습니다. 다운로드할 때까지 너무 오래 기다리면 파일이 만료됩니다. 이 경우 Quick Sight는 대신 요청이 만료되었다는 오류 메시지를 표시합니다.

1. 내보내려는 각 시트에 대해 이전 단계를 반복합니다.

대시보드 이메일 보고서에 PDF를 첨부할 수도 있습니다. 자세한 내용은 [이메일로 Quick Sight 보고서 예약 및 전송](sending-reports.md) 단원을 참조하십시오.

# 실패한 PDF 내보내기 작업의 오류 코드
<a name="qs-reports-error-codes"></a>

Amazon Quick Sight에서 PDF 보고서를 생성할 때 PDF 보고서 생성 요청이 실패하는 인스턴스가 발생할 수 있습니다. 오류가 발생하는 데에는 여러 가지 이유가 있습니다. Quick Sight는 오류가 발생한 이유를 이해하고 문제 해결을 위한 지침을 제공하는 데 도움이 되는 오류 코드를 제공합니다. 다음 표에는 PDF 내보내기 작업이 실패할 때 Quick Sight가 반환하는 오류 코드가 나열되어 있습니다.


| 오류 코드 | 지침 | 
| --- | --- | 
| INVALID\$1DATAPREP\$1SYNTAX | 계산된 필드의 구문을 확인한 후 다시 시도하세요. | 
| POST\$1AGGREGATED\$1METRIC\$1AS\$1DIMENSION | 집계된 지표 및 피연산자는 V시각적 객체의 그룹화 차원으로 사용할 수 없습니다. 유효한 시각적 객체의 그룹화 크기를 선택하고 다시 시도하세요. | 
| SPICE\$1TABLE\$1NOT\$1FOUND | 데이터 세트가 삭제되었거나 사용할 수 없습니다. 유효한 데이터 세트를 가져와서 다시 시도하세요. | 
| FIELD\$1NOT\$1FOUND | 필드를 더 이상 사용할 수 없습니다. 이 데이터 세트에서 누락된 필드를 업데이트하거나 바꾸고 다시 시도하세요. | 
| FIELD\$1ACCESS\$1DENIED | 이 데이터 세트의 일부 필드에 접근할 수 없습니다. 액세스를 요청하고 다시 시도하세요. | 
| PERMISSIONS\$1DATASET\$1INVALID\$1COLUMN\$1VALUE | 잘못된 행 수준 권한 열 값이 발견되었습니다. 상위 데이터 세트 규칙을 확인한 후 다시 시도하세요. | 
| COLUMN\$1NOT\$1FOUND | 필터 또는 파라미터에서 누락된 열을 바꾸고 다시 시도하세요. | 
| INVALID\$1COLUMN\$1TYPE | 일부 필드의 데이터 유형이 변경되어 자동으로 업데이트할 수 없습니다. 데이터 세트에서 이러한 필드를 조정한 후 다시 시도하세요. | 
| PERMISSIONS\$1DATASET\$1USER\$1DENIED | 이 데이터 세트에 액세스할 수 없습니다. 이 데이터 세트에 대한 액세스를 요청하고 다시 시도하세요. | 
| DATA\$1SOURCE\$1TIMEOUT | 쿼리 시간이 초과되었습니다. 데이터 양을 줄이거나, SPICE(으)로 데이터를 가져온 다음 다시 시도하세요. | 
| MAX\$1PAGE\$1EXCEEDED\$1ERROR | 파일은 준비되었으나 콘텐츠가 완전하지 않습니다. PDF는 1,000페이지 제한이 있습니다. 더 짧은 PDF를 선택하고 다시 시도하세요. | 
| INSUFFICIENT\$1BODY\$1HEIGHT\$1ERROR | 머리말과 꼬리말을 페이지 높이보다 작게 조정하고 다시 시도하십시오. | 
| FIRST\$1PAGE\$1HEIGHT\$1TOO\$1SMALL\$1ERROR | 섹션을 조정하여 표를 위한 공간을 확보한 후 다시 시도하세요. | 
| INTERNAL\$1ERROR | 지금은 PDF를 만들 수 없습니다. 몇 분 기다린 후 다시 시도하십시오. | 

# Amazon Quick Sight의 폴더로 자산 구성
<a name="folders"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Quick Enterprise 에디션에서 팀원은 개인 및 공유 폴더를 생성하여 Quick Sight 자산 관리에 계층 구조를 추가할 수 있습니다. 폴더를 사용하면 대시보드, 분석, 데이터세트, 데이터 소스, 주제를 더 쉽게 구성하고, 탐색하고, 검색할 수 있습니다. 폴더 내에서도 일반적인 도구를 사용하여 자산을 검색하거나 즐겨찾기 목록에 자산을 추가할 수 있습니다.

Quick Sight에서 다음 유형의 폴더를 사용할 수 있습니다.
+ 개인 폴더를 사용하여 직접 작업을 정리할 수 있습니다.

  개인 폴더는 해당 폴더를 소유한 사람만 볼 수 있습니다. 개인 폴더의 소유권은 다른 사람에게 이전할 수 없습니다.
+ 공유 폴더:
  + **공유 폴더**는 작업을 정리하고 여러 사람 간의 공유를 단순화합니다. 공유 폴더를 생성하고 관리하려면 Quick Sight 관리자여야 합니다.
  + **공유 제한 폴더**는 자산이 공유 폴더에 남아 있도록 하는 Quick Sight의 공유 폴더 유형입니다. 공유 제한 폴더 내에 있는 자산으로 만든 자산도 제한된 폴더에 있어야 합니다. 제한된 폴더에 있는 자산은 제한된 폴더 외부로 이동하거나 공유할 수 없습니다. 예를 들어 공유 제한 폴더에 있는 데이터 소스를 사용하는 데이터 세트를 만드는 경우 새 데이터 세트를 공유 제한 폴더 외부로 이동할 수 없습니다.

    제한된 폴더에 있는 자산은 제한된 폴더 트리 내에서 하나 이상의 하위 폴더로 이동할 수 있습니다. 제한된 폴더의 하위 폴더는 제한된 폴더처럼 작동하지만 종속 자산은 동일한 루트 제한 폴더의 서로 다른 하위 폴더에 존재할 수 있습니다. 루트 제한 폴더는 모든 하위 폴더의 모든 자산이 루트 폴더 트리 내에 있는 한 존재할 수 있는 경계 역할을 합니다. 예를 들어 한 하위 폴더에 있는 데이터세트는 동일한 폴더 트리 또는 루트 폴더에 있는 다른 하위 폴더에 있는 데이터 소스를 사용할 수 있습니다. 지원되는 모든 자산 유형은 루트 폴더 또는 해당 하위 폴더에서 생성할 수 있습니다. 사용자는 서로 다른 하위 폴더에서 서로 다른 역할을 가질 수 있습니다. 하위 폴더 권한은 해당 하위 폴더의 상위 폴더에서 상속됩니다.

    제한된 폴더는 Quick Sight [https://aws.amazon.com/quicksight/latest/APIReference/API_CreateFolder.html](https://aws.amazon.com/quicksight/latest/APIReference/API_CreateFolder.html) API 작업을 통해서만 생성할 수 있습니다.
  + 폴더의 뷰어이고 Quick에 작성자 또는 관리자 역할이 있는 사용자는 폴더에 있는 모든 자산 유형을 볼 수 있습니다. 폴더의 뷰어이고 Quick의 리더 역할이 있는 사용자는 폴더에 있는 대시보드와 스토리만 볼 수 있습니다.

  액세스 권한이 있는 사람은 모든 공유 폴더를 볼 수 있습니다.

다음 주제를 사용하여 Quick Sight에서 폴더 또는 하위 폴더를 생성하고 구성하는 방법에 대해 자세히 알아보세요.

**Topics**
+ [Quick Sight 폴더에 대한 고려 사항](folders-limitations.md)
+ [Quick Sight 폴더 개요](folders-functionality.md)
+ [Quick Sight 공유 폴더에 대한 권한](folders-security.md)
+ [Quick Sight 공유 폴더에 대한 멤버십 권한 생성 및 관리](sharing-folders.md)
+ [Quick Sight APIs를 사용하여 Quick Sight 확장 폴더 생성](folders-scaled.md)

# Quick Sight 폴더에 대한 고려 사항
<a name="folders-limitations"></a>

Amazon Quick Sight에서 폴더 생성 및 수정을 시작하기 전에 Quick Sight 폴더에 적용되는 다음 제한 사항을 검토하세요.
+  AWS 계정의 폴더를 다른의 사용자와 공유할 수 없습니다 AWS 계정.
+ 빠른 읽기 권한이 있는 사용자의 경우 다음 제한 사항이 적용됩니다.
  + 독자는 개인 폴더 또는 공유 폴더를 소유할 수 없습니다.
  + 독자는 폴더 또는 폴더 콘텐츠를 만들거나 관리할 수 없습니다.
  + 독자는 기여자 액세스 수준을 보유할 수 없습니다.
  + 공유 폴더에서 독자는 대시보드 자산만 볼 수 있습니다.

또한 이러한 제한은 특히 공유 폴더에만 적용됩니다.
+ 공유 폴더의 이름(트리의 최상위 수준)은 AWS 계정에서 고유해야 합니다.
+ 단일 폴더에서 여러 자산의 이름이 같을 수 없습니다. 예를 들어 최상위 폴더에서는 이름이 같은 하위 폴더를 두 개 만들 수 없습니다. 동일한 폴더에 에 ID가 다르더라도 이름이 같은 에셋 두 개를 추가할 수 없습니다. 각 자산의 경로는 Amazon S3 키 이름처럼 동작합니다. AWS 계정에서 고유해야 합니다.
+ 제한된 공유 폴더는 Quick Sight CLI를 통해서만 생성할 수 있습니다.

Amazon Quick Sight에서 사용할 수 있는 다양한 폴더 유형에 대한 [Quick Sight 폴더 개요](folders-functionality.md) 자세한 내용은 섹션을 참조하세요.

# Quick Sight 폴더 개요
<a name="folders-functionality"></a>

Quick Sight에서 개인 및 공유 폴더를 생성할 수 있습니다. 또한 개인 폴더 또는 공유 폴더 옆에 있는 즐겨찾기(![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/favorite-icon.png)) 아이콘을 선택하여 빠르게 액세스할 수 있도록 즐겨찾기에 추가할 수 있습니다.

개인 폴더를 사용하여 다음 작업을 수행할 수 있습니다.
+ 하위 폴더를 생성합니다.
+ 분석, 대시보드, 데이터 세트, 데이터 소스를 비롯한 자산을 폴더에 추가합니다. 개인 폴더에 자산을 추가하려면 자산에 대한 액세스 권한이 이미 있어야 합니다. 여러 자산의 이름이 같을 수 있습니다.

**공유 폴더(무제한)**

빠른 관리자는 공유 폴더를 사용하여 다음 작업을 수행할 수 있습니다.
+ 공유 폴더 및 공유 폴더 내에 있는 하위 폴더를 생성하거나 삭제합니다. 둘 중 하나를 최상위 폴더 내에서 이동할 수 있습니다.
+ 소유자, 기여자, 뷰어를 추가 또는 제거합니다. 특정 사용자를 폴더 소유자로 지정하면 폴더에 있는 모든 자산에 대한 소유권을 해당 사용자에게 부여합니다. 자세한 내용은 [Quick Sight 공유 폴더에 대한 권한](folders-security.md) 단원을 참조하십시오.

다음 표에는 빠른 사용자가 역할에 따라 무제한 공유 폴더로 작업할 때 수행할 수 있는 작업이 요약되어 있습니다.


****  

| 작업 | 소유자 | 기고자 | 뷰어 | 
| --- | --- | --- | --- | 
| 폴더에 있는 자산을 폴더에 액세스할 수 없는 사용자와 공유 금지 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더 권한 수정 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더에 자산 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더에서 자산 수정 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더에서 자산 삭제 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 기존 자산을 폴더에 추가 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 공유 폴더에서 자산 제거 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더의 자산 보기 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | 
| 공유 폴더에 있는 자산을 사용하는 다운스트림 자산을 공유 폴더 외부에 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예\$1 | 
| 폴더 외부에 있는 자산을 사용하는 다운스트림 자산을 폴더에 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더 삭제 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더 권한 관리 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더에 기존 자산 추가 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더에서 새 자산 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더에서 자산 삭제 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 

\$1자산을 생성하려면 사용자에게 관리자 또는 작성자 역할을 할당해야 합니다.

**제한된 공유 폴더**

제한된 공유 폴더는 폴더 외부의 데이터 공유를 제한하는 추가 보안 경계를 제공합니다. 적절한 IAM 권한이 있는 관리자는 제한된 공유 폴더를 사용하여 다음 작업을 수행할 수 있습니다.
+ `CreateFolder` API 작업을 사용하여 제한된 폴더를 생성할 수 있습니다. `CreatFolder` API 작업에 대한 자세한 내용은 [CreateFolder](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateFolder.html)를 참조하십시오.
+ 기여자 역할은 제한된 폴더 내에서 자산을 만들고 편집할 수 있는 사용자에게 할당됩니다. 기여자는 폴더 또는 제한된 폴더에 있는 자산의 권한을 관리할 수 없습니다.
+ 관리자는 `UpdateFolderPermissions` API 작업을 통해 사용자에게 폴더 기여자 및 뷰어 권한을 할당할 수 있습니다. `UpdateFolderPermissions` API 작업에 대한 자세한 내용은 [UpdateFolderPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateFolderPermissions.html)을 참조하십시오.

다음 표에는 Quick Sight 사용자가 역할에 따라 제한된 공유 폴더로 작업할 때 수행할 수 있는 작업이 요약되어 있습니다.


****  

| 작업 | 기고자 | 뷰어 | 
| --- | --- | --- | 
| 폴더에 있는 자산을 폴더에 액세스할 수 없는 사용자와 공유 금지 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더 권한 수정 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더에 자산 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더에서 자산 수정 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더에서 자산 삭제 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 기존 자산을 폴더에 추가 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 공유 폴더에서 자산 제거 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더의 자산 보기 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | 
| 공유 폴더에 있는 자산을 사용하는 다운스트림 자산을 공유 폴더 외부에 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 폴더 외부에 있는 자산을 사용하는 다운스트림 자산을 폴더에 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더 삭제 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더 권한 관리 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더에 기존 자산 추가 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더에서 새 자산 생성 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 
| 하위 폴더에서 자산 삭제 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예 | ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요 | 

제한된 공유 폴더에는 소유자 역할이 지원되지 않습니다.

사용 사례에 가장 적합한 폴더 유형을 선택한 후 [Quick Sight 공유 폴더에 대한 권한](folders-security.md) 및 [Quick Sight 공유 폴더에 대한 멤버십 권한 생성 및 관리](sharing-folders.md) 섹션을 참조하여 폴더를 생성하고 폴더 권한을 설정합니다.

# Quick Sight 공유 폴더에 대한 권한
<a name="folders-security"></a>

공유 폴더에는 세 가지 권한 수준이 있습니다. 사용자 또는 그룹에 대한 폴더 수준 권한을 설정하려면 [Quick Sight 공유 폴더에 대한 멤버십 권한 생성 및 관리](sharing-folders.md)을(를) 참조하십시오.
+ **소유자** - 폴더 *소유자*는 폴더 내의 모든 항목(폴더, 분석, 대시보드, 데이터세트, 데이터 소스, 주제)을 소유합니다. 폴더에서 자산을 생성, 편집 및 삭제하고, 폴더 및 해당 자산에 대한 권한을 수정하고, 폴더 전체를 삭제할 수 있습니다. 제한된 공유 폴더에는 소유자 역할이 지원되지 않습니다.
+ **기여자** - 기여자는 소유자와 마찬가지로 폴더에서 자산을 생성하고, 편집하고, 삭제할 수 있습니다. 폴더를 삭제하거나 폴더에서 상속받은 기여자 액세스 권한이 있는 폴더 또는 자산에 대한 권한을 수정할 수 없습니다.
+ **뷰어** - *뷰어*는 폴더의 자산(폴더, 대시보드, 데이터세트, 데이터 소스, 주제)만 볼 수 있습니다. 뷰어는 해당 자산을 수정하거나 공유할 수 없습니다.

다음 규칙은 공유 폴더의 보안에도 적용됩니다.
+ 폴더에 대한 빠른 리더의 공유 상태는 폴더와 공유됩니다. 하지만 리더는 폴더에 대한 읽기 권한만 있고 시각 자료에 대한 대시보드 액세스 권한만 가집니다.
+ AWS 보안은 폴더 내의 모든 객체에 적용됩니다. 폴더는 액세스 수준(관리자, 작성자 또는 읽기 사용자)에 따라 폴더를 공유하는 모든 사람의 자산에 동일한 유형의 보안을 적용합니다.
+ 최상위 폴더는 모든 하위 폴더의 루트 폴더입니다. 어느 수준에서든 하위 폴더를 공유하면 폴더를 공유받은 사람은 최상위 폴더 보기에서 루트 폴더를 볼 수 있습니다.
+ 폴더 권한은 현재 폴더에 대한 권한을 루트 폴더로 이어지는 모든 폴더의 권한과 합친 것입니다.
+ 공유 자산은 폴더의 권한을 상속합니다. 공유 자산은 폴더 소유자에게 속한 에셋이 공유 폴더에 추가될 때 생성됩니다.
+ 무제한 공유 폴더를 소유한 경우 폴더 소유권을 다른 빠른 관리자에게 이전할 수 있습니다.
+ 제한된 폴더에는 소유자 역할이 지원되지 않습니다. 기여자 역할은 제한된 폴더 내에서 자산을 만들고 편집하는 작성자에게 할당됩니다. 폴더 기여자는 제한된 폴더 또는 해당 자산의 권한을 관리할 수 없습니다.
+ `UpdateFolderPermissions` API로 제한된 공유 폴더의 권한을 업데이트하려면 올바른 IAM 권한이 필요합니다.

공유 폴더의 권한을 생성하고 관리하려면 [Quick Sight 공유 폴더에 대한 멤버십 권한 생성 및 관리](sharing-folders.md) 섹션을 참조하세요.

# Quick Sight 공유 폴더에 대한 멤버십 권한 생성 및 관리
<a name="sharing-folders"></a>

**공유 폴더(무제한)**

공유 폴더를 생성하고 Quick 콘솔에서 하나 이상의 그룹과 폴더를 공유하려면 Amazon QuickSight 관리자여야 합니다. `CreateFolder` API 작업을 사용하여 공유 폴더를 생성할 수도 있습니다. 다음 절차에 따라 공유 폴더의 멤버십 권한을 공유하거나 수정합니다.

1. 왼쪽 탐색 창에서 **폴더를** 선택한 다음 **공유 폴더를** 선택합니다. 권한을 공유하거나 관리할 폴더를 찾습니다.

1. 해당 폴더 행의 작업 메뉴를 열려면 줄임표(점 3개)를 선택합니다.

1. **공유**를 선택합니다.

1. **폴더 공유** 모달에서 폴더의 콘텐츠를 공유하려는 그룹과 사용자를 추가합니다.

1. 추가하는 각 사용자 및 그룹에 대해 해당 행의 **권한** 메뉴에서 권한 수준을 선택합니다.

1. 기존 사용자의 권한 유형을 업데이트하려면 **폴더 액세스 관리**를 선택합니다.

1. 폴더에 대한 사용자 및 그룹 권한 설정을 완료하면 **공유**를 선택합니다. 사용자는 이제 폴더에 액세스할 수 있다는 알림을 받지 않습니다.

**제한된 공유 폴더** 

제한된 공유 폴더는 `CreateFolder` API 작업을 통해서만 생성할 수 있습니다. 다음 예제에서는 제한된 공유 폴더를 생성합니다.

```
aws quicksight create-folder \
--aws-account-id AWSACCOUNTID \
--region us-east-1 \
--folder-id example-folder-name \
--folder-type RESTRICTED \
--name "Example Folder" \
```

제한된 공유 폴더를 만든 후에는 `UpdateFolderPermissions` API 호출을 통해 폴더 작성자 및 뷰어 권한을 할당합니다. 다음 예제에서는 제한된 공유 폴더의 권한을 업데이트하여 사용자에게 기여자 권한을 부여합니다.

```
aws quicksight update-folder-permissions \
--aws-account-id AWSACCOUNTID \
--region us-east-1 \
--folder-id example-folder-name \
--grant-permissions Principal=arn:aws:quicksight::us-east-
1::AWSACCOUNTID:user/default/:username,Actions=quicksight:CreateFolder
,quicksight:DescribeFolder, \
quicksight:CreateFolderMembership,quicksight:DeleteFolderMembership,qu
icksight:DescribeFolderPermissions \
```

사용자에게 전달하는 권한은 부여하려는 폴더 역할의 유형에 따라 달라집니다. 다음 목록을 사용하여 폴더 액세스 권한을 부여하려는 사용자에게 필요한 권한을 결정합니다.

**폴더 소유자**
+ quicksight:CreateFolder
+ quicksight:DescribeFolder
+ quicksight:UpdateFolder
+ quicksight:DeleteFolder
+ quicksight:CreateFolderMembership
+ quicksight:DeleteFolderMembership
+ quicksight:DescribeFolderPermissions
+ quicksight:UpdateFolderPermissions

**폴더 기고자**
+ quicksight:CreateFolder
+ quicksight:DescribeFolder
+ quicksight:CreateFolderMembership
+ quicksight:DeleteFolderMembership
+ quicksight:DescribeFolderPermissions

**폴더 최종 사용자**
+ quicksight:DescribeFolder

공유 폴더를 생성한 후 Quick Sight에서 폴더 사용을 시작할 수 있습니다.

Quick Sight APIs를 사용하여 최대 3,000개의 네임스페이스와 공유할 수 있는 특수 확장 폴더를 생성할 수도 있습니다. 크기 조정된 폴더 생성에 대한 자세한 정보는 [Quick Sight APIs를 사용하여 Quick Sight 확장 폴더 생성](folders-scaled.md) 섹션을 참조하세요.

# Quick Sight APIs를 사용하여 Quick Sight 확장 폴더 생성
<a name="folders-scaled"></a>

Amazon Quick Sight APIs 사용하여 최대 3,000개의 네임스페이스와 공유할 수 있는 특수 확장 폴더를 생성할 수 있습니다. 폴더에 추가되는 각 네임스페이스는 최대 100개의 보안 주체를 포함할 수 있습니다. 보안 주체는 사용자 또는 사용자 그룹입니다. 배율이 조정된 폴더를 만들고 원하는 보안 주체를 추가한 후 모든 QuickSight 자산을 폴더에 추가할 수 있습니다. 그런 다음 폴더 주도자가 할당된 네임스페이스의 모든 보안 주체와 공유할 수 있습니다. 이렇게 하면 Quick Sight 자산을 수천 명의 사용자와 공유하는 프로세스가 간소화됩니다.

확장된 폴더는 Quick Sight APIs. 크기가 조정된 폴더를 생성하면 동일한 네임스페이스에 있는 최대 100명의 보안 주체와 폴더를 공유할 수 있습니다. `UpdateFolderPermissions` API 호출을 통해 다른 네임스페이스에 속하는 보안 주체를 추가할 수 있습니다. 폴더가 생성된 후 Quick Sight APIs 또는 Quick 콘솔을 사용하여 폴더에서 자산을 추가하고 제거할 수 있습니다.

각 Amazon Quick Sight 계정에는 100개의 확장 폴더가 있습니다. 크기가 조정된 폴더당 최대 100개의 에셋을 추가할 수 있습니다. 네임스페이스가 3000개가 넘는 확장된 폴더를 공유하려면 [AWS 지원팀](https://aws.amazon.com/contact-us/)에 문의하세요.

## 예제
<a name="folders-scaled-examples"></a>

다음 예제에서는 Quick Sight APIs를 사용하여 확장된 폴더를 생성하는 방법을 보여줍니다.

**사전 조건**

시작하기 전에 API 사용자에게 Quick Sight API 작업을 호출할 수 있는 액세스 권한을 부여하는 AWS Identity and Access Management 역할이 있는지 확인합니다. 다음 예는 기존 IAM 역할에 추가하여 확장된 폴더를 생성, 삭제 또는 수정할 수 있는 IAM 정책을 보여줍니다. 샘플 정책을 사용하여 사용자는 확장된 폴더에 대시보드, 분석 및 데이터 세트를 추가할 수 있습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
        "Effect": "Allow",
        "Action": [
            "quicksight:CreateFolder",
            "quicksight:CreateFolderMembership",
            "quicksight:DeleteFolderMembership",
            "quicksight:DeleteFolder",
            "quicksight:DescribeFolderPermissions",
            "quicksight:DescribeFolderResolvedPermissions",
            "quicksight:UpdateFolderPermissions",
            "quicksight:UpdateDashboardPermissions",
            "quicksight:UpdateAnalysisPermissions",
            "quicksight:UpdateDataSetPermissions"
        ],
        "Resource": "*"
        }
    ]
}
```

------

다음 예제에서는 크기가 조정된 폴더를 생성합니다.

```
aws quicksight create-folder \
--aws-account-id "AWSACCOUNTID" \
--region "us-east-1" \
--name "eastcoast-users" \
--sharing-model "NAMESPACE" \
--folder-id "eastcoast-users"
```

크기가 조정된 폴더를 만든 후 계정의 보안 주체와 폴더를 공유합니다. 각 API 호출에서 동일한 네임스페이스 내에 있는 사용자 및 그룹에게만 권한을 부여하거나 취소할 수 있습니다. 다음 예시에서는 폴더가 있는 동일한 계정의 사용자와 크기가 조정된 폴더를 공유합니다.

```
aws quicksight update-folder-permissions \
--aws-account-id "AWSACCOUNTID" \
--region "us-east-1" \
--folder-id "eastcoast-users" \
--grant-permissions \
    '[
        {"Actions":
            ["quicksight:DescribeFolder",
            "quicksight:UpdateFolder",
            "quicksight:DeleteFolder",
            "quicksight:DescribeFolderPermissions",
            "quicksight:UpdateFolderPermissions",
            "quicksight:CreateFolderMembership",
            "quicksight:DeleteFolderMembership",
            "quicksight:CreateFolder"
            ],
        "Principal":"arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/my-user"
        }
    ]'
```

새 보안 주체와 폴더를 공유한 후 `describe-folder-permissions` API 호출을 통해 새 폴더 권한을 확인합니다.

```
aws quicksight describe-folder-permissions \
--aws-account-id "AWSACCOUNTID" \
--region "us-east-1" \
--folder-id "eastcoast-users" \
--namespace "default"
```

새 폴더 권한을 검증한 후 확장된 폴더 내에 하위 폴더를 생성합니다. 하위 폴더는 해당 폴더를 만든 크기 조정 폴더의 권한을 상속합니다.

```
aws quicksight create-folder \
--aws-account-id "AWSACCOUNTID" \
--region "us-east-1" \
--name "new-york-users" \
--sharing-model "NAMESPACE" \
--folder-id "new-york-users" \
--parent-folder-arn "arn:aws:quicksight:us-east-1:AWSACCOUNTID:folder/eastcoast-users"
```

다음 예제는 새 하위 폴더의 상속된 사용 권한을 검증합니다.

```
aws quicksight describe-folder-resolved-permissions \
--aws-account-id "AWSACCOUNTID" \
--region "us-east-1" \
--folder-id "new-york-users" \
--namespace "default"
```

하위 폴더의 권한을 검증한 후 공유하려는 Quick Sight 자산을 폴더에 추가합니다. 자산을 하위 폴더에 추가하면 해당 하위 폴더를 공유하는 모든 보안 주체와 자산이 공유됩니다. 다음 예제에서는 하위 폴더에 대시보드를 추가합니다.

```
aws quicksight create-folder-membership \
--aws-account-id "AWSACCOUNTID" \
--folder-id "new-york-users" \
--member-id "my-dashboard" \
--member-type "DASHBOARD" \
--region "us-east-1"
```

# Amazon Quick Sight에서 대화형 대시보드 탐색
<a name="using-dashboards"></a>

****  
  **대상 대상: **Amazon Quick Dashboard 구독자 또는 시청자 

Amazon Quick Sight에서 *데이터 대시보드*는 차트, 그래프 및 인사이트 모음입니다. 디지털 페이지가 있다는 점을 제외하면 관심 있는 데이터를 모두 다루는 신문과 같습니다. 읽는 대신 상호 작용합니다.

대시보드는 사용자가 수행하는 작업과 이를 제대로 수행하는 데 필요한 분석에 따라 다양한 디자인으로 제공됩니다. Quick Sight를 사용하면 웹 페이지 또는 모바일 디바이스의 데이터와 상호 작용할 수 있습니다. 우편으로도 구독하는 경우 정적 미리보기를 볼 수 있습니다.

데이터를 통해 전달되는 스토리는 대시보드를 구축한 분석가와 데이터 사이언티스트의 전문 지식을 반영합니다. 그들은 데이터를 다듬고, 계산을 추가하고, 스토리의 각도를 찾고, 그것을 어떻게 표현할지 결정합니다. 게시자는 대시보드를 디자인하고 대화형 데이터 시각화와 보기를 조정하는 컨트롤로 채웁니다. 게시자는 필터 및 검색 옵션을 포함하여 사용자의 상호 작용 수준을 사용자 지정할 수 있습니다. 화면의 활성 항목과 상호 작용하여 필터링, 정렬, 드릴다운하거나 다른 도구로 이동할 수 있습니다.

대시보드를 보면 가장 최근에 받은 데이터가 표시됩니다. 화면에 있는 항목과 상호 작용할 때 변경한 내용에 따라 대시보드 보기가 변경되며 다른 사람은 볼 수 없습니다. 따라서 사용자가 본 내용을 게시자가 알 수 있더라도 디바이스의 프라이버시는 보장됩니다. 대시보드를 닫으면 탐색 내용이 보존되지 않고 데이터도 보존되지 않습니다. 항상 그렇듯이 Quick Reader는 대시보드 게시자가 추가 비용 없이 월별 구독을 제공합니다.

대시보드 게시자이기도 한 경우(보고서를 작성하기 때문에 작성자라고 함) 추가 분석을 위해 대시보드 사본을 저장할 수도 있습니다. 게시하려는 데이터에서 새로운 기능을 발견하면 원래 작성자와 협의하여 업데이트하세요. 이렇게 하면 모든 사람이 동일한 버전의 스토리를 볼 수 있습니다. 하지만 복사본을 사용하여 그들의 디자인이 어떻게 작동하는지 알아보거나 완전히 새로운 것에 대한 영감을 받는 용도로도 사용할 수 있습니다. 그런 다음, 작업을 마치면 분석을 새 대시보드로 게시할 수 있습니다.

대시보드 설정 방법을 알아보려면 [대시보드 및 보고서를 사용하여 Amazon Quick Sight에서 데이터 공유 및 구독](working-with-dashboards.md) 섹션을 참조하세요.

**Topics**
+ [대시보드와 상호 작용](exploring-dashboards.md)
+ [픽셀 완성 보고서와 상호 작용](interacting-with-paginated-reports.md)
+ [이메일 및 알림 구독](subscriber-alerts.md)
+ [리더 생성 보고서](reader-scheduling.md)
+ [북마크](dashboard-bookmarks.md)

# Amazon Quick Sight 대시보드와 상호 작용
<a name="exploring-dashboards"></a>

공유하도록 초대를 받은 대시보드에 액세스하려면 초대 이메일의 지침을 따르세요. 이미 액세스 권한이 있는 애플리케이션이나 웹 사이트에 대시보드가 내장되어 있는 경우에도 대시보드에 액세스할 수 있습니다.

대시보드를 화면에 맞추려면 오른쪽 상단의 **보기** 메뉴를 열고 **창에 맞춤**을 선택합니다.

대시보드 구성 방식에 따라 다음 요소 전부 또는 일부를 찾을 수 있습니다.
+ 메뉴 표시줄 - 대시보드의 이름이 표시됩니다. 또한 메뉴 표시줄의 왼쪽에는 **실행 취소**, **다시 실행**, **재설정**을 포함하여 대시보드로 수행할 수 있는 작업이 표시됩니다. 대시보드와 상호 작용할 때 아무 것도 잃지 않고 보기를 변경할 수 있으므로 탐색에 도움이 되는 도구로 사용할 수 있습니다. 오른쪽에서 대시보드 **인쇄**, **데이터** 작업, 다른 AWS **리전** 선택, **사용자 프로필** 열기 옵션을 확인할 수 있습니다. 사용자 프로필 메뉴에는 Amazon Quick Sight에 표시되는 언어를 선택할 수 있는 옵션이 있습니다. 또한 Quick **Community** 및 온라인 설명서(**도움말**)에 대한 링크도 있습니다.
+ 대시보드 시트 - 대시보드에 여러 시트가 있는 경우 대시보드 상단에 여러 개의 시트가 탭으로 표시됩니다.
+ **필터** 메뉴 - 대시보드 게시자가 필터링을 허용하는 경우 대시보드 왼쪽에 이 옵션이 표시됩니다.
+ **컨트롤** 팔레트 - 대시보드에 컨트롤이 포함된 경우 컨트롤을 사용하여 대시보드에 적용할 옵션(파라미터)을 선택할 수 있습니다. 컨트롤 값이 자동으로 선택되는 경우도 있고 **전체**로 설정되는 경우도 있습니다.
+ 대시보드 제목 - 대시보드에 제목이 있는 경우 일반적으로 제목이 더 큽니다. 그 아래에 상태 정보나 지침이 있을 수 있습니다.
+ 대시보드 위젯 - 화면의 항목에는 차트, 그래프, 인사이트, 서술 또는 이미지가 포함될 수 있습니다. 모두 보려면 세로 또는 가로로 스크롤해야 할 수 있습니다.

# Amazon Quick Sight 대시보드 데이터에 필터 사용
<a name="filtering-dashboard-data"></a>

필터를 사용하여 시각적 객체에 표시되는 데이터를 구체화할 수 있습니다. 필터는 집계 함수보다 먼저 데이터에 적용됩니다. 여러 필터가 있는 경우 AND를 사용하면 모든 최상위 필터가 동시에 적용됩니다. 최상위 필터 내부에 필터를 그룹화할 경우 OR을 사용하면 해당 그룹에 있는 필터가 적용됩니다.

Amazon Quick Sight는 활성화된 모든 필터를 필드에 적용합니다. 예를 들어, `state = WA`의 필터 하나와 `sales >= 500`의 다른 필터 하나가 있다고 가정합니다. 이 경우 데이터 세트에는 해당 기준을 모두 충족하는 레코드만 포함됩니다. 이 중 하나를 비활성화할 경우 한 필터만 적용됩니다. 동일한 필드에 적용된 여러 필터가 상호 배타적이지 않도록 주의합니다.

## 필터 보기
<a name="subscriber-dashboards-viewing-filters"></a>

기존 필터를 보려면 요소 설정 메뉴에서 **필터**를 선택한 다음 필터 보기를 선택하세요. 필터는 생성된 순서대로 **적용된 필터** 패널에 표시되며, 가장 오래된 필터가 맨 위에 있습니다.

### Amazon Quick Sight 대시보드의 필터 아이콘 이해
<a name="subscriber-dashboards-understanding-filter-icons"></a>

**적용된 필터** 패널에 있는 필터에 지정된 필터 범위 및 활성화 여부를 나타내는 아이콘이 표시됩니다.

활성화되지 않은 필터는 회색으로 표시되며 해당 확인란을 선택할 수 없습니다.

여러 범위 아이콘 중 하나가 필터 이름 오른쪽에 표시되어 해당 필터에 대해 설정된 범위를 나타냅니다. 범위 아이콘은 사각형 하나에 상자 4개가 들어 있는 모양입니다. 모든 상자가 채워져 있으면 분석 시트에 있는 모든 시각적 객체에 필터가 적용됩니다. 상자가 하나만 채워져 있으면 선택한 시각적 객체에만 필터가 적용됩니다. 일부 상자가 채워져 있으면 현재 선택한 시각적 객체를 포함하여 시트에 있는 일부 시각적 객체에 필터가 적용됩니다.

범위 아이콘은 필터에 대한 범위를 선택할 때 필터 메뉴에 표시되는 아이콘과 일치합니다.

### Amazon Quick Sight 대시보드에서 필터 세부 정보 보기
<a name="subscriber-dashboards-viewing-filter-details"></a>

필터 세부 정보를 보려면 왼쪽의 **필터**를 선택합니다. 필터 보기에 마지막 선택 항목이 남아 있습니다. 따라서 **필터**를 열면 **적용된 필터** 또는 **필터 편집** 보기가 나타납니다.

**적용된 필터** 보기에서는 필터를 선택하여 세부 정보를 볼 수 있습니다. 이 목록의 필터는 필터의 범위와 현재 선택한 시각적 객체에 따라 달라질 수 있습니다.

오른쪽의 선택기를 선택하여 **필터 편집** 보기를 닫을 수 있습니다. 그러면 **필터** 보기가 재설정됩니다.

# Amazon Quick Sight에서 세션 중 데이터 필터링
<a name="subscriber-dashboards-filtering-your-view-of-the-data"></a>

대시보드 세션이 활성 상태인 동안에는 다음 세 가지 방법으로 데이터를 필터링할 수 있습니다.

1. 대시보드 화면 상단에 컨트롤이 있는 경우 사전 설정된 값 목록에서 선택하여 데이터를 필터링하는 데 사용할 수 있습니다.

1. 각 위젯의 설정 메뉴에서 필터 아이콘을 사용할 수 있습니다.

1. 페이지 왼쪽에 위치한 필터 패널을 사용해 자신만의 필터를 생성할 수도 있습니다. 필터 아이콘은 다음과 같습니다.

필터를 생성하려면 왼쪽의 **필터** 아이콘을 선택합니다.

첫 번째 단계는 필터링할 대시보드 요소를 선택하는 것입니다.

선택한 항목을 클릭하면 선택한 항목 주위에 강조 표시됩니다. 필터가 이미 있는 경우도 해당 필터가 목록에 표시됩니다. 필터가 없는 경우 **필터** 옆의 더하기 기호(**\$1**) 를 사용하여 필터를 추가할 수 있습니다.

필터링 옵션은 필터링하려는 필드의 데이터 유형과 필터 내에서 선택한 옵션에 따라 달라집니다. 다음 스크린샷은 시간 범위 날짜 필터에 사용할 수 있는 몇 가지 옵션을 보여 줍니다.

각 필터에서 필터를 하나의 대시보드 요소에 적용할지, 일부 대시보드 요소에 적용할지 또는 모든 대시보드 요소에 적용할지 선택할 수 있습니다. 필터 이름 옆의 확인란을 사용하여 필터를 활성화 또는 비활성화할 수도 있습니다. 필터를 삭제하려면 필터를 편집하고 아래쪽으로 스크롤하여 옵션을 확인합니다. 필터는 한 세션에서 다음 세션으로 저장되지 않는다는 점을 기억하세요.

필터 생성에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 필터링](adding-a-filter.md) 섹션을 참조하세요.

# Amazon Quick Sight 대시보드의 요소 사용
<a name="using-visuals-on-a-dashboard"></a>

각 위젯에는 해당 위젯을 선택할 때 나타나는 설정 메뉴가 있습니다. 이 메뉴는 확대 또는 축소, 데이터 필터링, 데이터 내보내기 등의 옵션을 제공합니다. 옵션은 요소의 위젯 유형에 따라 달라집니다.

데이터 포인트를 선택하면 몇몇 작업을 사용할 수 있습니다. 예를 들어 막대나 막대 차트의 데이터 포인트, 중첩 사선 차트의 점 등을 탭하거나 클릭할 수 있습니다. 사용 가능한 옵션은 항목 유형에 따라 달라집니다.

다음과 같은 작업들입니다.
+ 집중 또는 제외

  리전과 지표, 날짜 등 필드 내 특정 데이터에 초점을 맞추거나, 이를 제외할 수 있습니다.
+ 드릴업 또는 드릴다운

  대시보드에 드릴업 또는 드릴다운할 수 있는 데이터가 포함되어 있다면, 더 높은 수준으로 드릴업하거나, 드릴다운해서 더 상세한 세부 정보를 탐색할 수 있습니다.
+ 사용자 지정 URL 작업

  대시보드에 사용자 지정 작업이 포함되어 있는 경우 데이터 포인트를 선택하거나 데이터 포인트를 마우스 오른쪽 버튼으로 클릭하여 이를 활성화 할 수 있습니다. 예를 들어 대시보드에서 직접 누군가에게 이메일을 보낼 수 있습니다. 또는 다른 시트, 웹 사이트 또는 애플리케이션을 열고 이 시트, 웹 사이트 또는 애플리케이션에서 선택한 값을 보낼 수도 있습니다.
+ 차트 색상이나 특정 필드의 색상 변경

  모든 차트 색상을 특정 색상으로 변경할 수 있습니다. 또는 특정 필드 값을 선택하여 해당 필드 값이 속한 요소의 색상을 변경할 수 있습니다.

# Amazon Quick Sight에서 대시보드 데이터 정렬
<a name="sorting-dashboard-data"></a>

세 가지 방법으로 데이터를 정렬 할 수 있습니다.

1. 정렬하려는 필드의 레이블 위로 마우스 포인터를 옮긴 다음 정렬 아이콘을 선택합니다.

1. 대시보드 요소 중 하나의 오른쪽 상단에 있는 필터 아이콘을 선택할 수 있습니다.

1. 필드를 클릭하거나 탭해 컨텍스트 메뉴에서 **정렬**을 선택할 수 있습니다.

피벗 테이블 정렬은 다르므로 피벗 테이블의 열 정렬 아이콘을 사용하여 정렬 순서를 지정합니다.

# 대화형 Amazon Quick Sight 대시보드 보고서 내보내기 및 인쇄
<a name="export-or-print-dashboard"></a>

대화형 대시보드의 PDF 버전을 내보내거나 인쇄할 수 있습니다. 대시보드의 일부 시각적 개체를 CSV로 내보낼 수도 있습니다. 전체 대시보드를 CSV로 내보내는 것은 현재 대화형 대시보드에서 지원되지 않습니다.

## 데이터를 대시보드에서 PDF로 내보내기
<a name="export-dashboard-to-pdf"></a>

**대화형 대시보드 보고서를 PDF로 내보내려면**

1. 내보내려는 대시보드 보고서에서 오른쪽 상단의 **내보내기** 아이콘을 선택합니다.

1. **PDF 생성**을 선택합니다.

1. **PDF 생성을** 선택하면 Quick Sight가 다운로드할 대시보드 보고서를 준비하기 시작합니다. 파란색 팝업에서 **다운로드 보기** 선택하여 오른쪽에 있는 **다운로드** 창을 엽니다.

1. 보고서를 다운로드하는 방법은 두 가지가 있습니다.
   + 녹색 팝업 창에서 **지금 다운로드**를 선택합니다.
   + 오른쪽 상단의 **내보내기** 아이콘을 선택한 다음 **다운로드 보기**를 선택하여 다운로드할 준비가 된 모든 보고서를 보고 다운로드합니다.

**대화형 대시보드 보고서를 인쇄하려면**

1. 인쇄하려는 보고서에서 오른쪽 상단의 **내보내기** 아이콘을 선택한 다음 **인쇄**를 선택합니다.

1. 나타나는 **인쇄 준비** 팝업에서 원하는 용지 크기와 방향을 선택합니다. **배경색 인쇄**를 선택하여 배경색을 포함하도록 선택할 수도 있습니다.

1. **미리 보기로 이동**을 선택합니다.

1. 표시되는 미리 보기 창에서 **인쇄**를 선택합니다.

## 데이터를 대시보드에서 CSV로 내보내기
<a name="export-dashboard-to-csv"></a>

**참고**  
내보내기 파일은 데이터 세트 가져오기의 정보를 직접 반환할 수 있습니다. 따라서 가져온 데이터에 수식이나 명령이 포함된 경우 파일이 CSV 삽입에 취약해집니다. 이러한 이유로, 파일을 내보내는 경우 보안 경고가 표시될 수 있습니다. 악의적인 활동을 방지하려면 내보낸 파일을 읽을 때 링크와 매크로를 끄세요.

분석이나 대시보드의 데이터를 쉼표로 구분된 값(CSV) 파일로 내보내려면 위젯 오른쪽 상단에 위치한 설정 메뉴를 사용합니다. 내보내기에는 선택한 항목에 현재 표시된 데이터만 포함됩니다.

테이블 및 피벗 테이블에서 쉼표로 구분된 값(CSV) 파일 또는 Microsoft Excel 파일로 데이터를 내보낼 수 있습니다. 보이는 필드만 내보내거나 모든 필드를 내보내도록 선택할 수 있습니다.

보이는 필드만 CSV 또는 Excel 파일로 내보내려면 시각적 객체의 오른쪽 상단에 있는 메뉴를 선택합니다. **CSV로 내보내기** 또는 **Excel로 내보내기**를 선택한 다음 **보이는 필드를 CSV로 내보내기** 또는 **보이는 필드를 Excel로 내보내기**를 선택합니다.

모든 필드를 CSV 또는 Excel 파일로 내보내려면 시각적 객체의 오른쪽 상단에 있는 메뉴를 선택합니다. **CSV로 내보내기** 또는 **Excel로 내보내기**를 선택한 다음 **모든 필드를 CSV로 내보내기** 또는 **모든 필드를 Excel로 내보내기**를 선택합니다.

# Amazon Quick Sight 대시보드의 요약 생성
<a name="use-executive-summaries"></a>

대시보드 독자는 Quick Sight가 대시보드에 대해 생성한 모든 인사이트의 요약을 제공하는 실행 요약을 생성할 수 있습니다. 실행 요약을 통해 독자는 대시보드에 대한 주요 인사이트와 정보를 한눈에 쉽게 확인할 수 있습니다.

독자가 실행 요약을 사용하는 대시보드를 보는 경우 대시보드 페이지의 오른쪽 상단에 있는 **빌드** 드롭다운 목록에서 **실행 요약** 옵션을 사용할 수 있습니다. 아래 절차에 따라 실행 요약을 생성합니다. 대시보드에서 실행 요약을 사용하지 않는 경우 **실행 요약** 옵션이 **빌드** 드롭다운 목록에 표시되지 않습니다.

**실행 요약 생성**

1. 작업하려는 대시보드에서 **빌드**를 선택한 다음 **실행 요약**을 선택합니다.

1. **요약**을 선택합니다. 실행 요약이 생성되고 왼쪽에 나타납니다.

실행 요약은 현재 대시보드 시트 및 시각적 객체 설정의 데이터를 사용합니다. 대시보드 또는 시각적 객체 설정이 업데이트되면 실행 요약 상단에 경고가 표시됩니다. 업데이트된 대시보드의 실행 요약을 새로 고치려면 새 실행 요약을 생성합니다.

요약이 생성되면 Amazon Quick Reader는 요약을 클립보드에 복사하여 다른 사람과 공유하거나 Quick Sight 스토리에 포함할 수 있습니다. Quick Sight 스토리에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick Sight에서 데이터 스토리 작업](working-with-stories.md).

# Amazon Quick Sight에서 픽셀 완성 보고서와 상호 작용
<a name="interacting-with-paginated-reports"></a>

공유 초대를 받은 픽셀 완성 보고서에 액세스하려면 초대 이메일의 지침을 따르세요. 이미 액세스할 수 있는 애플리케이션 또는 웹 사이트에 포함된 픽셀 완성 보고서에도 액세스할 수 있습니다.

픽셀 완성 보고서를 화면에 맞추려면 오른쪽 상단의 **보기** 메뉴를 열고 **창에 맞춤을** 선택합니다. 보고서 왼쪽 상단의 더하기 (\$1) 및 빼기 (-) 아이콘을 사용하여 확대 및 축소할 수도 있습니다.

# Amazon Quick Sight 보고서 내보내기 및 인쇄
<a name="interacting-with-paginated-reports-export"></a>

픽셀 완성 보고서는 특정 시점에서 볼 수 있도록 설계되었습니다. 이러한 보고서 또는 스냅샷은 PDF 또는 CSV로 인쇄하거나 다운로드할 수 있습니다.

**픽셀 완성 보고서 보고서를 PDF로 내보내려면**

1. 내보내려는 픽셀 완성 보고서에서 오른쪽 상단의 **내보내기** 아이콘을 선택합니다.

1. **PDF 생성**을 선택합니다.

1. **PDF 생성을** 선택하면 Quick Sight가 다운로드할 픽셀 완성 보고서를 준비하기 시작합니다. 보고서가 준비되면 **PDF가 준비되었습니다.**라는 녹색 팝업이 나타납니다.

1. 보고서를 다운로드하는 방법은 두 가지가 있습니다.
   + 녹색 팝업 창에서 **지금 다운로드**를 선택합니다.
   + 오른쪽 상단의 **내보내기** 아이콘을 선택한 다음 **다운로드 보기**를 선택하여 다운로드할 준비가 된 모든 보고서를 보고 다운로드합니다.

**픽셀 완성 보고서를 CSV로 내보내려면**

1. 내보내려는 보고서에서 오른쪽 상단의 **예약** 아이콘을 선택한 다음 **최근 스냅샷**을 선택합니다.

1. 오른쪽에 나타나는 **최근 스냅샷** 메뉴에서 스냅샷은 가장 최근에 생성된 것부터 가장 오래된 것까지 정렬됩니다. 스냅샷은 최대 1년 동안 저장됩니다. 다운로드하려는 보고서를 찾아 보고서 오른쪽에 있는 다운로드 아이콘을 선택합니다.

1. 표시되는 보고서 팝업에서 다운로드하려는 보고서 버전 옆에 있는 다운로드 아이콘을 선택합니다. 보고서를 CSV로 다운로드하거나 PDF로 다운로드하도록 선택할 수 있습니다.

**픽셀 완성 보고서를 인쇄하려면**

1. 인쇄하려는 보고서에서 오른쪽 상단의 **내보내기** 아이콘을 선택한 다음 **인쇄**를 선택합니다.

1. **인쇄**를 선택하면 브라우저의 프린터 팝업이 나타납니다. 여기에서 브라우저의 다른 내용을 인쇄하는 것과 동일한 방식으로 PDF를 인쇄할 수 있습니다.

# Amazon Quick Sight 대시보드 이메일 및 알림 구독
<a name="subscriber-alerts"></a>

Amazon Quick Sight를 사용하면 대시보드 업데이트 및 이상 알림과 같은 특정 이벤트에 대한 업데이트를 구독할 수 있습니다.

**Topics**
+ [대시보드 이메일 가입](#subscribing-to-a-dashboard-report-for-readers)
+ [이상 알림 가입](#anomaly-alerts)

## 대시보드 이메일 가입
<a name="subscribing-to-a-dashboard-report-for-readers"></a>

가입하면 보고서 형식으로 대시보드를 가져올 수 있으며 이메일로 받아볼 수 있습니다. 보고서 설정을 구성할 수도 있습니다.

**대시보드의 구독 및 보고서 설정을 변경하려면**

1. 공유된 대시보드를 엽니다.

1. 오른쪽 상단의 **일정** 아이콘을 선택한 다음 드롭다운에서 **일정**을 선택합니다.

1. 오른쪽에 **일정** 창이 나타납니다. 이 창에는 구독하고 있거나 구독할 수 있는 다양한 예약 보고서가 모두 표시됩니다. 원하는 보고서로 이동한 다음 스위치를 전환하여 보고서를 구독하거나 구독을 취소합니다.

## 이상 알림 가입
<a name="anomaly-alerts"></a>

이상 감지를 위해 구성된 서술 인사이트가 있는 대시보드에서 이상 및 기여도 분석에 대한 알림을 받도록 가입할 수 있습니다. 이상이 업데이트되면 이상 경고가 표시됩니다. 알림 이메일에는 총 이상 수가 표시되며 개인 알림 구성에 따라 상위 다섯 개에 대한 세부 정보가 제공됩니다. 기여도 분석이 이상 감지와 함께 실행되도록 구성되어 있는 경우 업데이트 시 키 드라이버 기여도 분석을 받습니다.

**이상 알림을 설정하려면**

1. 공유된 대시보드를 엽니다.

1. 두 화면 중 하나에서 경고를 구성할 수 있습니다. 다음 중 하나를 선택하고 다음 단계로 진행하세요.
   + 대시보드에서 관심 있는 이상 위젯을 찾으세요. 주위에 강조 표시된 상자가 있도록 선택하십시오.
   + 대시보드에서 **이상 탐색** 페이지가 열려 있는 경우 대시보드 보기로 돌아가지 않고도 알림을 구성할 수 있습니다.

1. 오른쪽 상단에서 **경고 구성**을 선택합니다. **경고** 구성 화면이 나타납니다.

1. **심각도**의 경우 가장 낮은 유의 수준을 선택하세요.

   **지시**에서 **예상보다 높거나** **예상보다 낮은** 이상에 대한 경고를 받도록 선택합니다. **[모두]**를 선택하여 모든 이상에 대한 경고를 받을 수도 있습니다.

1. 선택을 확인하려면 **확인**을 선택합니다.

1. 이상 알림을 그만 받으려면 대시보드에서 이상 위젯을 찾아 벨 아이콘을 사용하여 구독을 취소합니다. 경고 이메일 하단에서 **이 경고를 관리하려면** 링크를 사용할 수도 있습니다.

# Amazon Quick Sight에서 리더 생성 보고서 생성
<a name="reader-scheduling"></a>

Amazon Quick 작성자가 Quick Sight 픽셀 완성 보고서에 대한 프롬프트 보고서를 설정한 경우 Quick Sight 대시보드 뷰어는 프롬프트를 사용하여 자체 보고서를 예약할 수 있습니다. 픽셀 완성 보고서의 프롬프트에 대한 자세한 내용은 섹션을 참조하세요[페이지를 매긴 보고서에 대한 프롬프트 설정](paginated-reports-prompts.md).

다음 섹션을 사용하여 리더 생성 보고서를 생성하고 수정하는 방법을 알아봅니다.

**Topics**
+ [리더 생성 보고서 생성](#reader-scheduling-create)
+ [Quick Sight 리더 생성 보고서의 저장된 보기 로드](#reader-scheduling-load-view)
+ [예약된 리더 생성 보고서의 보기 업데이트](#reader-scheduling-update-view)
+ [리더 생성 보고서 일정 업데이트](#reader-scheduling-update-schedule)

## 리더 생성 보고서 생성
<a name="reader-scheduling-create"></a>

다음 절차를 사용하여 리더 생성 보고서를 생성합니다.

**리더 생성 보고서를 생성하는 방법**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 보고서를 생성하려는 대시보드를 여세요.

1. 대시보드 페이지 상단에서 **예약**을 선택하세요.

1. 예약 창이 열립니다. 새 보고서 일정을 추가하려면 **추가**를 선택하세요. **추가** 버튼이 표시되지 않거나 대시보드에 픽셀 완성 시트가 없거나 Quick 계정에 Pixel 완성 보고서가 추가되지 않은 경우 페이지를 매긴 보고서 추가 기능에 대한 자세한 내용은 [시작하기](qs-reports-getting-started.md) 섹션을 참조하세요.

1. **일정 이름**에 새 일정 이름을 입력하세요. 일정 이름은 최대 100자입니다.

1. **설명**의 경우 보고서에서 사용할 보기 옵션을 선택하세요. 다음 보기 중에서 선택할 수 있습니다.
   + **사용자 지정 보기** - 대시보드의 현재 보기.
   + **원본 보기** - 작성자가 대시보드에 게시한 보기.

1. **콘텐츠**에서 PDF 보고서를 생성할 픽셀 완성 보고서 시트를 선택합니다.

1. **날짜**에서 보고서를 수신하려는 빈도를 선택하세요. 이메일 보고서에 사용할 수 있는 예약 옵션은 다음과 같습니다.
   + **1회(반복 없음)** - 선택한 날짜와 시간에 한 번만 보고서를 전송합니다.
   + **일별** — 선택한 시간에 매일 반복합니다.
   + **주별** — 선택한 시간에 같은 날 또는 요일에 매주 반복합니다. 이 옵션을 사용하여 격주 또는 3주와 같은 주간 간격으로 보고서를 전송할 수도 있습니다.
   + **월별** — 선택한 시간에 매월 같은 날에 반복합니다. 이 옵션을 사용하여 매월 두 번째 수요일 또는 마지막 금요일과 같은 특정 날짜에 보고서를 보낼 수도 있습니다.
   + **매년** - 선택한 시간에 선택한 달의 또는 월별로 같은 날 매년 반복합니다. 이 옵션을 사용하여 선택한 달의 특정 날짜 또는 날짜 세트에 대한 보고서를 보낼 수도 있습니다. 예를 들어, 매년 1월, 3월, 9월의 첫 번째 월요일, 7월 14일 또는 2월, 4월, 6월 둘째 날에 보내도록 보고서를 구성할 수 있습니다.
   + **사용자 지정** - 비즈니스 요구 사항에 가장 적합한 예약 보고서를 직접 구성하세요.

   예약된 보고서는 지정된 시간으로부터 1시간 이내에 전송됩니다. 피크 시간 중에는 지연될 수 있습니다.

1. **이메일** 탭의 **이메일 제목 줄** 사용자 지정 제목을 입력하거나, 보고서 제목을 사용하려면 비워 두십시오.

1. 보고서를 수신하려는 사용자 또는 그룹의 빠른 그룹 이름의 이메일 주소를 입력합니다.

1. **이메일 헤더**에는 이메일 보고서에 표시할 헤더를 입력합니다.

1. (선택 사항) **이메일 본문 텍스트**의 경우, 비워 두거나 전자 메일 시작 부분에 표시할 사용자 지정 메시지를 입력합니다.

1. (선택 사항, 권장) 변경 내용을 저장하기 전에 보고서 샘플을 보내려면 **테스트 보고서 보내기**를 선택합니다.

1. 다음 중 하나를 수행하세요.
   + (권장) **저장**을 선택하여 입력한 내용을 확인합니다.
   + 보고서를 즉시 보내려면 **저장 후 지금 실행**을 선택합니다. 스케줄의 시작 날짜가 미래인 경우에도, 보고서는 즉시 전송됩니다.

보고서 일정을 저장하면 일정 창에 **일정**이 나타납니다. 리더 생성 보고서는 보고서를 생성한 사용자만 사용할 수 있으며 공유할 수 없습니다.

## Quick Sight 리더 생성 보고서의 저장된 보기 로드
<a name="reader-scheduling-load-view"></a>

Amazon Quick Reader는 **일정** 창을 사용하여 생성하거나 수신한 예약된 픽셀 전체 보고서의 저장된 보기를 로드할 수 있습니다. 다음 절차를 사용하여 예약된 보고서의 저장된 검토를 로드합니다.

**예약된 보고서의 저장된 보기를 로드하는 방법**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 보고서가 포함된 대시보드를 여세요.

1. 대시보드 페이지 상단에서 **예약**을 선택하세요.

1. 예약 창이 열립니다. 변경하려는 일정을 찾아 보고서 옆의 줄임표(점 3개) 아이콘을 선택하여 일정 메뉴를 연 다음 **세부 정보**를 선택하세요.

1. **저장된 보기 로드**를 선택하세요. 선택한 일정에 사용된 대시보드의 저장된 보기가 렌더링됩니다. 대시보드 스냅샷을 생성할 때 활성 상태였던 모든 필터 값이 대시보드에 적용됩니다. 대시보드의 저장된 보기가 로드되면 대시보드에 대한 리더의 현재 보기가 사라집니다.

## 예약된 리더 생성 보고서의 보기 업데이트
<a name="reader-scheduling-update-view"></a>

Amazon Quick Reader가 Quick Sight에서 보고서를 생성한 후 **일정** 창을 사용하여 예약된 보고서에 사용되는 대시보드 보기를 업데이트할 수 있습니다. 다음 절차를 사용하여 예약된 보고서의 대시보드 보기를 업데이트합니다.

**예약된 보고서의 대시보드 보기를 변경하는 방법**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 보고서가 포함된 대시보드를 여세요.

1. 대시보드 페이지 상단에서 **예약**을 선택하세요.

1. 예약 창이 열립니다. 변경하려는 일정을 찾아 보고서 옆의 줄임표(점 3개) 아이콘을 선택하여 일정 메뉴를 연 다음 **세부 정보**를 선택하세요.

1. **저장된 보기 로드**를 선택하세요. 선택한 일정에 사용된 대시보드의 저장된 보기가 렌더링됩니다. 대시보드 스냅샷을 생성할 때 활성 상태였던 모든 필터 값이 대시보드에 적용됩니다. 대시보드의 저장된 보기가 로드되면 대시보드에 대한 리더의 현재 보기가 사라집니다.

1. 변경하려는 대시보드 필터를 업데이트하세요

1. 대시보드 페이지 상단에서 **예약**을 선택하세요.

1. 예약 창이 열립니다. 변경하려는 일정을 찾아 보고서 옆의 줄임표(점 3개) 아이콘을 선택하여 일정 메뉴를 연 다음 **편집**을 선택하세요.

1. **대시보드 보기** 섹션으로 이동하고 **사용자 지정 보기**를 선택하세요. 업데이트한 새 필터 값이 대시보드 보고서에 적용됩니다.

1. **저장**을 선택하여 일정을 업데이트하세요.

## 리더 생성 보고서 일정 업데이트
<a name="reader-scheduling-update-schedule"></a>

독자가 생성한 보고서를 생성한 후 Amazon Quick Reader는 **일정** 창을 사용하여 보고서 일정을 활성 또는 비활성으로 만들 수 있습니다. 다음 절차를 사용하여 리더 생성 보고서 일정의 활성 상태를 업데이트합니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 보고서가 포함된 대시보드를 여세요.

1. 대시보드 페이지 상단에서 **예약**을 선택하여 **일정** 창을 여세요.

1. **일정**을 선택하세요.

1. **내 일정** 섹션으로 이동하여 업데이트하려는 일정을 찾으세요.

1. 토글을 사용하여 보고서 일정을 **활성** 또는 **비활성**으로 설정하세요.

1. 보고서 일정 변경을 마치면 **일정** 창을 닫으세요.

# Amazon Quick Sight 대시보드의 북마크 보기
<a name="dashboard-bookmarks"></a>

대시보드를 Amazon Quick Reader 또는 작성자로 로드할 때 북마크를 생성하여 관심 있는 특정 보기를 캡처할 수 있습니다. 예를 들어, 원래 게시된 대시보드와는 다른 특정 필터 설정을 사용하여 대시보드용 북마크를 만들 수 있습니다. 이렇게 하면 관련 데이터로 빠르게 돌아갈 수 있습니다.

북마크를 만든 후 북마크를 새 세션에서 대시보드를 열 때 표시되는 대시보드의 기본 보기로 설정할 수 있습니다. 이는 대시보드를 보는 다른 사람의 보기에는 영향을 주지 않습니다.

최대 200개의 대시보드용 북마크를 생성하고 다음 URL 링크를 통해 해당 대시보드의 다른 구독자와 공유할 수 있습니다.

대시보드 북마크는 Quick 콘솔에서 사용할 수 있습니다.

픽셀 완성 보고서의 대시보드 북마크는 현재 지원되지 않습니다. 픽셀 완성 보고서에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick Sight에서 픽셀 완성 보고서 작업](working-with-reports.md).

다음 주제를 통해 북마크 사용 방법을 알아봅니다.

**Topics**
+ [Amazon Quick Sight에서 북마크 생성](dashboard-bookmarks-create.md)
+ [Amazon Quick Sight에서 북마크 업데이트](dashboard-bookmarks-update.md)
+ [Amazon Quick Sight에서 북마크 이름 바꾸기](dashboard-bookmarks-rename.md)
+ [Amazon Quick Sight에서 북마크를 기본 보기로 설정](dashboard-bookmarks-default.md)
+ [Amazon Quick Sight에서 북마크 공유](dashboard-bookmarks-share.md)
+ [Amazon Quick Sight에서 북마크 삭제](dashboard-bookmarks-delete.md)

# Amazon Quick Sight에서 북마크 생성
<a name="dashboard-bookmarks-create"></a>

대시보드의 북마크를 생성하려면 다음 절차에 따르세요.

**대시보드의 북마크를 생성하려면**

1. 보려는 게시된 대시보드를 열고 필터 또는 파라미터를 변경하거나 원하는 시트를 선택합니다. 예를 들어, 관심 있는 리전으로 필터링하거나 대시보드의 시트 컨트롤을 사용하여 특정 날짜 범위를 선택할 수 있습니다.

1. 오른쪽 상단의 북마크 아이콘을 선택한 다음 **북마크 추가**를 선택합니다.

1. 열리는 **북마크 추가** 창에서 북마크의 이름을 입력한 다음 **저장**을 선택합니다.

   북마크가 저장되고 대시보드 이름이 북마크 이름(왼쪽 상단)으로 업데이트됩니다.

   오른쪽 **북마크** 창에서 **원본 대시보드**를 선택하여 언제든지 작성자가 게시한 원본 대시보드 보기로 돌아갈 수 있습니다.

# Amazon Quick Sight에서 북마크 업데이트
<a name="dashboard-bookmarks-update"></a>

언제든지 북마크 대시보드 보기를 변경하고 이러한 변경 사항이 항상 반영되도록 북마크를 업데이트할 수 있습니다.

**북마크를 업데이트하려면**

1. 게시된 대시보드를 열고 필터 또는 파라미터를 필요에 따라 변경하거나 시트를 선택합니다.

1. 오른쪽 상단에 있는 북마크 아이콘을 선택합니다.

1. 열리는 **북마크** 창에서 업데이트하려는 북마크의 콘텍스트 메뉴(세로 점 세 개)를 선택한 다음 **업데이트**를 선택합니다.

   업데이트를 확인하는 메시지가 나타납니다.

# Amazon Quick Sight에서 북마크 이름 바꾸기
<a name="dashboard-bookmarks-rename"></a>

북마크의 이름을 바꾸려면 다음 절차에 따르세요.

**북마크 이름을 바꾸려면**

1. 게시된 대시보드에서 오른쪽 상단의 북마크 아이콘을 선택하여 **북마크** 창을 엽니다.

1. **북마크** 창에서 이름을 바꾸려는 북마크의 컨텍스트 메뉴(세로 점 세 개)를 선택한 다음 **이름 바꾸기**를 선택합니다.

1. **북마크 이름 바꾸기** 창에서 북마크의 이름을 입력한 다음 **저장**을 선택합니다.

# Amazon Quick Sight에서 북마크를 기본 보기로 설정
<a name="dashboard-bookmarks-default"></a>

기본적으로 대시보드를 업데이트하면 Quick Sight는 이러한 변경 사항을 기억하고 대시보드를 닫은 후 유지합니다. 이렇게 하면 대시보드를 다시 열 때 중단한 부분부터 다시 시작할 수 있습니다. 대신 북마크를 대시보드의 기본 보기로 설정할 수 있습니다. 이렇게 하면 대시보드를 열 때마다 마지막 세션에서 변경한 내용과 상관없이 북마크 보기가 표시됩니다.

**북마크를 대시보드의 기본 보기로 설정하려면**

1. 게시된 대시보드에서 오른쪽 상단의 북마크 아이콘을 선택하여 **북마크** 창을 엽니다.

1. **북마크** 창에서 기본 보기로 설정하려는 북마크의 콘텍스트 메뉴(점 세 개)를 선택한 다음 **기본값으로 설정**을 선택합니다.

# Amazon Quick Sight에서 북마크 공유
<a name="dashboard-bookmarks-share"></a>

북마크를 만든 후 대시보드를 볼 권한이 있는 다른 사람과 보기의 URL 링크를 공유할 수 있습니다. 그러면 해당 보기를 자신의 북마크로 저장할 수 있습니다.

**다른 대시보드 구독자와 북마크를 공유하려면**

1. 게시된 대시보드에서 오른쪽 상단의 북마크 아이콘을 선택하여 **북마크** 창을 엽니다.

1. **북마크** 창에서 공유하려는 북마크를 선택하여 대시보드가 해당 보기로 업데이트되도록 합니다.

1. 오른쪽 상단의 공유 아이콘을 선택한 다음 **이 보기 공유**를 선택합니다.

   Quick Sight에서 제공하는 URL 링크를 복사하여 이메일 또는 IM 메시지에 붙여넣어 다른 사람과 공유할 수 있습니다. 그러면 URL 링크 수신자가 보기를 자신의 북마크로 저장할 수 있습니다. 대시보드 보기 공유에 대한 자세한 내용은 [Amazon Quick Sight 대시보드 보기 공유](share-dashboard-view.md) 섹션을 참조하세요.

# Amazon Quick Sight에서 북마크 삭제
<a name="dashboard-bookmarks-delete"></a>

북마크를 삭제하려면 다음 절차에 따르세요.

**북마크를 삭제하려면**

1. 게시된 대시보드에서 오른쪽 상단의 북마크 아이콘을 선택하여 **북마크** 창을 엽니다.

1. **북마크** 창에서 삭제하려는 북마크의 컨텍스트 메뉴(세로 점 세 개)를 선택한 다음 **삭제**를 선택합니다.

1. 열리는 **북마크 삭제** 창에서 **예, 북마크를 삭제합니다**를 선택합니다.

# Amazon Quick Sight에서 기계 학습(ML)으로 인사이트 얻기
<a name="making-data-driven-decisions-with-ml-in-quicksight"></a>

Amazon Quick Sight는 기계 학습을 사용하여 데이터의 숨겨진 인사이트와 추세를 발견하고, 주요 동인을 식별하고, 비즈니스 지표를 예측하는 데 도움이 됩니다. 대시 보드에 포함된 자연어 서술에서 이러한 인사이트를 사용할 수도 있습니다.

기계 학습(ML) 및 자연어 기능을 사용하는 Amazon Quick Sight Enterprise Edition은 설명 및 진단 분석을 넘어 예측 및 의사 결정을 시작합니다. 데이터를 한눈에 파악하고 결과를 공유하고 목표 달성을 위한 최선의 결정을 발견할 수 있습니다. 필요한 기계 학습 모델 및 알고리즘을 만드는 개발팀과 기술이 없어도 이 작업을 수행할 수 있습니다.

사용자는 패턴의 조사 및 식별을 위해 어떤 일이 발생했는지, 언제, 어디서, 그리고 드릴다운하는지에 대한 질문에 답변하는 시각화를 이미 구축했을 가능성이 높습니다. ML 인사이트를 사용하면 수작업으로 분석하고 조사하는 데 몇 시간씩 허비하지 않아도 됩니다. 상황에 맞는 사용자 지정 서술 목록에서 *자동 서술*을 선택하여 분석에 추가할 수 있습니다. 자동 서술을 선택하는 것 외에도 예상, 이상 및 이들에 도움이 되는 요소를 볼 수 있습니다. 또한 핵심 요약을 일반 언어로 설명하는 자동 서술을 추가하여 회사에 대해 단일 데이터 중심의 실측 정보를 제공할 수도 있습니다.

시간이 경과하고 데이터가 시스템을 통과함에 따라 Amazon Quick Sight는 보다 관련성이 높은 인사이트를 제공할 수 있도록 지속적으로 학습합니다. 데이터의 의미를 결정하는 대신 제공하는 정보로 수행할 작업을 결정할 수 있습니다.

기계 학습을 기반으로 하는 공유 기반을 통해 모든 분석가와 이해 관계자는 수백만 지표에 기반한 추세, 이상, 예상 및 사용자 지정 서술을 확인할 수 있습니다. 그들은 근본 원인을 확인하고 예상을 고려하고 위험을 평가하고, 정보에 입각한 정당한 결정을 내릴 수 있습니다.

수동 분석, 사용자 지정 개발 기술 및 기계 학습 모델링이나 알고리즘에 대한 이해가 없어도 이와 같은 대시보드를 생성할 수 있습니다. 이 모든 기능은 Amazon Quick Sight Enterprise Edition에 내장되어 있습니다.

**참고**  
기계 학습 기능은 제품 전반에 걸쳐 필요에 따라 사용됩니다. 기계 학습을 능동적으로 사용하는 기능은 다음과 같이 분류됩니다.

ML Insights를 통해 Amazon Quick Sight는 세 가지 주요 기능을 제공합니다.
+ **ML 기반 이상 탐지 -** Amazon Quick Sight는 Amazon의 검증된 기계 학습 기술을 사용하여 모든 데이터를 지속적으로 분석하여 이상(특이값)을 탐지합니다. 예상보다 훨씬 많은 매출이나 웹 사이트 트래픽의 급감과 같은 중요한 비즈니스 지표 변화에 기여하는 최고 동인을 파악할 수 있습니다. Amazon Quick Sight는 수백만 개의 지표와 수십억 개의 데이터 포인트에 Random Cut Forest 알고리즘을 사용합니다. 이렇게 하면 수동 분석을 통해 액세스할 수 없는 집계에 묻혀있는 깊은 인사이트를 얻을 수 있습니다.
+ **ML 기반 예측 -** Amazon Quick Sight를 사용하면 비기술 사용자가 주요 비즈니스 지표를 자신 있게 예측할 수 있습니다. 내장형 ML Random Cut Forest 알고리즘은 계절성 및 추세를 감지하고 특이값을 제외하고 누락된 값을 전가하는 것과 같은 복잡한 실제 시나리오를 자동으로 처리합니다. 포인트 앤 클릭 방식으로 데이터와 간단하게 상호 작용할 수 있습니다.
+ **자동 서술 **- Amazon Quick Sight에서 자동 서술을 사용하면 서술이 내장된 풍부한 대시보드를 구축하여 데이터에 대한 스토리를 일반 언어로 알릴 수 있습니다. 이렇게 하면 차트 및 테이블을 통해 탐색 시간을 절약할 수 있으므로 보고에 대한 중요 인사이트를 확보할 수 있습니다. 또한 조직 내의 데이터를 함께 이해함으로써 의사 결정을 보다 빠르게 내릴 수 있습니다. 추천 자동 서술을 사용하거나 고유한 요구 사항에 맞게 계산 및 언어를 사용자 지정할 수 있습니다. Amazon Quick Sight는 모든 사용자에게 개인 데이터 분석가를 제공하는 것과 같습니다.

**Topics**
+ [Amazon Quick Sight에서 사용하는 ML 알고리즘 이해](concept-of-ml-algorithms.md)
+ [Amazon Quick Sight에서 ML 인사이트를 사용하기 위한 데이터세트 요구 사항](ml-data-set-requirements.md)
+ [Amazon Quick Sight에서 인사이트 작업](computational-insights.md)
+ [Amazon Quick Sight를 사용하여 자동 서술 생성](narratives-creating.md)
+ [ML 기반 이상 탐지를 사용하여 특이값 탐지](anomaly-detection.md)
+ [Amazon Quick Sight를 사용한 가정 시나리오 예측 및 생성](forecasts-and-whatifs.md)

# Amazon Quick Sight에서 사용하는 ML 알고리즘 이해
<a name="concept-of-ml-algorithms"></a>


|  | 
| --- |
|  Amazon Quick Sight에서 ML 기반 기능을 사용하기 위해 기계 학습에 대한 기술 경험이 필요하지 않습니다. 이 단원에서는 알고리즘의 작동 방식에 대해 자세히 알아보려는 사용자를 위해 알고리즘의 기술적 측면에 대해 자세히 살펴봅니다. 기능을 사용하기 위해 이 정보를 확인할 필요는 없습니다.  | 

Amazon Quick Sight는 Random Cut Forest(RCF) 알고리즘의 기본 제공 버전을 사용합니다. 다음 섹션에서는 이것이 무엇을 의미하고 Amazon Quick Sight에서 어떻게 사용되는지 설명합니다.

먼저 몇 가지 용어를 살펴보겠습니다.
+ 이상 - 동일한 샘플에서 대부분의 다른 항목과 두드러지게 차이 나는 것을 의미합니다. 특이값, 예외, 편차라고도 합니다.
+ 데이터 포인트 - 데이터 세트의 개별 단위, 간단히 말해 행입니다. 하지만 측정에서 여러 차원을 사용할 경우 한 행에 데이터 포인트가 여러 개 포함될 수 있습니다.
+ 결정 트리 - 데이터의 패턴을 평가하는 알고리즘의 결정 과정을 시각화하는 방법입니다.
+ 예상 - 현재와 과거의 동작을 기반으로 미래의 동작을 예상합니다.
+ 모델 - 알고리즘 또는 알고리즘이 학습하는 내용을 수학적으로 표현한 것입니다.
+ 계절성 - 시계열 데이터에서 주기적으로 나타나는 반복적인 동작 패턴입니다.
+ 시계열 - 하나의 필드 또는 열에서 순서가 지정된 날짜 또는 시간 데이터 집합입니다.

**Topics**
+ [이상 탐지와 예상의 차이는 무엇입니까?](difference-between-anomaly-detection-and-forecasting.md)
+ [RCF란 무엇인가요?](what-is-random-cut-forest.md)
+ [RCF가 이상 탐지에 적용되는 방법](how-does-rcf-detect-anomalies.md)
+ [RCF가 예상 생성에 적용되는 방법](how-does-rcf-generate-forecasts.md)
+ [기계 학습 및 RCF에 대한 참조](learn-more-about-machine-learning-and-rcf.md)

# 이상 탐지와 예상의 차이는 무엇입니까?
<a name="difference-between-anomaly-detection-and-forecasting"></a>

이상 탐지는 특이값 및 해당 기여 동인을 식별하여 “일반적으로 발생하지 않는 일은 무엇입니까?”라는 질문에 답변합니다. 예상은 '모든 것이 예상대로 계속 발생하면 미래에 어떤 일이 발생합니까?'라는 질문에 대해 응답합니다. 예상을 허용하는 수학에서는 '몇 가지 변화가 생기면 어떻게 될까요?'라고 질문할 수도 있습니다.

예외 항목 탐지와 예상 모두 현재 알려진 데이터 포인트를 조사하는 것으로 시작됩니다. Amazon Quick Sight 이상 탐지는 알려진 세트 외부에 있는 것을 설정하고 해당 데이터 포인트를 이상(특이값)으로 식별할 수 있도록 알려진 것으로 시작합니다. Amazon Quick Sight 예측은 변칙적인 데이터 포인트를 제외하고 알려진 패턴을 유지합니다. 예상은 데이터 배포의 확립된 패턴에 초점을 둡니다. 이와 반대로 이상 탐지는 기대한 것과 다른 데이터 포인트에 초점을 맞춥니다. 각 방법은 다른 방향에서 의사 결정에 접근합니다.

# RCF란 무엇인가요?
<a name="what-is-random-cut-forest"></a>

*Random Cut Forest*(RCF)는 기계 학습에서 널리 사용되고 성공적인 기술인 *random forest*(RF) 알고리즘의 특수 유형입니다. 데이터 포인트 집합을 임의로 가져와서 동일한 수의 포인트로 축소한 다음 모델 모음을 빌드합니다. 반면에 모델이 결정 트리에 해당하므로 이름이 포리스트입니다. RF를 증분식으로 쉽게 업데이트할 수 없으므로 RCF는 증분식 업데이트가 가능하도록 설계된 트리 구조에서 변수를 사용하여 고안되었습니다.

비지도 알고리즘인 RCF는 클러스터 분석을 사용하여 시계열 데이터의 스파이크, 주기성 또는 계절성의 중단, 데이터 포인트 예외를 탐지합니다. Random cut forest는 동적 데이터 스트림의 개요 또는 스케치(또는 숫자의 타임 인덱스 시퀀스)로 작동할 수 있습니다. 스트림에 대한 질문과 대답은 개요를 기반으로 합니다. 다음은 이상 감지 및 예측에 연결하는 방법과 스트림을 설명하는 특성입니다.
+ *스트리밍 알고리즘*은 적은 메모리 공간을 차지하는 온라인 알고리즘입니다. 온라인 알고리즘은 **(t\$11)-**st 지점을 보기 전에 시간 **t**로 인덱싱된 입력 지점을 결정합니다. 작은 메모리는 낮은 지연 시간으로 응답을 생성하고 사용자가 데이터와 상호 작용할 수 있는 민첩한 알고리즘을 허용합니다.
+ 이상 탐지 및 예상에는 *온라인* 알고리즘처럼 시간 기준으로 부여된 순서를 고려해야 합니다. 모레에 무슨 일이 일어날지 이미 알고 있다면 내일 일어날 일을 예측하는 것은 예측이 아닙니다. 단지 알 수 없는 누락값을 보간하는 것뿐입니다. 마찬가지로, 오늘 소개된 신규 제품이 이상일 수 있지만 다음 분기가 끝날 때 반드시 이상을 유지할 필요는 없습니다.

# RCF가 이상 탐지에 적용되는 방법
<a name="how-does-rcf-detect-anomalies"></a>

인간은 나머지 데이터와 뚜렷이 구분되는 데이터 포인트를 쉽게 구별할 수 있습니다. RCF는 의사 결정 트리의 “포리스트”를 빌드한 다음 새 데이터 포인트가 포리스트를 변경하는 방법을 모니터링함으로써 동일한 작업을 수행합니다.

이상은 정상 포인트에서 주의를 돌리는 데이터 포인트입니다. 예를 들어 노란 꽃이 만개한 들판에 핀 한 송이의 빨간 꽃과 같습니다. 이 “주의 이동”은 입력 포인트가 차지하는 트리(RCF의 모델)의 (예상되는) 위치에 인코딩됩니다. 이 아이디어는 알고리즘을 학습하기 위해 샘플링된 데이터 파티션에서 각 의사 결정 트리가 성장하는 포리스트를 만드는 것입니다. 기술적 측면에서 각 트리는 샘플에서 특정 유형의 이진 공간 분할 트리를 빌드합니다. Amazon Quick Sight가 데이터를 샘플링할 때 RCF는 각 데이터 포인트에 이상 점수를 할당합니다. 이례적으로 보이는 데이터 포인트에 높은 점수를 줍니다. 점수는 평균적으로 트리 포인트의 결과 깊이에 반비례합니다. Random Cut Forest는 각각을 구성하는 트리로부터 평균 점수를 컴퓨팅하고 샘플 크기에 따라 결과를 조정함으로써 이상 점수를 할당합니다.

각 모델 자체가 취약한 예측 변수이기 때문에 여러 모델의 투표 또는 점수가 집계됩니다. Amazon Quick Sight는 점수가 최근 점수와 크게 다를 때 데이터 포인트를 이상으로 식별합니다. 이상으로 간주되는 항목은 애플리케이션에 따라 다릅니다.

[Streams에 대한 Random Cut Forest 기반 이상 탐지](http://proceedings.mlr.press/v48/guha16.pdf)는 백서는 최신 온라인 이상 탐지(시계열 이상 탐지)의 여러 가지 예를 제공합니다. RCF는 데이터의 연속 세그먼트 또는 '슁글'에 사용되며, 여기에서 직속 세그먼트의 데이터는 최신 세그먼트의 컨텍스트 역할을 합니다. 이전 버전의 RCF 기반 이상 탐지 알고리즘은 전체 슁글의 점수를 매깁니다. Amazon Quick Sight의 알고리즘은 현재 확장된 컨텍스트에서 이상 현상의 대략적인 위치도 제공합니다. 이 대략적인 위치는 이상 탐지에 지연이 발생하는 시나리오에서 유용할 수 있습니다. 어떤 알고리즘이 '이전에 확인된 편차'를 '이상 편차'로 특성화해야 하기 때문에 지연이 발생합니다. 이는 일시적으로 전개될 수 있습니다.

# RCF가 예상 생성에 적용되는 방법
<a name="how-does-rcf-generate-forecasts"></a>

고정된 시간 순서에서 다음 값을 예상하기 위해 RCF 알고리즘은 '후보 값을 얻은 후 가장 가능성 있는 완료는 무엇입니까?'라는 질문에 응답합니다. 이 알고리즘은 RCF에서 단일 트리를 사용하여 최상의 후보를 검색합니다. 각 트리 자체가 약한 예측기이기 때문에 서로 다른 트리의 후보가 집계됩니다. 또한 집계를 통해 분위 오류를 생성할 수 있습니다. 이 프로세스는 **t**번 반복되어 미래에 **t**번째 값을 예측합니다.

Amazon Quick Sight의 알고리즘을 *BIFOCAL*이라고 합니다. 두 개의 RCF를 사용하여 CALIBrated BI-FOrest 아키텍처를 생성합니다. 첫 번째 RCF는 이상을 필터링하고 약한 예상을 제공하는 데 사용되며 초 기준으로 수정됩니다. 전반적으로 이 접근법은 ETS와 같이 널리 사용되는 다른 알고리즘과 비교하여 훨씬 더 견고한 예상을 제공합니다.

Amazon Quick Sight 예측 알고리즘의 파라미터 수는 널리 사용되는 다른 알고리즘보다 훨씬 적습니다. 따라서 더 많은 수의 시계열 데이터 포인트에 대해 사람이 조정하지 않아도 즉시 사용할 수 있습니다. 특정 시계열에 데이터가 더 많이 누적되면 Amazon Quick Sight의 예측이 데이터 드리프트 및 패턴 변경에 맞게 조정될 수 있습니다. 추세를 보여주는 시계열의 경우 추세 감지가 먼저 수행되어 시계열이 고정되도록 합니다. 고정 시퀀스의 예상은 추세와 함께 다시 추정됩니다.

알고리즘은 효율적인 온라인 알고리즘(RCF)에 의존하기 때문에 대화형 '가정' 쿼리를 지원할 수 있습니다. 이 중 일부 예상은 조건 예상을 제공하기 위해 가상으로 변경되고 처리될 수 있습니다. 이것은 분석 중 “가정” 시나리오를 탐색할 수 있는 오리진입니다.

# 기계 학습 및 RCF에 대한 참조
<a name="learn-more-about-machine-learning-and-rcf"></a>

기계 학습 및 이 알고리즘에 대해 자세히 알아보려면 다음 리소스를 추천합니다.
+ 문서 [수학적으로 설명되지 않는 Robust Random Cut Forest(RRCF)](https://www.linkedin.com/pulse/robust-random-cut-forest-rrcf-math-explanation-logan-wilt/)는 수학 방정식 없이도 명쾌한 설명을 제공합니다.
+ 책 [*통계 학습의 요소: 데이터 마이닝, 추론 및 예측*, Second Edition(통계학 Springer Series)](https://www.amazon.com/Elements-Statistical-Learning-Prediction-Statistics/dp/0387848576)은 기계 학습에 대한 철저한 기초를 제공합니다.
+ [Streams에 대한 Random Cut Forest 기반 이상 탐지](http://proceedings.mlr.press/v48/guha16.pdf)는 이상 탐지 및 예상의 세부적인 사항과 예가 모두 포함된 학술 백서입니다.

RCF에 대한 다른 접근 방식이 다른 AWS 서비스에 나타납니다. RCF가 다른 서비스에서 사용되는 방법은 다음을 참조하십시오.
+ *Amazon Managed Service for Apache Flink SQL 참조: *[RANDOM\$1CUT\$1FOREST](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sqlrf-random-cut-forest.html) 및 [RANDOM\$1CUT\$1FOREST\$1WITH\$1EXPLANATION](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sqlrf-random-cut-forest-with-explanation.html)
+ *Amazon SageMaker 개발자 안내서: *[Random Cut Forest(RCF) 알고리즘](https://docs.aws.amazon.com/sagemaker/latest/dg/randomcutforest.html). 이 접근 방식은 [비즈니스를 위한 기계 학습](https://www.amazon.com/Machine-Learning-Business-Doug-Hudgeon/dp/1617295833/ref=sr_1_3)의 한 챕터인 [Random Cut Forest 알고리즘](https://freecontent.manning.com/the-randomcutforest-algorithm/)(2018년 10월)에도 설명되어 있습니다.

# Amazon Quick Sight에서 ML 인사이트를 사용하기 위한 데이터세트 요구 사항
<a name="ml-data-set-requirements"></a>

Amazon Quick Sight의 기계 학습 기능을 사용하려면에 연결하거나 데이터를 가져와야 합니다. 기존 Amazon Quick Sight 데이터 세트를 사용하거나 새 데이터 세트를 생성할 수 있습니다. SQL 호환 소스를 직접 쿼리하거나 데이터를 SPICE(으)로 수집할 수 있습니다.

데이터에는 다음과 같은 속성이 있어야 합니다.
+  하나 이상의 지표(예: 판매, 주문, 발송 단위, 가입 등).
+  하나 이상의 범주 차원(예: 제품 범주, 채널, 세그먼트, 업종 등) NULL 값이 있는 범주는 무시됩니다.
+ 이상 탐지를 수행하려면 교육을 위해 최소 15 데이터 포인트가 필요합니다. 예를 들어 데이터 입자가 매일인 경우 최소 15일의 데이터가 필요합니다. 입자가 매월인 경우 최소 15개월의 데이터가 필요합니다.
+ 데이터가 많을수록 예측이 더 잘 작동합니다. 최적의 결과를 얻으려면 데이터 세트에 충분한 기록 데이터가 있어야 합니다. 예를 들어 데이터 입자가 매일인 경우 최소 38일의 데이터가 필요합니다. 입자가 매월인 경우 최소 43개월의 데이터가 필요합니다. 다음은 각 시간 입자에 대한 요구 사항입니다.
  + 년: 데이터 포인트 32개
  + 분기: 데이터 포인트 35개
  + 월: 데이터 포인트 43개
  + 주: 데이터 포인트 35개
  + 일: 데이터 포인트 38개
  + 시간: 데이터 포인트 39개
  + 분: 데이터 포인트 46개
  + 초: 데이터 포인트 46개
+ 이상 또는 예상을 분석하려면 하나 이상의 날짜 차원이 필요합니다.

시작하려는 데이터 세트가 없으면 샘플 데이터 세트인 [ML Insights 샘플 데이터 세트 VI](samples/ml-insights.csv.zip)를 다운로드할 수 있습니다. 데이터 세트가 준비되면 데이터 세트에서 새 분석을 생성하십시오.

# Amazon Quick Sight에서 인사이트 작업
<a name="computational-insights"></a>

Amazon Quick Sight에서는 ready-to-use 수 있는 분석 계산을 분석에 위젯으로 추가할 수 있습니다. 다음 두 가지 방법으로 인사이트를 얻을 수 있습니다.
+ **추천 인사이트**

  Amazon Quick Sight는 시각적 객체에 입력한 데이터에 대한 해석을 기반으로 제안된 인사이트 목록을 생성합니다. 이 목록은 컨텍스트에 따라 변경됩니다. 즉, 시각 자료에 추가하는 필드와 선택한 시각적 유형에 따라 다양한 추천을 볼 수 있습니다. 예를 들어 시계열 시각화가 있는 경우 통찰력에 기간별 기간 변경, 이상 및 예상을 포함할 수도 있습니다. 분석에 시각화를 추가하면 인사이트를 더 많이 추천하도록 할 수 있습니다.
+ **사용자 지정 인사이트**

  사용자 지정 인사이트를 사용하면 자신의 단어를 사용하여 위젯에 표시되는 필드에 컨텍스트를 부여하여 자신의 계산을 생성할 수 있습니다. 사용자 지정 인사이트를 생성할 때 이를 분석에 추가한 다음 사용할 계산 유형을 선택합니다. 그런 다음 텍스트와 서식을 추가하여 원하는 모양을 만들 수 있습니다. 필드, 계산 및 파라미터를 더 추가할 수도 있습니다.

분석에 추천 및 사용자 지정 인사이트의 모든 조합을 추가하여 자신의 목적에 가장 잘 맞는 의사 결정 환경을 생성할 수 있습니다.

**Topics**
+ [추천 인사이트 추가](adding-suggested-insights.md)
+ [분석에 사용자 지정 인사이트 추가](adding-insights.md)

# 추천 인사이트 추가
<a name="adding-suggested-insights"></a>

분석에 추천 인사이트를 추가하려면 다음 절차를 사용하십시오.

시작하기 전에 데이터 세트가 [Amazon Quick Sight에서 ML 인사이트를 사용하기 위한 데이터세트 요구 사항](ml-data-set-requirements.md)에 요약된 기준을 충족하는지 확인합니다.

1. 몇 가지 필드가 시각적으로 추가된 분석부터 시작하십시오.

1. 왼쪽에서 **Insights(인사이트)**을 선택합니다. **Insights(인사이트)** 패널이 열리고 즉시 사용할 수 있는 추천 인사이트가 표시됩니다.

   또한 각 시각 자료는 상단 경계에 작은 상자를 표시하여 해당 시각 자료에 사용할 수 있는 인사이트의 수를 표시합니다. 이 상자를 선택하여 **Insights(인사이트)** 패널을 열면 가장 최근에 열어 본 보기가 열립니다.

   아래로 스크롤하여 더 많은 통찰력을 미리봅니다.

   표시되는 인사이트는 시각적 객체에 포함하도록 선택한 필드의 데이터 형식에 의해 제어됩니다. 이 목록은 시각 자료를 변경할 때마다 생성됩니다. 변경한 경우 **Insights(인사이트)**를 확인하여 새로운 내용을 확인하십시오. 특정 인사이트를 가져오려면 [분석에 사용자 지정 인사이트 추가](adding-insights.md) 단원을 참조하십시오.

1. (선택 사항) 인사이트 중 하나에 대해 더 많은 옵션이 있는 컨텍스트 메뉴를 엽니다. 이렇게 하려면 인사이트의 오른쪽 상단에 있는 타원(**…**)을 선택하십시오.

   이 옵션은 인사이트 유형마다 다릅니다. 상호 작용할 수 있는 옵션은 다음과 같습니다.
   + **시계열 집계 변경** - 년, 분기, 월, 주, 일, 시간 또는 분으로 변경합니다.
   + **지표에 대한 기여 분석** - 분석할 기여자 및 시간대를 선택합니다.
   + **모든 이상 표시** - 이 시간대의 이상을 찾아봅니다.
   + **예상 편집** - 예상 길이, 예측 간격 및 계절성을 선택합니다.
   + **초점 두기** 또는 **제외** - 차원 데이터를 확대하거나 축소합니다.
   + **세부 정보 표시** - 최근 이상(특이값)에 대한 추가 정보를 확인합니다.
   + 분석에서 인사이트의 유용성에 대한 피드백을 제공합니다.

1. 인사이트 제목 근처의 더하기 기호(**\$1**)를 선택하여 분석에 추천 인사이트를 추가합니다.

1. (선택 사항) 분석에 인사이트를 추가한 후 표시하려는 서술을 사용자 지정합니다. 이렇게 하려면 **v** 모양의 시각적 메뉴를 선택한 다음 **Customize narrative(사용자 지정 서술)**를 선택합니다. 자세한 내용은 [Amazon Quick Sight를 사용하여 자동 서술 생성](narratives-creating.md) 단원을 참조하십시오.

   이상(특이값)에 대한 인사이트가 있는 경우 이상 탐지 작업의 설정을 변경할 수도 있습니다. 이렇게 하려면 **Configure anomaly(이상 구성)**를 선택합니다. 자세한 내용은 [특이값 분석을 위한 ML 기반 이상 탐지 설정](anomaly-detection-using.md) 단원을 참조하십시오.

1. (선택 사항) 분석에서 인사이트를 제거하려면 시각 자료의 오른쪽 상단에 있는 **v** 모양의 시각적 메뉴를 선택합니다. 그런 다음 **삭제**를 선택합니다.

# 분석에 사용자 지정 인사이트 추가
<a name="adding-insights"></a>

추천 인사이트를 사용하고 싶지 않으면 자신만의 사용자 지정 인사이트를 생성할 수 있습니다. 다음 절차를 사용하여 사용자 지정 인사이트를 생성합니다.

1. 기존 분석으로 시작합니다. 상단 메뉴 표시줄에서 **추가\$1**를 선택합니다. 그런 다음 **Add Insight(인사이트 추가)**를 선택합니다.

   새로운 인사이트를 위한 컨테이너가 분석에 추가됩니다.

1. 다음 중 하나를 수행하세요.
   + 목록에서 사용하려는 계산을 선택합니다. 각 항목을 선택하면 해당 인사이트의 출력 예가 표시됩니다. 사용하려는 것을 찾으면 **선택**을 선택합니다.
   + 이 화면을 종료하고 인사이트를 수동으로 사용자 지정합니다. 구성되지 않은 인사이트에는 **Customize Insight(인사이트 사용자 지정)** 버튼이 있습니다. 버튼을 선택하여 **Configure narrative(서술 구성)** 화면을 엽니다. 표현식 편집기 사용에 대한 자세한 내용은 [Amazon Quick Sight를 사용하여 자동 서술 생성](narratives-creating.md) 단원을 참조하십시오.

   인사이트 생성을 시작하기 때문에 기존 시각 자료를 기반으로 하지 않습니다. 인사이트가 분석에 추가되면 요청을 완료하는 데 필요한 데이터의 종류를 나타내는 메모가 표시됩니다. 예를 들어 **1 dimension in Time(시간의 1차원)**을 요청할 수도 있습니다. 이 경우 **시간** 필드 모음에 차원을 추가합니다.

1. 올바른 데이터를 얻은 후에는 나머지 화면 프롬프트를 따라 사용자 지정 인사이트 생성을 완료합니다.

1. (선택 사항) 분석에서 인사이트를 제거하려면 시각 자료의 오른쪽 상단에 있는 **v** 모양의 시각적 메뉴를 선택합니다. 그런 다음 **삭제**를 선택합니다.

# Amazon Quick Sight를 사용하여 자동 서술 생성
<a name="narratives-creating"></a>

*자동 서술*은 차트 대신 설명 텍스트를 표시하는 자연어 요약 위젯입니다. 핵심 인사이트 및 콜아웃을 강조 표시하기 위해 분석 전반에 이러한 위젯을 내장할 수 있습니다. 시각 자료를 탐색하고 드릴다운하고 값을 비교하고 결론을 추출하기 위해 아이디어를 다시 검사할 필요가 없습니다. 또한 데이터의 의미를 이해하거나 동료와 다른 해석을 논의할 필요가 없습니다. 대신, 데이터로부터 결론을 외삽하여 분석에 일반 서술로 표시할 수 있습니다. 한 사람의 해석을 모든 사람이 공유할 수 있습니다.

Amazon Quick Sight는 대시보드의 차트와 테이블을 자동으로 해석하고 자연어로 제안된 여러 인사이트를 제공합니다. 선택할 수 있는 추천 인사이트는 기성품이며 단어, 계산 및 기능이 함께 제공됩니다. 그러나 원할 경우 변경할 수 있습니다. 고객이 직접 디자인할 수도 있습니다. 대시보드 작성자는 필요에 따라 계산 및 언어를 사용자 지정할 수 있는 완벽한 유연성을 보유하고 있습니다. 서술을 사용하여 일반 언어로 데이터의 스토리를 효과적으로 전달할 수 있습니다.

**참고**  
서술은 기계 학습과 별개입니다. 예상 또는 이상(특이값) 계산을 추가하는 경우에만 ML을 사용합니다.

**Topics**
+ [자동 서술이 포함된 인사이트](auto-narratives.md)
+ [서술 표현식 편집기 사용](using-narratives-expression-editor-step-by-step.md)
+ [표현식 편집기 워크스페이스](using-narratives-expression-editor-menus.md)
+ [URL 추가](using-narratives-expression-editor-urls.md)
+ [자동 서술 계산 작업](auto-narrative-computations.md)

# 자동 서술이 포함된 인사이트
<a name="auto-narratives"></a>

자동 서술이라고도 하는 인사이트를 분석에 추가할 경우 다음 템플릿에서 선택할 수 있습니다. 다음 목록에 예제별로 정의되어 있습니다. 각 정의에는 자동 서술을 사용하는 데 필요한 최소 필드 목록이 포함되어 있습니다. **Insights(인사이트)** 탭에서 추천 인사이트만 사용하려면 적절한 필드를 선택하여 추천 인사이트 목록에 표시할 인사이트를 가져옵니다.

자동 서술을 사용자 지정하는 방법에 대한 자세한 내용은 [자동 서술 계산 작업](auto-narrative-computations.md) 단원을 참조하십시오.
+ **최하위 순위** - 예를 들어 판매 수익을 기준으로 최하위 3개 상태입니다. **범주** 필드에 하나 이상의 차원이 있어야 합니다.
+ **최하위 Mover** - 예를 들어 판매 수익을 기준으로 판매된 최하위 3개 제품입니다. **시간** 필드와 **범주** 필드에 각각 하나 이상의 차원이 있어야 합니다.
+ **예상**(ML 기반 인사이트) - 예를 들어 “총 매출액은 2016년 1월에 \$158,613가 될 것으로 예상됩니다.” **시간** 필드에 하나 이상의 차원이 있어야 합니다.
+ **성장률** - 예를 들어 “매출액에 대한 3개월 복합 성장률은 22.23%입니다.” **시간** 필드에 하나 이상의 차원이 있어야 합니다.
+ **최대** - 예를 들어 “가장 높은 달은 매출액이 \$1112,326인 2014년 11월입니다.” **시간** 필드에 하나 이상의 차원이 있어야 합니다.
+ **지표 비교** - 예를 들어 “2014년 12월의 총 매출액은 \$190,474로 목표치인 \$181,426보다 10% 더 높습니다.” **시간** 필드에 하나 이상의 차원과 **값** 필드에 두 개 이상의 차원이 있어야 합니다.
+ **최소** - 예를 들어 “가장 낮은 달은 매출액이 \$14,810인 2011년 2월입니다.” **시간** 필드에 하나 이상의 차원이 있어야 합니다.
+ **이상 탐지**(ML 기반 인사이트) - 2019년1월 3일 총 매출액에 대한 최상위 3개 특이값 및 기여 동인을 예로 들 수 있습니다. **시간**, **값** 및 **범주** 필드에 각각 하나 이상의 차원이 있어야 합니다.
+ **기간별 기간** - 예를 들어 “2014년 11월의 총 매출액은 \$177,793에서 \$1112,326으로 44.39%(\$134,532) 증가했습니다.” **시간** 필드에 하나 이상의 차원이 있어야 합니다.
+ **현재까지 기간** - 예를 들어 “2014년 11월 30일의 연간 누계 매출액은 \$1511,236에서 \$1643,472로 25.87%(\$1132,236) 증가했습니다.” **시간** 필드에 하나 이상의 차원이 있어야 합니다.
+ **최상위 순위** - 예를 들어 판매 수익을 기준으로 최상위 3개 상태. **범주** 필드에 하나 이상의 차원이 있어야 합니다.
+ **최상위 Mover** - 예를 들어 2014년 11월의 판매 수익을 기준으로 최상위 제품. **시간** 필드와 **범주** 필드에 각각 하나 이상의 차원이 있어야 합니다.
+ **총합 집계** - 예를 들어 “총 수익은 \$12,297,200입니다.” **시간** 필드와 **값** 필드에 각각 하나 이상의 차원이 있어야 합니다.
+ **고유한 값** - 예를 들어 “`Customer_IDs`에는 793개의 고유한 값이 있습니다.” **범주** 필드에 하나 이상의 차원이 있어야 합니다.

# 서술 표현식 편집기 사용
<a name="using-narratives-expression-editor-step-by-step"></a>

다음 연습에서는 서술을 사용자 지정하는 방법의 예를 보여줍니다. 이 예제에서는 기간 계산 유형을 사용합니다.

1. 기존 분석으로 시작하십시오. **기간별 기간** 인사이트를 추가합니다. 가장 쉬운 방법은 \$1 아이콘을 선택한 다음 **Add insight(인사이트 추가)**를 추가한 다음 목록에서 인사이트 유형을 선택하는 것입니다. 자동 서술로 추가할 수 있는 계산 인사이트 유형은 [자동 서술이 포함된 인사이트](auto-narratives.md) 단원을 참조하십시오.

   인사이트 유형을 선택한 후 **선택**을 선택하여 위젯을 생성합니다. 빈 서술을 생성하려면 템플릿을 선택하지 말고 이 화면을 닫습니다. 이 예제를 따르려면 **Period over period(기간별 기간)**을 선택합니다.

   인사이트를 추가할 때 시각 자료가 선택되면 필드 웰에 날짜, 지표 및 범주에 대한 필드가 미리 구성됩니다. 이는 인사이트를 생성했을 때 선택한 시각화에서 비롯된 것입니다. 필요에 따라 필드를 사용자 지정할 수 있습니다.

   새 인사이트 또는 기존 인사이트(텍스트 기반) 위젯에 대해서만 서술을 사용자 지정할 수 있습니다. 다른 유형의 위젯이기 때문에 기존 시각 자료(차트 기반)에 하나를 추가할 수 없습니다.

1. 시각적 메뉴를 선택한 다음 **Customize narrative(사용자 지정 서술)**를 선택하여 표현식 편집기에서 서술을 편집합니다.

   이 문맥에서 **Computations(계산)**은 데이터를 설명하기 위해 템플릿에서 참조할 수 있는 미리 정의된 계산입니다(기간별 기간, 현재까지 기간, 성장률, 최대, 최소, 최상위 Mover 등). 현재 Amazon Quick Sight는 인사이트에 추가할 수 있는 13가지 유형의 계산을 지원합니다. 이 예시에서는 추천 인사이트 **기간 별 기간** 템플릿을 선택했기 때문에 **PeriodOverPeriod**가 기본적으로 추가되었습니다.

1. 오른쪽 하단에서 **Add computation(계산 추가)**을 선택하여 새 계산을 추가한 다음 목록에서 하나를 선택합니다. 이 연습에서는 **Growth rate(성장률)**를 선택하고 **다음**을 선택합니다.

1. 계산할 기간 수를 선택하여 계산을 구성합니다. 기본값은 4이며 이 예제에서 작동합니다. 선택 사항으로 화면 맨 위에서 계산 이름을 변경할 수 있습니다. 그러나 이 예제에서는 이름을 변경하지 않고 그대로 둡니다.
**참고**  
생성하는 계산 이름은 인사이트 내에서 고유합니다. 서술 템플릿에서 동일한 유형의 여러 계산을 참조할 수 있습니다. 예를 들어 판매 수익과 판매 단위라는 두 가지 지표가 있다고 가정해 보겠습니다. 이름이 다른 각 지표에 대해 성장률 계산을 생성할 수 있습니다.  
그러나 이상 계산은 동일한 위젯의 기타 계산 유형과 호환되지 않습니다. 이상 탐지는 그 자체로 인사이트 안에 존재해야 합니다. 같은 분석에서 다른 계산을 사용하려면 이상과 별개의 인사이트에 배치합니다.

   진행하려면 **추가**를 선택합니다.

1. 오른쪽에서 **Computations(계산)**를 확장합니다. 서술의 일부인 계산은 목록에 표시됩니다. 이 경우 **PeriodOverPeriod** 및 **GrowthRate**입니다.

1. 작업 영역에서 마지막 기간 후에 **Compounded growth rate for the last** 텍스트를 추가한 다음 공백을 추가합니다.

1. 그런 다음 계산을 추가하려면 **last** 단어 뒤의 공백 뒤에 커서를 둡니다. 오른쪽의 **GrowthRate** 아래에서 **timePeriods** 표현식을 선택합니다(추가하려면 한 번만 클릭함).

   이렇게 하면 **GrowthRate.timePeriods**라는 표현식이 삽입되며, 이는 **GrowthRate**에 대한 구성에서 설정한 기간 수입니다.

1. ** days is **(앞뒤에 공백 있음)을(를) 사용하여 문장을 완성하고 **GrowthRate.compoundedGrowthRate.formattedValue** 표현식을 추가한 다음 마침표(`.`)를 추가합니다. 표현식을 입력하지 말고 목록에서 선택합니다. 그러나 표현식의 내용을 추가한 후에 편집할 수 있습니다.  
![\[열린 표현식 목록이 있는 표현식 편집기.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/narrative-add-expression.png)
**참고**  
**formattedValue** 표현식은 필드의 지표에 적용된 서식에 따라 서식이 지정된 문자열을 반환합니다. 지표 수식을 수행하려면 원시 값을 정수 또는 소수로 반환하는 대신 **값**을 사용합니다.

1. 조건문 및 서식을 추가합니다. `formattedValue` 표현식 뒤에서 커서를 템플릿의 끝에 둡니다. 필요한 경우 공백을 추가합니다. **Edit narrative(서술 편집)** 메뉴 모음에서 **Insert code(코드 삽입)**를 선택한 다음 목록에서 **Inline IF(인라인 IF)**를 선택합니다. 표현식 블록이 열립니다.

1. 표현식 블록을 열고 표현식 목록에서 **GrowthRate**, **compoundedGrowthRate**, **value**를 선택합니다. 표현식의 끝에 **>0**을(를) 입력합니다. **저장**을 선택합니다. 아직 커서를 움직이지 마십시오.

   조건부 콘텐츠에 대한 프롬프트가 나타납니다. **better than expected\$1**을(를) 입력한 다음 방금 입력한 텍스트를 선택하고 상단의 서식 지정 도구 모음을 사용하여 초록색으로 바꾸고 굵게 표시합니다.

1. 이전 단계를 반복하여 성장률이 그다지 크지 않은 경우 다른 표현식 블록을 추가합니다. 그러나 이번에는 **<0**(으)로 만들고 **worse than expected** 텍스트를 입력합니다. 녹색 대신 빨간색으로 만듭니다.

1. **저장**을 선택합니다. 방금 생성한 사용자 지정된 서술은 다음과 유사해야 합니다.  
![\[맞춤형 내러티브.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/narrative-example-result.png)

표현식 편집기는 서술을 사용자 지정할 수 있는 정교한 도구를 제공합니다. 분석 또는 대시보드에 대해 생성한 파라미터를 참조하고 추가 사용자 지정을 위해 내장 함수 집합을 사용할 수도 있습니다.

**작은 정보**  
비어 있는 서술을 생성하려면 **\$1** 아이콘을 사용하여 인사이트를 추가한 다음 **인사이트 추가**를 사용합니다. 템플릿을 선택하는 대신 화면을 닫습니다.  
서술 사용자 지정을 시작하는 가장 좋은 방법은 기존 템플릿을 사용하여 구문을 학습하는 것입니다.

# 표현식 편집기 워크스페이스
<a name="using-narratives-expression-editor-menus"></a>

표현식 편집기를 사용하여 비즈니스 요구 사항에 가장 적합한 서술을 사용자 지정할 수 있습니다. 아래 정보는 표현식 편집기 워크스페이스의 개요를 제공하고 서술에 대해 구성할 수 있는 모든 메뉴 옵션을 나열합니다. 사용자 지정 서술을 생성하는 방법을 보여주는 연습은 [서술 표현식 편집기 사용](using-narratives-expression-editor-step-by-step.md) 섹션을 참조하세요.

화면 오른쪽에는 서술에 추가할 수 있는 항목 목록이 있습니다.
+ **계산** - 이 옵션을 통해 이 인사이트에 사용할 수 있는 계산을 선택할 수 있습니다. 이 목록을 확장할 수 있습니다.
+ **파라미터** - 이 옵션을 통해 분석에 존재하는 파라미터를 선택할 수 있습니다. 이 목록을 확장할 수 있습니다.
+ **함수** - 이 옵션을 통해 서술에 추가할 수 있는 함수를 선택할 수 있습니다. 이 목록을 확장할 수 있습니다.
+ **계산 추가** - 이 버튼을 통해 다른 계산을 생성합니다. 새 계산이 **Computations(계산)** 목록에 나타나며 인사이트에 추가할 수 있습니다.

서술 표현식 편집기의 맨 아래에는 작업 시 업데이트되는 서술의 미리 보기가 있습니다. 이 영역에는 서술에 오류가 발생하거나 서술이 비어 있는 경우에도 알림이 표시됩니다. 이상 감지 또는 예상과 같은 ML 기반 인사이트 계산을 미리 보려면 서술을 사용자 지정하기 전에 최소 한 번 이상 인사이트를 실행하십시오.

편집 도구는 화면 상단에 있습니다. 편집 도구는 다음과 같은 옵션을 제공합니다:
+ **코드 삽입** - 이 메뉴에서 다음 코드 블록을 삽입할 수 있습니다.
  + **표현식** - 자유형 표현식을 추가합니다.
  + **Inline IF** - 기존 텍스트 블록과 함께 인라인으로 표시되는 IF 문을 추가합니다.
  + **Inline FOR** - 기존 텍스트 블록과 함께 인라인으로 표시되는 FOR 문을 추가합니다.
  + **Block IF** - 별도의 텍스트 블록에 표시되는 IF 문을 추가합니다.
  + **Block FOR** - 별도의 텍스트 블록에 표시되는 FOR문을 추가합니다.

  IF 및 FOR 문을 사용하면 조건부 형식의 콘텐츠를 생성할 수 있습니다. 예를 들어, **Block IF(블록 IF)** 문을 추가한 다음 정수와 계산 값을 비교하도록 구성할 수 있습니다. 이렇게 하려면 다음 단계를 사용합니다. [서술 표현식 편집기 사용](using-narratives-expression-editor-step-by-step.md)에도 설명되어 있습니다.

  1. 오른쪽의 계산 메뉴를 열고 계산 중 하나에서 파란색으로 강조 표시된 항목 중 하나를 선택합니다. 이렇게 하면 항목이 서술에 추가됩니다.

  1. 항목을 한 번 클릭하여 엽니다.

  1. 생성하려는 비교를 입력합니다. 표현식이 `PeriodOverPeriod.currentMetricValue.value>0`과 같이 표시됩니다.

  1. 이 표현식을 팝업 편집기에 저장하면 **조건부 콘텐츠**를 입력하라는 메시지가 표시됩니다.

  1. 인사이트에 표시할 내용을 입력하고 원하는 대로 형식을 지정합니다. 또는 원하는 경우 이미지 또는 URL을 추가하거나 이미지에 URL을 추가할 수 있습니다.
+ **단락** - 이 메뉴는 글꼴 크기 변경 옵션을 제공합니다.
  + **H1 큰 헤더**
  + H2 헤더
  + H3 작은 헤더
  + ¶1 큰 단락
  + ¶ 2 단락
  + ¶ 3 작은 단락
+ **글꼴** - 이 메뉴 트레이를 통해 텍스트 서식 지정 옵션을 선택할 수 있습니다. 여기에는 굵게, 기울임꼴, 밑줄, 취소선, 텍스트의 전경색(문자 자체) 및 텍스트의 배경색이 포함됩니다. 옵션을 켜려면 아이콘을 선택하고 옵션을 끄려면 아이콘을 다시 선택합니다.
+ **서식 지정** - 이 메뉴 트레이를 통해 글머리 기호 목록, 왼쪽 맞춤, 가운데 맞춤, 오른쪽 맞춤 서식 등의 옵션을 선택할 수 있습니다. 옵션을 켜려면 아이콘을 선택하고 옵션을 끄려면 아이콘을 다시 선택합니다.
+ **이미지** - 이 아이콘을 통해 이미지 URL을 추가합니다. 제공된 링크에 액세스할 수 있는 경우 이미지가 인사이트에 표시됩니다. 이미지 크기를 조정할 수 있습니다. 조건에 따라 이미지를 표시하려면 IF 블록 안에 이미지를 넣습니다.
+ **URL** - 이 아이콘을 통해 정적 또는 동적 URL을 추가할 수 있습니다. 이미지에 URL을 추가할 수도 있습니다. 예를 들어, 빨간색, 주황색, 녹색 조건의 새 시트에 대한 링크와 함께 신호등 표시기 이미지를 경영진 대시보드용 인사이트에 추가할 수 있습니다.

# URL 추가
<a name="using-narratives-expression-editor-urls"></a>

서술 표현식 편집기의 편집 메뉴에 있는 **URL** 버튼을 통해 정적 및 동적 URL(하이퍼링크)을 서술에 추가할 수 있습니다. 바로 가기 키 ⌘\$1⇧\$1L 또는 Ctrl\$1⇧\$1L을 사용할 수도 있습니다.

정적 URL은 변경되지 않는 링크로서 항상 동일한 URL을 엽니다. 동적 URL은 설정 시 제공하는 표현식 또는 파라미터에 따라 변경되는 링크입니다. 동적으로 평가된 표현식 또는 파라미터를 사용하여 빌드됩니다.

다음은 서술에 정적 링크를 추가할 수 있는 경우의 예입니다.
+ **IF 문에서 조건부 콘텐츠에 URL을 사용할 수 있습니다.** 지표가 예상 값을 충족하지 못하는 경우 링크를 통해 지표를 개선하기 위한 모범 사례 목록이 있는 Wiki로 사용자를 보낼 수 있습니다.
+ **다음 단계에 따라 정적 URL을 사용하여 동일한 대시보드에서 다른 시트에 대한 링크를 생성할 수 있습니다.**

  1. 링크를 생성할 시트로 이동합니다.

  1. 해당 시트의 URL을 복사합니다.

  1. 서술 편집기로 돌아가서 방금 복사한 URL을 사용하여 링크를 생성합니다.

다음은 서술에 동적 링크를 추가할 수 있는 경우의 예제입니다.
+ **다음 단계를 사용하여 쿼리를 통해 웹사이트를 검색합니다.**

  1. 다음 링크로 URL을 생성합니다.

     ```
     https://google.com?q=<<formatDate(now(),'yyyy-MM-dd')>>
     ```

     이 링크는 다음의 평가 값인 검색 텍스트와 함께 Google에 쿼리를 보냅니다.

     ```
     formatDate(now(), 'yyyy-MM-dd')
     ```

     `now()`의 값이 `02/02/2020`인 경우 서술의 링크에 `https://google.com?q=2020-02-02`이(가) 포함됩니다.
+ **파라미터를 업데이트하는 링크를 생성합니다.** 이를 위해 링크를 생성하거나 편집하고 URL을 현재 대시보드 또는 분석 URL로 설정합니다. 그런 다음 끝에 파라미터 값을 설정하는 표현식을 추가합니다(예: `#p.myParameter=12345`).

  다음과 같이 시작하는 대시보드 링크가 있다고 가정합니다.

  ```
  https://us-east-1.quicksight.aws.amazon.com/sn/analyses/00000000-1111-2222-3333-44444444
  ```

  파라미터 값 할당을 추가하면 다음과 같이 표시됩니다.

  ```
  https://us-east-1.quicksight.aws.amazon.com/sn/analyses/00000000-1111-2222-3333-44444444#p.myParameter=12345
  ```

  URL의 파라미터에 대한 자세한 내용은 [URL에서 파라미터 사용](parameters-in-a-url.md) 단원을 참조하십시오.

# 자동 서술 계산 작업
<a name="auto-narrative-computations"></a>

이 섹션을 사용하여 자동 서술을 사용자 지정할 때 사용할 수 있는 기능을 이해하는 데 도움을 받을 수 있습니다. 기본 계산을 변경하거나 빌드하려는 경우 서술을 사용자 지정하기만 하면 됩니다.

자동 서술을 생성하면 표현식 편집기가 열립니다. 시각적 메뉴를 선택한 다음 **Customize Narrative(서술 사용자 지정)**를 선택하여 표현식 편집기를 활성화할 수도 있습니다. 표현식 편집기를 사용하는 동안 계산을 추가하려면 **\$1 Add computation(\$1 계산 추가)**을 선택합니다.

다음 코드 표현식을 사용하여 자동 서술을 빌드할 수 있습니다. 이러한 표현식은 **Insert code(코드 삽입)**라고 표시된 목록에서 사용할 수 있습니다. 코드 문은 인라인(문장) 또는 블록(목록)으로 표시될 수 있습니다.
+ 표현식 - 나만의 코드 표현식을 생성합니다.
+ IF - 조건을 평가한 후 표현식을 포함하는 IF 문입니다.
+ FOR - 값을 루핑하는 FOR 문입니다.

다음 계산을 사용하여 자동 서술을 빌드할 수 있습니다. 구문을 편집하지 않고 표현식 편집기를 사용할 수 있지만 원하는 경우 사용자 지정할 수도 있습니다. 구문과 상호 작용하려면 자동 서술 표현식 편집기에서 계산 위젯을 엽니다.

**Topics**
+ [특이값에 대한 ML 기반 이상 탐지](anomaly-detection-function.md)
+ [최하위 Mover 계산](bottom-movers-function.md)
+ [최하위 순위 계산](bottom-ranked-function.md)
+ [ML 기반 예상](forecast-function.md)
+ [성장률 계산](growth-rate-function.md)
+ [최대 계산](maximum-function.md)
+ [지표 비교 계산](metric-comparison-function.md)
+ [최소 계산](minimum-function.md)
+ [기간별 기간 계산](period-over-period-function.md)
+ [기간 날짜 계산](period-to-date-function.md)
+ [최상위 Mover 계산](top-movers-function.md)
+ [최상위 순위 계산](top-ranked-function.md)
+ [총합 집계 계산](total-aggregation-function.md)
+ [고유한 값 계산](unique-values-function.md)

# 특이값에 대한 ML 기반 이상 탐지
<a name="anomaly-detection-function"></a>

ML 기반 이상 탐지 계산은 데이터에서 특이값 여부를 검색합니다. 예를 들어 2019년 1월 3일에 총 매출액의 상위 3개 특이값을 탐지할 수 있습니다. 기여도 분석을 활성화하면 각 특이값에 대한 주요 동인을 탐지할 수도 있습니다.

이 기능을 사용하려면 **시간**, **값** 및 **범주** 필드에 각각 하나 이상의 차원이 있어야 합니다. 구성 화면에서는 다른 필드의 기여도를 주요 동인으로 분석할 수 있는 옵션을 제공합니다. 이러한 필드가 필드 모음에 없는 경우에도 마찬가지입니다.

자세한 내용은 [ML 기반 이상 탐지를 사용하여 특이값 탐지](anomaly-detection.md) 단원을 참조하십시오.

**참고**  
ML 기반 이상 탐지를 다른 계산에 추가할 수 없으며 다른 계산을 이상 탐지에 추가할 수 없습니다.

## 계산 출력
<a name="anomaly-detection-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 생성할 때 제공한 이름에서 가져옵니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **`bold monospace font`**에 표시된 항목을 서술에서 사용할 수 있습니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `categoryFields` - **범주** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `itemsCount` - 이 계산에 포함된 항목의 수입니다.
+ `items` - 이상 항목입니다.
  + `timeValue` - 날짜 차원의 값입니다.
    + `value` - 이상(특이값) 지점의 날짜/시간 필드입니다.
    + `formattedValue` - 변칙 지점의 날짜/시간 필드의 서식이 지정된 값입니다.
  + `categoryName` - 범주의 실제 이름(cat1, cat2 등)입니다.
  + `direction` - 변칙(`HIGH` 또는 `LOW`)으로 식별된 x축 또는 y축의 방향. `HIGH`은(는) “예상보다 높음”을 의미합니다. `LOW`은(는) “예상보다 낮음”을 의미합니다.

    항목을 반복할 때는 `AnomalyDetection.items[index].direction`에 `HIGH` 또는 `LOW`을(를) 포함할 수 있습니다. 예: `AnomalyDetection.items[index].direction='HIGH'` 또는`AnomalyDetection.items[index].direction=LOW`. `AnomalyDetection.direction`에는 `ALL`에 대한 빈 문자열이 있을 수 있습니다. 예를 들면, `AnomalyDetection.direction=''`입니다.
  + `actualValue` - 지표의 이상 또는 특이값 지점의 실제 값입니다.
    + `value` - 원시 값입니다.
    + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
  + `expectedValue` - 지표의 이상(특이값) 지점의 기대값입니다.
    + `value` - 원시 값입니다.
    + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.

# 최하위 Mover 계산
<a name="bottom-movers-function"></a>

최하위 Mover 계산은 자동 서술 데이터 세트의 최하위 순위별로 요청된 범주 수를 날짜를 기준으로 계산합니다. 예를 들어 판매 수익별로 판매된 최하위 3개 제품을 찾기 위해 계산을 생성할 수 있습니다.

이 기능을 사용하려면 **시간** 필드와 **범주** 필드에 각각 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="bottom-movers-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*날짜*   
순위를 지정할 날짜 차원입니다.

*카테고리*   
순위를 지정할 범주 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

*Mover 수*   
표시하려는 순위가 매겨진 결과의 수입니다.

*순서 기준*   
사용할 순서입니다: 퍼센트 차이 또는 절대 차이.

## 계산 출력
<a name="bottom-movers-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.

**참고**  
이들은 상위 이동기 계산에 의해 반환되는 출력 매개 변수와 동일한 출력 매개 변수입니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `categoryField` - **범주** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `startTimeValue` - 날짜 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.
+ `endTimeValue` - 날짜 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 절대값입니다.
+ `itemsCount` - 이 계산에 포함된 항목의 수입니다.
+ `items`: 하위 이동 항목입니다.
  + `categoryField` - 범주 필드입니다.
    + `value` - 카테고리 필드의 값(내용)입니다.
    + `formattedValue` - 서식이 지정된 카테고리 필드의 값(내용)입니다. 필드가 null 인 경우, '`NULL`'이(가) 표시됩니다. 필드가 비어 있는 경우 ‘`(empty)`‘이(가) 표시됩니다.
  + `currentMetricValue` - 지표 필드의 현재 값입니다.
    + `value` - 원시 값입니다.
    + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
  + `previousMetricValue` - 지표 필드의 이전 값입니다.
    + `value` - 원시 값입니다.
    + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
  + `percentDifference` - 지표 필드의 현재 값과 이전 값 사이의 백분율 차이입니다.
    + `value` - 백분율 차이 계산의 원시 값입니다.
    + `formattedValue` - 백분율 차이의 서식이 지정된 값(예: -42%)입니다.
    + `formattedAbsoluteValue` - 백분율 차이의 서식이 지정된 절대값(예: 42%)입니다.
  + `absoluteDifference` - 지표 필드의 현재 값과 이전 값 사이의 절대 차이입니다.
    + `value` - 절대 차이 계산의 원시 값입니다.
    + `formattedValue` - 지표 필드의 서식 선호성 설정에 따라 형식화된 절대 차이입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 차이의 절대값입니다.

# 최하위 순위 계산
<a name="bottom-ranked-function"></a>

최하위 순위 계산은 자동 서술 데이터 세트의 최하위 순위별로 요청된 범주 수를 값을 기준으로 계산합니다. 예를 들어 판매 수익별로 최하위 3개 상태를 찾기 위해 계산을 생성할 수 있습니다.

이 기능을 사용하려면 **범주** 필드에 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="bottom-ranked-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*카테고리*   
순위를 지정할 범주 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

*Number of results*   
표시하려는 순위가 매겨진 결과의 수입니다.

## 계산 출력
<a name="bottom-ranked-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.

**참고**  
이들은 상위 순위 계산에 의해 반환되는 출력 매개 변수와 동일한 출력 매개 변수입니다.
+ `categoryField` - **범주** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `itemsCount` - 이 계산에 포함된 항목의 수입니다.
+ `items`: 하위 순위 항목입니다.
  + `categoryField` - 범주 필드입니다.
    + `value` - 카테고리 필드의 값(내용)입니다.
    + `formattedValue` - 서식이 지정된 카테고리 필드의 값(내용)입니다. 필드가 null 인 경우, '`NULL`'이(가) 표시됩니다. 필드가 비어 있는 경우 ‘`(empty)`‘이(가) 표시됩니다.
  + `metricValue` - 지표의 필드입니다.
    + `value` - 원시 값입니다.
    + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.

## 예제
<a name="bottom-ranked-function-example"></a>

다음 스크린샷은 최하위 순위 계산을 위한 기본 구성을 보여줍니다.

![\[최하위 순위 계산을 위한 기본 구성입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/bottom-ranked-computation.png)


# ML 기반 예상
<a name="forecast-function"></a>

ML 기반의 예상 계산은 이전 지표의 패턴을 계절성 기준에 따라 미래의 지표를 예상합니다. 예를 들어 계산을 생성하여 향후 6개월 동안 총 수익을 예상할 수 있습니다.

이 기능을 사용하려면 **시간** 필드에 하나 이상의 차원이 있어야 합니다.

예상 작업에 대한 자세한 내용은 [Amazon Quick Sight를 사용한 가정 시나리오 예측 및 생성](forecasts-and-whatifs.md) 단원을 참조하십시오.

## 파라미터
<a name="forecast-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*날짜*   
순위를 지정할 날짜 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

*앞으로의 기간*   
앞으로 예상할 기간의 수입니다. 1 - 1,000의 범위

*Periods backward*   
예상의 기준으로 할 과거의 기간 수입니다. 0 - 1,000의 범위

*Seasonality*   
달력 연도에 포함된 계절의 수입니다. 기본 설정인 **automatic(자동)**에서 이를 탐지합니다. 1 - 180의 범위

## 계산 출력
<a name="forecast-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `metricValue` - 지표 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `timeValue` - 날짜 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜 필드에 의해 서식이 지정된 값입니다.
+ `relativePeriodsToForecast` - 최신 날짜시간 레코드와 마지막 예측 레코드 사이의 상대적 기간의 수입니다.

# 성장률 계산
<a name="growth-rate-function"></a>

성장률 계산은 기간별로 값을 비교합니다. 예를 들어 계산을 생성하여 매출에 대한 3개월 복합 성장률을 백분율로 표시할 수 있습니다.

이 기능을 사용하려면 **시간** 필드에 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="growth-rate-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*날짜*   
순위를 지정할 날짜 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

*기간 수*   
향후 성장률을 계산하는 데 사용할 기간 수입니다.

## 계산 출력
<a name="growth-rate-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `previousMetricValue` - 지표 차원의 이전 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `previousTimeValue` - 날짜시간 차원의 이전 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.
+ `compoundedGrowthRate` - 지표 필드의 현재 값과 이전 값 사이의 백분율 차이입니다.
  + `value` - 백분율 차이 계산의 원시 값입니다.
  + `formattedValue` - 백분율 차이의 서식이 지정된 값(예: -42%)입니다.
  + `formattedAbsoluteValue` - 백분율 차이의 서식이 지정된 절대값(예: 42%)입니다.
+ `absoluteDifference` - 지표 필드의 현재 값과 이전 값 사이의 절대 차이입니다.
  + `value` - 절대 차이 계산의 원시 값입니다.
  + `formattedValue` - 지표 필드의 서식 선호성 설정에 따라 형식화된 절대 차이입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 차이의 절대값입니다.

# 최대 계산
<a name="maximum-function"></a>

최대 계산은 최대 차원을 값 기준으로 찾습니다. 예를 들어 수익이 가장 높은 달을 찾기 위해 계산을 생성할 수 있습니다.

이 기능을 사용하려면 **시간** 필드에 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="maximum-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*날짜*   
순위를 지정할 날짜 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

## 계산 출력
<a name="maximum-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.

**참고**  
이들은 최소 계산에 의해 반환되는 출력 매개 변수와 동일한 출력 매개 변수입니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `metricValue` - 지표 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `timeValue` - 날짜시간 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.

# 지표 비교 계산
<a name="metric-comparison-function"></a>

지표 비교 계산은 다른 측정값을 비교합니다. 예를 들어 계산을 생성하여 판매 목표와 비교한 실제 매출과 같은 두 값을 비교할 수 있습니다.

이 기능을 사용하려면 **시간** 필드와 **값** 필드에 각각 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="metric-comparison-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*날짜*   
순위를 지정할 날짜 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

*대상 값*   
값과 비교할 필드입니다.

## 계산 출력
<a name="metric-comparison-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `fromMetricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `fromMetricValue` - 지표 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `toMetricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `toMetricValue` - 지표 차원의 현재 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `timeValue` - 날짜시간 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.
+ `percentDifference` - 지표 필드의 현재 값과 이전 값 사이의 백분율 차이입니다.
  + `value` - 백분율 차이 계산의 원시 값입니다.
  + `formattedValue` - 백분율 차이의 서식이 지정된 값(예: -42%)입니다.
  + `formattedAbsoluteValue` - 백분율 차이의 서식이 지정된 절대값(예: 42%)입니다.
+ `absoluteDifference` - 지표 필드의 현재 값과 이전 값 사이의 절대 차이입니다.
  + `value` - 절대 차이 계산의 원시 값입니다.
  + `formattedValue` - 지표 필드의 서식 선호성 설정에 따라 형식화된 절대 차이입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 차이의 절대값입니다.

# 최소 계산
<a name="minimum-function"></a>

최소 계산은 최소 차원을 값 기준으로 찾습니다. 예를 들어 수익이 가장 낮은 달을 찾기 위해 계산을 생성할 수 있습니다.

이 기능을 사용하려면 **시간** 필드에 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="minimum-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*날짜*   
순위를 지정할 날짜 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

## 계산 출력
<a name="maximum-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.

**참고**  
이들은 최대 계산에 의해 반환되는 출력 매개 변수와 동일한 출력 매개 변수입니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `metricValue` - 지표 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `timeValue` - 날짜시간 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.

# 기간별 기간 계산
<a name="period-over-period-function"></a>

기간별 기간 계산은 두 가지 다른 기간의 값을 비교합니다. 예를 들어 계산을 생성하여 이전 기간 이후의 매출액이 증가했는지 또는 감소했는지 확인할 수 있습니다.

이 기능을 사용하려면 **시간** 필드에 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="period-over-period-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*날짜*   
순위를 지정할 날짜 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

## 계산 출력
<a name="period-over-period-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `previousMetricValue` - 지표 차원의 이전 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `previousTimeValue` - 날짜시간 차원의 이전 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.
+ `currentMetricValue` - 지표 차원의 현재 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `currentTimeValue` - 날짜시간 차원의 현재 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.
+ `percentDifference` - 지표 필드의 현재 값과 이전 값 사이의 백분율 차이입니다.
  + `value` - 백분율 차이 계산의 원시 값입니다.
  + `formattedValue` - 백분율 차이의 서식이 지정된 값(예: -42%)입니다.
  + `formattedAbsoluteValue` - 백분율 차이의 서식이 지정된 절대값(예: 42%)입니다.
+ `absoluteDifference` - 지표 필드의 현재 값과 이전 값 사이의 절대 차이입니다.
  + `value` - 절대 차이 계산의 원시 값입니다.
  + `formattedValue` - 지표 필드의 서식 선호성 설정에 따라 형식화된 절대 차이입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 차이의 절대값입니다.

## 예제
<a name="period-over-period-computation-example"></a>

**기간별 기간 계산 생성하기**

1. 변경하려는 분석에서 **인사이트 추가**를 선택합니다.

1. **계산 유형**에서 **기간별 기간**을 선택한 다음 **선택**을 선택합니다.

1. 생성한 새 인사이트에서 비교할 시간 차원 및 값 차원 필드를 추가합니다. 아래 스크린샷에서는 `Order Date` 및 `Sales (Sum)`이(가) 인사이트에 추가됩니다. 이 두 필드를 선택하면 Quick Sight는 지난 달의 연간 누계 매출과 전월과 비교한 백분율 차이를 보여줍니다.  
![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/periodOverPeriod1.png)

1. (선택 사항) 인사이트를 추가로 사용자 지정하려면 온비주얼 메뉴를 열고 **사용자 지정 서술**을 선택합니다. 표시되는 **서술 편집** 창의 **계산** 목록에서 필요한 필드를 끌어서 놓은 다음 **저장**을 선택합니다.

# 기간 날짜 계산
<a name="period-to-date-function"></a>

기간 날짜 계산은 지정된 기간의 날짜 값을 계산합니다. 예를 들어 계산을 만들어 오늘까지의 연간 판매액을 확인할 수 있습니다.

이 기능을 사용하려면 **시간** 필드에 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="period-to-date-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*날짜*   
순위를 지정할 날짜 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

*시간 세부 수준*   
연누계와 같이 계산에 사용할 날짜 세부 수준입니다.

## 계산 출력
<a name="period-to-date-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `previousMetricValue` - 지표 차원의 이전 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `previousTimeValue` - 날짜시간 차원의 이전 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.
+ `currentMetricValue` - 지표 차원의 현재 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
+ `currentTimeValue` - 날짜시간 차원의 현재 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.
+ `periodGranularity` - 이 계산에 대한 기간 세부 수준(**월**, **년**, 등)입니다.
+ `percentDifference` - 지표 필드의 현재 값과 이전 값 사이의 백분율 차이입니다.
  + `value` - 백분율 차이 계산의 원시 값입니다.
  + `formattedValue` - 백분율 차이의 서식이 지정된 값(예: -42%)입니다.
  + `formattedAbsoluteValue` - 백분율 차이의 서식이 지정된 절대값(예: 42%)입니다.
+ `absoluteDifference` - 지표 필드의 현재 값과 이전 값 사이의 절대 차이입니다.
  + `value` - 절대 차이 계산의 원시 값입니다.
  + `formattedValue` - 지표 필드의 서식 선호성 설정에 따라 형식화된 절대 차이입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 차이의 절대값입니다.

## 예제
<a name="period-to-date-computation-example"></a>

**기간 누계 계산을 생성하기**

1. 변경하려는 분석에서 **인사이트 추가**를 선택합니다.

1. **계산 유형**에서 **기간 누계**를 선택한 다음 **선택**을 선택합니다.

1. 새로 만든 인사이트에 비교하려는 시간 차원 및 값 차원 필드를 추가합니다. 아래 스크린샷에서는 `Order Date` 및 `Sales (Sum)`이(가) 인사이트에 추가됩니다. 이 두 필드를 선택하면 Quick Sight는 지난 달의 연간 누계 매출과 전월과 비교한 백분율 차이를 보여줍니다.  
![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/periodOverPeriod1.png)

1. (선택 사항) 인사이트를 추가로 사용자 지정하려면 온비주얼 메뉴를 열고 **사용자 지정 서술**을 선택합니다. 표시되는 **서술 편집** 창의 **계산** 목록에서 필요한 필드를 끌어서 놓은 다음 **저장**을 선택합니다.

# 최상위 Mover 계산
<a name="top-movers-function"></a>

최상위 Mover 계산은 자동 서술 데이터 세트의 최상위 순위별로 요청된 범주 수를 날짜를 기준으로 계산합니다. 예를 들어 기간 동안 판매 수익 기준 최상위 3개 제품을 찾기 위해 계산을 생성할 수 있습니다.

이 기능을 사용하려면 **시간** 필드와 **범주** 필드에 각각 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="top-movers-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*카테고리*   
순위를 지정할 범주 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

*Number of results*   
찾으려는 최상위 순위 항목의 수입니다.

## 계산 출력
<a name="top-movers-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.

**참고**  
이들은 하위 이동기 계산에 의해 반환되는 출력 매개 변수와 동일한 출력 매개 변수입니다.
+ `timeField` - **시간** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `timeGranularity` - 시간 필드 세부 수준(**요일**, **연도** 등)입니다.
+ `categoryField` - **범주** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `startTimeValue` - 날짜 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 값입니다.
+ `endTimeValue` - 날짜 차원의 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 날짜시간 필드에 의해 서식이 지정된 절대값입니다.
+ `itemsCount` - 이 계산에 포함된 항목의 수입니다.
+ `items`: 상위 이동 항목입니다.
  + `categoryField` - 범주 필드입니다.
    + `value` - 카테고리 필드의 값(내용)입니다.
    + `formattedValue` - 서식이 지정된 카테고리 필드의 값(내용)입니다. 필드가 null 인 경우, '`NULL`'이(가) 표시됩니다. 필드가 비어 있는 경우 ‘`(empty)`‘이(가) 표시됩니다.
  + `currentMetricValue` - 지표 필드의 현재 값입니다.
    + `value` - 원시 값입니다.
    + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
  + `previousMetricValue` - 지표 필드의 이전 값입니다.
    + `value` - 원시 값입니다.
    + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.
  + `percentDifference` - 지표 필드의 현재 값과 이전 값 사이의 백분율 차이입니다.
    + `value` - 백분율 차이 계산의 원시 값입니다.
    + `formattedValue` - 백분율 차이의 서식이 지정된 값(예: -42%)입니다.
    + `formattedAbsoluteValue` - 백분율 차이의 서식이 지정된 절대값(예: 42%)입니다.
  + `absoluteDifference` - 지표 필드의 현재 값과 이전 값 사이의 절대 차이입니다.
    + `value` - 절대 차이 계산의 원시 값입니다.
    + `formattedValue` - 지표 필드의 서식 선호성 설정에 따라 형식화된 절대 차이입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 차이의 절대값입니다.

# 최상위 순위 계산
<a name="top-ranked-function"></a>

최상위 순위 계산은 최상위 순위 차원을 값 기준으로 찾습니다. 예를 들어 판매 수익 기준 최상위 3개 상태를 찾기 위해 계산을 생성할 수 있습니다.

이 기능을 사용하려면 **범주** 필드에 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="top-ranked-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*카테고리*   
순위를 지정할 범주 차원입니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

*Number of results*   
찾으려는 최상위 순위 항목의 수입니다.

## 계산 출력
<a name="top-ranked-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.

**참고**  
이들은 하위 순위 계산에 의해 반환되는 출력 매개 변수와 동일한 출력 매개 변수입니다.
+ `categoryField` - **범주** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `itemsCount` - 이 계산에 포함된 항목의 수입니다.
+ `items`: 상위 순위 항목입니다.
  + `categoryField` - 범주 필드입니다.
    + `value` - 카테고리 필드의 값(내용)입니다.
    + `formattedValue` - 서식이 지정된 카테고리 필드의 값(내용)입니다. 필드가 null 인 경우, '`NULL`'이(가) 표시됩니다. 필드가 비어 있는 경우 ‘`(empty)`‘이(가) 표시됩니다.
  + `metricValue` - 지표의 필드입니다.
    + `value` - 원시 값입니다.
    + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
    + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.

# 총합 집계 계산
<a name="total-aggregation-function"></a>

총합 집계 계산은 값의 전체 합계를 생성합니다. 예를 들어 총 수익을 찾기 위해 계산을 생성할 수 있습니다.

이 기능을 사용하려면 **시간** 필드와 **값** 필드에 각각 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="total-aggregation-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*값*   
계산이 기반으로 하는 집계된 측정값입니다.

## 계산 출력
<a name="total-aggregation-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.
+ `categoryField` - 범주 필드입니다.
  + `name` - 범주 필드의 표시 이름입니다.
+ `metricField` - **값** 필드 모음에서 얻습니다.
  + `name` - 필드의 서식이 지정된 표시 이름입니다.
  + `aggregationFunction` - 지표에 사용된 집계(**SUM**, **AVG** 등)입니다.
+ `totalAggregate` - 지표 집계의 합계 값입니다.
  + `value` - 원시 값입니다.
  + `formattedValue` - 지표 필드에 의해 서식이 지정된 값입니다.
  + `formattedAbsoluteValue` - 지표 필드에 의해 서식이 지정된 절대값입니다.

# 고유한 값 계산
<a name="unique-values-function"></a>

고유한 값 계산은 범주 필드의 고유한 값을 계산합니다. 예를 들어 차원에 있는 고유한 값의 수를 계산하는 계산식을 생성할 수 있습니다(예: 보유한 고객 수).

이 기능을 사용하려면 **범주** 필드에 하나 이상의 차원이 있어야 합니다.

## 파라미터
<a name="unique-values-function-parameters"></a>

*이름*   
지정하거나 변경하는 고유한 설명 이름입니다. 자신만의 이름을 생성하지 않으면 이름이 지정됩니다. 이 작업을 나중에 편집할 수 있습니다.

*카테고리*   
순위를 지정할 범주 차원입니다.

## 계산 출력
<a name="unique-values-computation-outputs"></a>

각 함수는 일련의 출력 매개 변수를 생성합니다. 이 출력을 자동 응답에 추가하여 표시되는 내용을 사용자 지정할 수 있습니다. 고유의 사용자 지정 텍스트를 추가할 수도 있습니다.

출력 파라미터를 찾으려면 오른쪽의 **계산** 탭을 열고 사용할 계산을 찾습니다. 계산의 이름은 인사이트를 만들 때 제공한 이름에서 유래했습니다. 출력 매개 변수를 한 번만 클릭하여 선택하십시오. 두 번 클릭하면 동일한 출력을 두 번 추가합니다. **볼드**로 표시된 항목은 서술에서 사용할 수 있습니다.
+ `categoryField` - 범주 필드입니다.
  + `name` - 범주 필드의 표시 이름입니다.
+ `uniqueGroupValuesCount` - 이 계산에 포함된 고유한 값의 수입니다.

# ML 기반 이상 탐지를 사용하여 특이값 탐지
<a name="anomaly-detection"></a>

Amazon Quick Sight는 검증된 Amazon 기술을 사용하여 수백만 개의 지표에서 ML 기반 이상 탐지를 지속적으로 실행하여 데이터의 숨겨진 추세와 특이값을 발견합니다. 이 도구를 사용하면 수시로 집계에 묻히고 수동 분석으로 확장할 수 없는 깊은 인사이트를 얻을 수 있습니다. ML 기반 이상 탐지를 사용하면 수동 분석, 사용자 지정 개발 또는 ML 도메인 전문 지식 없이도 데이터에서 특이값을 찾을 수 있습니다.

Amazon Quick Sight는 이상을 분석하거나 데이터에 대한 일부 예측을 수행할 수 있음을 감지하면 시각적 객체에 알립니다.

`eu-central-2` 유럽(취리히) 리전에서는 이상 탐지를 사용할 수 없습니다.

**중요**  
ML 기반 이상 탐지는 계산 집약적인 작업입니다. 사용을 시작하기 전에 사용하려는 데이터의 양을 분석하여 비용에 대한 아이디어를 얻을 수 있습니다. 월별로 처리하는 지표 수를 기반으로 하는 계층화된 요금 모델을 제공합니다.

**Topics**
+ [이상 또는 특이값 탐지에 대한 개념](anomaly-detection-outliers-and-key-drivers.md)
+ [특이값 분석을 위한 ML 기반 이상 탐지 설정](anomaly-detection-using.md)
+ [ML 기반 이상 탐지 및 기여도 분석을 통해 특이값 및 주요 동인 탐색](anomaly-exploring.md)

# 이상 또는 특이값 탐지에 대한 개념
<a name="anomaly-detection-outliers-and-key-drivers"></a>

Amazon Quick Sight는 *이상*이라는 단어를 사용하여 전체 배포 패턴을 벗어나는 데이터 포인트를 설명합니다. 특이값, 편차, 특이성, 예외, 불규칙성, 특징 등 과학적 용어인 이상에 대한 다른 단어가 많이 있습니다. 사용하는 용어는 수행하는 분석 유형, 사용하는 데이터 유형 또는 그룹의 기본 설정에 따라 달라질 수 있습니다. 이러한 외부 데이터 포인트는 사람, 장소, 사물 또는 시간과 같은 개체를 나타내며 어떤 면에서는 예외적입니다.

인간은 쉽게 패턴을 인식하고 서로 다른 것을 발견합니다. 인간의 감각은 이 정보를 제공합니다. 패턴이 단순하고 약간의 데이터만 있는 경우 그래프를 만들어 데이터에서 특이값을 강조할 수 있습니다. 몇 가지 간단한 예는 다음과 같습니다.
+ 파란색 풍선으로 구성된 그룹의 빨간 풍선
+ 다른 경주마보다 훨씬 앞서 있는 경주마
+ 수업 중에 주의를 집중하지 않는 아이
+ 온라인 주문이 증가하지만 배송이 저하된 날
+ 다른 사람들은 회복되지 않은 상태에서 회복된 사람

일부 데이터 포인트는 중요한 이벤트를 나타내고 다른 데이터 포인트는 임의로 발생을 나타냅니다. 분석은 이벤트에 기여한 구동 요인(주요 동인)에 따라 조사할 가치가 있는 데이터를 파악합니다. 질문은 데이터 분석에 필수적입니다. 발생한 이유는 무엇입니까? 무엇과 관련이 있습니까? 한번 또는 여러 번 발생했습니까? 권장하거나 권장하지 않기 위해 무엇을 할 수 있습니까?

변형이 존재하는 방법과 이유 및 변형에 패턴이 있는지 여부를 이해하려면 더 많은 생각이 필요합니다. 기계 학습의 지원 없이는 사람마다 다른 경험과 정보를 가지고 있기 때문에 다른 결론을 내릴 수 있습니다. 따라서 사람마다 약간 다른 비즈니스 결정을 내릴 수 있습니다. 고려해야 할 데이터나 변수가 많으면 엄청난 양의 분석이 필요할 수 있습니다.

ML 기반 이상 탐지는 데이터 중심의 의사 결정을 내릴 수 있도록 인과 관계 및 상관 관계를 식별합니다. 작업에서 데이터를 사용하는 방식을 정의할 수 있습니다. 고유한 파라미터를 지정하고 기여도 분석에서 주요 동인을 식별하는 등의 추가 옵션을 선택할 수 있습니다. 또는 기본 설정을 사용할 수도 있습니다. 다음 섹션에서는 설정 프로세스를 안내하고 사용 가능한 옵션에 대한 설명을 제공합니다.

# 특이값 분석을 위한 ML 기반 이상 탐지 설정
<a name="anomaly-detection-using"></a>

다음 섹션의 절차를 사용하여 특이값을 탐지하고 이상을 탐지하고 특이값을 유발하는 주요 동인을 식별하기 시작하십시오.

**Topics**
+ [예외 항목 및 예측 알림 보기](anomaly-detection-adding-from-visuals.md)
+ [ML 인사이트를 추가하여 특이값 및 주요 동인 감지](anomaly-detection-adding-anomaly-insights.md)
+ [주요 동인에 대한 기여도 분석 사용](anomaly-detection-adding-key-drivers.md)

# 예외 항목 및 예측 알림 보기
<a name="anomaly-detection-adding-from-visuals"></a>

Amazon Quick Sight는 이상, 주요 동인 또는 예측 기회를 감지하는 시각적 객체에 대해 알려줍니다. 프롬프트에 따라 해당 비주얼의 데이터를 기반으로 이상 탐지 또는 예측을 설정할 수 있습니다.

1. 기존 라인 차트에서 시각적 객체 위젯의 메뉴에서 인사이트 알림을 찾아보세요.

1. 전구 아이콘을 선택하여 알림을 표시합니다.

1. ML 인사이트에 대한 자세한 정보가 필요하면 화면 프롬프트에 따라 ML 인사이트를 추가할 수 있습니다.

# ML 인사이트를 추가하여 특이값 및 주요 동인 감지
<a name="anomaly-detection-adding-anomaly-insights"></a>

심각해 보이는 특이값인 변칙을 탐지하는 ML 인사이트를 추가할 수 있습니다. 시작하려면 자동 서술이라고도 하는 위젯을 만들어 인사이트를 확보하세요. 옵션을 구성하면 화면 오른쪽의 **미리 보기** 창에서 인사이트의 제한된 스크린샷을 볼 수 있습니다.

Insight Widget에서 계산된 필드가 아닌 차원 필드를 최대 5개의 추가할 수 있습니다. 필드 모음에서 **범주** 값은 Amazon Quick Sight가 지표를 분할하는 데 사용하는 차원 값을 나타냅니다. 예를 들어 모든 제품 범주 및 제품 SKU에서 수익을 분석한다고 가정해 보겠습니다. 10개의 제품 카테고리가 있으며, 각 카테고리에는 10개의 제품 SKU가 있습니다. Amazon Quick Sight는 100개의 고유한 조합으로 지표를 분할하고 분할의 각 조합에 대해 이상 탐지를 실행합니다.

다음 절차는 이를 수행하는 방법과 기여도 분석을 추가하여 각 이상 현상을 일으키는 주요 동인을 탐지하는 방법을 보여줍니다. [주요 동인에 대한 기여도 분석 사용](anomaly-detection-adding-key-drivers.md)에 설명된 대로 기여도 분석을 나중에 추가할 수 있습니다.

**주요 동인을 포함하여 특이값 분석을 설정하기**

1. 분석을 열고 도구 표시줄에서 **인사이트**를 선택한 다음 **추가**를 선택합니다. 목록에서 **이상 탐지** 및 **Select(선택)**을 선택합니다.

1. 새로운 위젯의 화면 프롬프트를 따르십시오. 그러면 인사이트에 대한 필드를 선택하라는 메시지가 표시됩니다. 하나 이상의 날짜, 하나의 측정 및 하나의 차원을 추가해야 합니다.

1. 위젯에서 **시작하기**를 선택합니다. 구성 화면이 나타납니다.

1. **계산 옵션**에서 다음 옵션의 값을 선택합니다.

   1. **분석할 조합**에 대해 다음 옵션 중 하나를 선택합니다.

      1. **계층적 분석**

         필드를 계층적으로 분석하려면 이 옵션을 선택합니다. 예를 들어 날짜(T), 치수(N) 및 세 가지 차원 범주(C1, C2 및 C3)를 선택한 경우 Quick Sight는 다음과 같이 필드를 계층적으로 분석합니다.

         ```
         T-N, T-C1-N, T-C1-C2-N, T-C1-C2-C3-N
         ```

      1. **정확한 조합**

         범주 필드에 있는 필드의 정확한 조합만 나열되어 있는 대로 잘 분석하려면 이 옵션을 선택합니다. 예를 들어 날짜(T), 치수(N) 및 3차원 범주(C1, C2 및 C3)를 선택한 경우 Quick Sight는 다음과 같이 나열된 순서대로 범주 필드의 정확한 조합만 분석합니다.

         ```
         T-C1-C2-C3-N
         ```

      1. **모두**

         범주 필드의 모든 필드 조합을 잘 분석하려면 이 옵션을 선택합니다. 예를 들어 날짜(T), 치수(N) 및 3차원 범주(C1, C2 및 C3)를 선택한 경우 Quick Sight는 다음과 같이 모든 필드 조합을 분석합니다.

         ```
         T-N, T-C1-N, T-C1-C2-N, T-C1-C2-C3-N, T-C1-C3-N, T-C2-N, T-C2-C3-N, T-C3-N
         ```

      날짜와 치수만 선택한 경우 Quick Sight는 날짜별로 필드를 분석한 다음 치수별로 분석합니다.

      **분석할 필드** 섹션에서 참조용으로 필드 모음의 필드 목록을 볼 수 있습니다.

   1. **이름**에는 공백 없이 설명하는 영숫자 이름을 입력하거나 기본값을 선택합니다. 이렇게 하면 계산 이름이 제공됩니다.

      위젯에 자동으로 표시되는 서술을 편집하려는 경우 이름을 사용하여 이 위젯의 계산을 식별할 수 있습니다. 자동 서술을 편집하려는 경우와 분석에 다른 유사한 계산이 있는 경우에 이름을 사용자 지정할 수 있습니다.

1. **디스플레이 옵션** 섹션에서 다음 옵션을 선택하여 인사이트 위젯에 표시되는 내용을 사용자 지정합니다. 무엇을 표시하든 상관없이 모든 결과를 탐색할 수 있습니다.

   1. **표시할 최대 예외 개수** - 서술 위젯에 표시하려는 특이값의 수입니다.

   1. **심각도** - 인사이트 위젯에 표시하려는 예외 항목의 최소 심각도 수준입니다.

      *심각도 수준*은 범위에 포함된 실제 이상 점수 중 가장 낮은 점수를 특징으로 하는 이상 점수 범위입니다. 점수가 더 높은 모든 이상이 범위에 포함됩니다. 심각도를 **낮음**으로 설정하면 순위가 낮음과 매우 높음 중간에 해당하는 모든 이상이 인사이트에 표시됩니다. 심각도를 **매우 높음**으로 설정하면 이상 점수가 가장 높은 이상만 인사이트에 표시됩니다.

      다음 옵션을 사용할 수 있습니다.
      + **매우 높음** 
      + **높음 이상** 
      + **보통 이상** 
      + **낮음 이상** 

   1. **방향** - 이상으로 식별하려는 x축 또는 y축의 방향입니다. 사용자는 다음 중에서 선택할 수 있습니다.
      + **예상보다 높을 시** 큰 값을 이상으로 식별합니다.
      + **예상보다 낮을 시** 작은 값을 이상으로 식별합니다.
      + **[모두]** - 높고 낮은 모든 이상값을 식별합니다(기본 설정).

   1. **Delta** — 이상을 식별하는 데 사용할 사용자 지정 값을 입력합니다. 임계값보다 높은 값이 이상으로 계산됩니다. 여기에 있는 값은 분석에서 인사이트가 작동하는 방식을 변경합니다. 이 섹션에서는 다음을 설정할 수 있습니다.
      + **절대값** - 사용하려는 실제 값입니다. 예를 들어 48이라고 가정해 보겠습니다. 그런 다음 Amazon Quick Sight는 값과 예상 값의 차이가 48보다 클 때 값을 이상으로 식별합니다.
      + **백분율** — 사용할 백분율 임계값입니다. 예를 들어 12.5% 라고 가정해 보겠습니다. 그런 다음 Amazon Quick Sight는 값과 예상 값의 차이가 12.5%보다 클 때 값을 이상으로 식별합니다.

   1. **정렬 기준** - 결과의 정렬 방법을 선택합니다. 일부 방법은 Amazon Quick Sight가 생성하는 이상 점수를 기반으로 합니다. Amazon Quick Sight는 변칙적으로 보이는 데이터 포인트에 더 높은 점수를 부여합니다. 다음 옵션 중 하나를 사용할 수 있습니다.
      + **가중 이상 점수** - 이상 점수에 실제 값과 예상 값 간 차이의 절대값에 대한 로그를 곱한 값입니다. 이 점수는 항상 양수입니다.
      + **이상 점수** - 이 데이터 포인트에 할당된 실제 이상 점수입니다.
      + **예상 값과의 가중 차이**- 이상 점수에 실제 값과 예상 값 간 차이를 곱한 값입니다(기본값).
      + **예상 값과의 차이** - 실제 값과 예상 값 간의 실제 차이입니다(실제 값-예상 값).
      + **실제 값** - 공식이 적용되지 않은 실제 값입니다.

1. **일정 옵션** 섹션에서 인사이트 재계산을 자동으로 실행하도록 일정을 설정할 수 있습니다. 이 일정은 게시된 대시보드에 대해서만 실행됩니다. 분석에서 필요에 따라 수동으로 실행할 수 있습니다. 일정에는 다음 설정이 포함됩니다.
   + **발생** - 재계산을 실행하는 빈도입니다: 매시간, 매일, 매주 또는 매월.
   + **일정 시작 시간** - 이 일정 실행을 시작할 날짜 및 시간입니다.
   + **표준 시간대** - 일정이 실행되는 시간대를 설정합니다. 목록을 보려면 현재 항목을 삭제합니다.

1. **상위 기여자** 섹션에서 이상치(이상)가 감지될 때 주요 동인을 분석하도록 Amazon Quick Sight를 설정합니다.

   예를 들어 Amazon Quick Sight는 홈 개선 제품의 미국 매출 급증에 기여한 상위 고객을 표시할 수 있습니다. 데이터 세트에서 최대 4개의 차원을 추가할 수 있습니다. 여기에는 이 인사이트 위젯의 필드 웰에 추가하지 않은 측정기준이 포함됩니다.

   기여도 분석에 사용할 수 있는 차원 목록의 경우 **필드 선택**을 선택합니다.

1. 그런 다음 **저장**을 선택해 변경 사항을 확인하세요. 저장하지 않고 종료하려면 **취소**를 선택합니다.

1. 인사이트 위젯에서 이상 탐지를 실행하고 인사이트를 보려면 **지금 실행**을 선택합니다.

이상 탐지를 완료하는 데 걸리는 시간은 분석 중인 고유한 데이터 포인트의 수에 따라 다릅니다. 이 프로세스는 최소 포인트 수로 몇 분이 걸릴 수도 있고 몇 시간이 걸릴 수도 있습니다.

배경에서 실행되는 동안 분석에서 기타 작업을 수행할 수 있습니다. 그러나 구성을 변경하거나 서술을 편집하거나 **이상 탐색** 페이지를 열기 전에 완료될 때까지 기다려야 합니다.

인사이트 위젯을 한 번 이상 실행해야 결과를 확인할 수 있습니다. 상태가 이전 상태라고 생각되면 페이지를 새로 고칠 수 있습니다. 인사이트에는 다음과 같은 상태가 있을 수 있습니다.


| 페이지에 표시되는 사항 | Status | 
| --- | --- | 
| 지금 실행 버튼 | 작업이 아직 시작되지 않았습니다. | 
| 이상 분석에 대한 메시지 | 작업이 현재 실행 중입니다. | 
| 탐지된 이상(특이값)에 대한 서술  | 작업이 성공적으로 실행되었습니다. 이 위젯의 계산이 마지막으로 업데이트되었을 때 메시지가 표시됩니다. | 
| 느낌표(\$1)가 있는 경고 아이콘  | 이 아이콘은 마지막 실행 중에 오류가 발생했음을 나타냅니다. 서술이 표시되는 경우에도 이상 탐색을 사용하여 이전에 성공적으로 실행된 데이터를 계속 사용할 수 있습니다. | 

# 주요 동인에 대한 기여도 분석 사용
<a name="anomaly-detection-adding-key-drivers"></a>

Amazon Quick Sight는 두 시점 사이의 측정값(지표)에서 이상치에 기여하는 차원(범주)을 식별할 수 있습니다. 특이값을 유발하는 주요 동인은 다음과 같은 질문에 답하는 데 도움이 됩니다. 이러한 이상 현상을 일으킨 원인은 무엇입니까?

기여도 분석 없이 이미 이상 탐지를 사용하고 있다면 기존 ML 인사이트를 활용하여 주요 동인을 찾을 수 있습니다. 다음 절차를 사용하여 기여도 분석을 추가하고 특이값의 주요 동인을 식별하십시오. 이상 탐지를 위한 인사이트에는 시간 필드와 하나 이상의 집계된 지표(합계, 평균 또는 개수)가 포함되어야 합니다. 원하는 경우 여러 범주(차원 필드)를 포함할 수 있지만 범주나 차원 필드를 지정하지 않고 기여도 분석을 실행할 수도 있습니다.

이 절차를 사용하여 예외 항목 탐지의 주요 동인인 필드를 변경하거나 제거할 수도 있습니다.

**기여도 분석을 추가하여 주요 동인 식별하기**

1. 분석을 열고 예외 항목 탐지를 위한 기존 ML 인사이트를 찾습니다. 인사이트 위젯을 선택하여 강조 표시합니다.

1. 시각적 객체의 메뉴에서 **메뉴 옵션**(**...**)을 선택합니다.

1. 설정을 편집하려면 **예외 항목 구성**을 선택합니다.

1. **기여도 분석(선택 사항)** 설정을 사용하면 이상치(이상)가 감지될 때 Amazon Quick Sight가 주요 동인을 분석할 수 있습니다. 예를 들어 Amazon Quick Sight는 홈 개선 제품의 미국 매출 급증에 기여한 상위 고객을 보여줄 수 있습니다. 이 인사이트 위젯의 필드 모음에 추가하지 않은 차원을 포함하여 데이터 세트에서 최대 4개의 차원을 추가할 수 있습니다.

   기여도 분석에 사용할 수 있는 차원 목록을 보려면 **필드 선택**을 선택합니다.

   주요 동인으로 사용하는 필드를 변경하려면 이 목록에서 활성화된 필드를 변경하십시오. 모두 비활성화하면 Quick Sight는이 인사이트에서 기여도 분석을 수행하지 않습니다.

1. 변경 내용을 저장하려면 구성 옵션 아래로 스크롤한 후 **저장**을 선택합니다. 저장하지 않고 종료하려면 **취소**를 선택합니다. 이 설정을 완전히 제거하려면 **삭제**를 선택합니다.

# ML 기반 이상 탐지 및 기여도 분석을 통해 특이값 및 주요 동인 탐색
<a name="anomaly-exploring"></a>

분석에서 기여자(주요 동인)와 함께 이상(특이값이라고도 함)을 대화식으로 탐색할 수 있습니다. 탐색하는 데 사용할 수 있는 분석은 ML 기반 이상 탐지가 실행된 후에 사용할 수 있습니다. 이 화면에서 변경한 내용은 분석으로 돌아갈 때 저장되지 않습니다.

시작하려면 인사이트에서 **이상 탐지**를 선택하십시오. 다음 스크린샷은 처음 열었을 때 나타나는 이상 항목 화면을 보여줍니다. 이 예시에서는 기여자 분석을 설정하여 두 가지 주요 동인을 보여줍니다.

![\[기여자를 포함한 이상 분석이 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/anomaly-exploration-v2.png)


화면 섹션에는 왼쪽 상단에서 오른쪽 하단으로 다음 사항이 포함됩니다.
+ **기여자**는 주요 동인을 표시합니다. 이 섹션을 보려면 이상 구성에서 기여자를 설정해야 합니다.
+ **컨트롤**에는 이상 탐지를 위한 설정이 포함되어 있습니다.
+ **이상 수**에는 시간이 지남에 따라 감지된 특이값이 표시됩니다. 이 차트 섹션을 숨기거나 표시할 수 있습니다.
+ 범주 또는 측정기준 필드의 **필드 이름**은 각 범주 또는 측정기준에 대한 이상을 표시하는 차트의 제목 역할을 합니다.

다음 단원에서는 이상 탐색의 각 측면에 대한 자세한 정보를 제공합니다.

**Topics**
+ [기여자 탐색(주요 동인)](exploring-anomalies-key-drivers.md)
+ [이상 탐지를 위한 제어 설정](exploring-anomalies-controls.md)
+ [날짜별 예외 항목 표시 및 숨기기](exploring-anomalies-by-date.md)
+ [범주 또는 차원별 예외 항목 탐색](exploring-anomalies-per-category-or-dimension.md)

# 기여자 탐색(주요 동인)
<a name="exploring-anomalies-key-drivers"></a>

이상 인사이트가 주요 동인을 감지하도록 설정된 경우 Quick Sight는 기여도 분석을 실행하여 이상치에 영향을 미치는 범주(차원)를 결정합니다. **기여자** 섹션은 왼쪽에 표시됩니다.

**기여자**는 다음 섹션을 포함합니다:
+ **서술** - 왼쪽 상단에 지표의 변경 사항이 요약되어 있습니다.
+ **상위 기여자 구성** - **구성**을 선택하여 이 섹션에서 사용할 기여자 및 날짜 범위를 변경합니다.
+ **정렬 기준** - 아래 표시된 결과에 표시되는 정렬을 설정합니다. 사용자는 다음 중에서 선택할 수 있습니다.
  + **절대 차이** 
  + **영향 비율** (기본값) 
  + **예상과의 편차** 
  + **비율 차이** 
+ **상위 기여자 결과** - 오른쪽 타임라인에서 선택한 특정 시점에 대한 상위 기여자 분석 결과를 표시합니다.

  기여도 분석에서는 이상의 최상위 기여 요인 또는 주요 동인 중 최대 4개까지 식별합니다. 예를 들어 Amazon Quick Sight는 미국의 건강 제품 판매 급증에 기여한 상위 고객을 보여줄 수 있습니다. 이 패널은 이상을 구성할 때 기여도 분석에 포함할 필드를 선택한 경우에만 나타납니다.

  이 패널이 표시되지 않지만 표시하려는 경우 활성화할 수 있습니다. 이렇게 하려면 분석으로 돌아가서 인사이트 메뉴에서 이상 구성을 선택하고 기여도를 분석할 필드를 최대 4개까지 선택합니다. 기여 동인을 제외하는 시트 컨트롤을 변경하면 **기여도** 패널이 닫힙니다.

# 이상 탐지를 위한 제어 설정
<a name="exploring-anomalies-controls"></a>

화면의 **컨트롤** 섹션에서 이상 탐지에 대한 설정을 찾을 수 있습니다. **컨트롤**이라는 단어를 클릭하여 이 섹션을 열고 닫을 수 있습니다.

설정에는 다음이 포함됩니다.
+ **컨트롤** - 현재 설정이 작업 영역 상단에 표시됩니다. 오른쪽에 있는 이중 화살표 아이콘을 선택하여 이 섹션을 확장할 수 있습니다. 다음 설정은 ML 기반 이상 탐지에 의해 생성된 특이값을 탐색하는 데 사용할 수 있습니다.
  + **심각도** - 탐지된 이상(특이값)에 대한 탐지기의 민감도를 설정합니다. 임계값이 **낮음 이상**으로 설정되면 볼 수 있는 이상이 더 많고 **높음 이상**으로 설정되면 볼 수 있는 이상이 더 적을 것으로 예상해야 합니다. 이 민감도는 RCF 알고리즘에 의해 생성된 이상 점수의 표준 편차에 따라 결정됩니다. 기본값은 **보통 이상**입니다.
  + **방향** - 이상으로 식별하려는 x축 또는 y축의 방향입니다. 기본값은 [모두]입니다. 다음을 선택할 수 있습니다.
    + 높은 값을 이상으로 식별하려면 **예상보다 높음**으로 설정하십시오.
    + 낮은 값을 이상으로 식별하려면 **예상보다 낮음**으로 설정합니다.
    + **[모두]**로 설정하면 높음과 낮음의 모든 변칙 값을 식별할 수 있습니다.
  + **최소 Delta - 절대값** — 이상 식별을 위한 절대 임계값으로 사용할 사용자 지정 값을 입력합니다. 이 값보다 높은 값은 이상으로 계산됩니다.
  + **최소 Delta - 백분율** - 이상 식별을 위한 백분율 임계값으로 사용할 사용자 지정 값을 입력합니다. 이 값보다 높은 값은 이상으로 계산됩니다.
  + **정렬 기준** - 이상 정렬에 적용할 방법을 선택합니다. 화면에 선호 순서대로 나열됩니다. 각 방법에 대한 설명은 다음 목록을 참조하십시오.
    + **가중 이상 점수** - 이상 점수에 실제 값과 예상 값 간 차이의 절대값에 대한 로그를 곱한 값입니다. 이 점수는 항상 양수입니다.
    + **이상 점수** - 이 데이터 포인트에 할당된 실제 이상 점수입니다.
    + **예상 값과의 가중 차이** - (기본값)이상 점수에 실제 값과 예상 값 간 차이를 곱한 값입니다.
    + **예상 값과의 차이** - 실제 값과 예상 값 간의 실제 차이입니다(실제 값-예상 값).
    + **실제 값** - 공식이 적용되지 않은 실제 값입니다.
  + **카테고리** - 하나 이상의 설정이 다른 설정의 끝에 나타날 수 있습니다. 범주 필드에 잘 추가한 각 범주 필드에는 하나씩 있습니다. 카테고리 설정을 사용하여 화면에 표시되는 데이터를 제한할 수 있습니다.

# 날짜별 예외 항목 표시 및 숨기기
<a name="exploring-anomalies-by-date"></a>

**이상 수** 차트는 시간 경과에 따라 감지된 이상치를 보여줍니다. 이 차트가 보이지 않는 경우 **날짜별 이상 보기**를 선택하여 차트를 표시할 수 있습니다.

이 차트는 시계열 내 가장 최근 데이터 포인트의 이상(특이값)을 보여줍니다. 확장하면 다음과 같은 구성 요소가 표시됩니다.
+ **이상** - 화면 중앙에는 시계열에서 가장 최근 데이터 포인트의 이상이 표시됩니다. 하나 이상의 그래프가 시간 경과에 따른 지표의 변화를 보여주는 차트와 함께 표시됩니다. 이 그래프를 사용하려면 타임라인을 따라 점을 선택합니다. 현재 선택된 시점이 그래프에서 강조 표시되고 현재 지표에 대한 영향 분석 옵션을 제공하는 메뉴가 포함됩니다. 특정 시점을 선택하지 않고 타임라인 상에 커서를 드래그하여 해당 시점의 지표 값을 표시할 수도 있습니다.
+ **날짜별 이상** - **날짜별 이상 표시**를 선택하는 경우 각 시점에 있던 중요한 이상 수를 보여주는 또 다른 그래프가 표시됩니다. 각 막대의 컨텍스트 메뉴에서 이 차트의 세부 정보를 확인할 수 있습니다.
+ **타임라인 조정** - 각 그래프에는 날짜 아래의 타임라인 조정 도구가 있습니다. 이 도구를 사용하여 압축하거나 확장하거나 볼 기간을 선택할 수 있습니다.

# 범주 또는 차원별 예외 항목 탐색
<a name="exploring-anomalies-per-category-or-dimension"></a>

**이상 탐색** 화면의 기본 섹션은 화면 오른쪽 아래에 잠겨 있습니다. 화면의 다른 섹션이 몇 개나 열려 있더라도 이 화면은 그대로 남아 있습니다. 이상이 여러 개 있는 경우 아래로 스크롤하여 강조 표시할 수 있습니다. 차트는 색상 범위의 이상을 표시하고 일정 기간 동안 이러한 이상이 발생하는 위치를 보여줍니다.

![\[이상 화면을 탐색합니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/anomaly-exploration-1.png)


각 카테고리 또는 측정기준에는 필드 이름을 차트 제목으로 사용하는 별도의 차트가 있습니다. 각 차트는 다음 구성 요소를 포함합니다.
+ **경고 구성** - 대시보드에서 이상을 탐색하는 경우 이 버튼을 선택하여 경고 및 기여도 분석(구성된 경우)을 구독합니다. 심각도 수준(보통, 높음 등)에 대한 경고를 설정할 수 있습니다. **예상보다 높음**, **예상보다 낮음** 또는 모두에 대해 상위 5개 경고를 받을 수 있습니다. 대시보드 리더는 스스로 경고를 구성할 수 있습니다. 분석에서 **이상 탐색** 페이지를 열면 해당 페이지에 이 단추가 표시되지 않습니다.
**참고**  
경고를 구성하는 기능은 게시된 대시보드에서만 사용할 수 있습니다.
+ **통계** - **이상** 제목 아래에 있는 상태 섹션에는 마지막 실행에 대한 정보가 표시됩니다. 예를 들어 '2018년 11월 17일 수익의 이상'이 표시될 수 있습니다. 이 레이블은 처리된 지표 수 및 얼마나 오래 전에 처리되었는지 알려줍니다. 링크를 선택하여 세부 정보(예: 무시된 지표 수)에 대해 자세히 알아볼 수 있습니다.

# Amazon Quick Sight를 사용한 가정 시나리오 예측 및 생성
<a name="forecasts-and-whatifs"></a>

ML 기반 예상을 사용하면 포인트 앤 클릭 간소화 방법으로 주요 비즈니스 지표를 예상할 수 있습니다. 기계 학습 전문가가 필요하지 않습니다. Amazon Quick Sight의 기본 제공 ML 알고리즘은 복잡한 실제 시나리오를 처리하도록 설계되었습니다. Amazon Quick Sight는 기계 학습을 사용하여 기존 수단으로 사용할 수 있는 것보다 더 안정적인 예측을 제공합니다.

예를 들어 비즈니스 관리자라고 가정해보십시오. 연말까지 목표를 달성할 것인지 확인하기 위해 판매액을 예상하려 한다고 가정해보십시오. 또는 2주 만에 큰 거래가 시작되고 전체 예상에 어떤 영향을 미치는지 알고 싶다고 가정해보십시오.

다양한 수준의 계절적 변동으로 비즈니스 수익을 예측할 수 있습니다(예: 주간 및 분기별 추세를 모두 포함한 매출). Amazon Quick Sight는 데이터의 이상(예: 가격 인하 또는 홍보로 인한 매출 급증)이 예측에 영향을 미치지 않도록 자동으로 제외합니다. 또한 Amazon Quick Sight에서 자동으로 처리하므로 누락된 값이 있는 데이터를 정리하고 다시 준비할 필요가 없습니다. 또한 ML 기반 예상을 사용하면 대화식 가정 분석을 수행하여 비즈니스 목표를 달성하는 데 필요한 성장 궤도를 결정할 수 있습니다.

## 예상 및 가정 시나리오 사용
<a name="using-forecasts"></a>

예상 위젯을 기존 분석에 추가하고 대시보드로 게시할 수 있습니다. 가정 시나리오를 분석하려면 대시보드가 아닌 분석을 사용하십시오. ML 기반 예측을 통해 Amazon Quick Sight를 사용하면 계절성이 여러 개인 데이터와 같은 복잡한 실제 시나리오를 예측할 수 있습니다. 누락된 값을 식별하고 유추하는 특이값은 자동으로 제외합니다.

다음 절차에 따라 분석에 그래픽 예상을 추가하고 가정 시나리오를 탐색하십시오.

다음 절차는 그래픽 방식으로 예상하기 위한 것이지만 인사이트 위젯에 서술로 예상을 추가할 수도 있습니다. 자세한 내용은 [Amazon Quick Sight를 사용하여 자동 서술 생성](narratives-creating.md)를 참조하세요.

ML 기반 예측은 [작은 배수](small-multiples.md)와 호환되지 않습니다. 데이터 및 예측을 정확하게 표시하려면 시각화에 작은 배수를 사용하지 마세요.

**분석에 그래픽 예상 추가하기**

1. 단일 날짜 필드와 최대 세 개의 지표(측정값)를 사용하는 시각적 객체를 생성합니다.

1. 시각적 객체의 오른쪽 상단에 있는 메뉴에서 **메뉴 옵션** 아이콘(점 3개)을 선택한 다음 **예상 추가**를 선택합니다.

   Quick Sight는 ML을 사용하여 기록 데이터를 자동으로 분석하고 다음 14개 기간에 대한 그래픽 예측을 표시합니다. 예상 속성은 비주얼의 모든 지표에 적용됩니다. 각 지표에 대한 개별 예상을 원하는 경우 각 지표에 대해 별도의 시각적 자료를 만들고 각 지표에 예상을 추가하는 것이 좋습니다.  
![\[세 가지 지표가 예상된 선형 차트 시각적 객체의 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/forecast2.png)

1. 왼쪽의 **예상 속성** 패널에서 다음 설정 중 하나 이상을 사용자 지정합니다.
   + **예상 길이** - **앞으로의 기간**을 예상으로 설정하고 **이전 기간**을 예상을 기반으로 할 패턴 확인으로 설정합니다.
   + **예측 간격** - 예상의 추정 범위를 설정합니다. 이렇게 하면 예측되는 선을 중심으로 가능성의 범위가 얼마나 넓어지는지를 알 수 있습니다.
   + **계절성** - 예측 가능한 데이터 계절 패턴과 관련된 기간 수를 설정합니다. 범위는 1\$1180이며 기본 설정은 **자동**입니다.
   + **예상 경계** - 예상 값이 지정된 값을 초과하거나 밑돌지 않도록 최소 및/또는 최대 예상 값을 설정합니다. 예를 들어 예상에서 회사의 다음 달 신규 고용 규모가 음수로 예측되는 경우 예상 경계를 최소로 설정할 수 있습니다. 이렇게 하면 예상 값이 0 아래로 내려가는 일이 전혀 없습니다.

   변경 사항을 저장하려면 **적용**을 선택합니다.

   예상에 여러 지표가 포함된 경우 주황색 띠 안의 아무 곳이나 선택하여 예상 중 하나를 분리할 수 있습니다. 이렇게 하면 다른 예상이 사라집니다. 분리된 예상 구간을 다시 선택하면 해당 예상 구간이 다시 표시됩니다.

1. 차트에서 예상 데이터 포인트(주황색 밴드)를 선택한 다음 컨텍스트 메뉴에서 **What-if analysis(가정 분석)**을 선택하여 가정 시나리오를 분석합니다.

   왼쪽에 있는 **What-if 분석** 패널이 열립니다. 다음 옵션을 설정합니다.
   + **시나리오** - 날짜에 대한 대상을 설정하거나 시간 범위에 대한 대상을 설정합니다.
   + **날짜** - 특정 날짜에 대한 대상을 설정하는 경우 해당 날짜를 여기에 입력합니다. 시간 범위를 사용하는 경우 시작일과 종료일을 설정합니다.
   + **대상** - 지표에 대한 대상 값을 설정합니다.

   Amazon Quick Sight는 대상에 맞게 예측을 조정합니다.
**참고**  
다중 지표 예측에는 **What-if 분석** 옵션을 사용할 수 없습니다. 예상에서 가정 시나리오를 수행하려는 경우 비주얼에는 지표가 하나만 포함되어야 합니다.

1. **적용**을 선택하여 변경 사항을 유지합니다. 이를 무시하려면 **What-if analysis(가정 분석)** 패널을 닫습니다.

   변경 사항을 유지하면 대상에 대해 조정된 새 예상과 가정 없이 원본 예상을 함께 확인할 수 있습니다.

   가정 분석은 시각적으로 지표선에 점으로 표시됩니다. 예상선의 데이터 포인트 위에 마우스를 올리면 세부 정보를 볼 수 있습니다.

다음과 같은 기타 작업을 수행할 수 있습니다.
+ 가정 분석과 상호 작용하거나 제거하려면 지표선에서 점을 선택합니다.
+ 추가 가정 시나리오를 생성하려면 선에서 새 점을 선택하기 전에 가정 분석을 닫습니다.

**참고**  
가정 분석은 대시보드 내부가 아닌 분석 내부에만 존재할 수 있습니다.

# Quick Sight를 사용한 생성형 BI
<a name="quicksight-gen-bi"></a>

**참고**  
 Amazon Bedrock 기반: Quick의 Amazon Q는 Amazon Bedrock을 기반으로 하며 안전, 보안 및 책임감 있는 AI 사용을 강화하기 위해 Amazon Bedrock에 구현된 [자동 침해 탐지](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)를 포함합니다.

Amazon Quick Chat을 사용하면 생성형 BI 작성 환경을 활용하고, 데이터에 대한 실행 요약을 생성하고, 데이터에 대한 질문을 하고 답변하고, 데이터 스토리를 생성할 수 있습니다.

작업과 관련된 모든 Quick Sight 생성형 BI 기능에 액세스하려면 빠른 페이지의 오른쪽 상단에 있는 스파클 아이콘을 선택합니다. 열리는 창에서 채팅은 수행 중인 작업의 컨텍스트에 따라 사용 가능한 모든 콘텐츠를 표시합니다. 예를 들어, 분석에서 작업하는 경우 계산을 빌드하거나, 시각적 객체를 편집하거나, Q&A를 설정하거나, 데이터에 대해 질문할 수 있습니다. 대시보드에서 작업하는 경우 데이터 스토리를 빌드하거나, 실행 요약을 생성하거나, 대시보드에 대해 질문할 수 있습니다.

**참고**  
일부 AWS 리전에서는 생성형 BI 기능을 사용할 수 없습니다. 생성형 BI 기능을 사용할 수 있는 리전 목록을 보려면 [빠른 Amazon Q AWS 리전 지원](regions.md#regions-aqs) 섹션을 참조하세요.

다음 주제를 사용하여 생성형 BI에 대해 자세히 알아보세요.

**Topics**
+ [생성형 BI 시작하기](generative-bi-get-started.md)
+ [Amazon Q Business를 사용하여 Amazon Quick Sight 인사이트 보강](generative-bi-q-business.md)
+ [생성형 BI 작성 환경](generative-bi-author-experience.md)
+ [실행 요약 생성](gen-bi-executive-summaries.md)
+ [Q&A 작성](gen-bi-author-q-and-a.md)
+ [Amazon Quick Sight의 대시보드를 통해 주제 권한 관리](gen-bi-manage-topic-permissions.md)
+ [Amazon Quick Sight에서 대시보드 Q&A 환경 켜기](dashboard-qa.md)
+ [Q&A null 지원](gen-bi-q-and-a-null-support.md)
+ [사용자 지정 지침을 사용하여 Q&A 정확도 개선](gen-bi-improve-qa-accuracy-with-custom-instructions.md)
+ [생성형 BI를 사용하여 데이터에 대한 질문 및 답변](gen-bi-data-q-and-a.md)
+ [생성형 BI 옵트아웃](generative-bi-opt-out.md)
+ [Amazon Quick Sight 주제 작업](topics.md)
+ [Amazon Quick Sight에서 데이터 스토리 작업](working-with-stories.md)
+ [Amazon Quick Sight에서 시나리오 작업](scenarios.md)

# 생성형 BI 시작하기
<a name="generative-bi-get-started"></a>

Quick Sight 생성형 BI 기능을 시작하려면 계정의 사용자를 Admin Pro, Author Pro 또는 Reader Pro 역할로 업그레이드합니다. Pro 역할은 사용자에게 할당된 역할과 관련된 모든 생성형 BI 기능에 대한 액세스 권한을 부여합니다. Pro 사용자는 생성형 Q&A 주제를 다른 사용자와 공유할 수 있습니다. Quick에서 다양한 사용자 역할에 사용할 수 있는 생성형 BI 기능을 이해하려면 아래 표를 참조하세요. 구독 이름이 사용자 역할에 매핑되는 방법을 이해하려면 [Amazon Quick 구독 및 역할 이해를 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/user-types.html#subscription-role-mapping).

**참고**  
Author Pro 또는 Admin Pro 사용자가 다른 사용자와 주제를 공유하는 경우 비Pro Author 및 Reader는 생성형 Q&A 주제에 액세스할 수 있습니다. 비Pro Author 및 Reader는 Reader Pro, Author Pro 또는 Admin Pro가 데이터 스토리를 공유하는 경우에도 데이터 스토리에 액세스할 수 있습니다.


| 기능 이름 | 기능 설명 | Reader | 작성자 | 관리자 | Reader Pro | Author Pro | Admin Pro | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
|  [생성형 BI를 사용하여 데이터 스토리 생성](working-with-stories-create.md)  |  시각화, 인사이트 및 아이디어를 통해 데이터를 설명하는 데이터 스토리를 구축하여 비즈니스를 개선합니다.  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 
|  [Amazon Quick Sight에서 생성된 데이터 스토리 보기](working-with-stories-view.md)  |  공유된 서술 데이터 스토리를 봅니다.  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예\$1  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예\$1  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예\$1  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 
|  [Q&A 작성](gen-bi-author-q-and-a.md)  |  Quick Sight 대시보드용 생성형 Q&A를 활용하는 주제를 생성하고 구체화합니다.  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 
|  [생성형 BI를 사용하여 데이터에 대한 질문 및 답변](gen-bi-data-q-and-a.md)  |  데이터에 대한 질문을 하여 다중 시각적 답변을 통해 데이터 기반 의사 결정을 가속화합니다.  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예\$1  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예\$1  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예\$1  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 
|  [실행 요약 생성](gen-bi-executive-summaries.md)  |  Quick Sight 대시보드에서 주요 인사이트에 대한 요약을 가져옵니다.  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 
|  [생성형 BI 작성 환경](generative-bi-author-experience.md)  |  분석을 생성하여 시각적 객체, 계산을 구축하고 기존의 시각적 객체를 자연어로 구체화합니다.  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 

\$12024년 4월 30일 이후에 생성된 계정의 비pro 역할은 해당 계정과 공유된 Q&A 주제에 액세스할 수 있습니다. Quick 계정이 2024년 4월 30일 이전에 생성되었고이 새 기능에 옵트인하려는 경우 계정 팀에 문의하세요 AWS .

빠른 관리자는 다음 절차에 따라 사용자를 Pro 역할로 업그레이드할 수 있습니다.

**사용자를 Pro 역할로 업그레이드**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 오른쪽 상단의 사용자 아이콘을 선택한 다음 **빠른 관리를** 선택합니다.

1. **사용자 관리**를 선택하여 **사용자 관리** 페이지를 엽니다.

1. 기존 사용자의 역할을 변경하려면 **사용자 관리** 테이블에서 해당 사용자를 찾아 **역할** 드롭다운에서 부여할 역할을 선택합니다.

빠른 사용자 관리에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick 내에서 사용자 액세스 관리](managing-users.md).

# Amazon Q Business를 사용하여 Amazon Quick Sight 인사이트 보강
<a name="generative-bi-q-business"></a>

Amazon Quick 계정 관리자는 Quick 계정을 Amazon Q Business에 연결하여 비정형 데이터 소스로 인사이트를 강화할 수 있습니다. [Amazon Q Business](https://aws.amazon.com//q/business/)는 팀이 더 스마트하게 작업할 수 있도록 지원하는 생성형 AI 어시스턴트입니다. 엔터프라이즈 시스템의 정보를 기반으로 질문에 답변하고, 요약을 제공하며, 콘텐츠를 생성하고, 작업을 안전하게 완료할 수 있습니다.

Quick 계정이 Amazon Q Business와 통합되면 사용자는 이제 구조화된 데이터 분석과 함께이 방대한 조직 지식 리포지토리를 활용할 수 있습니다. 이 통합을 통해 Quick의 정량적 데이터와 다양한 비즈니스 문서 및 애플리케이션의 정성적 정보를 결합하므로 보다 포괄적이고 컨텍스트가 풍부한 인사이트를 얻을 수 있습니다.

Amazon Q Business 계정을 Quick과 연결하는 방법에 대한 자세한 내용은 [빠른 통합 애플리케이션 생성을](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/create-application-quicksight.html) 참조하세요.

다음 주제를 사용하여 Quick에서 Amazon Q Business 애플리케이션을 구성합니다.

**Topics**
+ [고려 사항](#generative-bi-q-business-considerations)
+ [Amazon Quick Sight에서 Amazon Q Business 애플리케이션 구성](generative-bi-q-business-configure.md)
+ [Quick 계정을 기존 Amazon Q Business 애플리케이션에 연결](generative-bi-q-business-link-existing-account.md)
+ [Amazon Quick 계정에서 Amazon Q Business 애플리케이션 연결 해제](generative-bi-q-business-delete-connection.md)

## 고려 사항
<a name="generative-bi-q-business-considerations"></a>

다음 제한 사항이 Amazon Q Business 애플리케이션에 적용됩니다.
+ Quick과 Amazon Q Business는 동일한 AWS 계정에 있어야 합니다. 교차 계정 직접 호출은 지원되지 않습니다.
+ 빠른 계정과 Amazon Q Business 계정은 동일한 AWS 리전에 있어야 합니다. 교차 리전 직접 호출은 지원되지 않습니다. 지원되는 모든 빠른 리전 목록은 섹션을 참조하세요[빠른 Amazon Q AWS 리전 지원](regions.md#regions-aqs). 지원되는 모든 Amazon Q Business 리전 목록은 [Service quotas for Amazon Q Business](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/quotas-regions.html)를 참조하세요.

  Quick 계정이 둘 이상의 리전에 있는 경우 각 리전의 Amazon Q Business 애플리케이션 하나를 Quick 계정에 연결할 수 있습니다. 예를 들어 Quick 계정이 미국 동부(버지니아 북부) 및 미국 서부(오레곤)에 있는 경우 미국 동부(버지니아 북부)에 있는 Amazon Q Business 애플리케이션 하나와 미국 서부(오레곤)에 있는 Amazon Q Business 애플리케이션 하나를 Quick 계정에 연결할 수 있습니다.
+ 통합된 빠른 계정과 Amazon Q Business 계정은 동일한 자격 증명 방법을 사용해야 합니다. 예를 들어 Quick 계정이 자격 증명 관리를 위해 IAM Identity Center를 사용하는 경우 Quick 계정이 통합되는 Amazon Q Business 계정도 자격 증명 관리를 위해 IAM Identity Center를 사용해야 합니다.
+ 빠른 사용자 및 그룹과 연결된 이메일 주소는 Amazon Q Business에서 권한 부여 검사를 수행하는 데 사용됩니다.

# Amazon Quick Sight에서 Amazon Q Business 애플리케이션 구성
<a name="generative-bi-q-business-configure"></a>

다음 절차에 따라 Amazon Quick 계정을 Amazon Q Business에 연결합니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 오른쪽 상단의 사용자 아이콘을 선택한 다음 **빠른 관리를** 선택합니다.

1. **보안 및 권한**을 선택합니다.

1. ** AWS 서비스에 대한 빠른 액세스** 페이지에서 **Amazon Q Business 애플리케이션** 확인란을 선택합니다.

1. 표시되는 **비정형 데이터에 대한 Amazon Q Business 연결 생성** 팝업에서 연결하려는 빠른 리전을 선택합니다.

1. **완료**를 선택합니다.

1. **완료**를 선택하면 Amazon Q Business 계정이 생성되고 Amazon Q Business 콘솔의 **애플리케이션** 페이지를 보여주는 새 탭으로 리디렉션됩니다.

1. **애플리케이션에서** Quick에서 생성한 Amazon Q Business 연결을 선택합니다.

1. 연결의 **애플리케이션 세부 정보** 페이지가 열립니다. **인덱스** 탭을 선택하고 **인덱스 선택**을 선택하세요.

1. 나타나는 팝업에서 사용하려는 **인덱스 프로비저닝** 옵션을 선택하고 **확인**을 선택하세요. Amazon Q Business의 인덱스에 대한 자세한 내용은 [Creating a retriever for an Amazon Q Business application](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/select-retriever.html)을 참조하세요.

1. 인덱스를 선택한 후 데이터 소스 연결을 설정하세요. 데이터 소스 연결을 설정하려면 왼쪽 창의 **기능 향상** 메뉴에서 **데이터 소스** 섹션을 선택하세요.

1. **데이터 소스 추가**를 선택합니다.

1. 추가하려는 데이터 소스를 선택하세요. 선택한 데이터 소스에 따라 데이터 소스 연결을 구성하는 데 필요한 단계가 결정됩니다. Amazon Q Business 계정에 데이터 소스를 추가하는 방법에 대한 자세한 내용은 [Connecting Amazon Q Business data sources](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/supported-connectors.html)를 참조하세요. 데이터 소스 구성 설정을 마치면 **데이터 소스 추가**를 선택하세요.

Amazon Q Business 계정의 인덱스, 리트리버 및 데이터 소스를 선택하면 Amazon Q Business에 대한 연결이 완료되고 Quick 콘솔로 돌아갈 수 있습니다.

# Quick 계정을 기존 Amazon Q Business 애플리케이션에 연결
<a name="generative-bi-q-business-link-existing-account"></a>

동일한 자격 증명 관리를 사용하고 Quick 계정과 동일한 리전에 있는 Amazon Q Business 애플리케이션이 이미 있는 경우 다음 절차를 사용하여 기존 Amazon Q Business 계정을 Quick에 연결합니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 오른쪽 상단의 사용자 아이콘을 선택한 다음 **빠른 관리를** 선택합니다.

1. **보안 및 권한**을 선택합니다.

1. ** AWS 서비스에 대한 빠른 액세스** 페이지에서 **Amazon Q Business 애플리케이션** 확인란을 선택합니다.

1. 표시되는 **비정형 데이터에 대한 Amazon Q Business 연결 생성** 팝업에서 연결을 설정할 빠른 리전을 선택합니다.

1. 드롭다운에서 기존 Amazon Q Business 애플리케이션을 선택하세요.
**참고**  
애플리케이션이 Quick 계정과 다른 리전에 있거나 애플리케이션이 Quick 계정과 다른 자격 증명 관리 옵션을 사용하는 경우 Amazon Q Business 애플리케이션이 표시되지 않습니다.

드롭다운에서 Amazon Q Business 애플리케이션을 선택하면 Quick과 Amazon Q Business 간의 연결이 구성됩니다.

# Amazon Quick 계정에서 Amazon Q Business 애플리케이션 연결 해제
<a name="generative-bi-q-business-delete-connection"></a>

빠른 계정 관리자는 다음 절차를 사용하여 Amazon Q Business 애플리케이션을 빠른 계정에서 연결 해제할 수 있습니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 오른쪽 상단의 사용자 아이콘을 선택한 다음 **빠른 관리를** 선택합니다.

1. **보안 및 권한**을 선택합니다.

1. ** AWS 서비스에 대한 빠른 액세스** 페이지에서 **애플리케이션 선택을** 선택합니다.

1. 다음 옵션 중 하나를 지정하세요.

   1. Quick 계정에서 단일 Amazon Q Business 애플리케이션을 연결 해제하려면 제거하려는 애플리케이션으로 이동하여 드롭다운을 열고 **없음을** 선택합니다.

   1. 빠른 계정에서 모든 Amazon Q Business 애플리케이션의 연결을 해제하려면 **Amazon Q Business 애플리케이션** 확인란의 선택을 취소합니다.

Quick 계정에서 Amazon Q Business 애플리케이션을 연결 해제하면 Quick용으로 생성한 Amazon Q Business 애플리케이션이 삭제되지 않습니다. 사용자가 구성한 애플리케이션, 인덱스, 리트리버 및 비정형 데이터 소스 연결은 Amazon Q Business 계정에 남아 있습니다.

# 생성형 BI 작성 환경
<a name="generative-bi-author-experience"></a>

빠른 채팅을 통해 작성자는 새로운 생성형 BI 기능을 사용하여 계산된 필드를 빌드하고 시각적 객체를 빌드 및 세분화할 수 있습니다. 다음 주제를 사용하여 생성형 BI 작성 환경에 대해 자세히 알아봅니다.

**Topics**
+ [생성형 BI로 시각적 객체 구축](generative-bi-build-visuals.md)
+ [생성형 BI를 사용하여 계산 구축](generative-bi-build-calculations.md)
+ [생성형 BI를 사용하여 시각화 개선하기](generative-bi-refine-visual.md)

# 생성형 BI로 시각적 객체 구축
<a name="generative-bi-build-visuals"></a>

빠른 작성자는 **시각적 객체 빌드** 버튼을 사용하여 작성자 입력에서 생성된 사용자 지정 시각적 객체를 빌드할 수 있습니다. 작성자의 입력은 자연어를 사용하여 새 시각화에 대한 원하는 결과를 설명합니다. 사용자 지정 설명을 입력하거나 Amazon Q가 분석에 연결된 주제에 대해 생성한 제안 목록에서 선택할 수 있습니다. **시각적 객체 구축** 메뉴에서 생성한 사용자 지정 시각적 객체를 보여주는 이미지입니다.

**생성형 BI를 사용하여 시각적 객체 구축**

1. 작업하려는 분석으로 이동하여 **시각적 객체 빌드 요청을** 선택합니다.

1. **시각화 구축** 패널이 표시되면 다음 단계를 따릅니다.

   1. 시각화하려는 데이터를 설명합니다. 사용자 지정 설명을 입력하거나 분석 데이터를 기반으로 생성된 **추천** 질문 중에서 선택할 수 있습니다.

      시각화하려는 데이터를 설명할 때는 질문으로 표현하거나 대화식 문구 또는 필터를 사용할 수 있습니다. 예를 들어, "지난달에 무료 체험판에 등록한 사용자는 몇 명입니까?"라고 입력할 수 있습니다. 또는 "월별 무료 체험판 등록"이라고 입력해도 됩니다. 두 문장 모두 월별 무료 체험판 등록 수를 보여주는 시각적 객체를 생성합니다. 모호한 언어 또는 키워드 스타일 요청에 대한 응답을 받을 수도 있습니다.

      추천 질문에는 인공 지능(AI)이 생성한 질문과 사람이 확인한 질문이 혼합되어 포함될 수 있습니다. 사람이 확인한 질문은 추천 옆에 체크 표시가 함께 표시됩니다.

   1. **구축**을 선택합니다.

   1. 가 생성하는 시각적 객체를 검토합니다. 시각화에 표시된 데이터를 수정하려면 **구축** 표시줄에 새 설명을 입력한 다음 **구축**을 선택합니다. 앞뒤 화살표를 사용하여 진행 상황을 그대로 유지하면서 시각화 변경 사항을 검토할 수 있습니다.

   1. 시각화가 만족스럽게 구축되었다면 **분석에 추가**를 선택합니다.

# 생성형 BI를 사용하여 계산 구축
<a name="generative-bi-build-calculations"></a>

생성형 BI를 사용하면 다음 이미지와 같이 자연어 프롬프트를 사용하여 Amazon Quick Sight에서 계산된 필드를 생성할 수 있습니다. 분석에서 계산된 필드에 대한 자세한 내용은 [계산된 필드 추가](adding-a-calculated-field-analysis.md)을(를) 참조하십시오.

![\[구축 도구를 사용하여 계산된 필드를 추가합니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/gen-bi-build-calculation-1.png)


**생성형 BI를 사용하여 계산된 필드 구축**

1. 작업하려는 분석으로 이동하여 페이지 상단의 도구 모음에서 **데이터**를 선택합니다. 그런 다음 **계산된 필드 추가**를 선택합니다.

1. 계산 편집기가 표시되면 **구축**을 선택합니다.

1. 달성하려는 계산 결과를 설명합니다. 예: "일일 매출의 전년 대비 변화율".

1. **구축**을 선택합니다.

1. 반환된 식을 검토하고 **삽입**을 선택하여 식 편집기에 추가합니다. **복사** 아이콘을 선택하여 표현식을 클립보드에 복사할 수도 있습니다. 식을 삭제하고 다시 시작하려면 표현식 옆에 있는 **삭제** 아이콘을 선택합니다.

1. 작업이 완료되면 편집기를 닫습니다.

수식 편집기에 계산을 추가했다면 저장하기 전에 계산에 이름을 지정해야 합니다.

# 생성형 BI를 사용하여 시각화 개선하기
<a name="generative-bi-refine-visual"></a>

빠른 작성자는 다음 시각적 객체와 같이 자연어 프롬프트를 사용하여 분석에서 시각적 객체를 편집할 수도 있습니다. 작성자는이 기능을 사용하여 빠른 UI에서 수동 작업을 수행하지 않고도 시각적 객체를 편집할 수 있습니다. 작성자는 생성형 BI만 사용하여 현재 Quick에서 지원되는 형식 지정 작업을 수행할 수 있습니다.

다음과 같은 유형의 편집이 지원됩니다.
+ 시각화의 유형을 변경합니다.
+ 축 제목, 축 레이블 또는 데이터 레이블을 표시하거나 숨깁니다.
+ 차트의 제목을 표시하거나 숨기거나 변경합니다.
+ 축 및 테이블 열 이름을 변경합니다.
+ 시각화에 필드 또는 필드 웰을 추가합니다.
+ 시각적 객체에서 필드를 제거합니다.
+ 축의 집계를 변경합니다.
+ 범례 및 그리드 선을 표시하거나 숨깁니다.
+ 데이터 확대/축소를 표시하거나 숨깁니다.
+ 시각화에 필드 또는 필드 웰을 추가합니다.
+ 시각화의 정렬 컨트롤을 변경하거나 제거합니다.
+ 시각화의 색상, 색상 그라데이션, 배경색 또는 텍스트 색상의 조건부 서식을 업데이트합니다.
+ 시각화의 시간 세분성을 변경합니다.
+ 축 크기 조정, 범위와 최대값 및 최소값을 조정합니다.
+ 제목 및 부제목의 글꼴 크기를 변경합니다.
+ 데이터 레이블을 표시하고 숨기고 조정합니다.
+ 열 형식(숫자, 백분율, 날짜 및 통화 간 변경)을 조정합니다.

**생성형 BI를 사용하여 시각적 객체 편집**

1. 편집하려는 시각적 객체로 이동한 다음 **Q를 사용하여 편집**을 선택합니다.

1. 수행하려는 작업을 설명한 다음 **적용**을 선택합니다.

1. 시각화의 변경 사항을 검토합니다. 생성된 변경 사항에 만족하면 **시각적 객체 편집** 모달을 닫습니다. 변경 사항을 실행 취소하려면 **실행 취소**를 선택하고 새 프롬프트를 입력합니다.

# 실행 요약 생성
<a name="gen-bi-executive-summaries"></a>

빠른 채팅을 사용하면 대규모 언어 모델(LLMs)을 활용하여 대시보드의 실행 요약을 생성할 수 있습니다. 실행 요약은 대시보드에 대해 Quick Sight가 제안한 인사이트를 기반으로 합니다. 실행 요약은 독자가 대시보드의 시각적 객체에서 특정 데이터를 정확히 찾을 필요 없이 주요 인사이트를 한눈에 찾을 수 있도록 지원합니다.

대시보드에 대한 실행 요약을 켜려면 **대시보드 게시** 모달에서 **실행 요약 허용**을 켭니다.

독자가 실행 요약과 상호 작용하는 방법에 대한 자세한 정보는 [Amazon Quick Sight 대시보드의 요약 생성](use-executive-summaries.md) 섹션을 참조하세요.

실행 요약은 분석에 제안된 인사이트가 여러 개 있는 경우에 가장 효과적입니다. 분석에 제안된 모든 인사이트 목록을 보려면 작업하려는 분석으로 이동한 다음 **인사이트** 창을 엽니다.

# Q&A 작성
<a name="gen-bi-author-q-and-a"></a>

## 생성형 Q&A 환경으로 변환
<a name="gen-bi-data-q-and-a-converting-to-beta"></a>

기존 주제가 있는 경우 이를 쉽게 변환하여 새로운 생성형 기능을 활용할 수 있습니다. 주제로 이동한 다음 주제 이름 옆에 있는 **변환**을 선택합니다. 그러면 대화 상자에서 **주제 복제 및 변환** 메시지가 표시됩니다. 베타 환경으로의 변환이 최종 사용자에게 영향을 미치지 않도록 주제를 복제합니다. 새 환경에서 주제 성능에 만족하면 원래 주제를 공유 해제하고 새 주제를 공유할 수 있습니다.

## 명명된 엔터티
<a name="gen-bi-data-q-and-a-named-entities"></a>

명명된 엔터티는 주제 선별 시 가장 중요한 구성 요소 중 하나입니다. 명명된 엔터티에 포함된 정보, 특히 필드 순서와 해당 순위 지정은 모호한 질문에 대한 답변으로 컨텍스트, 다중 시각적 객체 답변을 제공할 수 있게 해줍니다. 작성자는 주제로 이동하여 **데이터** 탭을 선택한 다음 **명명된 엔터티**를 선택하여 명명된 엔터티를 찾을 수 있습니다. 여기에서 작성자는 기존의 명명된 엔터티를 미리 보거나 편집하고 새 엔터티를 생성할 수 있습니다.

작성자는 명명된 엔터티의 다음 패싯을 구성할 수 있습니다.

1. **필드**: 데이터세트를 선택한 다음 해당 데이터세트에서 포함할 필드를 선택합니다. 이는 이 명명된 엔터티를 사용하여 최종 사용자 질문에 답변할 때 고려할 데이터의 범위를 정의합니다.

1. **필드 순위 및 프레젠테이션**: 명명된 엔터티의 측정기준 및 측정값의 상대 순위에 따라 컨텍스트, 다중 시각적 객체 답변을 생성할 때 이러한 필드가 사용되는 방식이 결정됩니다. 다음 데모에서 **수익**의 상대 순위를 **매출**보다 높도록 조정하면 다른 데이터가 표시됩니다. 기본적으로 테이블 시각적 객체의 필드 순서는 필드 순위와 동일합니다. 그러나 **필드 순위가 있는 테이블 보기 동기화**를 꺼서 이러한 두 가지를 개별적으로 제어할 수 있습니다.

1. **프레젠테이션에서 표시/숨기기**: 명명된 엔터티에 포함된 필드는 명명된 엔터티의 테이블 형식 프레젠테이션에서 동시에 숨길 수 있지만, 여전히 답변의 다른 구성 요소에 추가 컨텍스트를 제공할 수 있습니다.

## 집계 측정
<a name="gen-bi-data-q-and-a-measure-aggregations"></a>

작성자는 주제의 집계된 측정값을 세밀하게 제어할 수 있습니다. 계산된 표현식에 사용자 지정 집계가 정의되지 `SUM`않은 경우 Quick Sight에서 측정값은 기본적으로 로 설정됩니다. 이를 변경하려면 데이터 필드 목록에서 측정값으로 이동하여 다른 기본 집계를 지정합니다. 또한 집계를 허용하지 않을 수 있으며, 그런 경우 사용자가 특별히 질문하는 경우에도 집계가 적용되지 않습니다. 마지막으로 측정값이 추가되지 않도록 지정할 수 있습니다. 이는 어떤 식으로든 다시 결합해서는 안 되는 백분율과 같은 사전 계산된 지표에 유용합니다. 이렇게 하면 사용 사례에 `AVG` 따라 `MEDIAN` 또는가 강제로 적용됩니다.

# Amazon Quick Sight의 대시보드를 통해 주제 권한 관리
<a name="gen-bi-manage-topic-permissions"></a>

 Quick을 사용하면 작성자가 대시보드 및 연결된 주제에 대한 권한을 단일 위치에서 관리할 수 있습니다. Q&A가 활성화된 대시보드를 공유하면 작성자는 대시보드의 공유 기본 설정에서 직접 주제 뷰어 액세스를 제어할 수 있으므로 여러 위치에서 권한을 관리하지 않아도 됩니다.

**링크된 주제가 있는 대시보드에서 Q&A를 활성화하는 방법:**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. Q&A가 활성화되어 있고 게시하려는 주제가 연결된 대시보드의 분석을 여세요.

1. **게시**를 선택합니다.

1. **데이터 Q&A 허용** 확인란을 선택하세요.

1. **Q&A 관리**를 선택하고 **시각적 객체 및 Q&A 빌드에 대한 링크된 주제 사용**을 선택하세요.

1. 드롭다운 메뉴에서 원하는 링크된 주제를 선택하세요.

1. **변경 내용 적용**을 선택하고 **대시보드 게시**를 선택하세요.

**대시보드에서 주제 액세스를 편리하게 관리하는 방법:**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 공동 소유자인 링크된 주제를 포함하는 대시보드를 여세요.

1. 공유 아이콘을 선택하고 **대시보드 공유**를 선택하세요.

1. 선택한 사용자의 행에서 **'주제 뷰어'로 공유** 토글을 켜거나 끄면 링크된 주제에 대한 뷰어 액세스 권한을 부여하거나 취소하세요.

1. 선택한 공유 폴더의 행에서 **폴더에 주제 추가** 토글을 켜거나 끄면 링크된 주제를 공유 폴더에서 추가하거나 제거할 수 있습니다.

**대시보드 및 이와 링크된 주제를 모든 사용자 및 그룹과 공유하는 방법:**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 공동 소유자인 링크된 주제를 포함하는 대시보드를 여세요.

1. 공유 아이콘을 선택하고 **대시보드 공유**를 선택하세요.

1. 패널 왼쪽 하단의 **다음에 대한 링크된 주제 자동 공유**에서 **모든 대시보드 사용자 및 그룹** 토글을 켜세요. 이렇게 하면 대시보드가 공유될 때 뷰어에게 링크된 주제에 대한 액세스 권한이 부여됩니다. 토글을 끄면 이 동작이 취소됩니다.

링크된 주제가 있는 대시보드를 공유하면 사용자는 해당 데이터에 대해 즉시 질문할 수 있습니다. 대시보드 상단의 **<주제 이름>에 대해 질문하기**로 이동하여 질문을 시작할 수 있습니다.

# Amazon Quick Sight에서 대시보드 Q&A 환경 켜기
<a name="dashboard-qa"></a>

Quick을 사용하면 모든 작성자가 Quick Sight에서 주제를 생성할 필요 없이 클릭 한 번으로 대시보드에서 직접 Q&A를 활성화할 수 있습니다. 이렇게 하려면 대시보드를 게시하고 대시보드 게시 메뉴에서 **데이터 Q&A 허용** 확인란을 선택합니다. 대시보드 Q&A를 켜면 대시보드 Q&A에 사용할 데이터세트를 선택하여 최종 사용자가 필요한 응답을 얻을 수 있습니다.

대시보드 Q&A는 대시보드에 표시되는 것 외에도 포함된 데이터 세트의 모든 행과 열을 쿼리합니다. 민감한 데이터 또는 기밀 데이터를 보호하려면 [행 수준 보안(RLS)](row-level-security.md) 및/또는 [열 수준 보안(CLS)](restrict-access-to-a-data-set-using-column-level-security.md)을 활성화합니다.

다음 테이블에서는 대시보드 Q&A와 주제 Q&A 간 기능 가용성을 비교합니다.


| Q&A 기능 | 대시보드 Q&A | 주제 Q&A | 
| --- | --- | --- | 
|  모든 역할의 사용자가 데이터에 대한 질문을 하고 응답하도록 허용  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 
|  작성자 및 관리자 역할이 대시보드에서 데이터 Q&A를 활성화하도록 허용  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요(Pro 사용자만 해당)  | 
|  빠른 콘솔 임베딩에서 지원됨  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 
|  검토된 응답을 추가하는 기능  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 
|  Q&A별 메타데이터를 사용자 지정하는 기능  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 
|  데이터 값에 대한 자동 완성을 지원하는 기능  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/negative_icon.svg) 아니요  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/success_icon.svg) 예  | 

아래 절차에 따라 Quick Sight 대시보드에서 대시보드 Q&A를 활성화합니다.

**대시보드에서 대시보드 Q&A를 활성화하는 방법**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. Q&A를 활성화한 상태로 게시하려는 대시보드가 포함된 분석을 여세요.

1. **게시**를 선택합니다.

1. **데이터 Q&A 허용** 확인란을 선택하세요.

1. (선택 사항) **Q&A 관리**를 선택하여 대시보드 Q&A 환경에 포함하려는 데이터세트를 선택하세요. 기본적으로 대시보드에서 사용하는 모든 데이터세트가 포함됩니다.

1. **변경 내용 적용**을 선택하고 **대시보드 게시**를 선택하세요.

대시보드 Q&A 환경이 활성화된 대시보드를 게시한 후 사용자는 대시보드 상단에서 **이 대시보드 입력에 대한 질문하기**를 사용하여 데이터에 대해 질문할 수 있습니다.

Quick을 사용하면 모든 사용자가 대시보드 Q&A가 활성화된 대시보드에서 질문할 수 있습니다. 그러나 대시보드 Q&A는 관련 활성화 요금이 발생하는 기능입니다. 빠른 관리자는 언제든지 계정 수준에서이 기능을 비활성화할 수 있습니다. 다음 절차에 따라 전체 Quick 계정에서 대시보드 Q&A를 비활성화합니다.

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 오른쪽 상단의 사용자 아이콘을 선택한 다음 **빠른 관리를** 선택합니다.

1. **보안 및 권한**을 선택합니다.

1. Amazon Q 섹션으로 이동하고 **관리**를 선택하세요.

1. **대시보드 Q&A 관리**를 끄세요.

**대시보드 Q&A 관리**를 끄면 대시보드 Q&A가 활성화된 모든 대시보드에서 대시보드 Q&A가 제거됩니다. Quick 계정에 Pro 사용자 또는 주제가 없는 경우이 작업을 수행하면 Amazon Q 활성화 요금이 Quick 계정에 청구되지 않습니다. 이 설정은 Pro 사용자 또는 Quick의 기존 주제에 영향을 주지 않습니다. 생성형 BI 옵트아웃에 대한 자세한 내용은 섹션을 참조하세요[생성형 BI 옵트아웃](generative-bi-opt-out.md).

# Q&A null 지원
<a name="gen-bi-q-and-a-null-support"></a>

Amazon Quick Sight Q&A는 null 값 처리에 대한 포괄적인 지원을 제공하므로 사용자는 보다 정교한 분석을 생성하고 복잡한 비즈니스 질문에 답변할 수 있습니다. 이 기능을 사용하면 null 값을 정밀하게 필터링하고, 누락된 데이터에 대한 직관적인 쿼리를 수행하며, 동적 차트 상호 작용을 수행할 수 있습니다.

## null 값을 포함하거나 제외하도록 필터 추가
<a name="add-filter-for-null"></a>

**null 값을 포함하거나 제외하도록 필터를 추가하는 방법**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. **주제**를 선택하고 필터를 추가하려는 주제를 여세요.

1. **데이터** 탭을 선택합니다.

1. **데이터 필드**에서 **필터 추가**를 선택하세요.

1. 열리는 **필터 구성** 페이지에서 다음을 수행하세요.

   1. **이름**에 필터의 이름을 입력합니다.

   1. **데이터 세트**에서 필터를 적용하려는 데이터 세트를 선택합니다.

   1. **필드**에서 필터링하려는 필드를 선택하세요.

   1. **Null 옵션**에서 드롭다운 옵션 중 하나를 선택하세요.
      + **선택된 null 옵션 없음** - null을 필터링하는 옵션이 선택되지 않았습니다.
      + **null만 포함** - 선택한 필드에서 null만 필터링합니다.
      + **null만 제외** - 선택한 필드에서 null이 아닌 항목만 필터링합니다.

   1. (선택 사항) 필터 적용 시기를 지정하려면 **데이터 세트를 사용할 때마다 필터 적용**을 선택하고 다음 중 하나를 선택합니다.

      1. **항상 적용** - 지정된 데이터세트의 열이 질문에 링크될 때마다 필터가 적용됩니다.

      1. **질문이 데이터세트에서 명시적 필터를 생성하지 않는 한 항상 적용** - 질문이 동일한 필드에 대한 고유한 명시적 필터를 포함하지 않는 한 지정된 데이터세트의 열이 질문에 링크될 때마다 필터가 적용됩니다.

   1. **저장**을 선택합니다.

 필터가 주제의 필터 목록에 추가됩니다. 필터에 대한 설명을 편집하거나 필터 적용 시기를 조정할 수 있습니다.

## null 값에 대해 질문
<a name="ask-questions-on-null-values"></a>

Q&A를 사용하여 다음과 같은 null 값에 대해 직접 질문할 수 있습니다.
+ 세그먼트가 null인 레코드의 총 판매 금액은 얼마인가요?
+ 담당자가 할당되지 않은 계정을 표시합니다.
+ 완료 날짜가 없는 프로젝트를 나열합니다.
+ 범주가 할당되지 않은 인벤토리 항목을 표시합니다.
+ 라이선스 필드에 null이 아닌 값이 있는 총 주문의 비율은 세그먼트별로 얼마입가요?
+ 고객이 할당되지 않은 주문은 무엇인가요?

## 시각화에서 null 값 관리
<a name="manage-null-values-in-visualizations"></a>

Q&A 막대를 통해 시각화를 생성한 후 null 값에만 집중하거나 null 값을 제외하는 등 다양한 null 값 작업을 사용하여 차트와 상호 작용할 수 있습니다. 이러한 차트 작업은 null 값 존재 유무를 기반으로 데이터를 동적으로 분석하고 필터링하는 데 도움이 됩니다.

결과를 적절하게 필터링하려면 **null에만 집중** 또는 **null 제외**를 선택합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/focus-on-null.png)


## null 값 처리를 위한 쿼리 해석 구체화
<a name="refine-query-interpretations-for-null-value-handling"></a>

쿼리를 기반으로 시각화가 생성되면 null 값이 처리되는 방식을 조정할 수 있습니다.

1. 쿼리 아래에서 **다음으로 해석됨** 섹션을 찾으세요.

1. 수정하려는 필드를 선택하세요.

1. 드롭다운 메뉴에서 **Null 옵션**을 선택하여 null 값 처리를 조정하세요.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/interpreted-as.png)


범주형 필드의 경우 빈 값은 null 값과 동일하지 않습니다. 빈 값을 null로 변환하는 방법:

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. **주제**를 선택하고 필터를 추가하려는 주제를 여세요.

1. **데이터** 탭을 선택합니다.

1. **계산된 필드 추가**를 선택하세요.

1. **이름 추가** 필드에 이름을 입력하세요.

1. 범주형 필드를 선택하고 표현식(`ifelse({Segment}="",NULL,{Segment})`)을 입력하여 빈 값을 null 값으로 변환하세요.

1. **저장**을 선택합니다.

# 사용자 지정 지침을 사용하여 Q&A 정확도 개선
<a name="gen-bi-improve-qa-accuracy-with-custom-instructions"></a>

사용자 지정 지침을 사용하면 작성자가 동의어 또는 의미 체계 유형과 같은 주제의 메타데이터 설정을 통해 캡처할 수 없는 도메인별 지식을 추가하여 질문에 대한 Amazon Q의 응답을 선별할 수 있습니다. 작성자는 이러한 메타데이터 설명 또는 사용자 지정 지침을 제공하여 Amazon Q의 응답을 고유한 정의, 선호도 및 전문 지식에 맞게 조정하여 비즈니스 요구 사항에 더 적합하고 보다 정확하며 관련성이 높고 맞춤화된 응답을 보장할 수 있습니다.

다음 테이블을 사용하여 Q&A 응답 정확도를 높이기 위해 다양한 유형의 메타데이터를 적용하는 시기와 방법을 이해합니다. 각 메타데이터 유형은 컨텍스트를 명확히 하고, 모호성을 해결하며, 응답이 비즈니스 규칙 또는 도메인별 용어와 일치하도록 지원하는 고유한 역할을 합니다.


| 메타데이터 유형 | 사용해야 하는 경우 | 응답 정확도를 개선하는 방법 | 
| --- | --- | --- | 
|  필드 수준 설명  |  Q&A 시스템이 모호하거나 도메인별 열 이름(예: `DTC Spend`)을 이해해야 하는 경우.  |  모델이 보다 정확하게 응답할 수 있도록 필드 의미 체계를 명확히 합니다(예: `DTC Spend`를 소비자에게 직접 소비하는 마케팅 비용으로 해석).  | 
|  주제 수준 설명  |  사용자가 광범위하거나 모호한 질문을 할 수 있고 Amazon Q에 주제의 전반적인 목적(예: 영업 성과 및 임상 시험 데이터)에 대한 더 많은 컨텍스트가 필요한 경우.  |  일반적인 용어에서 모호성을 없애고 올바른 도메인(예: 영업 및 마케팅)에 대한 응답을 유도하는 데 도움이 됩니다.  | 
|  데이터세트 설명  |  사용자가 여러 데이터세트에 액세스할 수 있고 Q&A 시스템이 질문에 가장 적합한 데이터세트를 식별해야 하는 경우.  |  각 데이터세트의 용도와 콘텐츠에 대한 컨텍스트를 제공하여 데이터세트 선택 로직을 지원합니다.  | 
|  주제 수준 사용자 지정 지침  |  주제에 특정 비즈니스 규칙, 기간 또는 정의(예: 회계 연도 ≢ 역년)가 있는 경우.  |  사용자 지정 로직 또는 정의(예: Q1을 8월\$110월로 정의)를 적용하여 응답을 적절하게 조정합니다.  | 

## 필드 수준 설명 추가
<a name="adding-field-level-descriptions"></a>

**필드 수준 설명을 추가하는 방법:**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. **주제**를 선택하고 설명을 추가하려는 주제를 여세요.

1. 주제 세부 정보 페이지에서 **데이터** 탭을 선택한 다음 **데이터 필드** 하위 탭을 선택하세요.

1. 설명을 추가하여 포함된 각 필드의 응답 정확도를 개선하세요. 이해하려는 맞춤형 기업 지식이 포함된 필드 이름에서 특히 중요합니다.

 예를 들어 날짜 필드가 여러 개 있는 경우 명확한 설명이 있으면 Amazon Q가 날짜 필드를 구분하고 사용자의 질문에 따라 가장 관련성이 높은 필드를 선택하는 데 도움이 될 수 있습니다. 아래 샘플에서 작성자는 **솔루션 생성** 및 **주제 생성**에 대한 설명을 추가하여 Amazon Q가 컨텍스트에서 적절한 날짜 필드를 보다 정확하게 선택할 수 있도록 지원합니다.

![\[솔루션 생성 설명\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/solution_create.png)


![\[주제 생성 설명\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/topic_create.png)


## 주제 수준 설명 추가
<a name="adding-topic-level-descriptions"></a>

**주제 수준 설명을 추가하는 방법:**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. **주제**를 선택하고 설명을 추가하려는 주제를 여세요.

1. 주제 세부 정보 페이지에서 **요약** 탭을 선택하세요.

1. **주제 세부 정보**에서 설명을 추가하여 주제의 전반적인 목적에 대한 추가 컨텍스트를 제공하세요.

## 데이터세트 설명 추가
<a name="adding-dataset-descriptions"></a>

**데이터세트 설명을 추가하는 방법:**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. **주제**를 선택하고 설명을 추가하려는 주제를 여세요.

1. 주제 세부 정보 페이지에서 **데이터** 탭을 선택한 다음 **데이터세트** 하위 탭을 선택하세요.

1. 데이터세트 선택 로직을 개선하는 데 도움이 되는 설명을 추가하세요.

## 주제 수준 사용자 지정 지침 추가
<a name="adding-topic-level-custom-instructions"></a>

**사용자 지정 지침을 추가하는 방법:**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. **주제**를 선택하고 설명을 추가하려는 주제를 여세요.

1. 주제 세부 정보 페이지에서 **사용자 지정 지침** 탭을 선택하세요.

1. 채팅에서 선택한 주제와 관련된 컨텍스트, 용어 또는 의도를 더 잘 이해하는 데 도움이 되는 주제 수준 지침을 추가합니다. 여기에는 명확한 설명 팁, 필드 관계, 계산된 필드나 주제 필터에서 캡처할 수 없는 용어에 대한 정의 또는 상대 날짜 범위 사용자 지정 지침이 포함될 수 있습니다.

## 사용자 지정 지침 작성에 대한 모범 사례
<a name="best-practices-for-writing-custom-instructions"></a>

**셀 값 정확히 일치**
+ 대소문자 및 형식을 포함하여 데이터베이스에서 정확한 셀 값을 사용합니다.
+ 값이 모호한 경우 소스 열을 참조하여 명확히 합니다.

예시:
+ 비권장: '*AMZ는 Amazon 고객임*'

  권장: '*AMZ는 'Amazon.com, Inc.' 고객임*'
+ 비권장: '*ETP는 엔터프라이즈 고객임*'

  권장: '*ETP는 엔터프라이즈 부문의 고객임*'

**구체적이고 정량적 표현**

모호한 언어를 피합니다. 필터, 임계치 및 소스 열을 명확히 기술합니다.

예제:
+ 비권장: '*영업 관련 대화에서 규모가 큰 고객 필터링*"

  권장: '*영업 관련 대화에서 연간 매출이 1백만 USD를 초과하는 고객 필터링*'

**함수가 아닌 명확성을 위해 서식 사용**

간격 및 줄 바꿈은 모델 동작에 영향을 주지 않지만 작성자가 지침을 더 쉽게 읽고 유지 관리하는 데 도움이 됩니다.

**사용자 지정 지침에서 수행할 수 없는 작업 이해**

사용자 지정 지침은 비즈니스 컨텍스트에 대한 이해를 개선하지만 새로운 기능을 추가하지는 않습니다. 이 지침은 다음 작업을 수행하지 않습니다.
+ 차트 유형 선택 변경
+ 계산 수행 또는 null 채우기
+ 새 필드 생성
+ 컨트롤 서식 지정, 색상 또는 범례
+ 시각적 객체의 서술 또는 개수 및 유형 변경

## 대시보드 기반 Q&A를 위한 데이터 준비에 필드 수준 설명 추가
<a name="adding-field-level-descriptions-for-dashboard-based-qa"></a>

주제 기반 설명 외에도 필드 수준 정의를 생성하여 [대시보드 Q&A](dashboard-qa.md) 기능을 개선할 수 있습니다. 데이터 준비 단계에서 개별 필드에 특정 정의를 추가하면 사용자가 특정 대시보드 요소에 대해 질문할 때 답변 정확도가 향상됩니다.

**대시보드 기반 Q&A에 대한 필드 수준 설명을 추가하는 방법:**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. **데이터**를 선택하고 액세스 권한이 있는 데이터세트를 연 다음 **데이터세트 편집**을 선택하세요.

1. 각 관련 필드에서 점 3개 메뉴를 선택하고 **이름 및 설명 편집**을 선택하세요.

1. 설명을 추가하여 대시보드 관련 질문에 대한 응답을 개선하세요.

1. **적용**을 선택해 변경 사항을 저장합니다.

# 생성형 BI를 사용하여 데이터에 대한 질문 및 답변
<a name="gen-bi-data-q-and-a"></a>

**참고**  
다중 시각적 환경을 보려면 주제 작성자는 명명된 엔터티를 추가하고 생성형 기능을 사용하도록 기존 주제를 변환하거나 새 생성형 주제를 생성해야 합니다. 자세한 내용은 [Q&A 작성](gen-bi-author-q-and-a.md) 단원을 참조하십시오.

다음을 포함하는 인적 Q&A를 통해 데이터 기반 의사 결정을 가속화합니다.
+ 주요 인사이트를 강조하는 AI 생성형 서술
+ 질문에 대한 답변을 제공하는 다중 시각적 객체 답변과 유용한 컨텍스트를 추가할 수 있는 지원 시각적 객체
+ AI 생성형 및 작성자 검토 제안 질문과 자동 데이터 미리 보기를 통해 어떤 데이터를 질문할 수 있는지 확인할 수 있는 모든 주제의 홈 페이지

오른쪽 상단의 스파클 아이콘을 선택합니다. 주제를 열면 제안된 질문 목록과 **주제의 내용이** 포함된 홈 페이지가 나타나 어떤 데이터에 대해 질문할 수 있는지 확인할 수 있습니다.

사용 가능한 날짜가 여러 개인 경우 **더 보기…**를 선택하여 확인합니다. 예를 들어 이 학생 등록 추세 주제에서는 2018년부터 2023년까지의 등록 데이터에 사용할 수 있는 데이터가 있지만 1973년부터 2005년까지의 학생 생년월일(DOB) 데이터도 있습니다.

시작하려면 제안된 질문을 선택하거나 자체 질문을 입력합니다. AI 생성형 서술의 문장 위에 마우스를 올리면 소스 시각적 객체를 명확하게 식별하고 값을 확인할 수 있습니다. 각 시각적 객체는 대화형이며 핀보드에 추가할 수 있습니다.

모호한 질문부터 정확한 질문까지 다양한 질문에 대한 답변을 얻을 수 있습니다.

정확한 질문이 없는 경우 한 단어 또는 *“판매*”나 *“우수 학생”*과 같은 짧은 문구인 모호한 질문을 할 수 있습니다. *“우수 학생 지난 반기”*와 같은 모호한 질문과 함께 추가 필터 기준을 포함할 수 있습니다.

질문 예제는 다음과 같습니다.
+ 엔터티 이름: *“주문 세부 정보”*
  + 
**참고**  
주제 홈 페이지와 목록 상단의 ***주제* 내용** 탭에서 엔터티를 찾을 수 있습니다.
  + 필드 이름: “세그먼트”
  + 필드 값: “Acme Inc.”, “Washington DC”
  + 모호한(또는 암시적) 필터: “우수한 계정 관리자”, “최하위 제품”

지원되는 정확한 질문은 Q에서 [지원하는 질문 유형 표를 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-q-ask.html#quicksight-q-ask-types). 예를 들어 “WoW 성장률이 가장 높은 제품” 또는 “분기별 APAC 고객의 매출 예측”이 있습니다. 상위/하위 필터, 상대 및 절대 날짜 필터, period-to-date 및 period-over-period 등과 같은 다양한 필터를 다룹니다. 또한 합계의 백분율 또는 “2023년 10월에 매출이 감소한 이유는 무엇입니까?”와 같은 분석 질문도 지원합니다.

**작은 정보**  
질문을 작성하는 데 도움이 되도록 *누가*, *무엇을*, *어디서*, *언제*, *왜*를 생각하세요.

답변 풀기:
+ **다음으로 해석:** - Amazon Q가 질문을 해석한 방식입니다. 단어를 기본 데이터에 매핑하므로 제대로 이해했는지 확인할 수 있습니다. 그렇지 않은 경우 질문을 조정하거나 작성자에 대한 피드백을 남겨 둡니다.
+ **AI 생성형 서술:** - 주요 인사이트를 강조하는 시각적 객체에 대한 요약입니다. Quick 계정이 Amazon Q 애플리케이션에 연결된 경우 Q **Business의 Insights에서 비정형 데이터 소스로부터 추가 인사이트**를 받을 수 있습니다. 축소 가능한 **소스**에서 사용되는 비정형 소스를 볼 수 있습니다. Quick 계정을 Amazon Q Business 애플리케이션에 연결하는 방법에 대한 자세한 내용은 섹션을 참조하세요[Amazon Q Business를 사용하여 Amazon Quick Sight 인사이트 보강](generative-bi-q-business.md).
+ **시각적 객체:** – 시각적 객체는 질문에 직접 답변하는 중앙 시각적 객체, 컨텍스트, 관련 KPI를 제공하는 오른쪽의 지원 시각적 객체, 하단의 세부 정보 테이블로 구성됩니다.
**참고**  
필드가 명명된 엔터티에 포함되지 않은 경우 단일 시각적 객체로 표시됩니다.
+ **의미:** - 질문에 대한 해석이 여러 개 있는 경우 의도한 질문에 맞게 선택할 수 있는 대체 답변 목록이 표시됩니다.
  + 다음 예제에서는 “우수 고객”이라는 질문을 “총 매출”, “총 수익” 또는 “고객 수”를 포함하여 여러 가지 방식으로 해석할 수 있습니다.  
![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/top-customers.png)

기타 팁
+ 패널의 크기를 조정하려면 왼쪽을 드래그합니다.
+ 핀보드에 중요한 시각적 객체를 추가하여 빠르게 액세스할 수 있습니다. Amazon Q 창 상단에서 핀보드를 봅니다.
+ 주제 작성자가 보고 개선할 수 있는 피드백을 제공합니다.

# 생성형 BI 옵트아웃
<a name="generative-bi-opt-out"></a>

계정에서 생성형 BI가 활성화된 경우 빠른 계정에 요금이 부과됩니다. 생성형 BI는 계정에서 다음 기능 중 하나를 사용하는 경우 활성 상태로 간주됩니다.
+ Pro 사용자
+ 주제
+ 대시보드 및 시각적 객체 인덱싱
+ 대시보드 Q&A

생성형 BI를 완전히 비활성화하여 요금이 부과되지 않도록 하려면 다음 단계를 수행합니다.

**주의**  
생성형 BI를 옵트아웃하면 AI 기반 기능이 비활성화되고 관련 요금이 중지됩니다. 이 프로세스에는 다음 작업이 포함됩니다.  
Pro 사용자 역할을 제거하거나 표준 역할로 변경
계정의 모든 주제 삭제
대시보드 인덱싱 및 Q&A 기능 비활성화
**계속하기 전에:** 단계를 주의 깊게 검토하고 비활성화할 기능을 이해해야 합니다.

**생성형 BI를 옵트아웃하려면**

1. 다음 단계를 수행하여 계정의 Pro 역할에 매핑된 Pro 사용자 또는 사용자 그룹이 없는지 확인합니다.
   + API를 사용하여 Pro 사용자를 업데이트하거나 제거하는 방법:
     + 빠른 자격 증명을 사용하는 경우(IAM 페더레이션 포함 또는 미포함):

       1. [ListUsers](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListUsers.html) API를 사용하여 Pro 역할이 있는 사용자를 찾으세요.

       1. [UpdateUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html) API를 사용하여 사용자의 역할을 변경하거나 [DeleteUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteUser.html) API를 사용하여 계정에서 사용자를 제거하세요.
     + IAM Identity Center 또는 Microsoft Active Directory를 사용하는 경우:

       1. [ListRoleMemberships](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListRoleMemberships.html) API를 사용하여 Pro 역할에 매핑된 사용자 그룹을 찾으세요.

       1. [CreateRoleMemberships](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateRoleMemberships.html) API를 사용하여 동일한 사용자가 있지만 다른 역할에 매핑된 새 사용자 그룹을 생성하세요.

       1. [DeleteRoleMemberships](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteRoleMemberships.html) API를 사용하여 Pro 역할에 매핑된 이전 사용자 그룹을 삭제하세요.
   + Quick 콘솔을 사용하여 Pro 사용자를 업데이트하거나 제거하려면:

     1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

     1. 프로필 아이콘을 선택한 다음 **빠른 관리를** 선택합니다.

     1. 필요한 경우 왼쪽 탐색 창에서 **사용자 관리**를 선택하세요.
        + 빠른 자격 증명(IAM 페더레이션 포함 또는 미포함)을 사용하는 경우 [Amazon Quick 계정 세부 정보 보기](managing-user-access-qs-iam.md#view-user-accounts) 또는의 단계를 사용하여 사용자 역할을 업데이트하거나 사용자를 삭제합니다[Amazon Quick 사용자 계정 삭제](managing-user-access-qs-iam.md#delete-a-user-account).
        + IAM Identity Center 또는 Microsoft Active Directory를 사용하는 경우 [사용자 액세스 관리](managing-user-access-idc.md#view-user-accounts-enterprise)의 단계를 사용하여 그룹 및 역할 매핑을 업데이트하거나 사용자 그룹을 삭제하세요.

1. 다음 단계를 수행하여 계정에 주제가 없는지 확인하세요.

   1. [ListTopics](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListTopics.html) API를 사용하여 주제가 사용되는 각 AWS 리전의 계정에 있는 모든 주제를 나열하세요.

   1. 각 주제에서 다음 중 하나를 수행하세요.
      + 주제의 소유자 또는 공동 소유자인 경우 [DeleteTopic](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteTopic.html) API를 사용하여 주제를 삭제하세요.
      + 주제의 소유자 또는 공동 소유자가 아닌 경우:
        + [DescribeTopicPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeTopicPermissions.html) API를 사용하여 각 주제의 소유자를 식별하고 [DeleteTopic](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteTopic.html) API를 사용하여 주제를 삭제하도록 해당 소유자에게 요청하세요.
        + [UpdateTopicPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateTopicPermissions.html) API를 사용하여 주제의 공동 소유자가 된 다음 [DeleteTopic](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteTopic.html) API를 사용하여 주제를 삭제하세요.

1. 다음 단계를 수행하여 대시보드 및 시각적 객체 인덱싱과 대시보드 Q&A가 비활성화되어 있는지 확인하세요.
   + API를 사용하여 대시보드 및 시각적 객체 인덱싱과 대시보드 Q&A를 비활성화하는 방법:

     1. [UpdateQuickSightQSearchConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateQuickSightQSearchConfiguration.html) API를 사용하여 대시보드 및 시각적 객체 인덱싱을 비활성하세요.

     1. [UpdateDashboardsQAConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardsQAConfiguration.html) API를 사용하여 대시보드 Q&A를 비활성화하세요.
   + 빠른 콘솔을 사용하여 대시보드 및 시각적 인덱싱과 대시보드 Q&A를 비활성화하려면:

     1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

     1. 프로필 아이콘을 선택한 다음 **빠른 관리를** 선택합니다.

     1. **계정** 섹션에서 **Amazon Q**를 선택합니다.

     1. 각 옵션을 비활성화하세요.

# Amazon Quick Sight 주제 작업
<a name="topics"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 관리자 및 작성자  | 

*주제*는 비즈니스 사용자가 질문할 수 있는 주제 영역을 나타내는 하나 이상의 데이터 세트 모음입니다.

Quick Sight 자동 데이터 준비를 사용하면 최종 사용자와 관련된 주제를 생성하는 데 도움이 되는 ML 기반 지원을 받을 수 있습니다. 첫 번째 프로세스는 다음과 같이 자동화된 필드 선택 및 분류로 시작됩니다.
+ 자동 데이터 준비는 기본적으로 포함할 소수의 필드를 선택하여 독자가 탐색할 수 있는 집중 데이터 공간을 생성합니다.
+ 자동 데이터 준비는 보고서 및 대시보드와 같은 다른 자산에서 사용하는 필드를 선택합니다.
+ 또한 자동 데이터 준비는 주제가 활성화된 모든 관련 분석에서 추가 필드를 가져옵니다.
+ 날짜, 차원, 치수를 식별하여 답변에 필드를 사용하는 방법을 학습합니다.

이 자동 필드 세트는 작성자가 자연어 분석을 빠르게 시작하는 데 도움이 됩니다. 작성자는 언제든지 **포함** 토글을 사용하여 필요에 따라 필드를 제외하거나 추가 필드를 포함할 수 있습니다.

다음으로 자동 데이터 준비는 필드에 자동으로 레이블을 지정하고 동의어를 식별하여 프로세스를 계속합니다. 자동 데이터 준비는 일반적인 용어를 사용하여 필드 이름을 기억하기 쉬운 이름과 동의어로 업데이트합니다. 예를 들어 `SLS_PERSON` 필드의 이름을 `Sales person`으로 바꾸고, `salesman`, `saleswoman`, 에이전트, `sales representative` 등의 동의어를 할당할 수 있습니다. 자동화된 데이터 준비를 통해 많은 작업을 수행할 수 있지만 필드, 이름 및 동의어를 검토하여 최종 사용자에 맞게 추가로 사용자 지정하는 것이 좋습니다. 예를 들어, 사용자가 일상적인 대화에서 영업 사원을 ‘담당자’ 또는 ‘딜러’라고 부르는 경우 `SLS_PERSON`의 동의어에 `rep`와 `dealer`를 추가하여 이 용어를 뒷받침하는 것입니다.

마지막으로 자동 데이터 준비는 데이터를 샘플링하고 분석 중에 작성자가 적용한 형식을 검사하여 각 필드의 의미 체계 유형을 감지합니다. 자동 데이터 준비는 필드 구성을 자동으로 업데이트하여 각 필드에 사용되는 값의 형식을 설정합니다. 따라서 질문에 대한 답변은 날짜, 통화, 식별자, 부울, 사람 등에 대한 예상 형식으로 제공됩니다.

주제 작업에 대해 자세히 알아보려면이 장의 다음 섹션을 계속 진행합니다.

**Topics**
+ [주제 탐색](navigating-topics.md)
+ [Quick Sight 주제 생성](topics-create.md)
+ [주제 워크스페이스](topics-interface.md)
+ [Quick Sight 주제에서 데이터 세트 작업](topics-data.md)
+ [Quick Sight 주제를 natural-language-friendly 만들기](topics-natural-language.md)
+ [Quick Sight 주제 공유](topics-sharing.md)
+ [Amazon Quick Sight 주제 권한 관리](topics-sharing-permissions.md)
+ [Quick Sight 주제 성능 및 피드백 검토](topics-performance.md)
+ [Quick Sight 주제 인덱스 새로 고침](topics-index.md)
+ [Amazon Quick Sight APIs를 사용하여 Quick Sight 주제 작업](topics-cli.md)

# 주제 탐색
<a name="navigating-topics"></a>

Quick Sight에는 주제를 생성하고 관리하는 방법이 두 가지 이상 있습니다. Amazon Quick 홈 또는 "시작" 페이지에서 시작할 수 있습니다. 또는 분석 내부에서 시작할 수도 있습니다.

**Topics**
+ [Amazon Quick 홈 페이지에서](starting-from-home.md)
+ [Amazon Quick Sight 분석에서](starting-from-sheets.md)
+ [Amazon Quick Sight 분석에서 질문 탐색](starting-from-questions-on-sheets.md)

# Amazon Quick 홈 페이지에서
<a name="starting-from-home"></a>

빠른 시작 페이지에서 왼쪽 탐색 창에서 주제를 선택하여 **주제를** 생성하고 관리할 수 있습니다. Quick은 주제를 생성하기 위한 안내 워크플로를 제공합니다. 작업에 지장을 주지 않고 가이드 워크플로에서 나갔다가 다시 돌아올 수 있습니다.

주제를 생성할 때 비즈니스 사용자는 주제에 대해 질문할 수 있습니다. 언제든지 주제를 열어 주제를 변경하거나 어떻게 수행하고 있는지 검토할 수 있습니다.

주제를 열려면 주제 이름을 선택합니다.

언제든지 모든 주제 목록으로 돌아가려면 주제 워크스페이스 왼쪽에 있는 **모든 주제**를 선택하세요.

# Amazon Quick Sight 분석에서
<a name="starting-from-sheets"></a>

Amazon Quick Sight 분석을 시작하려면 자동 데이터 준비와 함께 사용할 분석을 엽니다.

주제를 열거나 생성하려면 상단 탐색 모음에서 주제 아이콘을 선택합니다.

언제든지 주제를 열어 주제를 변경하거나 어떻게 수행하고 있는지 검토할 수 있습니다.

분석에서 주제를 열려면 상단 탐색 모음에서 주제 이름을 선택합니다(아직 표시되지 않은 경우). 그런 다음 상단 탐색 모음에서 세로 줄임표 아이콘(` ⋮ `)을 선택합니다.

주제에 대한 정보를 보려면 **주제 정보**를 선택합니다.

주제에 포함된 데이터 필드를 보려면 탭 목록에서 **데이터 필드**를 선택합니다.

# Amazon Quick Sight 분석에서 질문 탐색
<a name="starting-from-questions-on-sheets"></a>

분석에서 주제에 대한 질문과 답변을 탐색하면 해당 주제가 어떻게 사용되고 있는지 알 수 있습니다. 이 정보는 필요한 경우 조정하도록 알려줄 수 있습니다.

이미 주제에 연결된 분석 내에서 시작하여 상단 탐색 모음에서 검색 창을 선택한 다음 질문을 입력합니다. 답변은 주제 화면에 표시되며,이 화면에는 분석에서 주제에 사용할 수 있는 모든 옵션도 표시됩니다.
+ 답변에 표시되는 시각적 유형을 변경하려면 유형 아이콘(막대 차트와 유사)을 선택합니다.
+ 개선 제안을 보려면 말풍선을 선택하세요. 이 말풍선은 확인하지 않은 제안이 있는 경우 강조 표시됩니다.
+ 질문과 관련된 인사이트를 보려면 전구 아이콘을 선택합니다.
+ 핀보드에 질문을 추가하거나 핀보드에서 질문을 제거하려면 **핀보드에 추가** 또는 **핀보드에서 제거** 아이콘으로 전환합니다. 상단 탐색 모음에서 핀보드 아이콘을 선택하여 핀보드를 볼 수 있습니다.
+ 이 주제에 대한 정보를 보려면 원으로 표시된 소문자 i(` ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/status-info.png) `)를 선택합니다.
+ 줄임표 메뉴(` … `)를 선택하여 다음 작업 중 하나를 수행합니다.
  + **CSV로 내보내기** - 선택한 시각적 객체에서 표시된 데이터를 내보냅니다.
  + **요청 ID 복사** - 문제 해결을 위해 이 프로세스의 요청 ID를 캡처합니다. Amazon Quick Sight는 영숫자 요청 ID를 생성하여 각 프로세스를 고유하게 식별합니다.
  + **이 시각적 객체 공유** - 시각적 객체에 사용된 주제의 URL을 안전하게 공유합니다.
  + **답변 분석** - 답변에 대한 자세한 설명 보기.

주제 화면 하단에서 **질문 변형 편집**을 선택하여 질문에 변형을 추가하거나 변경할 수 있습니다. 또한 질문과 답변이 만족스러우면 하단에서 **검토한 것으로 표시**를 선택하여 주제를 검토한 것으로 표시합니다. 또는 이전에 검토한 주제에 대해 추가 검토가 필요한 경우 **검토된 것으로 표시 해제**를 선택합니다.

언제든지 주제를 열어 주제를 변경하거나 어떻게 수행하고 있는지 검토할 수 있습니다. 어떤 필드가 포함되는지, 어떤 동의어가 있는지와 같은 주제를 설정하여 직접 작업하려면 **주제** 페이지를 사용하세요.

**분석에 연결된 주제를 열려면**

1. 왼쪽 탐색 창에서 **주제를** 선택하여 빠른 시작 페이지에서 Amazon Quick Sight **주제** 페이지를 엽니다.

   분석을 계속 열어 두려면 새 브라우저 탭 또는 창에서 **주제** 페이지를 열 수 있습니다.

1. 주제를 열려면 주제 이름을 선택합니다. 최근에 분석 페이지에서 다른 곳으로 이동한 경우 화면 상단의 검색 창에 이름이 계속 표시될 수 있습니다.

1. 언제든지 모든 주제 목록으로 돌아가려면 주제 워크스페이스 왼쪽에 있는 **모든 주제**를 선택하세요.

# Quick Sight 주제 생성
<a name="topics-create"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 관리자 및 작성자  | 

데이터 세트에 대한 질문을 활성화하려면 주제를 생성해야 합니다. Quick Sight는 주제를 생성하기 위한 안내 워크플로를 제공합니다. 작업에 지장을 주지 않고 가이드 워크플로에서 나갔다가 다시 돌아올 수 있습니다.

주제를 생성하는 방법에는 두 가지가 있습니다.
+ 데이터 세트를 선택하여 주제를 생성합니다. Quick Sight에서 주제를 생성할 때 여러 데이터 세트를 추가하고 분석에서 주제를 활성화할 수도 있습니다.
+ 분석을 사용하여 주제를 생성합니다. 분석에서 주제를 생성하거나 기존 주제를 분석에 연결하면 자동화된 데이터 준비는 데이터를 분석하는 방법을 학습하고 이를 주제에 자동으로 적용합니다.

빠른 독자와 주제를 공유하고 이를 사용하여 검색 창에 질문을 하면 주제가 어떻게 수행되고 있는지에 대한 요약을 볼 수 있습니다. 또한 사용자가 요청한 모든 내용 및 응답 수준과 확인한 답변의 목록을 볼 수 있습니다. 비즈니스 사용자에게 올바른 시각화와 질문에 대한 답변을 계속 제공할 수 있도록 피드백을 검토하는 것이 중요합니다.

## 주제 생성
<a name="topics-create-how"></a>

새로운 주제를 생성하려면 다음 절차에 따르세요.

**주제를 생성하려면**

1. 빠른 홈페이지에서 **주제를** 선택합니다.

1. 열리는 **주제** 페이지에서 오른쪽 상단의 **주제 생성을** 선택합니다.

1. 열리는 **주제 생성** 페이지에서 다음을 수행합니다.

   1. **주제 이름**에 주제를 설명하는 이름을 입력합니다.

      비즈니스 사용자는 이 이름으로 주제를 식별하고 이를 사용하여 질문을 할 수 있습니다.

   1. **설명**에 주제에 대한 설명을 입력합니다.

      사용자는 이 설명을 사용하여 주제에 대한 자세한 내용을 볼 수 있습니다.

   1. **계속**을 선택합니다.

1. 열리는 **주제에 데이터 추가** 페이지에서 다음 옵션 중 하나를 선택합니다.
   + 소유하거나 권한이 있는 데이터 세트를 하나 이상 추가하려면 **데이터 세트**를 선택한 다음 추가하려는 데이터 세트를 선택합니다.
   + 생성했거나 공유된 대시보드에서 데이터 세트를 추가하려면 대시보드**에서 데이터 세트를** 선택한 다음 목록에서 대시보드를 선택합니다.

1. **데이터 추가**를 선택합니다.

   주제가 생성되고 해당 주제에 대한 페이지가 열립니다. 다음 단계에서는 독자에게 자연어 친화적일 수 있도록 주제 메타데이터를 구성합니다. 자세한 내용은 [Quick Sight 주제를 natural-language-friendly 만들기](topics-natural-language.md) 단원을 참조하십시오. 또는 다음 주제로 계속 진행하여 주제 워크스페이스를 탐색합니다.

# 주제 워크스페이스
<a name="topics-interface"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 관리자 및 작성자  | 

주제를 생성하거나 **주제** 페이지의 목록에서 기존 주제를 선택하면 주제가 해당 주제의 작업 영역에 열립니다. 다음 섹션에 설명된 대로 사용할 수 있는 네 개의 탭이 여기에 표시됩니다. Quick Sight는 주제에 대한 안내 워크플로를 제공합니다. 작업에 지장을 주지 않고 가이드 워크플로에서 나갔다가 다시 돌아올 수 있습니다.

## 요약
<a name="topics-interface-summary"></a>

**요약** 탭에는 세 가지 중요한 영역이 있습니다.
+ **제안** - 제안은 주제를 개선할 수 있는 방법에 대한 단계별 지침을 제공합니다. 이러한 단계를 통해 성능이 더 좋은 주제를 만드는 방법을 이해할 수 있습니다.

  제안을 따르려면 제안 배너에서 작업 버튼을 선택하고 권장 단계를 따르세요.

  현재 다음 표에 표시된 순서대로 제공되는 8가지 사전 설정 제안이 있습니다. 제안 단계를 완료한 후 **요약** 탭으로 돌아가면 새 제안이 제공됩니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/topics-interface.html)
+ **주제 참여도와 성능에 대한 지표 및 핵심 성능 지표(KPI)** - 이 섹션에서는 독자가 주제에 어떻게 참여하고 제공된 답변에 대해 어떤 피드백과 평가를 제공하는지 확인할 수 있습니다. 사용자가 질문한 모든 질문에 대한 참여도를 보거나 특정 질문을 선택할 수 있습니다. 지표의 기간을 1년에서 1주로 변경할 수도 있습니다.

  자세한 내용은 [Quick Sight 주제 성능 및 피드백 검토](topics-performance.md) 단원을 참조하십시오.
+ **데이터 세트** - 이 섹션에는 주제를 생성하는 데 사용된 데이터 세트가 표시됩니다. 이 섹션에서는 데이터 세트를 추가하거나 기존 대시보드에서 데이터 세트를 가져올 수 있습니다. 주제 데이터 세트의 메타데이터 수정, 데이터 새로 고침 일정 설정, 데이터 세트 이름을 변경 등의 작업을 수행할 수도 있습니다. 자세한 내용은 [Quick Sight 주제에서 데이터 세트 작업](topics-data.md) 단원을 참조하십시오.

## 데이터
<a name="topics-interface-data"></a>

**데이터** 탭에는 주제에 포함된 모든 필드가 표시됩니다. 여기서는 주제를 자연어 친화적으로 만들고 주제 성능을 개선할 수 있도록 주제 메타데이터를 구성합니다. 자세한 내용은 [Quick Sight 주제를 natural-language-friendly 만들기](topics-natural-language.md) 단원을 참조하십시오.

## 사용자 활동
<a name="topics-interface-user"></a>

이 탭에는 주제가 받는 모든 질문과 각 질문에 대한 전체 피드백이 표시됩니다. 질문된 질문 수와 그 중 긍정과 부정의 비율이 얼마인지 개요를 볼 수 있습니다. 피드백과 누군가 피드백에 댓글을 남겼는지 여부를 기준으로 필터링할 수 있습니다. 자세한 내용은 [Quick Sight 주제 성능 및 피드백 검토](topics-performance.md) 단원을 참조하십시오.

## 검증된 답변
<a name="topics-interface-answers"></a>

검증된 답변은 시각적 개체를 미리 구성한 질문입니다. 검색 창에서 질문을 한 다음 검토 완료로 표시하여 질문에 대한 확인된 답변을 생성할 수 있습니다. **검증된 답변** 탭을 사용하면 검증된 답변과 사용자가 받은 피드백을 검토할 수 있습니다.

# Quick Sight 주제에서 데이터 세트 작업
<a name="topics-data"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 관리자 및 작성자  | 

주제를 생성할 때 주제에 추가 데이터 세트를 추가하거나 기존 대시보드에서 데이터 세트를 가져올 수 있습니다. 언제든지 데이터 세트의 메타데이터를 편집하고 데이터 새로 고침 일정을 설정할 수 있습니다. 계산된 필드, 필터 또는 명명된 엔터티를 만들어 주제의 데이터 세트에 새 필드를 추가할 수도 있습니다.

**Topics**
+ [Amazon Quick Sight의 주제에 데이터 세트 추가](topics-data-add.md)
+ [Amazon Quick Sight 주제에 행 수준 보안(RLS)이 있는 데이터 세트 추가](topics-data-rls.md)
+ [Quick Sight 주제에서 데이터 세트 새로 고침](topics-data-refresh.md)
+ [Amazon Quick Sight 주제에서 데이터 세트 제거](topics-data-remove.md)
+ [Amazon Quick Sight 주제 데이터 세트에 계산된 필드 추가](topics-data-calculated-fields.md)
+ [Amazon Quick Sight 주제 데이터 세트에 필터 추가](topics-data-filters.md)
+ [Amazon Quick Sight 주제 데이터 세트에 명명된 엔터티 추가](topics-data-entities.md)

# Amazon Quick Sight의 주제에 데이터 세트 추가
<a name="topics-data-add"></a>

언제든지 주제에 데이터 세트를 추가할 수 있습니다. 방법을 알아보려면 다음 절차에 따르세요.

**주제에 데이터 세트를 추가하려면**

1. 데이터 세트를 하나 이상 추가하려는 주제를 엽니다.

1. **요약** 페이지에서 **데이터를** 선택합니다. 그런 다음 **데이터 세트**에서 **데이터 세트 추가를** 선택합니다.

1. 열리는 **데이터 세트 추가** 페이지에서 추가하려는 데이터 세트를 선택한 다음 **데이터 세트 추가**를 선택합니다.

   데이터 세트가 주제에 추가되고 데이터 세트의 고유한 문자열 값이 인덱싱됩니다. 필드 구성을 바로 편집할 수 있습니다. 자세한 내용은 [Quick Sight 주제 인덱스 새로 고침](topics-index.md) 단원을 참조하십시오. 필드 구성 편집에 대한 자세한 내용은 섹션을 참조하세요[Quick Sight 주제를 natural-language-friendly 만들기](topics-natural-language.md).

# Amazon Quick Sight 주제에 행 수준 보안(RLS)이 있는 데이터 세트 추가
<a name="topics-data-rls"></a>

행 수준 보안(RLS)이 포함된 데이터 세트를 주제에 추가할 수 있습니다. 주제에 있는 모든 필드는 데이터 세트에 적용된 RLS 규칙을 준수합니다. 예를 들어 사용자가 "리전별 판매 표시"를 요청하는 경우 반환되는 데이터는 기본 데이터에 대한 사용자의 액세스를 기반으로 합니다. 따라서 동부 리전만 볼 수 있는 경우 동부 리전의 데이터만 답변에 표시됩니다.

RLS 규칙은 사용자가 질문 할 때의 자동 제안에 적용됩니다. 사용자가 질문을 입력하면 액세스할 수 있는 값만 사용자에게 제안됩니다. 사용자가 액세스할 수 없는 차원 값에 대한 질문을 입력하면 해당 값에 대한 답을 얻지 못합니다. 예를 들어 같은 사용자가 “서부 지역의 매출을 보여줘”라는 질문을 입력한다고 가정해 보겠습니다. 이 경우 해당 지역에 대한 RLS 액세스 권한이 없기 때문에 질문을 해도 제안이나 답변을 받지 못합니다.

기본적으로 Quick Sight를 사용하면 RLS에서 사용자의 권한을 기반으로 필드에 대해 질문할 수 있습니다. 액세스를 제한하려는 민감한 데이터가 필드에 포함된 경우 이 옵션을 계속 사용하세요. 필드에 민감한 정보가 포함되어 있지 않고 모든 사용자가 제안에서 정보를 보도록 하려면 필드의 모든 값에 대해 질문을 허용하도록 선택할 수 있습니다.

**모든 필드에 질문을 허용하려면**

1. 빠른 홈페이지에서 **데이터를** 선택합니다.

1. **데이터 세트** 탭에서 RLS를 추가한 데이터 세트를 선택한 다음 데이터 **세트 편집**을 선택합니다.

   데이터 세트에 RLS를 추가하는 방법에 대한 자세한 정보는 [Amazon Quick에서 행 수준 보안 사용](row-level-security.md) 섹션을 참조하세요.

1. 데이터 준비 페이지에서를 허용하려는 필드의 필드 메뉴(점 3개)를 선택한 다음 **행 수준 보안 **을 선택합니다.

1. **빠른 액세스를 위한 행 수준 보안** 페이지가 열리면 **사용자가이 필드의 모든 값에 대해 질문할 수 있도록 허용을** 선택합니다.

1. **적용**을 선택합니다.

1. 데이터 세트 편집을 마치면 오른쪽 상단의 파란색 도구 모음에서 **저장 및 게시**를 선택합니다.

1. 주제에 데이터 세트를 추가합니다. 자세한 내용은 이전 [Amazon Quick Sight의 주제에 데이터 세트 추가](topics-data-add.md) 섹션을 참조하세요.

현재 사용자가 모든 값에 대해 질문할 수 있도록 허용하고 있지만 민감한 정보를 보호하기 위해 데이터 세트의 RLS 규칙을 구현하려면 1단계\$14단계를 반복하고 **권한에 따라 사용자가 이 필드와 관련하여 질문할 수 있도록 허용**을 선택합니다. 완료되면 주제의 데이터 세트를 새로 고침 합니다. 자세한 내용은 [Quick Sight 주제에서 데이터 세트 새로 고침](topics-data-refresh.md) 단원을 참조하십시오.

# Quick Sight 주제에서 데이터 세트 새로 고침
<a name="topics-data-refresh"></a>

주제에 데이터 세트를 추가할 때 해당 데이터 세트를 새로 고침 할 빈도를 지정할 수 있습니다. 주제의 데이터 세트를 새로 고치면 새 정보 및 업데이트된 정보와 함께 해당 주제에 대한 인덱스가 새로 고쳐집니다.

데이터 세트를 주제에 추가할 때는 데이터 세트가 복제되지 않습니다. 고유한 문자열 값의 인덱스가 생성되고 지표는 인덱싱되지 않습니다. 예를 들어 정수로 저장된 측정값은 인덱싱되지 않습니다. 항상 데이터 세트의 데이터를 기반으로 최신 판매 지표를 가져오는 질문.

주제 인덱스 새로 고침에 대한 자세한 내용은 [Quick Sight 주제 인덱스 새로 고침](topics-index.md) 섹션을 참조하세요.

주제의 데이터 세트에 대한 새로 고침 일정을 설정하거나 데이터 세트를 수동으로 새로 고침할 수 있습니다. 데이터가 마지막으로 새로 고침 된 시간도 확인할 수 있습니다.

**주제 데이터 세트의 새로 고침 일정을 설정하려면**

1. 변경할 주제를 엽니다.

1. **요약** 페이지에서 **데이터를** 선택합니다. 그런 다음 **데이터 세트**에서 새로 고침 일정을 설정할 데이터 세트를 확장합니다.

1. **일정 추가**를 선택한 다음 열리는 **새로 고침 일정 추가** 페이지에서 다음 중 하나를 수행합니다.
   + 데이터 세트가 SPICE 데이터 세트인 경우 **데이터 세트를 SPICE로 가져올 때 주제 새로 고침**을 선택합니다.

     현재 시간별 새로 고침 SPICE 데이터 세트는 지원되지 않습니다. 매시간 새로 고침하도록 설정된 SPICE 데이터 세트는 자동으로 일일 새로 고침으로 변환됩니다. SPICE 데이터 세트의 새로 고침 일정 설정에 대한 자세한 내용은 [SPICE 데이터 새로 고침](refreshing-imported-data.md) 섹션을 참조하세요.
   + 데이터 세트가 직접 쿼리 데이터 세트인 경우 다음을 수행합니다.

     1. **시간대**에서 시간대를 선택합니다.

     1. **반복**에서 새로 고침 빈도를 선택하세요. 데이터 세트를 매일, 매주 또는 매월 새로 고침하도록 선택할 수 있습니다.

     1. **새로 고침 시간**에 새로 고침을 시작할 시간을 입력합니다.

     1. **첫 번째 새로 고침 시작 날짜**에서 데이터 세트를 새로 고침 시작할 날짜를 선택합니다.

1. **저장**을 선택합니다.

**데이터 세트를 수동으로 새로 고침하려면**

1. 주제 **요약** 페이지에서 **데이터를** 선택합니다. 그런 다음 **데이터 세트**에서 새로 고칠 데이터 세트를 선택합니다.

1. **지금 새로 고침**를 선택합니다.

**데이터 세트의 새로 고침 기록을 보려면**

1. 주제 **요약** 페이지에서 **데이터를** 선택합니다. 그런 다음 **데이터 세트**에서 새로 고침 기록을 보려는 데이터 세트를 선택합니다.

1. **내역 보기**를 선택합니다.

   데이터 세트를 새로 고친 횟수 목록이 포함된 **업데이트 기록** 페이지가 열립니다.

# Amazon Quick Sight 주제에서 데이터 세트 제거
<a name="topics-data-remove"></a>

주제에서 데이터 세트를 제거할 수 있습니다. 주제에서 데이터 세트를 제거해도 Quick Sight에서는 데이터 세트가 삭제되지 않습니다.

주제에서 데이터 세트를 제거하려면 다음 절차에 따르세요.

**주제에서 데이터 세트를 제거하려면**

1. 변경할 주제를 엽니다.

1. **요약** 페이지에서 **데이터를** 선택합니다. 그런 다음 **데이터 세트**에서 오른쪽에 있는 데이터 세트 메뉴(점 3개)를 선택한 다음 **주제에서 제거**를 선택합니다.

1. 열리는 **정말 삭제하시겠습니까?** 페이지에서 **삭제**를 선택하여 주제에서 데이터 세트를 제거합니다. 주제에서 데이터 세트를 제거하지 않으려면 **취소**를 선택하세요.

# Amazon Quick Sight 주제 데이터 세트에 계산된 필드 추가
<a name="topics-data-calculated-fields"></a>

계산된 필드를 생성해 주제에 새 필드를 생성할 수 있습니다. 계산된 필드는 지원되는 함수와 데이터 세트의 필드 하나 또는 두 개를 조합하여 새 데이터를 만드는 필드입니다.

예를 들어 데이터 세트에 판매 및 비용 열이 포함된 경우 계산된 필드의 열을 간단한 함수로 결합하여 수익 열을 생성할 수 있습니다. 함수는 다음 `sum({Sales}) - sum({Expenses})`와 같을 수 있습니다.

**주제에 계산된 필드를 추가하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **작업**에서 **계산된 필드 추가**를 선택합니다.

1. 표시되는 계산 편집기에서 다음을 수행하십시오.

   1. 계산된 필드에 친숙한 이름을 지정하세요.

   1. 오른쪽에 있는 **데이터 세트**에서 계산된 필드에 사용하려는 데이터 세트를 선택합니다.

   1. 왼쪽의 계산 편집기에 계산을 입력합니다.

      오른쪽 **필드** 창에서 데이터 세트의 필드 목록을 볼 수 있습니다. 오른쪽의 **함수** 창에서도 지원되는 함수 목록을 볼 수 있습니다.

      Quick Sight에서 계산을 생성하는 데 사용할 수 있는 함수 및 연산자에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick에 대해 계산된 필드 함수 및 연산자 참조함수 및 연산자](calculated-field-reference.md).

1. 완료하였으면 **저장**을 선택합니다.

   계산된 필드는 주제의 필드 목록에 추가됩니다. 설명을 추가하고 메타데이터를 구성하여 더 자연어 친화적으로 만들 수 있습니다.

# Amazon Quick Sight 주제 데이터 세트에 필터 추가
<a name="topics-data-filters"></a>

때로는 비즈니스 사용자(독자)가 데이터의 여러 셀 값에 매핑되는 용어가 포함된 질문을 할 수 있습니다. 예를 들어 독자 중 한 명이 "서부의 주간 판매 추세 표시"를 묻고 있다고 가정해 보겠습니다. 이 경우 서부는 `Region` 필드의 `Northwest`, `Southwest` 값을 모두 참조하므로 답을 생성하려면 데이터를 필터링해야 합니다. 주제에 필터를 추가하여 이와 같은 요청을 지원할 수 있습니다.

**주제에 필터를 추가하려면**

1. 필터를 추가하려는 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **작업**에서 **필터 추가**를 선택합니다.

1. 열리는 **필터 구성** 페이지에서 다음을 수행합니다.

   1. **이름**에 기억하기 쉬운 필터 이름을 입력합니다.

   1. **데이터 세트**에서 필터를 적용하려는 데이터 세트를 선택합니다.

   1. **필드**에서 필터링하려는 필드를 선택합니다.

      선택한 필드의 형식에 따라 제공되는 필터링 옵션이 달라집니다.
      + 텍스트 필드(예:`Region`)를 선택한 경우 다음을 수행합니다.

        1. **필터 유형**에서 원하는 필터 유형을 선택합니다.

           텍스트 필터에 대한 자세한 내용은 [텍스트 필터 추가](add-a-text-filter-data-prep.md) 섹션을 참조하세요.

        1. **규칙**에서 규칙을 선택합니다.

        1. **값**에 값을 하나 이상 입력합니다.
      + 날짜 필드(예:`Date`)를 선택한 경우 다음을 수행합니다.

        1. **필터 유형**에서 원하는 필터 유형을 선택한 다음 필터를 적용할 날짜를 하나 이상 입력합니다.

           필터링에 대한 자세한 내용은 [날짜 필터 추가](add-a-date-filter2.md) 섹션을 참조하세요.
      + 숫자 필드(예:`Compensation`)를 선택한 경우 다음을 수행합니다.

        1. **집계**에서 필터링된 값을 집계할 방법을 선택합니다.

        1. **규칙**에서 필터 규칙을 선택한 다음 해당 규칙의 값을 입력합니다.

        숫자 필드 필터링에 대한 자세한 내용은 [숫자 필터 추가](add-a-numeric-filter-data-prep.md) 섹션을 참조하세요.

   1. (선택 사항) 필터 적용 시기를 지정하려면 **데이터 세트를 사용할 때마다 필터 적용**을 선택하고 다음 중 하나를 선택합니다.
      + **항상 적용** - 이 옵션을 선택하면 지정한 데이터 세트의 열이 질문에 연결될 때마다 필터가 적용됩니다.
      + **질문으로 인해 데이터 세트에서 명시적인 필터가 생성되지 않는 한 항상 적용** - 이 옵션을 선택하면 지정한 데이터 세트의 열이 질문에 연결될 때마다 필터가 적용됩니다. 하지만 질문에서 동일한 필드에 대한 명시적 필터가 언급된 경우에는 필터가 적용되지 않습니다.

   1. 완료하였으면 **저장**을 선택합니다.

      필터가 주제의 필터 목록에 추가됩니다. 설명을 편집하거나 필터 적용 시기를 조정할 수 있습니다.

# Amazon Quick Sight 주제 데이터 세트에 명명된 엔터티 추가
<a name="topics-data-entities"></a>

주제에 대해 질문할 때 독자는 각 열을 명시적으로 언급하지 않고 여러 데이터 열을 참조할 수 있습니다. 예를 들어 트랜잭션 주소를 물어볼 수 있습니다. 실제로 의미하는 바는 트랜잭션이 이루어진 지점 이름, 주, 도시를 원한다는 것입니다. 이와 같은 요청을 지원하기 위해 명명된 엔터티를 생성할 수 있습니다.

명명된 엔터티는 답변에 함께 표시되는 필드 모음입니다. 예를 들어 트랜잭션 주소 예를 사용하여 `Address`로 명명된 엔터티를 생성할 수 있습니다. 그런 다음 `Branch Name`, `State`, `City` 열을 데이터 세트에 이미 있는 엔터티에 추가할 수 있습니다. 누군가 주소에 대해 질문하면 트랜잭션이 발생한 지점, 주, 도시가 답변에 표시됩니다.

**주제에 명명된 엔터티를 추가하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **작업**에서 **명명된 엔터티 추가**를 선택합니다.

1. 열리는 **명명된 엔터티** 페이지에서 다음을 수행합니다.

   1. **데이터 세트**에서 데이터 세트를 선택합니다.

   1. **이름**에 기억하기 쉬운 명명된 엔터티 이름을 입력합니다.

   1. **설명**에 명명된 엔터티에 대한 설명을 입력합니다.

   1. (선택 사항) **동의어**의 경우 독자가 명명된 엔터티나 해당 엔터티에 포함된 데이터를 참조할 때 사용할 수 있다고 생각되는 대체 이름을 추가하세요.

   1. **필드 추가**를 선택한 다음 목록에서 필드를 선택합니다.

      **필드 추가**를 다시 선택하여 다른 필드를 추가합니다.

      여기에 나열된 필드의 순서는 답변에 나타나는 순서입니다. 필드를 이동하려면 필드 이름 왼쪽에 있는 점 여섯 개를 선택하고 필드를 원하는 순서로 끌어서 놓습니다.

   1. 완료하였으면 **저장**을 선택합니다.

   명명된 엔터티가 주제의 필드 목록에 추가됩니다. 설명을 추가하고, 편집하고, 동의어를 추가하여 더 자연어 친화적으로 만들 수 있습니다.

# Quick Sight 주제를 natural-language-friendly 만들기
<a name="topics-natural-language"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 관리자 및 작성자  | 

주제를 생성하면 Quick Sight는 해당 주제의 데이터에 대한 정의가 포함된 인덱스를 생성, 저장 및 유지 관리합니다. 이 인덱스는 정답을 생성하고, 누군가 질문할 때 자동 완성 제안을 제공하고, 열 또는 데이터 값에 대한 용어 매핑을 제안하는 데 사용됩니다. 이것이 독자의 질문에서 주요 용어를 해석하고 데이터에 매핑하는 방법입니다.

데이터를 해석하고 독자의 질문에 더 잘 답변하려면 데이터 세트 및 관련 필드에 대한 정보를 최대한 많이 제공하세요.

그렇게 하려면 다음 절차에 따라 주제를 보다 자연어 친화적으로 만드세요.

**작은 정보**  
대량 작업을 사용하여 한 번에 여러 필드를 편집할 수 있습니다. 주제의 필드를 대량 편집하려면 다음 절차에 따르세요.

**주제의 필드를 대량 편집하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **필드**에서 변경하려는 필드를 두 개 이상 선택합니다.

1. 목록 상단에서 **대량 작업**을 선택합니다.

1. 열리는 **대량 작업** 페이지에서 원하는 대로 필드를 구성한 다음 **적용 대상**을 선택합니다.

   구성 옵션은 다음 단계에 설명되어 있습니다.

## 1단계: 데이터 세트에 친숙한 이름과 설명을 지정하기
<a name="topics-natural-language-dataset-name"></a>

데이터 세트 이름은 독자가 참조에 자연스럽게 사용하지 않을 수 있는 기술적인 이름 지정 규칙을 기반으로 하는 경우가 많습니다. 데이터 세트에 포함된 데이터에 대한 자세한 정보를 제공하려면 데이터 세트에 친숙한 이름과 설명을 지정하는 것이 좋습니다. 이러한 기억하기 쉬운 이름과 설명은 데이터 세트 내용을 이해하고 독자의 질문에 따라 데이터 세트를 선택하는 데 사용됩니다. 데이터 세트 이름은 독자에게도 표시되어 답변에 대한 추가 컨텍스트를 제공합니다.

예를 들어 데이터 세트 이름이 `D_CUST_DLY_ORD_DTL`로 지정된 경우 주제에서 데이터 세트 이름을 `Customer Daily Order Details`로 바꿀 수 있습니다. 이렇게 하면 독자가 주제의 검색 창에 나열되는 것을 볼 때 데이터가 자신과 관련이 있는지 여부를 신속하게 확인할 수 있습니다.

**데이터 세트에 친숙한 이름과 설명을 지정하려면**

1. 변경할 주제를 엽니다.

1. **요약** 탭에서 **데이터를** 선택합니다. 그런 다음 **데이터 세트**에서 데이터 세트의 맨 오른쪽에 있는 아래쪽 화살표를 선택하여 데이터 세트를 확장합니다.

1. 왼쪽의 데이터 세트 이름 옆에 있는 연필 아이콘을 선택한 다음 친숙한 이름을 입력합니다. 독자가 이해할 수 있는 이름을 사용하는 것이 좋습니다.

1. **설명**에서 데이터 세트에 포함된 데이터를 설명하는 데이터 세트에 대한 설명을 입력합니다.

## 2단계: 데이터 세트에서 날짜 필드를 사용하는 방법 교육
<a name="topics-natural-language-dataset-time-basis"></a>

데이터 세트에 날짜 및 시간 정보가 포함된 경우 질문에 답변할 때 해당 정보를 사용하는 방법을 알려주는 것이 좋습니다. 주제에 날짜 시간 열이 여러 개 있는 경우 이 방법이 특히 중요합니다.

경우에 따라 주문 날짜, 배송 날짜와 같이 주제에 유효한 날짜 열이 여러 개 있을 수 있습니다. 이러한 경우 질문에 답변하는 데 사용할 기본 날짜를 지정하여 독자를 도울 수 있습니다. 기본 날짜로 질문에 답할 수 없는 경우 독자는 다른 날짜를 선택할 수 있습니다.

시간 기준을 지정하여 날짜 시간 열이 얼마나 세분화되는지 알 수도 있습니다. 데이터 세트의 시간 기준은 데이터 세트의 모든 치수가 지원하는 가장 낮은 수준의 시간 세분성입니다. 이 설정은 다양한 시간 차원에서 데이터 세트의 지표를 집계하는 데 도움이 되며 단일 날짜 시간 세분화를 지원하는 데이터 세트에 적용할 수 있습니다. 지표 수가 많은 비정규화된 데이터 세트에 이 옵션을 설정할 수 있습니다. 예를 들어 데이터 세트가 일별 집계에서 여러 지표를 지원하는 경우 해당 데이터 세트의 시간 기준을 **일별**로 설정할 수 있습니다. 그런 다음 지표를 집계하는 방법을 결정하는 데 사용됩니다.

**데이터 세트의 기본 날짜 및 시간 기준을 설정하려면**

1. 변경할 주제를 엽니다.

1. **요약** 탭에서 **데이터를** 선택합니다. 그런 다음 **데이터 세트**에서 데이터 세트의 맨 오른쪽에 있는 아래쪽 화살표를 선택하여 데이터 세트를 확장합니다.

1. **기본 날짜**에서 날짜 필드를 선택합니다.

1. **시간 기준**에서 데이터 세트의 지표를 집계할 최저 수준의 세부 수준을 선택합니다. 주제의 지료를 일별, 주별, 월별, 분기별 또는 연도별 수준에서 집계할 수 있습니다.

## 3단계: 사용하지 않는 필드를 제외하기
<a name="topics-natural-language-exclude-fields"></a>

주제에 데이터 세트를 추가하면 데이터 세트의 모든 열(필드)이 기본적으로 추가됩니다. 데이터 세트에 본인 또는 독자가 사용하지 않는 필드 또는 답변에 포함하고 싶지 않은 필드가 포함되어 있는 경우 해당 필드를 주제에서 제외할 수 있습니다. 이러한 필드를 제외하면 답변과 인덱스에서 해당 필드가 제거되고 독자가 받는 답변의 정확도가 향상됩니다.

**주제에서 필드를 제외하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **필드** 섹션의 **포함**에서 아이콘을 끕니다.

## 4단계: 자연어 친화적으로 필드 이름 바꾸기
<a name="topics-natural-language-rename-fields"></a>

데이터 세트에 있는 필드는 기술적인 이름 지정 규칙에 따라 이름이 지정되는 경우가 많습니다. 필드 이름을 바꾸고 설명을 추가하여 주제에서 필드 이름을 더 사용자 친화적으로 만들 수 있습니다.

필드 이름은 필드를 이해하고 독자 질문의 용어에 연결하는 데 사용됩니다. 필드 이름이 사용자 친화적인 경우 데이터와 독자의 질문 간에 링크를 더 쉽게 그릴 수 있습니다. 또한 이러한 친숙한 이름은 독자의 질문에 대한 답변의 일부로 독자에게 제시되어 추가 컨텍스트를 제공합니다.

**필드 이름을 바꾸고 필드에 설명을 추가하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **필드** 섹션에서 필드 맨 오른쪽에 있는 아래쪽 화살표를 선택하여 필드를 확장합니다.

1. 왼쪽의 필드 이름 옆에 있는 연필 아이콘을 선택한 다음 친숙한 이름을 입력합니다.

1. **설명**에 필드에 대한 설명을 입력합니다.

## 5단계: 필드 및 필드 값에 동의어 추가하기
<a name="topics-natural-language-synonyms"></a>

필드 이름을 사용자 친화적으로 업데이트하고 설명을 제공하더라도 독자는 여전히 다른 이름을 사용하여 필드를 참조할 수 있습니다. 예를 들어 독자의 질문에서 `Sales` 필드를 `revenue`, `rev`, `spending`로 지칭할 수 있습니다.

이러한 용어를 이해하고 올바른 필드에 매핑하기 위해 필드에 하나 이상의 동의어를 추가할 수 있습니다. 이렇게 하면 정확도가 향상됩니다.

필드 이름과 마찬가지로 독자는 다른 이름을 사용하여 필드에 있는 특정 값을 참조할 수 있습니다. 예를 들어, `NW`, `SE`, `NE`, `SW` 값이 포함된 필드가 있는 경우 해당 값에 동의어를 추가할 수 있습니다. `Northwest`를 `NW`에, `Southeast`를 `SE`에 등등 추가할 수 있습니다.

**필드에 동의어를 추가하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **필드** 섹션의 **동의어**에서 필드의 연필 아이콘을 선택하고 단어 또는 문구를 입력한 다음 키보드에서 엔터 키를 누릅니다. 다른 동의어를 추가하려면 **\$1** 아이콘을 선택합니다.

**필드 값의 동의어를 추가하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **필드** 섹션에서 맨 오른쪽에 있는 아래쪽 화살표를 선택하여 필드에 대한 정보를 확장합니다.

1. 오른쪽의 **값 미리 보기**에서 **값 동의어 구성**을 선택합니다.

1. 열리는 **필드 값 동의어** 페이지에서 **추가**를 선택하고 다음을 수행합니다.

   1. **값**에서 동의어를 추가하려는 값을 선택합니다.

   1. **동의어**에서 값에 대한 동의어를 하나 이상 입력합니다.

1. **저장**을 선택합니다.

1. 다른 값에 동의어를 추가하려면 5단계\$16단계를 반복합니다.

1. 마쳤으면 **완료**를 선택합니다.

## 6단계: 필드에 대해 자세히 설명
<a name="topics-natural-language-semantics"></a>

데이터를 사용하여 독자의 질문에 답변하는 방법을 해석하는 데 도움이 되도록 데이터 세트의 필드에 대해 자세히 설명할 수 있습니다.

데이터 세트의 필드가 차원인지 아니면 치수인지 말하고 해당 필드를 집계하는 방법을 지정할 수 있습니다. 또한 필드 값의 형식을 지정하는 방법과 필드의 데이터 유형을 명확히 할 수 있습니다. 이러한 추가 설정을 구성하면 독자가 질문할 때 정확한 답변을 생성하는 데 도움이 됩니다.

다음 절차에 따라 필드에 대해 자세히 설명합니다.

### 필드 역할 할당
<a name="topics-natural-language-semantics-role"></a>

데이터 세트에 있는 모든 필드는 차원 또는 치수입니다. 차원은 범주형 데이터이고 치수는 정량적 데이터입니다. 필드가 차원인지 치수인지 알면 필드에서 수행할 수 있는 작업과 수행할 수 없는 작업이 결정됩니다.

예를 들어 필드 , `Employee ID`및 `Patient ID`를 설정하면 해당 필드를 정수로 해석하는 `Ratings` 데 도움이 됩니다. 이 설정은 필드가 측정될 때 집계되지 않음을 의미합니다.

**필드 역할을 설정하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **필드** 섹션에서 맨 오른쪽에 있는 아래쪽 화살표를 선택하여 필드에 대한 정보를 확장합니다.

1. **역할**에서 역할을 선택합니다.

   치수 또는 차원을 선택할 수 있습니다.

1. (선택 사항) 치수가 반비례하는 경우(예: 숫자가 낮을수록 좋음) **반전 치수**를 선택합니다.

   이 필드에서 값을 해석하고 표시하는 방법을 설명합니다.

### 필드 집계 설정
<a name="topics-natural-language-semantics-aggregation"></a>

필드 집계를 설정하면 해당 필드가 여러 행에 걸쳐 집계될 때 사용할 함수를 결정하는 데 도움이 됩니다. 필드에 기본 집계를 설정하고 집계를 허용하지 않도록 설정할 수 있습니다.

기본 집계는 독자의 질문에서 명시적으로 언급되거나 식별된 집계 함수가 없을 때 적용되는 집계입니다. 예를 들어 독자 중 한 명이 "어제 판매된 제품은 몇 개입니까?"라고 질문한다고 가정해 보겠습니다. 이 경우 Q는 기본 집계가 `count distinct`인 `Product ID` 필드를 사용하여 질문에 답합니다. 이렇게 하면 제품 ID의 고유 개수를 보여주는 시각적 결과가 나타납니다.

허용되지 않는 집계는 필드에서 질문에 답변하는 데 사용되지 않는 집계입니다. 허용되지 않는 집계를 질문에서 구체적으로 요구하는 경우에도 해당 집계는 제외됩니다. 예를 들어 `Product ID` 필드가 `sum`로 집계 작업을 수행하지 않도록 지정한다고 가정해 보겠습니다. 독자 중 한 명이 "어제 판매된 총 제품은 몇 개입니까?"라고 묻더라도 `sum` 는 질문에 답하는 데 사용되지 않습니다.

집계 함수가 필드에 잘못 적용되는 경우 필드에 허용되지 않는 집계를 설정하는 것이 좋습니다.

**필드 집계를 설정하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **필드** 섹션에서 맨 오른쪽에 있는 아래쪽 화살표를 선택하여 필드에 대한 정보를 확장합니다.

1. **기본 집계**에서 필드를 기본적으로 집계할 집계를 선택합니다.

   치수를 합계, 평균, 최대값, 최소값으로 집계할 수 있습니다. 개수 및 개별 개수로 차원을 집계할 수 있습니다.

1. (선택 사항) **허용되지 않는 집계**에서 사용하지 않을 집계를 선택합니다.

1. (선택 사항) 필터에서 필드를 집계하지 않으려면 **필터에서 집계 안 함을** 선택합니다.

### 필드 값의 형식을 지정하는 방법 지정
<a name="topics-natural-language-semantics-values"></a>

필드의 값 형식을 지정하는 방법을 설명하려는 경우 그렇게 할 수 있습니다. 예를 들어, 미국 달러 형식으로 지정하려는 값이 포함된 `Order Sales Amount` 필드가 있다고 가정해 보겠습니다. 이 경우 답변에 사용할 때 필드의 값을 미국 통화로 포맷하는 방법을 설명할 수 있습니다.

**필드 값의 형식을 지정하는 방법을 지정하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **필드** 섹션에서 맨 오른쪽에 있는 아래쪽 화살표를 선택하여 필드에 대한 정보를 확장합니다.

1. **값 형식**에서 필드에 있는 값의 형식을 지정하는 방법을 선택합니다.

### 필드 의미 체계 유형 지정
<a name="topics-natural-language-semantics-types"></a>

필드 의미 체계 유형은 필드에 있는 데이터가 나타내는 정보 유형입니다. 예를 들어 위치 데이터, 통화 데이터, 연령 데이터 또는 부울 데이터를 포함하는 필드가 있을 수 있습니다. 필드에 의미 체계 유형과 추가적인 의미 체계 하위 유형을 지정할 수 있습니다. 이를 지정하면 필드에 저장된 데이터의 의미를 이해하는 데 도움이 됩니다.

의미 체계의 유형 및 하위 유형을 지정하려면 다음 절차에 따르세요.

**필드 의미 체계 유형을 지정하려면**

1. 변경할 주제를 엽니다.

1. 주제에서 **데이터** 탭을 선택합니다.

1. **필드** 섹션에서 맨 오른쪽에 있는 아래쪽 화살표를 선택하여 필드에 대한 정보를 확장합니다.

1. **의미 체계 유형**에서 데이터가 나타내는 정보의 종류를 선택합니다.

   치수에서 기간, 날짜 부분, 위치, 부울, 통화, 백분율, 연령, 거리 및 식별자 유형을 선택할 수 있습니다. 차원에서 날짜 부분, 위치, 부울, 개인, 조직 및 식별자 유형을 선택할 수 있습니다.

1. **의미 체계 하위 유형**에서 데이터가 나타내는 정보의 종류를 추가로 지정하는 옵션을 선택합니다.

   여기의 옵션은 선택한 의미 체계 유형과 필드와 관련된 역할에 따라 달라집니다. 치수 및 차원의 의미 체계 유형 및 관련 하위 유형 목록은 다음 표를 참조하세요.


| 의미 체계 유형 | 의미 체계 하위 유형 | 다음에 사용할 수 있습니다. | 
| --- | --- | --- | 
|  경과 시간  |  | 치수 | 
|  부울  |  | 차원 및 치수 | 
|  통화  |  USD EUR GBP  | 치수 | 
|  날짜 부분  |  일 주 월 연도 분기  | 차원 및 치수 | 
|  거리  |  킬로미터 미터 야드 피트  | 치수 | 
|  지속 시간  |  초 분 시간 일  | 치수 | 
|  식별자  |  | 차원 및 치수 | 
|  Location  |  우편 번호 국가 State 구/군/시  | 차원 및 치수 | 
|  Organization  |  | 측정 기준 | 
|  백분율  |  | 치수 | 
|  사람  |  | 측정 기준 | 

# Quick Sight 주제 공유
<a name="topics-sharing"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 관리자 및 작성자  | 

주제를 생성하면 조직에 있는 다른 사용자와 공유할 수 있습니다. 주제를 공유하면 사용자가 주제를 선택하고 검색 창에서 주제에 대해 질문할 수 있습니다. 주제를 사용자와 공유한 후 주제를 변경할 수 있는 사용자를 지정하는 권한을 사용자에게 할당할 수 있습니다.

**주제를 공유하려면**

1. 빠른 시작 페이지에서 왼쪽**의 주제를** 선택합니다.

1. 열리는 **주제** 페이지에서 공유하려는 주제를 엽니다.

1. 열린 페이지에서 오른쪽 상단의 **공유**를 선택합니다.

1. 열리는 **사용자와 주제 공유** 페이지에서 주제를 공유하려는 사용자를 선택합니다.

   검색 창을 사용하여 이메일 주소로 사용자를 검색할 수 있습니다.

1. **권한** 열에서 **뷰어** 또는 **공동 소유자**를 선택하여 사용자에게 권한을 할당합니다.

   이러한 권한에 대한 자세한 내용은 다음 [Amazon Quick Sight 주제 권한 관리](topics-sharing-permissions.md) 섹션을 참조하세요.

1. 사용자 선택을 마치면 **공유**를 선택합니다.

# Amazon Quick Sight 주제 권한 관리
<a name="topics-sharing-permissions"></a>

조직의 다른 사용자와 주제를 공유할 때 주제를 변경할 수 있는 사용자를 제어할 수 있습니다. 이렇게 하려면 어떤 사용자가 뷰어이고 어떤 사용자가 공동 소유자인지 지정해야 합니다. *최종 사용자는* 목록에서 주제를 선택할 때 검색 창에 주제를 볼 수 있지만 주제 데이터는 변경할 수 없습니다. *공동 소유자는* 검색 창에서 주제를 볼 수 있으며 주제를 변경할 수도 있습니다.

**사용자에게 주제 권한을 할당하려면**

1. 빠른 시작 페이지에서 **주제를** 선택합니다.

1. 열리는 **주제** 페이지에서 권한을 관리할 주제를 엽니다.

1. 열리는 주제 페이지에서 오른쪽 상단의 **공유**를 선택합니다.

1. 열리는 **사용자와 주제 공유** 페이지에서 **주제 액세스 관리**를 선택합니다.

1. 열리는 **주제 권한 관리** 페이지에서 액세스를 관리하려는 사용자를 찾은 다음 **권한**에서 다음 옵션 중 하나를 선택합니다.
   + 사용자가 주제를 보고 변경할 수 있도록 허용하려면 **공동 소유자**를 선택합니다.
   + 사용자가 주제를 볼 수만 있게 하려면 **뷰어**를 선택합니다.

# Quick Sight 주제 성능 및 피드백 검토
<a name="topics-performance"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 관리자 및 작성자  | 

주제를 생성하여 사용자와 공유한 후 해당 주제의 성과를 검토할 수 있습니다. 누군가 주제를 사용하여 질문을 하거나 응답이 얼마나 잘 되었는지에 대한 피드백을 제공하면 주제의 **요약** 및 **사용자 활동** 탭에 기록됩니다.

주제의 **요약** 탭에서는 7일에서 1년 사이의 시간 경과에 따른 질문 수에 대한 기록 데이터를 볼 수 있습니다. 또한 긍정적, 부정적 또는 피드백을 받지 못한 질문의 분포와 답변할 수 없는 질문의 분포를 볼 수 있습니다.

**사용자 활동** 탭에서는 사용자가 질문한 목록과 사용자가 남긴 긍정적 또는 부정적 피드백 및 의견 목록을 볼 수 있습니다.

이 정보를 검토하면 주제가 사용자의 요구 사항을 충족하는지 판단하는 데 도움이 될 수 있습니다. 예를 들어, 사용자로부터 부정적인 피드백을 많이 받는 주제가 있다고 가정해 보겠습니다. 사용자 활동을 검토하면 여러 사용자가 잘못된 데이터를 보여주는 질문에 대한 의견을 남기는 것을 알 수 있습니다. 응답에서 사용자의 질문을 살펴본 결과 예상하지 못한 용어를 사용하고 있음을 알 수 있습니다. 해당 용어를 주제의 올바른 필드에 동의어로 추가하기로 결정합니다. 시간이 지남에 따라 긍정적인 피드백이 증가하는 것을 확인할 수 있습니다.

## 주제 성능 검토
<a name="topics-performance-statistics"></a>

주제가 어떻게 작동하는지 보려면 다음 절차에 따르세요.

**주제가 어떻게 작동되고 있는지 보려면**

1. 빠른 시작 페이지에서 왼쪽**의 주제를** 선택합니다.

1. 열리는 **주제** 페이지에서 검토하려는 주제를 엽니다.

   주제가 열리고 **통계** 섹션에 해당 주제의 통계가 표시됩니다.

1. (선택 사항) 차트에 표시된 기록 데이터의 양을 변경하려면 **7일**, **30일**, **90일**, **120일** 또는 **12개월** 옵션 중 하나를 선택합니다.

1. (선택 사항) 데이터에서 답변할 수 없는 질문을 제거하려면 **답변할 수 없는 데이터 포함**을 선택을 취소합니다.

1. (선택 사항) 데이터에서 피드백을 받지 않은 질문을 제거하려면 **피드백 데이터 없음 포함**을 선택 취소합니다.

## 주제 질문 및 피드백 검토
<a name="topics-performance-user-activity"></a>

주제의 질문과 피드백을 검토하려면 다음 절차에 따르세요.

**주제 질문 및 피드백을 검토하려면**

1. 빠른 시작 페이지에서 **주제를** 선택합니다.

1. 열리는 **주제** 페이지에서 피드백을 검토하려는 주제를 엽니다.

1. 열리는 주제 페이지에서 **사용자 활동** 탭을 선택합니다.

   해당 주제에 대한 사용자 활동이 표시됩니다. 상단에서 질문한 총 수와 답변할 수 있는 질문과 답변할 수 없는 질문 수를 확인할 수 있습니다. 긍정적으로 평가된 질문과 부정적으로 평가된 질문의 비율도 확인할 수 있습니다. 또한 모호하지 않은 질문의 비율도 확인할 수 있습니다. 이는 누군가 질문을 입력하고 질문에 있는 단어 중 하나를 주제의 필드에 매핑했음을 의미합니다.

   다음 통계 중 하나를 선택하여 질문 목록을 필터링할 수 있습니다.

1. (선택 사항) 사용자가 질문에 남긴 댓글을 보려면 질문 오른쪽에 있는 아래쪽 화살표를 선택합니다.

   댓글은 왼쪽에 표시됩니다.

1. (선택 사항) 질문에 응답하는 데 사용되는 필드를 보려면 질문 오른쪽에 있는 아래쪽 화살표를 선택합니다.

   사용된 필드는 오른쪽에 표시됩니다. 필드 이름을 선택하여 메타데이터를 편집합니다.

1. (선택 사항) 모호하지 않은 질문을 보려면 용어가 빨간색으로 강조 표시된 질문 오른쪽에 있는 아래쪽 화살표를 선택합니다.

   용어에 대한 설명과 해당 용어를 명확하게 구분하는 데 사용된 필드가 표시됩니다. 필드에 동의어를 추가하려면 **동의어 추가**를 선택합니다.

1. (선택 사항) 질문의 응답 방식을 보려면 목록의 질문 옆에 있는 **보기를** 선택합니다.

1. (선택 사항) 질문 목록을 필터링하려면 오른쪽에서 **필터링 기준**을 선택한 다음 옵션 중 하나를 기준으로 필터링합니다.
   + **모든 질문 보기** - 이 옵션은 모든 필터를 제거하고 주제에 접수된 모든 질문을 표시합니다.
   + **답변 가능** - 이 옵션은 질문 목록을 답변이 가능한 질문으로 필터링합니다. 답변 가능한 질문은 Q가 답변할 수 있었던 질문입니다.
   + **답변 불가** - 이 옵션은 질문 목록을 필터링하여 답변하지 못한 질문을 표시합니다. 답변할 수 없는 질문은 Q가 답변하지 못한 질문입니다.
   + **모호하지 않음** - 이 옵션은 질문 목록을 모호하지 않은 질문, 즉 사용자가 수동으로 필드를 매핑한 용어가 포함된 질문으로 필터링합니다.
   + **피드백 없음** - 이 옵션은 질문 목록을 피드백을 받지 않은 질문으로 필터링합니다.
   + **부정** - 이 옵션은 질문 목록을 부정적인 피드백을 받은 질문으로 필터링합니다.
   + **긍정** - 이 옵션은 질문 목록을 긍정적인 피드백을 받은 질문으로 필터링합니다.
   + **댓글 없음** - 이 옵션은 질문 목록을 사용자로부터 댓글을 받지 않은 질문으로 필터링합니다.
   + **댓글 있음** - 이 옵션은 질문 목록을 사용자로부터 댓글을 받은 질문으로 필터링합니다.
   + **사용자** - 이 옵션은 입력한 특정 사용자 이름을 가진 사용자가 질문한 내용으로 질문 목록을 필터링합니다.

# Quick Sight 주제 인덱스 새로 고침
<a name="topics-index"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 관리자 및 작성자  | 

주제를 생성하면 Quick Sight는 해당 주제의 데이터에 대한 정의가 포함된 인덱스를 생성, 저장 및 유지 관리합니다. 이 인덱스는 Quick Sight 작성자에게 노출되지 않습니다. 주제에 포함된 데이터 세트의 사본도 아닙니다. 지표는 인덱싱되지 않습니다. 예를 들어 정수로 저장된 측정값은 인덱싱되지 않습니다.

주제 인덱스는 주제에 포함된 필드의 고유한 문자열 값의 인덱스입니다. 이 인덱스는 정답을 생성하고, 누군가 질문할 때 자동 완성 제안을 제공하고, 열 또는 데이터 값에 용어 매핑을 제안하는 데 사용됩니다.

주제 인덱스를 새로 고침 하려면 주제의 데이터 세트를 새로 고침 하세요. 주제의 모든 데이터 세트를 수동으로 새로 고침 하거나 개별 데이터 세트를 새로 고침 할 수 있습니다. 데이터 세트 새로 고침 기록을 확인하여 이전 새로 고침도 모니터링할 수 있고, 주제의 모든 데이터 세트에 대해 반복 새로 고침 일정도 설정할 수 있습니다. SPICE 데이터 세트에서 주제 인덱스 새로 고침 일정을 SPICE 새로 고침 일정과 동기화할 수 있습니다. SPICE 새로 고침 일정 설정에 대한 자세한 내용은 [일정에서 데이터 세트 새로 고침](refreshing-imported-data.md#schedule-data-refresh) 섹션을 참조하세요.

**참고**  
현재 시간당 새로 고침 일정은 지원되지 않습니다. 주제의 데이터 세트를 하루에 한 번까지 새로 고치도록 새로 고침 일정을 설정할 수 있습니다.

주제 인덱스를 정기적으로 업데이트하여 최신 정의와 값이 기록되도록 하는 것이 좋습니다. 주제 인덱스 업데이트에는 주제에 포함된 데이터 세트의 수와 크기에 따라 약 15분에서 30분이 소요됩니다.

**주제 인덱스를 새로 고침 하려면**

1. 빠른 시작 페이지에서 **주제를** 선택합니다.

1. 열리는 **주제** 페이지에서 새로 고침 하려는 주제를 엽니다.

   페이지 하단의 주제에 포함된 데이터 세트가 표시된 **요약** 탭에 주제가 열립니다. 또한 오른쪽 상단에 주제를 마지막으로 새로 고친 시간도 표시됩니다.

1. 오른쪽 상단의 **새로 고침**을 선택하여 주제 인덱스를 새로 고친 다음 **데이터 새로 고침**을 선택합니다. 이렇게 하면 주제에 있는 모든 데이터 세트가 수동으로 새로 고침 됩니다.

   주제의 개별 데이터 세트 새로 고침에 대한 자세한 내용은 [Quick Sight 주제에서 데이터 세트 새로 고침](topics-data-refresh.md) 단원 참조하세요.

# Amazon Quick Sight APIs를 사용하여 Quick Sight 주제 작업
<a name="topics-cli"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

이 섹션에서는 Amazon Quick Sight 명령줄 인터페이스(CLI)를 사용하여 Quick Sight 주제를 사용하는 방법을 알아봅니다.

**사전 조건**

시작하기 전에 Quick Sight API 작업을 호출할 수 있는 액세스 권한을 CLI 사용자에게 부여하는 AWS Identity and Access Management (IAM) 역할이 있는지 확인합니다. 다음 표에는 특정 API 작업을 사용하기 위해 IAM 정책에 추가해야 하는 권한이 나와 있습니다. 모든 주제 API 작업을 사용하려면 표에 나열된 모든 권한을 추가합니다.


| API 작업 | IAM 정책 | 
| --- | --- | 
|  `CreateTopic`  |  `quicksight:CreateTopic` `quicksight:PassDataSet`  | 
|  `ListTopics`  |  `quicksight:ListTopics`  | 
|  `DescribeTopic`  |  `quicksight:DescribeTopic`  | 
|  `DescribeTopicPermissions`  |  `quicksight:DescribeTopicPermissions`  | 
|  `DescribeTopicRefresh`  |  `quicksight:DescribeTopicRefresh`  | 
|  `DeleteTopic`  |  `quicksight:DeleteTopic`  | 
|  `UpdateTopic`  |  `quicksight:UpdateTopic` `quicksight:PassDataSet`  | 
|  `UpdateTopicPermissions`  |  `quicksight:UpdateTopicPermissions`  | 
|  `CreateTopicRefreshSchedule`  |  `quicksight:CreateTopicRefreshSchedule`  | 
|  `ListTopicRefreshSchedules`  |  `quicksight:ListTopicRefreshSchedules`  | 
|  `DescribeTopicRefreshSchedule`  |  `quicksight:DescribeTopicRefreshSchedule`  | 
|  `UpdateTopicRefreshSchedule`  |  `quicksight:UpdateTopicRefreshSchedule`  | 
|  `DeleteTopicRefreshSchedule`  |  `quicksight:DeleteTopicRefreshSchedule`  | 
|  `BatchCreateTopicReviewedAnswer`  |  `quicksight:BatchCreateTopicReviewedAnswer`  | 
|  `BatchDeleteTopicReviewedAnswer`  |  `quicksight:BatchDeleteTopicReviewedAnswer`  | 
|  `ListTopicReviewedAnswers`  |  `quicksight:ListTopicReviewedAnswers`  | 

다음 예에서는 사용자가 `ListTopics` API 작업을 사용할 수 있도록 허용하는 IAM 정책을 보여줍니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "quicksight:ListTopics"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Quick Sight APIs를 사용하여 Quick Sight 주제를 생성하도록 권한을 구성한 후 다음 주제를 사용하여 Quick Sight 주제 APIs.

**Topics**
+ [Quick Sight APIs를 사용하여 Quick Sight 주제 작업](topic-cli-examples.md)
+ [Quick Sight CLI를 사용하여 Quick Sight 주제 새로 고침 일정 구성](topic-refresh-apis.md)
+ [내부 및 사이의 Quick Sight 주제 복사 및 마이그레이션 AWS 계정](topic-cli-walkthroughs.md)
+ [Quick Sight APIs를 사용하여 Quick Sight 주제에서 검토된 답변 생성 및 수정](topic-reviewed-answer-apis.md)

# Quick Sight APIs를 사용하여 Quick Sight 주제 작업
<a name="topic-cli-examples"></a>

다음 예시에서는 새 주제를 생성합니다.

```
aws quicksight create-topic
--aws-account-id AWSACCOUNTID
--topic-id TOPICID
--topic TOPIC
```

다음 명령과 함께 CLI 스켈레톤 파일을 사용하여 새 주제를 생성할 수도 있습니다. CLI 스켈레톤 파일에 대한 자세한 내용은 *Amazon Quick Sight 개발자 안내서*의 [CLI 스켈레톤 파일 사용을](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html) 참조하세요.

```
aws quicksight create-topic
--cli-input-json file://createtopic.json
```

새 주제를 생성하면 데이터 세트 새로 고침 구성이 주제에 복사되지 않습니다. 새 주제에 대한 주제 새로 고침 일정을 설정하려면 `create-topic-refresh-schedule` API 호출을 만듭니다. CLI를 사용하여 주제 새로 고침 일정을 구성하는 방법에 대한 자세한 내용은 [Quick Sight CLI를 사용하여 Quick Sight 주제 새로 고침 일정 구성](topic-refresh-apis.md) 섹션을 참조하세요.

첫 번째 주제를 생성한 후 주제 요약을 업데이트, 삭제, 나열 또는 요청할 수 있습니다.

다음 예시에서는 주제를 업데이트합니다.

```
aws quicksight update-topic
--aws-account-id AWSACCOUNTID
--topic-id TOPICID
--topic TOPIC
```

다음 명령과 함께 CLI 스켈레톤 파일을 사용하여 주제를 업데이트할 수도 있습니다. CLI 스켈레톤 파일에 대한 자세한 내용은 *Amazon Quick Sight 개발자 안내서*의 [CLI 스켈레톤 파일 사용을](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html) 참조하세요.

```
aws quicksight update-topic
--cli-input-json file://updatetopic.json
```

다음 예제에서는 Quick 계정의 모든 주제 목록을 제공합니다.

```
aws quicksight list-topics 
--aws-account-id AWSACCOUNTID
```

다음 예시에서는 주제를 삭제합니다.

```
aws quicksight delete-topic 
--aws-account-id AWSACCOUNTID 
--topic-id TOPICID
```

다음 예제에서는 주제가 구성된 방법에 대한 정보를 제공합니다.

```
aws quicksight describe-topic 
--aws-account-id AWSACCOUNTID 
--topic-id TOPICID
```

다음 명령은 주제의 권한을 업데이트합니다.

```
aws quicksight update-topic-permissions
--aws-account-id AWSACCOUNTID
--topic-id TOPICID
--grant-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:DescribeTopic
--revoke-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:DescribeTopic
```

`grant-permissions` 파라미터를 사용하여 빠른 계정 사용자에게 읽기 및 쓰기 권한을 부여합니다. 계정 사용자에게 읽기 권한을 부여하려면 다음 `"quicksight:DescribeTopic"` 값을 입력합니다. 계정 사용자에게 권한을 부여하려면 다음 값을 입력합니다.
+ `"quicksight:DescribeTopic"`
+ `"quicksight:DescribeTopicRefresh"`
+ `"quicksight:ListTopicRefreshSchedules"`
+ `"quicksight:DescribeTopicRefreshSchedule"`
+ `"quicksight:DeleteTopic"`
+ `"quicksight:UpdateTopic"`
+ `"quicksight:CreateTopicRefreshSchedule"`
+ `"quicksight:DeleteTopicRefreshSchedule"`
+ `"quicksight:UpdateTopicRefreshSchedule"`
+ `"quicksight:DescribeTopicPermissions"`
+ `"quicksight:UpdateTopicPermissions"`

`RevokePermissions` 파라미터는 계정 사용자에게 부여된 모든 권한을 취소합니다.

다음 명령은 주제의 모든 권한을 설명합니다.

```
aws quicksight describe-topic-permissions 
--aws-account-id AWSACCOUNTID
--topic-id TOPICID
```

Quick Sight 주제를 생성한 후 Amazon Quick Sight APIs[를 사용하여 주제 새로 고침 일정을 구성](https://docs.aws.amazon.com/quicksuite/latest/userguide/topic-refresh-apis)하고, [계정 내 또는 계정 간에 Quick Sight 주제를 마이그레이션](https://docs.aws.amazon.com/quicksuite/latest/userguide/topic-cli-walkthroughs)하고, [ 검토된 답변을 생성할](https://docs.aws.amazon.com/quicksuite/latest/userguide/topic-reviewed-answer-apis) 수 있습니다.

# Quick Sight CLI를 사용하여 Quick Sight 주제 새로 고침 일정 구성
<a name="topic-refresh-apis"></a>

다음 명령은 주제의 새로 고침 일정을 생성합니다.

```
aws quicksight create-topic-refresh-schedule
--aws-account-id AWSACCOUNTID
--topic-id TOPICID
--dataset-arn DATASETARN
--refresh-schedule REFRESHSCHEDULE
```

주제에 대한 새로 고침 일정을 생성한 후 주제의 새로 고침 일정 요약을 업데이트, 삭제, 나열 또는 요청할 수 있습니다.

다음 명령은 주제의 새로 고침 일정을 업데이트합니다.

```
aws quicksight update-topic-refresh-schedule 
--aws-account-id AWSACCOUNTID
--topic-id TOPICID
--dataset-id DATASETID
--refresh-schedule REFRESHSCHEDULE
```

다음 예제에서는 주제에 구성된 모든 새로 고침 일정 목록을 제공합니다.

```
aws quicksight list-topic-refresh-schedules
--aws-account-id AWSACCOUNTID
--topic-id TOPICID
```

다음 예에서는 주제 새로 고침 일정을 삭제합니다.

```
aws quicksight delete-topic-refresh-schedule 
--aws-account-id AWSACCOUNTID
--topic-id TOPICID
--dataset-id DATASETID
```

다음 예에서는 주제 새로 고침 일정이 구성된 방법에 대한 정보를 제공합니다.

```
aws quicksight describe-topic-refresh-schedule  
--aws-account-id AWSACCOUNTID
--topic-id TOPICID
--dataset-id DATASETID
```

# 내부 및 사이의 Quick Sight 주제 복사 및 마이그레이션 AWS 계정
<a name="topic-cli-walkthroughs"></a>

Quick Sight 명령줄 인터페이스(CLI)를 사용하여 Quick Sight 주제를 한 계정에서 다른 계정으로 마이그레이션할 수 있습니다. 여러 대시보드, 네임스페이스 또는 계정에 동일한 주제를 수동으로 복제하는 대신 Quick Sight CLI를 사용하여 동일한 주제를 반복적으로 재사용할 수 있습니다. 이 기능은 Quick Sight 작성자의 시간을 절약하고 여러 대시보드의 대시보드 독자를 위한 표준화된 주제 경험을 생성합니다.

Quick Sight CLI를 사용하여 주제를 마이그레이션하려면 다음 절차를 사용합니다.

**주제를 다른 계정으로 마이그레이션하려면**

1. 먼저 마이그레이션하려는 주제를 식별합니다. `list-topics` API 명령을 사용하여 Quick 계정의 모든 주제 목록을 볼 수 있습니다.

   ```
   aws quicksight list-topics --aws-account-id AWSACCOUNTID
   ```

1. 주제 목록이 있으면 마이그레이션하려는 주제를 찾아 주제 구성의 JSON 구조를 수신하도록 `describe-topic` 호출합니다.

   ```
   aws quicksight describe-topic 
       --aws-account-id AWSACCOUNTID
       --topic-id TOPICID
   ```

   다음은 `describe-topic` API 응답의 예입니다.

   ```
   {
       "Status": 200,
       "TopicId": "TopicExample", 
       "Arn": "string",
       "Topic": [
           {
               "Name": "{}",
               "DataSets": [
               {
               "DataSetArn": "{}",
               "DataSetName": "{}",
               "DataSetDescription": "{}",
               "DataAggregation": "{}",
               "Filters": [],
               "Columns": [],
               "CalculatedFields": [],
               "NamedEntities": []
               }
               ]
           }
       ],
       "RequestId": "requestId"
       }
   ```

1. JSON 응답을 사용하여 다른 Quick 계정의 새 `create-topic` 호출에 입력할 수 있는 스켈레톤 파일을 생성합니다. 스켈레톤 파일로 API를 호출하기 전에 새 주제를 추가하려는 AWS 계정 ID 및 데이터 세트 ID와 일치하도록 스켈레톤 파일의 AWS 계정 ID 및 데이터 세트 ID를 변경해야 합니다. CLI 스켈레톤 파일에 대한 자세한 내용은 *Amazon Quick Sight 개발자 안내서*의 [CLI 스켈레톤 파일 사용을](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html) 참조하세요.

   ```
   aws quicksight create-topic --aws-account-id AWSACCOUNTID \
   --cli-input-json file://./create-topic-cli-input.json
   ```

Quick Sight API를 `create-topic` 호출하면 계정에 새 주제가 나타납니다. 새 주제가 존재하는지 확인하려면 Quick Sight API를 `list-topics` 호출합니다. 복제된 원본 항목에 검증된 답변이 포함된 경우 답변은 새 주제로 마이그레이션되지 않습니다. 원래 주제에 대해 구성된 모든 검증된 답변 목록을 보려면 `describe-topic` API 호출을 사용하세요.

# Quick Sight APIs를 사용하여 Quick Sight 주제에서 검토된 답변 생성 및 수정
<a name="topic-reviewed-answer-apis"></a>

Quick Sight 주제를 생성한 후 Quick Sight APIs를 사용하여 주제에 대해 다시 생성된 답변을 생성, 나열, 업데이트 및 삭제할 수 있습니다.

아래 배치 명령은 Quick Sight 주제에 대해 최대 100개의 검토된 답변을 생성합니다.

```
aws quicksight batch-create-topic-reviewed-answer \
--topic-id TOPICID \
--aws-account-id AWSACCOUNTID \                 
—answers ANSWERS
```

다음 명령을 사용하여 CLI 스켈레톤 파일에서 검토된 답변을 일괄 생성할 수도 있습니다. CLI 스켈레톤 파일에 대한 자세한 내용은 *Amazon Quick Sight 개발자 안내서*의 [CLI 스켈레톤 파일 사용을](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html) 참조하세요.

```
aws quicksight batch-create-topic-reviewed-answer \ 
--cli-input-json file://createTopicReviewedAnswer.json
```

아래 명령은 Quick Sight 주제에서 검토된 모든 답변을 나열합니다.

```
aws quicksight list-topic-reviewed-answers \
--aws-account-id AWSACCOUNTID \
--topic-id TOPICID \
```

아래 예제는 주제에서 최대 100개의 검토된 답변을 일괄 삭제합니다.

```
aws quicksight batch-delete-topic-reviewed-answer \
--topic-id TOPICID \
--aws-account-id AWSACCOUNTID \                 
—answer-ids: ["AnswerId1, AnswerId2…"]
```

다음 명령을 사용하여 CLI 스켈레톤 파일에서 주제에서 검토된 답변을 일괄 생성할 수도 있습니다. CLI 스켈레톤 파일에 대한 자세한 내용은 *Amazon Quick Sight 개발자 안내서*의 [CLI 스켈레톤 파일 사용을](https://docs.aws.amazon.com/quicksight/latest/developerguide/cli-skeletons.html) 참조하세요.

```
aws quicksight batch-delete-topic-reviewed-answer \
--cli-input-json file://deleteTopicReviewedAnswer.json
```

검토된 답변을 업데이트하려면 `batch-delete-topic-reviewed-answer` API를 사용하여 주제에서 기존 답변을 삭제합니다. 그런 다음 `batch-create-topic-reviewed-answer` API를 사용하여 업데이트된 검토된 답변을 주제에 추가합니다.

# Amazon Quick Sight에서 데이터 스토리 작업
<a name="working-with-stories"></a>

Quick Sight가 포함된 생성형 BI를 사용하면 작성자와 독자가 데이터 스토리의 첫 번째 초안을 빠르게 생성할 수 있습니다. 프롬프트와 시각적 객체를 사용하여 제공하는 세부 정보가 포함된 초안을 생성합니다. 데이터 스토리 초안은 자신의 아이디어를 대체하거나 분석을 수행하기 위한 작업이 아닙니다. 데이터 스토리는 필요에 따라 사용자 지정하고 확장할 수 있는 출발점입니다. 상황별 권장 사항 및 제안은 프롬프트를 선택한 시각적 객체와 결합하여 데이터 스토리에 맞는 관련 세부 정보를 제공합니다. 자세한 내용은 [Quick Sight를 사용한 생성형 BI](quicksight-gen-bi.md) 단원을 참조하십시오.

다음 주제를 사용하여 데이터 스토리를 생성, 수정 및 공유할 수 있습니다.

**Topics**
+ [생성형 BI를 사용하여 데이터 스토리 생성](working-with-stories-create.md)
+ [Amazon Quick Sight에서 데이터 스토리 개인화](working-with-stories-personalize.md)
+ [Amazon Quick Sight에서 생성된 데이터 스토리 보기](working-with-stories-view.md)
+ [Amazon Quick Sight에서 생성된 데이터 스토리 편집](working-with-stories-edit.md)
+ [Amazon Quick Sight의 데이터 스토리에 테마 및 애니메이션 추가](working-with-stories-themes.md)
+ [Amazon Quick Sight에서 데이터 스토리 공유](working-with-stories-share.md)

# 생성형 BI를 사용하여 데이터 스토리 생성
<a name="working-with-stories-create"></a>

다음 절차에 따라 생성형 BI를 사용하여 데이터 스토리를 생성합니다.

**데이터 스토리 생성**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 왼쪽에서 **스토리**를 선택합니다.

1. **데이터 스토리** 페이지에서 **새 데이터 스토리**를 선택합니다.

1. 표시되는 **스토리** 화면에서 **스토리 빌드** 모달로 이동하여 생성하려는 데이터 스토리 프롬프트를 입력합니다. 최상의 결과를 위해 프롬프트를 질문처럼 표현하지 마세요. 대신 Quick Sight가 빌드할 데이터 스토리를 입력합니다. 예를 들어, 지역별로 가장 일반적으로 수행되는 의료 절차에 대한 데이터 스토리를 생성한다고 가정해 보겠습니다. 이 사용 사례에 대한 좋은 프롬프트는 “다양한 리전의 의사들이 가장 일반적으로 수행하는 절차에 대한 데이터 스토리를 구축합니다. 또한 환자가 가장 많이 입원하는 전문 분야를 보여줍니다. 전문 분야별로 더 많은 의사를 고용해야 하는 곳에 추천하고, 지원 데이터에 최소 4개의 포인트를 포함합니다.”

   선택적으로 이 단계를 건너뛰고 데이터 스토리를 수동으로 생성할 수 있습니다. 프롬프트 입력 잊기를 선택하는 경우에도 데이터 스토리에 시각적 객체를 추가해야 합니다.

1. **시각적 객체 선택**에서 **추가**를 선택합니다.

1. 사용하려는 시각적 객체가 포함된 대시보드를 선택한 다음 원하는 시각적 객체를 선택합니다. 데이터 스토리에 최대 20개의 시각적 객체를 추가할 수 있습니다.

   사용할 대시보드가 보이지 않는 경우 모달 상단의 **대시보드 찾기** 검색 표시줄을 사용합니다.

   공유 권한이 있는 대시보드 수와 관계없이 시각적 객체를 선택할 수 있습니다. **제한됨** 배지를 보여주는 시각적 객체에는 데이터 스토리에 추가되지 못하도록 제한하는 권한이 있습니다. 다음 이유 중 하나로 인해 시각적 객체가 제한될 수 있습니다.
   + 데이터세트는 Amazon Redshift에서 신뢰할 수 있는 ID 전파를 사용하는 데이터 소스에 연결됩니다.
   + 데이터세트는 제한된 폴더 내부에 있습니다.

1. (선택 사항) **문서 선택** 섹션을 사용하여 데이터 스토리에 사용할 문서를 최대 5개까지 업로드하세요. 각 문서는 10MB를 초과할 수 없습니다. 이러한 문서는 데이터 스토리를 생성하는 데만 사용되며 Quick Sight에 저장되지 않습니다. 다음 이미지에서는 **스토리 빌드** 화면의 **문서 선택** 섹션을 보여줍니다.

1. (선택 사항) Quick 계정이 Amazon Q Business 애플리케이션에 연결된 경우 **Amazon Q Business의 인사이트 사용** 확인란을 선택하여 Amazon Q Business의 비정형 데이터 소스로 데이터 스토리를 보강합니다. Quick 계정을 Amazon Q Business 애플리케이션에 연결하는 방법에 대한 자세한 내용은 섹션을 참조하세요[Amazon Q Business를 사용하여 Amazon Quick Sight 인사이트 보강](generative-bi-q-business.md).

1. **구축**을 선택합니다.

데이터 스토리가 생성된 후 데이터 스토리를 검토하고 다음 옵션 중에서 선택합니다.
+ **유지** - 생성된 콘텐츠를 캔버스에 저장합니다. 이 옵션을 선택하면 **스토리 빌드** 모달이 닫히고 데이터 스토리 편집을 시작할 수 있습니다.
+ **다시 시도** - 사용자가 프롬프트를 편집하고 새 데이터 스토리를 생성할 수 있습니다.
+ **폐기** - 생성된 데이터 스토리를 삭제합니다.

# Amazon Quick Sight에서 데이터 스토리 개인화
<a name="working-with-stories-personalize"></a>

IAM Identity Center 인스턴스의 사용자 위치 및 작업 관련 정보를 활용하여 작성자 및 독자와 더 관련성이 높은 개인화된 데이터 스토리를 생성합니다. 예를 들어 미국의 작성자가 “내 위치의 수익을 높이는 방법에 대한 계획에 초점을 맞춘 비즈니스 전략 작성”이라는 프롬프트를 발행하면 데이터 스토리의 서술에 미국과 관련된 인사이트가 자동으로 포함됩니다. 작성자가 데이터 스토리가 캐나다와 같은 다른 국가에 집중하기를 원하는 경우 프롬프트에서 이를 지정할 수 있습니다.

개인 맞춤이 작동하려면 Quick 계정에 연결된 IAM Identity Center 인스턴스의 사용자에 대한 국가 및 직함을 추가해야 합니다. 자세한 정보는 IAM Identity Center 사용자 가이드의 [IAM Identity Center 디렉터리에 사용자 추가](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html)를 참조하세요.

IAM Identity Center 인스턴스의 사용자 데이터는 기본적으로 애플리케이션 환경에 연결됩니다. 즉, 모든 데이터 스토리는 기본적으로 개인화됩니다. QuickSight 관리 콘솔의 계정 설정 메뉴에서 언제든지 [개인화를 옵트아웃](https://docs.aws.amazon.com/quicksuite/latest/userguide/qs-q-manage-personalization)하도록 선택할 수 있습니다.

**참고**  
데이터 스토리의 개인화는 현재 미국 동부(버지니아 북부) 및 미국 서부(오레곤) 리전에서 사용할 수 AWS 있습니다.

# Amazon Quick Sight에서 생성된 데이터 스토리 보기
<a name="working-with-stories-view"></a>

데이터 스토리를 생성하고 유지한 후 **데이터 스토리** 페이지에서 해당 데이터 스토리에 액세스할 수 있습니다. 데이터 스토리를 보려면 보려는 데이터 스토리를 선택하여 스토리 편집기를 엽니다.

데이터 스토리를 생성하고 수정할 때 데이터 스토리가 독자에게 어떻게 보이는지 미리 볼 수 있습니다. 생성된 데이터 스토리를 미리 보려면 페이지 상단의 **미리 보기** 아이콘을 선택합니다. 미리 보기를 종료하려면 **편집기로 돌아가기**를 선택합니다.

# Amazon Quick Sight에서 생성된 데이터 스토리 편집
<a name="working-with-stories-edit"></a>

데이터 스토리를 생성하고 유지한 후 필요에 맞게 해당 콘텐츠를 수정할 수 있습니다. 데이터 스토리 텍스트의 형식을 지정하고, 이미지를 추가하며, 시각적 객체를 편집하고, 새 블록을 추가할 수 있습니다.

스토리는 데이터 스토리에 포함하려는 텍스트, 시각적 객체 및 이미지의 컨테이너 역할을 하는 다양한 *블록*으로 구성됩니다. 각 블록은 픽셀 완성 보고서의 섹션과 마찬가지로 데이터 스토리의 다른 블록과 독립적으로 형식을 지정할 수 있습니다.

데이터 스토리의 텍스트 형식을 지정하려면 페이지 상단의 도구 모음을 사용합니다. 도구 모음에서 글꼴 설정을 제공하므로 글꼴 유형, 스타일, 색상, 크기, 간격, 텍스트 하이라이트 및 정렬을 사용자 지정할 수 있습니다. 도구 모음을 사용하여 데이터 스토리 블록에 열을 추가할 수도 있습니다.

다음 옵션 중 하나를 사용하여 데이터 스토리에 시각적 객체를 추가합니다.
+ **시각적 객체** 창을 사용하여 시각적 객체를 데이터 스토리로 드래그 앤 드롭합니다. 데이터 스토리를 생성할 때 선택한 시각적 객체만 **시각적 객체** 창에 표시됩니다.

  또한 **시각적 객체** 창에서 **추가**(\$1) 아이콘을 선택하여 데이터 스토리로 드래그 앤 드롭할 수 있는 새 시각적 객체를 추가할 수 있습니다. 각 데이터 스토리에는 최대 20개의 시각적 객체가 포함될 수 있습니다.
+ 이미지를 추가할 데이터 스토리 블록을 선택합니다. 커서가 나타나면 슬래시(`"/"`)를 입력하여 이미지 또는 시각적 객체를 해당 데이터 스토리 블록에 삽입합니다.

데이터 스토리에서 시각적 객체를 편집하려면 변경할 시각적 객체를 선택한 다음 **속성** 아이콘을 선택합니다. 속성 창이 나타나면 다음 작업을 수행할 수 있습니다.
+ 시각적 객체의 제목을 변경하고 숨기거나 표시합니다. 기본적으로 시각적 객체 제목은 표시됩니다.
+ 시각적 객체의 부제목을 변경하고 숨기거나 표시합니다. 기본적으로 시각적 객체의 부제목은 숨겨집니다.
+ 데이터 레이블을 숨기거나 표시합니다. 기본적으로 데이터 레이블은 숨겨집니다.
+ 범례의 위치를 숨기거나 표시하고 변경합니다. 기본적으로 범례는 숨겨집니다.

데이터 스토리에 새 블록을 추가하려면 기존 블록 하단의 더하기(\$1) 아이콘을 선택합니다. 그런 다음 원하는 레이아웃 옵션을 선택합니다. 각 블록 상단의 **블록 옵션**(3개의 점) 아이콘에서 블록을 이동, 복제 또는 삭제할 수도 있습니다.

블록의 항목 레이아웃을 변경하려면 각 항목 옆에 6개의 점 아이콘을 사용하여 원하는 위치에 항목을 드래그 앤 드롭할 수 있습니다.

# Amazon Quick Sight의 데이터 스토리에 테마 및 애니메이션 추가
<a name="working-with-stories-themes"></a>

생성하는 스토리에 테마와 애니메이션을 추가할 수 있습니다. 데이터 스토리에 테마 또는 애니메이션을 추가하려면 **스토리 스타일** 아이콘을 선택합니다.

**스토리 스타일** 창이 나타나면 다음 작업을 수행할 수 있습니다.
+ **테마**에서 데이터 스토리에 가장 적합하다고 생각되는 테마를 선택합니다.
+ **애니메이션**에서 애니메이션 스타일과 속도를 선택합니다. 애니메이션 유형의 경우 **없음**, **페이드** 또는 **슬라이드**를 선택할 수 있습니다. 기본 애니메이션은 **없음**입니다. **속도**에서 **느림**, **중간** 또는 **빠름**을 선택합니다. 기본 속도는 **중간**입니다.

# Amazon Quick Sight에서 데이터 스토리 공유
<a name="working-with-stories-share"></a>

다음 절차에 따라 데이터 스토리를 공유합니다.

**데이터 스토리 공유**

1. 공유하려는 데이터 스토리의 스토리 편집기에서 오른쪽 상단의 **공유** 아이콘을 선택합니다.

   또는 데이터 스토리 미리 보기 상단의 **공유** 아이콘을 선택할 수 있습니다.

1. **데이터 스토리 공유** 모달이 나타나면 데이터 스토리를 공유할 사용자 또는 그룹을 입력합니다.

1. (선택 사항) 게시된 데이터 스토리의 링크를 클립보드에 저장하려면 **링크 복사**를 선택합니다.

1. **게시 및 공유**를 선택합니다.

스토리를 공유하려는데 스토리를 공유할 수 없다는 메시지가 수신되는 경우 대시보드 소유자에게 문의하여 **데이터 스토리 공유 허용** 스위치를 켜도록 요청합니다. 이 스위치에 대한 자세한 정보는 [자습서: Amazon Quick Sight 대시보드 생성](example-create-a-dashboard.md) 섹션을 참조하세요.

데이터 스토리를 공유하려고 하는데 오류 메시지가 표시되면 대시보드 소유자 또는 Quick Account 관리자에게 문의하여 도움을 받으세요.

데이터 스토리를 공유한 후 스토리를 공유한 사용자는 스토리 링크가 포함된 알림 이메일을 수신하게 됩니다. 빠른 계정의 데이터 스토리 페이지에서 **데이터 스토리**에 액세스할 수 있습니다. 데이터 스토리에 대한 복사된 링크를 데이터 스토리에 액세스할 수 있는 사용자와 공유할 수도 있습니다.

제한된 데이터가 포함된 데이터 스토리는 공유할 수 없습니다. 제한된 데이터가 포함된 스토리를 공유하려면 스토리의 일부인 모든 제한된 시각적 객체를 나열하는 오류 메시지가 나타납니다. 원하는 경우 사용자와 공유하기 전에 데이터 스토리에서 제한된 시각적 객체를 제거합니다.

게시된 데이터 스토리를 편집할 때 최종 사용자에게 전파할 변경 사항에 대한 데이터 스토리를 다시 게시합니다.

# Amazon Quick Sight에서 시나리오 작업
<a name="scenarios"></a>

Admin Pro, Author Pro 또는 Reader Pro 역할을 가진 빠른 사용자는 시나리오를 사용하여 간단한 자연어로 복잡한 비즈니스 문제를 분석할 수 있습니다.

시나리오를 시작하기 위해 빠른 사용자는 해결하려는 문제를 설명하고 데이터 분석에 사용할 Quick Sight 또는 컴퓨터에서 관련 데이터를 추가합니다. 또는 사용자가 Amazon Q가 문제를 해결하는 데 사용할 수 있는 모든 관련 데이터를 검색하도록 할 수 있습니다. Amazon Q는 데이터 심층 분석을 위한 일련의 분석 또는 프롬프트를 반환합니다. 사용자가 자체 프롬프트를 입력하여 사용자 지정 분석을 생성할 수도 있습니다. 새 프롬프트가 수신되면 Amazon Q는 분석을 여러 단계로 구분해 실행합니다. 결과에는 특정 데이터 인사이트, 대화형 시각적 객체, 다음 작업을 제안하며 조사 결과가 비즈니스에 미칠 수 있는 영향 분석이 포함됩니다.

시나리오는 Quick Pro 사용자가 다음 작업을 수행하는 데 도움이 될 수 있습니다.
+ 지루하고 오류가 발생하기 쉬우며 비효율적인 수동 데이터 작업 자동화
+ 과거 분석을 수정, 확장 또는 재사용하여 비즈니스 변화에 신속하게 적응
+ 스프레드시트가 허용하는 것보다 더 심층적인 데이터 분석

다음 주제를 사용하여 Amazon Quick Sight에서 시나리오를 생성하고 작업합니다.

**Topics**
+ [Quick Sight 시나리오에 대한 고려 사항](#scenarios-considerations)
+ [Amazon Quick Sight 시나리오 생성](scenarios-create.md)
+ [Amazon Quick Sight 시나리오에서 스레드 작업](scenarios-threads.md)
+ [Amazon Quick Sight 시나리오에서 데이터 작업](scenarios-data.md)

## Quick Sight 시나리오에 대한 고려 사항
<a name="scenarios-considerations"></a>

Amazon Quick Sight 시나리오에는 다음 고려 사항이 적용됩니다.
+ Amazon Quick Sight 시나리오는 Amazon Quick에서 Admin Pro, Author Pro 또는 Reader Pro 역할을 가진 사용자가 사용할 수 있습니다. 사용자를 Quick Pro 역할로 업데이트하는 방법에 대한 자세한 내용은 섹션을 참조하세요[생성형 BI 시작하기](generative-bi-get-started.md).
+ 시나리오는에 AWS 리전 나열된 특정에서 사용할 수 있습니다[빠른 Amazon Q AWS 리전 지원](regions.md#regions-aqs).

Quick Sight 시나리오에 대한 고려 사항을 검토한 후 Amazon Quick Sight에서 시나리오[Amazon Quick Sight 시나리오 생성](scenarios-create.md)를 시작하려면 섹션을 참조하세요.

# Amazon Quick Sight 시나리오 생성
<a name="scenarios-create"></a>

Amazon Quick Pro 사용자는 Quick Sight 대시보드 또는 Quick Sight 홈 페이지의 **시나리오** 섹션에서 시나리오를 생성할 수 있습니다. 사용자는 필요한 만큼 시나리오를 생성할 수 있습니다. 각 사용자는 한 번에 최대 3개의 활성 시나리오를 보유할 수 있습니다. 각 Quick Sight 계정은 한 번에 최대 10개의 활성 시나리오를 지원합니다. 다음 절차에 따라 Amazon Quick Sight에서 시나리오를 생성합니다.

**새 시나리오 생성**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 다음 조치 중 하나를 취하세요.

   1. 대시보드를 열고 다음 중 하나를 찾으세요.
      + 사용 가능한 경우 대시보드 상단의 **시나리오에서 이 대시보드 분석**을 선택하세요.
      + 대시보드의 시각적 객체에서 드롭다운 메뉴를 열고 **시나리오 탐색**을 선택합니다.
      + **빌드**를 선택하고 **시나리오**를 선택하세요.

   1. 빠른 홈 페이지에서 **시나리오를** 선택합니다. **시나리오**에서 **새 시나리오**를 선택합니다.

1. 새 시나리오가 나타납니다. 텍스트 상자에서 해결하려는 문제를 설명하세요. 이 입력은 시나리오에서 발생하는 모든 데이터 피벗 및 조작의 시작점입니다. 제공하는 설명은 광범위하거나 원하는 만큼 구체적일 수 있습니다(예: '사용 트렌드 분석' 또는 '지난 달 데이터를 기반으로 월별 누계 및 전년 대비 사용량 변화 계산').

1. 시나리오에서 사용할 데이터를 추가하세요. Quick Sight 대시보드에서 데이터를 선택하거나 컴퓨터에서 파일을 업로드할 수 있습니다. 대시보드에서 데이터를 선택하면 검토를 위해 선택한 데이터의 미리 보기가 생성됩니다. Quick Sight 시나리오에서 데이터를 미리 보고 편집하는 방법에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick Sight 시나리오에서 데이터 작업](scenarios-data.md).

   시나리오에서 사용되는 데이터에는 다음 제한이 적용됩니다.
   + 최대 10개의 데이터 소스를 시나리오에 추가할 수 있습니다.
   + 대시보드에서는 한 번에 최대 20개의 시각적 객체를 선택할 수 있습니다.
   + 업로드된 파일은 `.xlsx` 또는 `.csv` 형식이어야 하며 1GB를 초과할 수 없습니다.
   + 데이터 소스는 최대 200개의 열을 보유할 수 있습니다.

   시나리오에 데이터를 추가하지 않으면 Amazon Q는 Quick Sight 대시보드를 자동으로 검색하여 이전 단계의 문제 설명과 관련된 데이터를 찾습니다.

1. **분석 시작**을 선택합니다.

Quick Sight 시나리오에서 분석을 시작하면 Quick Sight는 분석을 위해 데이터를 준비하고 새 *스레드*를 반환합니다. 스레드는 시나리오에서 설명한 문제를 해결하는 데 사용할 수 있는 생성된 프롬프트를 포함합니다. 스레드는 특정 시나리오를 드릴다운하는 데 사용할 수 있는 사용자 프롬프트 및 Amazon Q 응답으로 구성된 순서에 기반한 컨텍스트 대화입니다. 스레드를 사용하여 Amazon Q가 이전에 스레드에서 설명한 내용을 기억한다고 가정하는 프롬프트를 작성할 수 있습니다. 프롬프트를 선택하여 스레드를 계속하거나 스레드 위의 더하기 기호(\$1)를 선택하여 새 스레드를 시작할 수 있습니다. 새 스레드는 사용자가 생성한 첫 번째 스레드와 다른 프롬프트를 사용합니다. 스레드 작업에 관한 자세한 내용은 [Amazon Quick Sight 시나리오에서 스레드 작업](scenarios-threads.md) 섹션을 참조하세요.

# Amazon Quick Sight 시나리오에서 스레드 작업
<a name="scenarios-threads"></a>

Quick Sight에서 시나리오를 생성하면 Amazon Q가 생성하는 데이터가 *스레드*와 *블록*으로 표시됩니다. 스레드는 프롬프트와 응답의 수직 체인입니다. 블록은 단일 프롬프트와 응답 페어입니다. 각 스레드는 최대 15개의 블록을 포함할 수 있으며, 각 시나리오는 여러 스레드에 걸쳐 총 최대 50개의 블록을 포함할 수 있습니다.

새 스레드가 생성되면 Amazon Q에서 생성한 프롬프트 목록이 새 블록 내부에 나타납니다. 드릴다운할 프롬프트 중 하나를 선택하면 Amazon Q는 선택한 프롬프트와 관련된 데이터를 분석하고 분석에서 도출할 수 있는 모든 데이터 조사 결과, 예측 및 결론에 대한 요약을 반환합니다.

스레드를 계속 진행하고 프롬프트를 자세히 살펴보려면 블록 아래에 있는 더하기 기호(**\$1**)를 선택하여 이전 블록의 조사 결과를 고려하는 생성된 프롬프트의 새 목록이 포함된 새 블록을 생성합니다. 데이터의 서로 다른 측면을 분석하는 새 스레드를 시작하려면 시나리오의 블록 위에 있는 더하기 기호(**\$1**)를 선택하여 새 스레드를 생성합니다.

변경하려는 블록의 로드가 완료되면 시나리오에서 블록을 축소, 복제 또는 삭제할 수 있습니다. 다음 절차를 사용하여 시나리오 블록을 변경합니다.

**블록을 축소, 복제 또는 삭제하는 방법**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 옵션 창에서 **시나리오**를 선택하고 변경하려는 시나리오를 선택하세요.

1. 변경하려는 블록으로 이동하고 블록의 오른쪽 상단에 있는 줄임표(...)를 선택하세요.

1. 다음 조치 중 하나를 취하세요.
   + 블록을 축소하려면 **축소**를 선택하세요. 축소된 블록을 확장하려면 블록 오른쪽 상단의 줄임표를 선택하고 **확장**을 선택하세요.
   + 블록을 복제하려면 **복제**를 선택하세요. 블록이 복제되고 원래 블록 옆의 새 스레드에 배치됩니다.
   + 블록을 삭제하려면 **삭제**를 선택하세요.

사용 사례에 더 잘 맞게 블록의 프롬프트를 수정할 수도 있습니다. 다음 절차를 사용하여 블록 프롬프트를 수정합니다.

**블록의 프롬프트를 수정하는 방법**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 옵션 창에서 **시나리오**를 선택하고 변경하려는 시나리오를 선택하세요.

1. 변경하려는 블록으로 이동하여 **블록 수정**을 선택하세요.

1. 표시되는 **블록 수정** 팝업에서 블록에 대한 새 설명을 입력하고 **적용**을 선택하세요.

프롬프트를 수정한 후 Amazon Q는 데이터를 분석하고 프롬프트에 적용된 변경 내용을 반영하는 새로 생성된 분석을 반환합니다.

# Amazon Quick Sight 시나리오에서 데이터 작업
<a name="scenarios-data"></a>

Amazon Quick Sight에서 시나리오를 생성할 때 시나리오가 요약을 생성하는 데 사용하는 데이터를 미리 보고 수정할 수 있습니다. 다음 섹션을 사용하여 빠른 사용자가 시나리오에서 데이터와 상호 작용하는 방법에 대해 알아봅니다.

**Topics**
+ [시나리오에 데이터 더 추가](#scenarios-data-add-data)
+ [미리 보기에서 데이터 편집](#scenarios-data-edit-preview)
+ [스냅샷에서 데이터 편집](#scenarios-data-edit-snapshot)

## 시나리오에 데이터 더 추가
<a name="scenarios-data-add-data"></a>

Amazon Quick Sight에서 시나리오를 생성한 후 언제든지 시나리오에 더 많은 데이터를 추가할 수 있습니다. 다음 절차에 따라 Amazon Quick Sight 시나리오에 데이터를 추가합니다.

**기존 Amazon Quick Sight 시나리오에 데이터를 추가하려면**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 옵션 창에서 **시나리오**를 선택하고 데이터를 더 추가하려는 시나리오를 선택하세요.

1. 작업 표시줄에서 **데이터 소스** 아이콘을 선택하여 **데이터** 창을 여세요.

1. 다음 조치 중 하나를 취하세요.

   1. 시나리오에 Quick Sight 데이터를 추가하려면 **데이터 찾기**를 선택한 다음 시나리오에 추가할 데이터 세트 또는 대시보드 시각적 객체를 선택합니다. 시나리오에 추가할 Quick Sight 데이터를 모두 선택한 후 **추가**를 선택합니다.

   1. 컴퓨터에서 시나리오로 파일을 업로드하려면 **파일 업로드**를 선택합니다.

   시나리오에 추가된 데이터에는 다음 제한이 적용됩니다.
   + 최대 10개의 데이터 소스를 시나리오에 추가할 수 있습니다.
   + 대시보드에서는 한 번에 최대 20개의 시각적 객체를 선택할 수 있습니다.
   + 업로드된 파일은 `.xlsx` 또는 `.csv` 형식이어야 하며 1GB를 초과할 수 없습니다.
   + 데이터 소스는 최대 200개의 열을 보유할 수 있습니다.

시나리오에 새 데이터를 추가한 후에 Amazon Q는 모든 새 분석에 데이터를 포함합니다.

## 미리 보기에서 데이터 편집
<a name="scenarios-data-edit-preview"></a>

시나리오에 사용할 Quick Sight 대시보드의 데이터를 선택하면 데이터에 대한 미리 보기가 생성되어 분석에 추가됩니다. 필요한 경우 미리 보기 상태에서 대시보드 데이터에 다음 변경 내용을 적용할 수 있습니다.
+ **필터** - 사용 가능한 데이터의 하위 세트만 분석하거나 시나리오에 포함된 행 수를 줄여야 하는 경우 데이터에 필터를 적용할 수 있습니다.
+ **정렬** - 사용 가능한 데이터가 100만 개 행을 초과하고 특정 열의 값 보존을 우선하려는 경우 필요에 맞게 데이터를 정렬할 수 있습니다.

## 스냅샷에서 데이터 편집
<a name="scenarios-data-edit-snapshot"></a>

시나리오에 대시보드 또는 외부 데이터를 추가하면 Quick Sight는 검토할 데이터 소스의 스냅샷을 생성합니다. 시나리오에 사용된 데이터의 스냅샷을 보려면 작업 표시줄에서 **데이터 소스** 아이콘을 선택하세요. 그러면 **데이터** 창이 열리고 검토하려는 데이터 스냅샷을 선택할 수 있습니다.

이 페이지에서 다음 작업을 수행할 수 있습니다.
+ 데이터 스냅샷의 제목을 업데이트하려면 제목 옆에 있는 연필 아이콘을 선택하고 스냅샷의 새 제목을 입력하세요.
+ **필터** 아이콘을 선택하여 시나리오에서 사용되는 데이터를 필터링하세요. 이 옵션은 시나리오에서 시나리오에 추가된 데이터의 하위 세트만 사용하도록 하려는 경우에 사용할 수 있습니다.
+ **정렬** 아이콘을 선택하여 시나리오에 사용되는 데이터를 정렬하세요. 데이터가 100만 개의 행을 초과하는 경우 이 옵션을 사용하여 특정 열의 보존 우선순위를 지정할 수 있습니다.
+ **필드 목록** 아이콘을 선택하여 시나리오에 포함되는 필드를 선택하세요. 이 옵션은 시나리오에서 사용되는 열을 제어하는 데 사용할 수 있습니다.

시나리오 데이터 업데이트가 완료되면 **데이터** 창을 닫으세요.

# Amazon Quick Sight 문제 해결
<a name="troubleshooting"></a>

 이 정보를 사용하여 Amazon Quick Sight 사용 시 발생할 수 있는 일반적인 문제를 진단하고 수정할 수 있습니다.

**참고**  
 도움이 필요하십니까? Amazon Quick Sight [사용자 커뮤니티](https://answers.quicksight.aws.amazon.com/sn/index.html) 또는 [AWS 포럼을 방문할 수 있습니다](https://forums.aws.amazon.com/). [Quick Sight 리소스 라이브러리](https://aws.amazon.com/quicksight/resource-library/)도 참조하세요.

**Topics**
+ [Amazon Quick Sight 문제 및 오류 메시지 해결](#quicksight-errors)
+ [Amazon Athena를 Amazon Quick Sight와 함께 사용할 때의 연결 문제](troubleshoot-athena.md)
+ [Amazon Quick Sight의 데이터 소스 연결 문제](troubleshoot-connect-to-datasources.md)
+ [Quick Sight 로그인 문제](troubleshoot-login.md)
+ [Quick Sight의 시각적 문제](visual-issues.md)

## Amazon Quick Sight 문제 및 오류 메시지 해결
<a name="quicksight-errors"></a>

문제가 있거나 오류 메시지가 표시되는 경우 몇 가지 방법으로 문제를 해결할 수 있습니다. 다음은 도움이 될 수 있는 몇 가지 리소스입니다.
+ 데이터 세트 수집(데이터 가져오기) 중 발생하는 오류에 대해서는 [SPICE 수집 오류 코드](errors-spice-ingestion.md) 단원을 참조하십시오.
+ 기술 사용자 질문은 [사용자 커뮤니티](https://answers.quicksight.aws.amazon.com/sn/index.html)를 방문하세요.
+ 관리자 질문은 [AWS 포럼](https://forums.aws.amazon.com/)을 방문하십시오.
+ 추가 사용자 지정 지원이 필요한 경우 AWS Support에 문의하세요. 에 로그인한 상태에서이 작업을 수행하려면 오른쪽 상단에서 **지원을** AWS 계정선택한 다음 **지원 센터를** 선택합니다.

# Amazon Athena를 Amazon Quick Sight와 함께 사용할 때의 연결 문제
<a name="troubleshoot-athena"></a>

아래에서 Amazon Quick Sight와 함께 Amazon Athena를 사용할 때 발생할 수 있는 문제 해결에 대한 정보를 찾을 수 있습니다.

Athena와 관련된 다른 문제를 해결하기 전에, Athena에 연결할 수 있는지 확인하세요. Athena 연결 문제 해결에 대한 자세한 내용은 [Amazon Athena에 연결할 수 없는 경우](troubleshoot-connect-athena.md) 단원을 참조하십시오.

연결할 수 있지만 다른 문제가 있는 경우 Amazon Quick Sight에 쿼리를 추가하기 전에 Athena 콘솔([https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home))에서 쿼리를 실행하는 것이 유용할 수 있습니다. 추가 문제 해결 정보는 Athena 사용 설명서의 [문제 해결](https://docs.aws.amazon.com/athena/latest/ug/troubleshooting.html)을 참조하십시오.

**Topics**
+ [Amazon Quick Sight에서 Athena를 사용할 때 열을 찾을 수 없음](troubleshoot-athena-column-not-found.md)
+ [Amazon Quick Sight에서 Athena를 사용할 때 잘못된 데이터](troubleshoot-athena-invalid-data.md)
+ [Amazon Quick Sight에서 Athena 사용 시 쿼리 제한 시간](troubleshoot-athena-query-timeout.md)
+ [Amazon Quick Sight에서 Athena를 사용할 때 스테이징 버킷이 더 이상 존재하지 않음](troubleshoot-athena-missing-bucket.md)
+ [Amazon Quick Sight에서 Athena AWS Glue 와 함께를 사용할 때 테이블이 호환되지 않음](troubleshoot-athena-glue-table-not-upgraded.md)
+ [Amazon Quick Sight에서 Athena를 사용할 때 테이블을 찾을 수 없음](troubleshoot-athena-table-not-found.md)
+ [Quick Sight에서 Athena 사용 시 작업 그룹 및 출력 오류](troubleshoot-athena-workgroup.md)

# Amazon Quick Sight에서 Athena를 사용할 때 열을 찾을 수 없음
<a name="troubleshoot-athena-column-not-found"></a>

분석에 있는 열이 Athena 데이터 소스에서 누락된 경우에는 "`column not found`" 오류가 발생할 수 있습니다.

Amazon Quick Sight에서 분석을 엽니다. **시각화** 탭에서 **데이터 세트 선택**, **분석 데이터 세트 편집**을 선택합니다.

**이 분석의 데이터 세트** 화면에서 데이터 세트 근처의 **편집**을 선택하여 데이터 세트를 새로 고칩니다. Amazon Quick Sight는 2분 동안 스키마를 캐싱합니다. 따라서 최근 내용이 표시되는 데 2분이 걸릴 수 있습니다.

열이 첫 번째 위치에 왜 없는지 알아보기 위해 Athena 콘솔([https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home))로 이동한 후 쿼리 기록을 확인하여 테이블을 편집한 쿼리를 찾을 수 있습니다.

미리 보기에서 사용자 지정 SQL 쿼리를 편집 중일 때 이 오류가 발생한 경우, 쿼리에서 열의 이름을 확인하고, 다른 구문 오류를 확인합니다. 예를 들면, 열 이름을 나중에 문자열에 사용할 수 있는 작은 따옴표로 묶지 않았는지 확인합니다.

그래도 문제가 지속되면 테이블, 열, 쿼리가 Athena 요구 사항을 준수하는지 확인하세요. 자세한 내용은 Athena 사용 설명서의 [테이블, 데이터베이스 및 열 이름](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html)과 [문제 해결](https://docs.aws.amazon.com/athena/latest/ug/troubleshooting.html)을 참조하세요.

# Amazon Quick Sight에서 Athena를 사용할 때 잘못된 데이터
<a name="troubleshoot-athena-invalid-data"></a>

계산된 필드에서 연산자나 함수를 사용할 때 잘못된 데이터 오류가 발생할 수 있습니다. 이 문제를 해결하려면, 테이블의 데이터가 함수에 제공한 형식과 일치하는지 확인합니다.

예를 들어, 함수 `parseDate(expression, [‘format’], [‘time_zone’])`을 **parseDate(date\$1column, ‘MM/dd/yyyy’)**로 사용하고 있다고 가정합니다. 이 경우, `date_column`의 모든 값은 `'MM/dd/yyyy'` 형식(`’05/12/2016’`)을 준수해야 합니다. 값이 하나라도 이 형식(**‘2016/12/05’**)이 아니면 오류가 발생할 수 있습니다.

# Amazon Quick Sight에서 Athena 사용 시 쿼리 제한 시간
<a name="troubleshoot-athena-query-timeout"></a>

쿼리 시간이 초과될 경우 다음 옵션을 사용하여 문제를 해결해 볼 수 있습니다.

분석을 수행하는 동안 오류가 발생한 경우 시각적 객체를 생성하기 위한 Amazon Quick Sight 제한 시간은 2분입니다. 사용자 지정 SQL 쿼리를 사용 중인 경우, 쿼리를 간소화하여 실행 시간을 최적화할 수 있습니다.

직접 쿼리 모드(SPICE 사용하지 않음)에서는 SPICE에 데이터 가져오기를 시도할 수 있습니다. 하지만 쿼리가 30분 제한 시간을 초과할 경우, 데이터를 SPICE에 가져오는 동안 또 다른 시간 초과가 발생할 수 있습니다. Athena 한도에 대한 최신 정보는AWS 일반 참조의 [Amazon Athena 한도](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#amazon-athena-limits)를 참조하세요.

# Amazon Quick Sight에서 Athena를 사용할 때 스테이징 버킷이 더 이상 존재하지 않음
<a name="troubleshoot-athena-missing-bucket"></a>

이 섹션은 "**이 쿼리 결과에 대한 스테이징 버킷이 기본 데이터 원본에 더 이상 존재하지 않습니다**" 오류를 해결하는 데 도움이 됩니다.

 Athena를 사용하여 데이터 세트를 생성하면 Amazon Quick Sight가 Amazon S3 버킷을 생성합니다. 기본적으로 이 버킷의 이름은 "`aws-athena-query-results-<REGION>-<ACCOUNTID>`"와 유사합니다. 이 버킷을 제거하면, 다음 Athena 쿼리에 실패하고 스테이징 버킷이 더 이상 존재하지 않는다는 메시지가 표시될 수 있습니다.

 이 오류를 해결하려면, 올바른 AWS 리전에서 같은 이름으로 새 버킷을 생성하세요.

# Amazon Quick Sight에서 Athena AWS Glue 와 함께를 사용할 때 테이블이 호환되지 않음
<a name="troubleshoot-athena-glue-table-not-upgraded"></a>

Amazon Quick Sight와 함께 Athena에서 AWS Glue 테이블을 사용할 때 오류가 발생하는 경우 일부 메타데이터가 누락되었기 때문일 수 있습니다. 다음 단계에 따라 Athena 커넥터가 작동하는 데 Amazon Quick Sight에 필요한 `TableType` 속성이 테이블에 없는지 확인합니다. 일반적으로 이러한 테이블의 메타데이터는 AWS Glue 데이터 카탈로그로 마이그레이션되지 않았습니다. 자세한 내용은 AWS Glue 개발자 안내서의 [AWS Glue 단계별 데이터 카탈로그 업그레이드](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html)를 참조하세요.

현재 AWS Glue 데이터 카탈로그로 마이그레이션하지 않으려면 두 가지 옵션이 있습니다. AWS Glue Management Console을 통해 각 AWS Glue 테이블을 다시 생성할 수 있습니다. 또는 다음 절차에 나열된 AWS CLI 스크립트를 사용하여 `TableType` 속성이 누락된 테이블을 식별하고 업데이트할 수 있습니다.

CLI를 사용하여 이 작업을 수행하기를 선호하는 경우, 다음 절차를 사용하면 스크립트를 쉽게 디자인할 수 있습니다.

**CLI를 사용하여 스크립트 설계**

1. CLI를 사용하여 `TableType` 속성이 없는 AWS Glue 테이블을 알아봅니다.

   ```
   aws glue get-tables --database-name <your_datebase_name>;
   ```

   예를 들어, CLI에서 다음 명령을 실행할 수 있습니다.

   ```
   aws glue get-table --database-name "test_database" --name "table_missing_table_type"
   ```

   다음은 출력 샘플입니다. 테이블의 `"table_missing_table_type"`에 `TableType` 속성이 선언되지 않은 것을 알 수 있습니다.

   ```
   {
   		"TableList": [
   			{
   				"Retention": 0,
   				"UpdateTime": 1522368588.0,
   				"PartitionKeys": [
   					{
   						"Name": "year",
   						"Type": "string"
   					},
   					{
   						"Name": "month",
   						"Type": "string"
   					},
   					{
   						"Name": "day",
   						"Type": "string"
   					}
   				],
   				"LastAccessTime": 1513804142.0,
   				"Owner": "owner",
   				"Name": "table_missing_table_type",
   				"Parameters": {
   					"delimiter": ",",
   					"compressionType": "none",
   					"skip.header.line.count": "1",
   					"sizeKey": "75",
   					"averageRecordSize": "7",
   					"classification": "csv",
   					"objectCount": "1",
   					"typeOfData": "file",
   					"CrawlerSchemaDeserializerVersion": "1.0",
   					"CrawlerSchemaSerializerVersion": "1.0",
   					"UPDATED_BY_CRAWLER": "crawl_date_table",
   					"recordCount": "9",
   					"columnsOrdered": "true"
   				},
   				"StorageDescriptor": {
   					"OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat",
   					"SortColumns": [],
   					"StoredAsSubDirectories": false,
   					"Columns": [
   						{
   							"Name": "col1",
   							"Type": "string"
   						},
   						{
   							"Name": "col2",
   							"Type": "bigint"
   						}
   					],
   					"Location": "s3://myAthenatest/test_dataset/",
   					"NumberOfBuckets": -1,
   					"Parameters": {
   						"delimiter": ",",
   						"compressionType": "none",
   						"skip.header.line.count": "1",
   						"columnsOrdered": "true",
   						"sizeKey": "75",
   						"averageRecordSize": "7",
   						"classification": "csv",
   						"objectCount": "1",
   						"typeOfData": "file",
   						"CrawlerSchemaDeserializerVersion": "1.0",
   						"CrawlerSchemaSerializerVersion": "1.0",
   						"UPDATED_BY_CRAWLER": "crawl_date_table",
   						"recordCount": "9"
   					},
   					"Compressed": false,
   					"BucketColumns": [],
   					"InputFormat": "org.apache.hadoop.mapred.TextInputFormat",
   					"SerdeInfo": {
   						"Parameters": {
   						"field.delim": ","
   						},
   						"SerializationLibrary": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
   					}
   				}
   			}
   		]
   	}
   ```

1. 다음 예제와 같이 편집기에서 테이블 정의를 편집하여 `"TableType": "EXTERNAL_TABLE"`을 테이블 정의에 추가합니다.

   ```
   {
   	"Table": {
   		"Retention": 0,
   		"TableType": "EXTERNAL_TABLE",
   		"PartitionKeys": [
   			{
   				"Name": "year",
   				"Type": "string"
   			},
   			{
   				"Name": "month",
   				"Type": "string"
   			},
   			{
   				"Name": "day",
   				"Type": "string"
   			}
   		],
   		"UpdateTime": 1522368588.0,
   		"Name": "table_missing_table_type",
   		"StorageDescriptor": {
   			"BucketColumns": [],
   			"SortColumns": [],
   			"StoredAsSubDirectories": false,
   			"OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat",
   			"SerdeInfo": {
   				"SerializationLibrary": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe",
   				"Parameters": {
   					"field.delim": ","
   				}
   			},
   			"Parameters": {
   				"classification": "csv",
   				"CrawlerSchemaSerializerVersion": "1.0",
   				"UPDATED_BY_CRAWLER": "crawl_date_table",
   				"columnsOrdered": "true",
   				"averageRecordSize": "7",
   				"objectCount": "1",
   				"sizeKey": "75",
   				"delimiter": ",",
   				"compressionType": "none",
   				"recordCount": "9",
   				"CrawlerSchemaDeserializerVersion": "1.0",
   				"typeOfData": "file",
   				"skip.header.line.count": "1"
   			},
   			"Columns": [
   				{
   					"Name": "col1",
   					"Type": "string"
   				},
   				{
   					"Name": "col2",
   					"Type": "bigint"
   				}
   			],
   			"Compressed": false,
   			"InputFormat": "org.apache.hadoop.mapred.TextInputFormat",
   			"NumberOfBuckets": -1,
   			"Location": "s3://myAthenatest/test_date_part/"
   		},
   		"Owner": "owner",
   		"Parameters": {
   			"classification": "csv",
   			"CrawlerSchemaSerializerVersion": "1.0",
   			"UPDATED_BY_CRAWLER": "crawl_date_table",
   			"columnsOrdered": "true",
   			"averageRecordSize": "7",
   			"objectCount": "1",
   			"sizeKey": "75",
   			"delimiter": ",",
   			"compressionType": "none",
   			"recordCount": "9",
   			"CrawlerSchemaDeserializerVersion": "1.0",
   			"typeOfData": "file",
   			"skip.header.line.count": "1"
   		},
   		"LastAccessTime": 1513804142.0
   	}
   	}
   ```

1. 다음 스크립트를 조정하여 `TableType` 속성이 포함되도록 테이블 입력을 업데이트할 수 있습니다.

   ```
   aws glue update-table --database-name <your_datebase_name> --table-input <updated_table_input>
   ```

   다음은 그 한 예입니다.

   ```
   aws glue update-table --database-name test_database --table-input '
   	{
   			"Retention": 0,
   			"TableType": "EXTERNAL_TABLE",
   			"PartitionKeys": [
   				{
   					"Name": "year",
   					"Type": "string"
   				},
   				{
   					"Name": "month",
   					"Type": "string"
   				},
   				{
   					"Name": "day",
   					"Type": "string"
   				}
   			],
   			"Name": "table_missing_table_type",
   			"StorageDescriptor": {
   				"BucketColumns": [],
   				"SortColumns": [],
   				"StoredAsSubDirectories": false,
   				"OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat",
   				"SerdeInfo": {
   					"SerializationLibrary": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe",
   					"Parameters": {
   						"field.delim": ","
   					}
   				},
   				"Parameters": {
   					"classification": "csv",
   					"CrawlerSchemaSerializerVersion": "1.0",
   					"UPDATED_BY_CRAWLER": "crawl_date_table",
   					"columnsOrdered": "true",
   					"averageRecordSize": "7",
   					"objectCount": "1",
   					"sizeKey": "75",
   					"delimiter": ",",
   					"compressionType": "none",
   					"recordCount": "9",
   					"CrawlerSchemaDeserializerVersion": "1.0",
   					"typeOfData": "file",
   					"skip.header.line.count": "1"
   				},
   				"Columns": [
   					{
   						"Name": "col1",
   						"Type": "string"
   					},
   					{
   						"Name": "col2",
   						"Type": "bigint"
   					}
   				],
   				"Compressed": false,
   				"InputFormat": "org.apache.hadoop.mapred.TextInputFormat",
   				"NumberOfBuckets": -1,
   				"Location": "s3://myAthenatest/test_date_part/"
   			},
   			"Owner": "owner",
   			"Parameters": {
   				"classification": "csv",
   				"CrawlerSchemaSerializerVersion": "1.0",
   				"UPDATED_BY_CRAWLER": "crawl_date_table",
   				"columnsOrdered": "true",
   				"averageRecordSize": "7",
   				"objectCount": "1",
   				"sizeKey": "75",
   				"delimiter": ",",
   				"compressionType": "none",
   				"recordCount": "9",
   				"CrawlerSchemaDeserializerVersion": "1.0",
   				"typeOfData": "file",
   				"skip.header.line.count": "1"
   			},
   			"LastAccessTime": 1513804142.0
   		}'
   ```

# Amazon Quick Sight에서 Athena를 사용할 때 테이블을 찾을 수 없음
<a name="troubleshoot-athena-table-not-found"></a>

분석에 있는 테이블이 Athena 데이터 소스에서 누락된 경우에는 "`table not found`" 오류가 발생할 수 있습니다.

Athena 콘솔([https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home))에서 해당 스키마 아래에 있는 테이블을 확인합니다. Athena에서 테이블을 다시 생성한 다음 해당 테이블의 Amazon Quick Sight에서 새 데이터 세트를 생성할 수 있습니다. 테이블이 첫 번째 위치에 왜 없는지 알아보기 위해 Athena 콘솔을 사용하여 쿼리 기록을 확인할 수 있습니다. 이렇게 하면 테이블을 삭제했던 쿼리를 찾을 수 있습니다.

미리 보기에서 사용자 지정 SQL 쿼리를 편집 중일 때 이 오류가 발생한 경우 쿼리에서 테이블의 이름을 확인하고 다른 구문 오류를 확인합니다. Amazon Quick Sight는 쿼리에서 스키마를 추론할 수 없습니다. 스키마를 쿼리에 지정해야 합니다.

다음 명령문을 예로 들어 보겠습니다.

```
select from my_schema.my_table
```

다음 명령문은 스키마가 누락되어 있어 실패합니다.

```
select from my_table
```

그래도 문제가 지속되면 테이블, 열, 쿼리가 Athena 요구 사항을 준수하는지 확인하세요. 자세한 내용은 Athena 사용 설명서의 [테이블, 데이터베이스 및 열 이름](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html)과 [문제 해결](https://docs.aws.amazon.com/athena/latest/ug/troubleshooting.html)을 참조하세요.

# Quick Sight에서 Athena 사용 시 작업 그룹 및 출력 오류
<a name="troubleshoot-athena-workgroup"></a>

작업 그룹이 제대로 설정되었는지 확인하려면 다음 설정을 확인하십시오.
+ 데이터 소스에 연결된 Athena 작업 그룹이 존재해야 합니다.

  이 문제를 해결하려면, Athena 데이터 원본 설정으로 돌아가 다른 작업 그룹을 선택하면 됩니다. 자세한 내용은 Athena 사용 설명서에서 [작업 그룹 설정](https://docs.aws.amazon.com/athena/latest/ug/workgroups-procedure.html)을 참조하세요.

  또 다른 해결 방법은 AWS 계정 관리자가 Athena 콘솔에서 작업 그룹을 다시 생성하도록 하는 것입니다.
+ **데이터 소스에 연결된 Athena 작업 그룹을 활성화해야 합니다.**

   AWS 계정 관리자는 Athena 콘솔에서 작업 그룹을 활성화해야 합니다. 다음 다이렉트 링크 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)를 사용하여 Athena 콘솔을 엽니다. 그런 다음 **Workgroup(작업 그룹)** 패널에서 적절한 작업 그룹을 선택하고 해당 설정을 보십시오. **작업 그룹 활성화**를 선택하세요.
+ **Athena 작업 그룹에 연결된 Amazon S3 출력 위치에 대한 액세스 권한이 있어야 합니다.**

  Amazon Quick Sight에 S3 출력 위치에 액세스할 수 있는 권한을 부여하기 위해 Amazon Quick Sight 관리자는 ** QuickSight 관리** 화면에서 **보안 및 권한을** 편집할 수 있습니다.
+ **Athena 작업 그룹에 S3 출력 위치가 연결되어 있어야 합니다.**

   AWS 계정 관리자는 S3 버킷을 Athena 콘솔의 작업 그룹과 연결해야 합니다. 다음 다이렉트 링크 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)를 사용하여 Athena 콘솔을 엽니다. 그런 다음 **Workgroup(작업 그룹)** 패널에서 적절한 작업 그룹을 선택하고 해당 설정을 보십시오. **쿼리 결과 위치**를 설정하세요.

# Amazon Quick Sight의 데이터 소스 연결 문제
<a name="troubleshoot-connect-to-datasources"></a>

다음 섹션에서는 데이터 소스에 대한 연결 문제를 해결하는 데 도움을 주는 내용에 대해 알아봅니다. 계속하기 전에 데이터베이스가 현재 사용 가능한지 확인합니다. 또한 올바른 연결 정보 및 유효한 자격 증명이 있는지 확인하십시오.

**Topics**
+ [내 데이터 소스 연결 옵션이 적절함에도 불구하고(SSL) 연결할 수 없는 경우](troubleshoot-connect-SSL.md)
+ [Amazon Athena에 연결할 수 없는 경우](troubleshoot-connect-athena.md)
+ [Amazon S3에 연결할 수 없는 경우](troubleshoot-connect-S3.md)
+ [기존 Adobe Analytics 데이터 소스에서 데이터 세트를 만들거나 새로 고칠 수 없는 경우](troubleshoot-connect-adobe-analytics.md)
+ [내 데이터 소스에 대한 연결을 확인하거나, 데이터 소스 설정을 변경해야 하는 경우](troubleshoot-connect-validate.md)
+ [MySQL에 연결할 수 없는 경우(SSL 및 인증 문제)](troubleshoot-connect-mysql.md)
+ [RDS에 연결할 수 없는 경우](troubleshoot-connect-RDS.md)

# 내 데이터 소스 연결 옵션이 적절함에도 불구하고(SSL) 연결할 수 없는 경우
<a name="troubleshoot-connect-SSL"></a>

사용자 보안 소켓 계층(SSL)이 잘못 구성된 경우 연결 문제가 발생할 수 있습니다. 증상에는 다음이 포함될 수 있습니다.
+ 다른 방법으로 또는 다른 위치에서 데이터베이스에 연결할 수 있으나 이 경우에는 해당되지 않습니다.
+ 이 데이터베이스 외에 비슷한 데이터베이스에 연결할 수 있습니다.

계속하기 전에 다음과 같은 상황을 배제하십시오.
+ 권한 문제
+ 가용성 문제
+ 만료되었거나 잘못된 인증서
+ 자체 서명된 인증서
+ 인증서 체인의 순서가 잘못됨
+ 포트가 활성화되지 않음
+ 특정 IP 주소를 차단하는 방화벽
+ WebSocket이 차단됨
+ Virtual Private Cloud(VPC) 또는 보안 그룹이 올바르게 구성되지 않았습니다.

SSL 관련 문제를 찾기 위한 도움을 받기 위해 온라인 SSL 확인 프로그램 또는 OpenSSL 같은 도구를 사용할 수 있습니다.

 다음 단계에서는 SSL이 의심되는 연결 문제 해결 과정을 안내합니다. 이 예에서는 관리자가 OpenSSL을 이미 설치했습니다.

**Example**  

1. 사용자가 데이터베이스에 대한 연결 문제를 발견합니다. 해당 사용자가 다른 AWS 리전의 다른 데이터베이스에 연결할 수 있음을 확인합니다. 동일한 데이터베이스의 다른 버전을 확인하고 쉽게 연결할 수 있습니다.

1. 관리자가 문제를 검토하고 인증서가 올바르게 작동하고 있는지 확인하기로 결정합니다. 관리자는 SSL 연결 문제를 해결하거나 디버그하기 위해 OpenSSL 사용에 대한 문서를 온라인으로 검색합니다.

1. OpenSSL을 사용하여 관리자가 터미널에서 SSL 구성을 확인합니다.

   ```
   echo quit
   openssl s_client –connect <host>:port
   ```

   결과에 인증서가 작동하지 않는다고 표시됩니다.

   ```
   ...
   ...
   ...
   CONNECTED(00000003)
   012345678901234:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:782:
   ---
   no peer certificate available
   ---
   No client certificate CA names sent
   ---
   SSL handshake has read 7 bytes and written 278 bytes
   ---
   New, (NONE), Cipher is (NONE)
   Secure Renegotiation IS NOT supported
   SSL-Session:
       Protocol  : TLSv1.2
       Cipher    : 0000
       Session-ID:
       Session-ID-ctx:
       Master-Key:
       Key-Arg   : None
       PSK identity: None
       PSK identity hint: None
       Start Time: 1497569068
       Timeout   : 300 (sec)
       Verify return code: 0 (ok)
   ---
   ```

1. 관리자가 사용자의 데이터베이스 서버에 SSL 인증서를 설치하여 문제를 수정합니다.

이 예의 솔루션에 대한 자세한 내용은 Amazon RDS 사용 설명서에서 [SSL을 사용하여 DB 인스턴스에 대한 연결 암호화](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)를 참조하십시오.

# Amazon Athena에 연결할 수 없는 경우
<a name="troubleshoot-connect-athena"></a>


|  | 
| --- |
|    대상:  Amazon Quick 관리자  | 

이 섹션에서는 Athena에 대한 연결 문제를 해결하는 데 도움을 주는 내용에 대해 알아봅니다.

Amazon Athena에 연결할 수 없는 경우, 쿼리를 실행할 때 권한이 구성되지 않았음을 나타내는 권한 부족 오류가 발생할 수 있습니다. Amazon Quick Sight를 Athena에 연결할 수 있는지 확인하려면 다음 설정을 확인하세요.
+ AWS Amazon Quick Sight 내부의 리소스 권한
+ AWS Identity and Access Management (IAM) 정책
+ Amazon S3 위치
+ 쿼리 결과 위치
+ AWS KMS 키 정책(암호화된 데이터 세트만 해당)

자세한 내용은 다음을 참조하십시오. 다른 Athena 문제 해결에 대한 자세한 내용은 [Amazon Athena를 Amazon Quick Sight와 함께 사용할 때의 연결 문제](troubleshoot-athena.md) 단원을 참조하세요.

## Athena를 사용하도록 Amazon Quick Sight에 권한을 부여했는지 확인합니다.
<a name="troubleshoot-connect-athena-authorizing"></a>


|  | 
| --- |
|    대상:  Amazon Quick 관리자  | 

다음 절차에 따라 Amazon Quick Sight가 Athena를 사용하도록 성공적으로 승인했는지 확인합니다. AWS 리소스에 대한 권한은 모든 Amazon Quick Sight 사용자에게 적용됩니다.

이 작업을 수행하려면 Amazon Quick Sight 관리자여야 합니다. 액세스 권한이 있는지 확인하려면, 오른쪽 상단의 프로필에서 메뉴를 열 때 **QuickSight 관리** 옵션이 표시되는지 확인하세요.

**Amazon Quick Sight가 Athena에 액세스하도록 승인하려면**

1. 프로필 이름을 선택하세요(우측 상단). **Quick Sight 관리를** 선택한 다음 사용자 **지정 권한** 섹션까지 아래로 스크롤합니다.

1. **AWS 리소스를** 선택한 다음 **추가 또는 제거**를 선택합니다.

1. 목록에서 Athena를 찾으세요. Athena 옆의 상자를 지운 다음, 다시 선택하면 Athena가 활성화됩니다.

   그런 다음 **모두 연결**을 선택하십시오.

1. Amazon Quick Sight에서 액세스하려는 버킷을 선택합니다.

   여기에서 액세스하는 S3 버킷의 설정은 목록에서 Amazon S3를 선택하여 액세스하는 것과 동일합니다 AWS 서비스. 다른 사람이 사용하는 버킷을 실수로 비활성화하지 않도록 주의하세요.

1. **종료**를 선택하여 선택 사항을 확인합니다. 또는 저장하지 않고 종료하려면 **취소**를 선택합니다.

   

1. **업데이트를** 선택하여 Amazon Quick Sight 액세스에 대한 새 설정을 저장합니다 AWS 서비스. 또는 변경하지 않고 종료하려면 **취소**를 선택하세요.

1. 작업을 마쳤 AWS 리전 을 때 올바른를 사용하고 있는지 확인합니다.

   이 프로세스의 첫 번째 단계에서 AWS 리전 를 변경해야 하는 경우 이전에 사용 AWS 리전 했던 로 다시 변경합니다.

## IAM 정책이 올바른 권한을 부여하는지 확인하세요.
<a name="troubleshoot-connect-athena-perms"></a>


|  | 
| --- |
|    대상:  시스템 관리자  | 

 AWS Identity and Access Management (IAM) 정책은 특정 작업에 대한 권한을 부여해야 합니다. IAM 사용자 또는 역할은 Athena에서 쿼리에 사용하는 S3 버킷의 입력과 출력을 모두 읽고 쓸 수 있어야 합니다.

데이터 세트가 암호화된 경우 IAM 사용자는 지정된 키 정책의 AWS KMS 키 사용자여야 합니다.

**IAM 정책에 쿼리에 S3 버킷을 사용할 권한이 있는지 확인**

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 사용 중인 IAM 사용자나 역할을 찾습니다. 연결된 정책을 표시할 사용자 또는 역할 이름을 선택합니다.

1. 정책에 올바른 권한이 있는지 확인하세요. 확인할 정책을 선택한 다음 **정책 편집**을 선택합니다. 기본적으로 열리는 시각적 편집기를 사용합니다. JSON 편집기가 대신 열리는 경우 **시각적 편집기** 탭을 선택합니다.

1. 목록에서 내용을 표시할 S3 항목을 선택합니다. 정책에서 열거, 읽기 및 쓰기 권한을 부여해야 합니다. S3가 목록에 없거나 올바른 권한이 없는 경우 여기서 추가할 수 있습니다.

Quick Sight에서 작동하는 IAM 정책의 예는 섹션을 참조하세요[Quick에 대한 IAM 정책 예제](iam-policy-examples.md).

## IAM 사용자에게 S3 위치에 대한 읽기 및 쓰기 액세스 권한이 있는지 확인하세요.
<a name="troubleshoot-connect-athena-read-write-access"></a>


|  | 
| --- |
|    대상:  Amazon Quick 관리자  | 

Quick Sight에서 Athena 데이터에 액세스하려면 먼저 ** QuickSight 관리** 화면에서 Athena와 해당 S3 위치가 승인되었는지 확인합니다. 자세한 내용은 [Athena를 사용하도록 Amazon Quick Sight에 권한을 부여했는지 확인합니다.](#troubleshoot-connect-athena-authorizing) 단원을 참조하십시오.

다음으로 관련 IAM 권한을 확인하세요. Athena 연결을 위한 IAM 사용자는 결과가 저장되는 S3 위치에 대한 읽기 및 쓰기 액세스 권한이 필요합니다. 먼저 IAM 사용자에게 `AmazonAthenaFullAccess`와 같이 [Athena에 대한 액세스를 허용](https://docs.aws.amazon.com/athena/latest/ug/setting-up.html#attach-managed-policies-for-using-ate)하는 연결된 정책이 있는지 확인합니다. Athena가 필요한 이름을 사용하여 버킷을 생성한 다음, QuickSight가 액세스할 수 있는 버킷 목록에 해당 버킷을 추가하세요. 결과 버킷(`aws-athena-query-results-*`)의 기본 위치를 변경하는 경우, IAM 사용자에게 새 위치에 대한 읽기 및 쓰기 권한이 있는지 확인하세요.

S3 URL에 AWS 리전 코드를 포함하지 않는지 확인합니다. 예를 들어, `s3://awsexamplebucket/path`는 사용할 수 있지만 `s3://us-east-1.amazonaws.com/awsexamplebucket/path`는 사용할 수 없습니다. 잘못된 S3 URL을 사용하면 `Access Denied` 오류가 발생합니다.

또한 버킷 정책과 객체 액세스 제어 목록(ACL)에서 [IAM 사용자가 버킷의 객체에 액세스할 수 있도록 허용](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)하는지도 확인하세요. IAM 사용자가 다른에 있는 경우 *Amazon Athena 사용 설명서*의 [교차 계정 액세스를](https://docs.aws.amazon.com/athena/latest/ug/cross-account-permissions.html) AWS 계정참조하세요.

데이터 세트가 암호화된 경우 IAM 사용자가 지정된 키의 정책에서 AWS KMS 키 사용자인지 확인합니다. [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) AWS KMS 콘솔에서이 작업을 수행할 수 있습니다.

**Athena 쿼리 결과 위치에 대한 권한 설정**

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)에서 Athena 콘솔을 엽니다.

1. 사용할 작업 그룹을 선택했는지 확인하세요.
   + 상단의 **작업 그룹** 옵션을 살펴보세요. **작업 그룹: *그룹-이름*** 형식입니다. 그룹 이름을 사용하려는 경우, 다음 단계로 건너뛰세요.
   + 다른 작업 그룹을 선택하려면, 상단에서 **작업 그룹**을 선택하세요. 사용할 작업 그룹을 선택하고 **작업 그룹 전환**을 선택합니다.

1. 오른쪽 상단에서 **설정**을 선택합니다.

   (일반적이지는 않음) 작업 그룹을 찾을 수 없다는 오류가 발생하는 경우 다음 단계를 사용해 문제를 해결합니다.

   1.  지금은 오류 메시지를 무시하고, 대신 **설정** 페이지에서 **작업 그룹: *그룹-이름***을 찾아보세요. 작업 그룹 이름은 하이퍼링크입니다. 여세요.

   1. **작업 그룹:*<groupname>*** 페이지에서 왼쪽의 **작업 그룹 편집**을 선택합니다. 이제 오류 메시지를 닫습니다.

   1. **쿼리 결과 위치** 근처에서 파일 폴더 아이콘이 있는 **선택** 버튼을 선택하여 S3 위치 선택기를 여세요.

   1. Athena의 S3 위치 이름 끝에 있는 작은 화살표를 선택하세요. 이름은 `aws-athena-query-results`(으)로 시작해야 합니다.

   1. (선택 사항) **S3에 저장된 결과 암호화** 확인란을 선택하여 쿼리 결과를 암호화하세요.

   1. 그런 다음 **저장**을 선택해 변경 사항을 확인하세요.

   1. 오류가 다시 나타나지 않으면 **설정**으로 돌아가세요.

      경우에 따라 오류가 다시 나타날 수 있습니다. 이 작업을 수행하려면 다음 단계를 수행하세요.

      1. 작업 그룹을 선택한 후 **세부 정보 보기**를 선택하세요.

      1. (선택 사항) 설정을 보존하려면, 작업 그룹 구성을 메모하거나 스크린샷을 찍어 두세요.

      1. **작업 그룹 생성**을 선택합니다.

      1. 작업 그룹을 새 작업 그룹으로 교체합니다. 올바른 S3 위치 및 암호화 옵션을 구성합니다. 나중에 필요하므로 S3 위치를 적어 둡니다.

      1. **저장**을 선택하여 계속 진행하세요.

      1. 원본 작업 그룹이 더 이상 필요 없는 경우, 사용하지 않도록 설정합니다. 비활성화할 경우 어떤 손실이 발생하는지 알려주기 때문에, 표시되는 경고를 주의 깊게 읽어 보세요.

1. 이전 단계의 문제 해결로도 이 문제가 해결되지 않은 경우, 오른쪽 상단의 **설정**을 선택하고 S3 위치 값이 **쿼리 결과 위치**로 표시되도록 하세요.

1. **쿼리 결과 암호화**를 활성화한 경우, SSE-KMS 또는 CSE-KMS를 사용할지 여부를 선택하세요. 키를 적어 둡니다.

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 열고, 올바른 버킷을 연 다음 **권한** 탭을 선택하세요.

1. **버킷 정책**을 확인하여 IAM 사용자에게 액세스 권한이 있는지 확인하세요.

   ACL로 액세스를 관리하는 경우, **액세스 제어 목록**을 확인하여 액세스 제어 목록(ACL)이 설정되어 있는지 확인하세요.

1. 데이터 세트가 암호화된 경우(작업 그룹 설정에서 **쿼리 결과 암호화**가 선택됨) IAM 사용자 또는 역할이 해당 AWS KMS 키의 정책에 키 사용자로 추가되었는지 확인합니다. [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) AWS KMS 설정에 액세스할 수 있습니다.

**Athena가 사용하는 S3 버킷에 액세스 권한 부여**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. **쿼리 결과 위치**에서 Athena가 사용하는 S3 버킷을 선택하세요.

1. **권한** 탭에서 권한을 확인합니다.

자세한 내용은 AWS 지원 문서를 참조[하세요. Athena 쿼리를 실행하면 "액세스 거부" 오류가 발생합니다](https://aws.amazon.com/premiumsupport/knowledge-center/access-denied-athena/).

# Amazon S3에 연결할 수 없는 경우
<a name="troubleshoot-connect-S3"></a>

Amazon S3에 성공적으로 연결하려면, 인증을 구성하고 액세스하려고 시도 중인 버킷 내부에 유효한 매니페스트 파일을 생성하세요. 또한 매니페스트 파일에서 설명한 파일을 사용할 수 있는지 확인하세요.

인증을 확인하려면 S3 계정에 액세스할 수 있도록 Amazon Quick Sight에 권한을 부여해야 합니다. 사용자인 자신에게 권한이 있다는 것만으로는 충분하지 않습니다. Amazon Quick Sight는 별도로 승인되어야 합니다.

**Amazon Quick Sight가 Amazon S3 버킷에 액세스할 수 있도록 승인하려면**

1. 오른쪽 상단의 AWS 리전 목록에서 미국 동부(버지니아 북부) 리전을 선택합니다. 계정 권한을 편집하는 동안이 기능을 AWS 리전 일시적으로 사용합니다.

1. Amazon Quick Sight 내에서 프로필 이름(오른쪽 상단)을 선택합니다. **Quick Sight 관리를** 선택한 다음 사용자 **지정 권한** 섹션까지 아래로 스크롤합니다.

1. **AWS 리소스를** 선택한 다음 **추가 또는 제거**를 선택합니다.

1. 목록에서 Amazon S3를 찾습니다. 다음 작업 중 하나를 선택해서 S3 버킷을 선택할 수 있는 화면을 여세요.
   + 확인란의 선택을 취소한 경우, Amazon S3 옆에 있는 확인란을 선택하세요.
   + 확인란이 이미 활성화된 경우, **세부 정보**를 선택한 다음 **S3 버킷 선택**을 선택하세요.

1. Amazon Quick Sight에서 액세스하려는 버킷을 선택합니다. 그런 다음 **선택**을 선택합니다.

1. **업데이트**를 선택합니다.

1. 이 프로세스의 첫 번째 단계에서 AWS 리전 를 변경한 경우 다시 사용하려는 AWS 리전 로 변경합니다.

매니페스트 파일이 유효한지 확인하는 것이 좋습니다. Amazon Quick Sight가 파일을 구문 분석할 수 없는 경우 오류 메시지가 표시됩니다. 이는 "매니페스트 파일을 유효한 JSON으로 파싱할 수 없습니다" 또는 "S3 버킷에 연결할 수 없습니다"와 같은 것일 수도 있습니다.

**매니페스트 파일 확인**

1. 매니페스트 파일을 엽니다. Amazon S3 콘솔 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 직접 이 작업을 수행할 수 있습니다. 매니페스트 파일로 이동하여 **열기**를 선택하세요.

1. 매니페스트 파일 내부에 제공된 URI 또는 URL이 연결하려는 파일을 가리키는지 확인합니다.

1. 파일을 업로드하는 대신 매니페스트 파일에 대한 링크를 사용한 경우 매니페스트 파일이 올바르게 구성되었는지 확인합니다. 링크에는 `.json` 다음에 추가 문구가 위치할 수 없습니다. S3 콘솔의 세부 정보에서 **링크** 값을 확인해 S3 파일에 대한 올바른 링크를 얻을 수 있습니다.

1. 매니페스트 파일의 내용이 유효한지 확인하려면 [https://jsonlint.com](https://jsonlint.com)에 있는 것과 비슷한 JSON 검사기를 사용합니다.

1. 버킷 또는 파일에서 권한을 확인합니다. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서, Amazon S3 버킷으로 이동하여 **권한** 탭을 선택한 다음, 적절한 권한을 추가하세요. 버킷이나 파일(들)의 권한이 적절한 수준인지 확인합니다.

1. `https://` 대신에 `s3://` 프로토콜을 사용하는 경우 직접 버킷을 참조하는지 확인합니다. 예를 들어, *s3://s3-us-west-2.amazonaws.com/awsexamplebucket/myfile.csv* 대신 *s3://awsexamplebucket/myfile.csv*를 사용합니다. `s3://`뿐만 아니라 `s3-us-west-2.amazonaws.com`도 사용하여 Amazon S3를 두 번 지정하면 오류가 발생합니다.

   매니페스트 파일 및 Amazon S3 연결에 대한 자세한 내용은 [Amazon S3 매니페스트 파일에 지원되는 형식](supported-manifest-file-format.md)을(를) 참조하세요.

여기에 더해, Amazon S3 데이터 세트가 [Amazon S3 파일을 사용하여 데이터 세트 생성](create-a-data-set-s3.md)의 단계에 따라 생성되었는지 확인합니다.

Athena를 사용하여 Amazon S3에 연결하려면, [Amazon Athena에 연결할 수 없는 경우](troubleshoot-connect-athena.md)을(를) 참조하세요.

# 기존 Adobe Analytics 데이터 소스에서 데이터 세트를 만들거나 새로 고칠 수 없는 경우
<a name="troubleshoot-connect-adobe-analytics"></a>

2022년 5월 1일부터 Quick Sight는 Adobe Analytics에서 레거시 OAuth 및 버전 1.3과 SOAP API 작업을 더 이상 지원하지 않습니다. 기존 Adobe Analytics 데이터 소스에서 데이터 세트를 만들거나 새로 고치려고 할 때 오류가 발생하는 경우, 액세스 토큰이 유효하지 않을 수 있습니다.

**기존 Adobe Analytics 데이터 소스에서 데이터 세트를 만들거나 새로 고칠 때 발생하는 문제 해결**

1. Quick Sight를 열고 왼쪽에서 **데이터를** 선택합니다.

1. **새로 만들기**를 선택한 다음 **데이터 세트를** 선택합니다.

1. **데이터 세트 생성** 페이지의 기존 데이터 소스 목록에서 업데이트할 Adobe Analytics 데이터 소스를 선택합니다.

1. **데이터 소스 편집**을 선택합니다.

1. **Adobe Analytics 데이터 소스 편집** 페이지가 열리면, **데이터 소스 업데이트**를 선택하여 Adobe Analytics 연결을 재승인합니다.

1. 데이터 세트를 다시 만들거나 새로 고침을 하세요. 데이터 세트 생성 또는 새로 고침이 성공해야 합니다.

# 내 데이터 소스에 대한 연결을 확인하거나, 데이터 소스 설정을 변경해야 하는 경우
<a name="troubleshoot-connect-validate"></a>

경우에 따라 데이터 소스를 업데이트해야 하거나, 연결 오류가 발생하여 설정을 확인해야 할 수 있습니다. 그렇다면 다음 단계를 수행하세요.

**데이터 소스에 대한 연결 확인**

1. Quick Sight 홈페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **새로 만들기**를 선택한 다음 **데이터 세트를** 선택합니다.

1. 기존 데이터 소스 목록이 표시됩니다.

1. 테스트하거나 변경하려는 데이터 소스를 선택하세요.

1. 옵션이 제공된 경우 **데이터 편집 및 미리보기**를 선택하세요.

1. **연결 확인**을 선택하세요.

1. 원하는 변경을 한 다음 **데이터 소스 업데이트**를 선택합니다.

# MySQL에 연결할 수 없는 경우(SSL 및 인증 문제)
<a name="troubleshoot-connect-mysql"></a>

MySQL에서 일부 공통된 연결 문제를 확인하려면 다음 단계를 따릅니다. 이 절차는 SSL을 활성화했고 사용 권한을 부여했는지 확인하는 데 도움이 됩니다.

**MySQL의 몇 가지 일반적인 연결 문제에 대한 해결 방법 조사**

1. `/etc/my.cnf`을(를) 확인하여 SSL이 MySQL에 대해 활성화되어 있는지 확인합니다.

1. MySQL에서 다음 명령을 실행합니다.

   ```
   show status like 'Ssl%';
   ```

   SSL이 작동하는 경우 다음 결과를 확인할 수 있습니다.

   ```
   +--------------------------------+----------------------+
   | Variable_name                  | Value                |
   +--------------------------------+----------------------+
   | Ssl_accept_renegotiates        | 0                    |
   | Ssl_accepts                    | 1                    |
   | Ssl_callback_cache_hits        | 0                    |
   | Ssl_cipher                     |                      |
   | Ssl_cipher_list                |                      |
   | Ssl_client_connects            | 0                    |
   | Ssl_connect_renegotiates       | 0                    |
   | Ssl_ctx_verify_depth           | 18446744073709551615 |
   | Ssl_ctx_verify_mode            | 5                    |
   | Ssl_default_timeout            | 0                    |
   | Ssl_finished_accepts           | 0                    |
   | Ssl_finished_connects          | 0                    |
   | Ssl_session_cache_hits         | 0                    |
   | Ssl_session_cache_misses       | 0                    |
   | Ssl_session_cache_mode         | SERVER               |
   | Ssl_session_cache_overflows    | 0                    |
   | Ssl_session_cache_size         | 128                  |
   | Ssl_session_cache_timeouts     | 0                    |
   | Ssl_sessions_reused            | 0                    |
   | Ssl_used_session_cache_entries | 0                    |
   | Ssl_verify_depth               | 0                    |
   | Ssl_verify_mode                | 0                    |
   | Ssl_version                    |                      |
   +--------------------------------+----------------------+
   ```

   SSL이 비활성화된 경우 다음 결과를 확인할 수 있습니다.

   ```
   +--------------------------------+-------+
   | Variable_name                  | Value |
   +--------------------------------+-------+
   | Ssl_accept_renegotiates        | 0     |
   | Ssl_accepts                    | 0     |
   | Ssl_callback_cache_hits        | 0     |
   | Ssl_cipher                     |       |
   | Ssl_cipher_list                |       |
   | Ssl_client_connects            | 0     |
   | Ssl_connect_renegotiates       | 0     |
   | Ssl_ctx_verify_depth           | 0     |
   | Ssl_ctx_verify_mode            | 0     |
   | Ssl_default_timeout            | 0     |
   | Ssl_finished_accepts           | 0     |
   | Ssl_finished_connects          | 0     |
   | Ssl_session_cache_hits         | 0     |
   | Ssl_session_cache_misses       | 0     |
   | Ssl_session_cache_mode         | NONE  |
   | Ssl_session_cache_overflows    | 0     |
   | Ssl_session_cache_size         | 0     |
   | Ssl_session_cache_timeouts     | 0     |
   | Ssl_sessions_reused            | 0     |
   | Ssl_used_session_cache_entries | 0     |
   | Ssl_verify_depth               | 0     |
   | Ssl_verify_mode                | 0     |
   | Ssl_version                    |       |
   +--------------------------------+-------+
   ```

1. 지원되는 &SSL 인증서를 데이터베이스 서버에 설치했는지 확인합니다.

1. 특정 사용자가 SSL을 사용하여 연결하도록 사용 권한을 부여합니다.

   ```
   GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;                        
   ```

**참고**  
MySQL 연결용 TLS 1.2에는 MySQL 버전 5.7.28 이상이 필요합니다. MySQL 서버가 TLS 1.2만 적용하고(예: `tls_version = TLSv1.2`) 서버 버전이 5.7.28 미만인 경우 `Communications link failure` 오류와 함께 SSL 핸드셰이크가 실패합니다. 이 문제를 해결하려면 MySQL 또는 Aurora MySQL 데이터베이스를 버전 5.7.28 이상으로 업그레이드합니다.

이 예의 솔루션에 대한 자세한 내용은 다음을 참조하십시오.
+ Amazon RDS 사용 설명서의 [MySQL DB 인스턴스에 대한 SSL 지원](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.SSLSupport.html).
+ Amazon RDS 사용 설명서의 [SSL을 사용해 DB 인스턴스에 대한 연결 암호화](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html).
+ [MySQL 설명서](https://dev.mysql.com/doc/refman/5.6/en/using-encrypted-connections.html)

# RDS에 연결할 수 없는 경우
<a name="troubleshoot-connect-RDS"></a>

Amazon RDS 연결 문제 해결에 대한 자세한 내용은 [데이터베이스에서 데이터 세트 생성](create-a-database-data-set.md)을(를) 참조하세요.

또한 Amazon RDS 연결 문제 해결에 대한 설명서인 [Amazon RDS DB 인스턴스에 연결할 수 없는 경우](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.Connecting)를 참조할 수 있습니다.

# Quick Sight 로그인 문제
<a name="troubleshoot-login"></a>

다음 섹션을 사용하면 Quick Sight 콘솔에서 로그인 및 액세스 문제를 해결하는 데 도움이 됩니다.

**Topics**
+ [Amazon Quick Sight에서 Athena를 사용할 때 권한 부족](troubleshoot-athena-insufficient-permissions.md)
+ [Amazon Quick Sight가 브라우저에서 작동하지 않음](troubleshoot-browser.md)
+ [Amazon Quick Sight 계정을 삭제하려면 어떻게 해야 하나요?](troubleshoot-delete-quicksight-account.md)
+ [조직의 개인이 Quick Sight에 액세스하려고 하면 "외부 로그인이 승인되지 않았습니다"라는 메시지가 표시됩니다.](troubleshoot-webidentity-federation.md)
+ [이메일 로그인 작동이 중지되는 경우](troubleshoot-email-login.md)

# Amazon Quick Sight에서 Athena를 사용할 때 권한 부족
<a name="troubleshoot-athena-insufficient-permissions"></a>

권한이 부족하다는 오류 메시지를 받으면, 다음 단계에 따라 문제를 해결해 보세요.

이 문제를 해결하려면 관리자 권한이 필요합니다.

**권한 부족 오류 해결**

1. Amazon Quick Sight가 Athena에서 사용하는 Amazon S3 버킷에 액세스할 수 있는지 확인합니다.

   1. 확인하려면 프로필 이름(우측 상단)을 선택하세요. **Quick Sight 관리를** 선택한 다음 사용자 **지정 권한** 섹션까지 아래로 스크롤합니다.

   1. **AWS 리소스를** 선택한 다음 **추가 또는 제거**를 선택합니다.

   1. 목록에서 Athena 위치를 찾습니다. Athena 옆의 확인란을 취소한 다음, 다시 선택하면 Athena가 활성화됩니다.

      **모두 연결**을 선택하세요.

   1. Amazon Quick Sight에서 액세스하려는 버킷을 선택합니다.

      여기에서 액세스하는 S3 버킷의 설정은 목록에서 Amazon S3를 선택하여 액세스하는 것과 동일합니다 AWS 서비스. 다른 사람이 사용하는 버킷을 실수로 비활성화하지 않도록 주의하세요.

   1. **선택**을 선택하여 S3 버킷을 저장하십시오.

   1. **업데이트를** 선택하여 Amazon Quick Sight 액세스에 대한 새 설정을 저장합니다 AWS 서비스. 또는 변경하지 않고 종료하려면 **취소**를 선택하세요.

1. 데이터 파일이 AWS KMS 키로 암호화된 경우 Amazon Quick Sight IAM 역할에 키를 해독할 수 있는 권한을 부여합니다. 이 작업을 수행할 수 있는 가장 쉬운 방법은 AWS CLI를 사용하는 것입니다.

   에서 [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) 명령을 실행 AWS CLI 하여이 작업을 수행할 수 있습니다.

   ```
   aws kms create-grant --key-id <AWS KMS key ARN> --grantee-principal <Your Amazon Quick Sight Role ARN> --operations Decrypt
   ```

   Amazon Quick Sight 역할의 Amazon 리소스 이름(ARN)은 형식이며 IAM 콘솔에서 액세스할 `arn:aws:iam::<account id>:role/service-role/aws-quicksight-service-role-v<version number>` 수 있습니다. AWS KMS 키 ARN을 찾으려면, S3 콘솔을 사용하세요. 데이터 파일이 포함된 버킷으로 이동해 **개요** 탭을 선택합니다. 이 키는 **KMS key ID** 옆에 있습니다.

Amazon Athena, Amazon S3 및 Athena 쿼리 페더레이션 연결의 경우 Quick Sight는 기본적으로 다음 IAM 역할을 사용합니다.

```
arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-s3-consumers-role-v0
```

`aws-quicksight-s3-consumers-role-v0`이 없는 경우 Quick Sight는 다음을 사용합니다.

```
arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-service-role-v0
```

# Amazon Quick Sight가 브라우저에서 작동하지 않음
<a name="troubleshoot-browser"></a>

Google Chrome 브라우저에서 Amazon Quick Sight를 올바르게 볼 수 없는 경우 다음 단계를 수행하여 문제를 해결합니다.

**Chrome 브라우저에서 Amazon Quick Sight를 보려면**

1. Chrome을 열고 `chrome://flags/#touch-events`(으)로 이동합니다.

1. 옵션이 **자동**으로 설정된 경우, **비활성화**로 변경하세요.

1. Chrome을 닫았다가 다시 엽니다.

# Amazon Quick Sight 계정을 삭제하려면 어떻게 해야 하나요?
<a name="troubleshoot-delete-quicksight-account"></a>

경우에 따라 Amazon Quick Sight에 액세스하여 구독을 취소할 수 없는 경우에도 Amazon Quick Sight 계정을 삭제해야 할 수 있습니다. 그렇다면에 로그인 AWS 하고 다음 링크를 사용하여 [구독 취소 화면을](https://us-east-1.quicksight.aws.amazon.com/sn/console/unsubscribe) 엽니다`https://us-east-1.quicksight.aws.amazon.com/sn/console/unsubscribe`. 이 접근 방식은 AWS 리전 사용하는 것과 상관없이 작동합니다. 모든 데이터, 분석, Amazon Quick Sight 사용자 및 Amazon Quick Sight 관리자를 삭제합니다. 추가 문의 사항은 지원 팀으로 문의하십시오.

# 조직의 개인이 Quick Sight에 액세스하려고 하면 "외부 로그인이 승인되지 않았습니다"라는 메시지가 표시됩니다.
<a name="troubleshoot-webidentity-federation"></a>


|  | 
| --- |
|    대상:  Amazon Quick 관리자  | 

조직의 개인이 **AssumeRoleWithWebIdentity**를 사용하여 Quick Sight에 페더레이션하는 경우 Quick Sight는 단일 역할 기반 사용자를 단일 외부 로그인에 매핑합니다. 경우에 따라 해당 개인은 원래 매핑된 사용자와 다른 외부 로그인(예: Amazon Cognito)을 통해 인증될 수 있습니다. 이 경우 Quick Sight에 액세스할 수 없으며 다음과 같은 예상치 못한 오류 메시지가 표시됩니다.

페더레이션에 사용되는 외부 로그인은 Quick Sight 사용자에게 승인되지 않습니다.

이 문제를 해결하는 방법을 보려면, 다음 섹션을 참조하세요.
+ [왜 이런 일이 발생하나요?](#troubleshoot-webidentity-federation-why)
+ [해결하려면 어떻게 해야 합니까?](#troubleshoot-webidentity-federation-how)

## 왜 이런 일이 발생하나요?
<a name="troubleshoot-webidentity-federation-why"></a>

### 간소화된 Amazon Cognito 흐름을 사용하고 있습니다.
<a name="troubleshoot-webidentity-federation-why-Cognito-SSO-1"></a>

Amazon Cognito를 사용하여 Quick Sight에 페더레이션하는 경우 Single Sign-On(IAM Identity Center) 설정은 `CognitoIdentityCredentials` API 작업을 사용하여 Quick Sight 역할을 수임할 수 있습니다. 이 방법은 Amazon Cognito 자격 증명 풀의 모든 사용자를 단일 Quick Sight 사용자에게 매핑하며 Quick Sight에서 지원하지 않습니다.

대신 역할 세션 이름을 지정하는 `AssumeRoleWithWebIdentity` API 작업을 사용하는 것이 좋습니다.

### 인증되지 않은 Amazon Cognito 사용자를 사용하고 있는 경우
<a name="troubleshoot-webidentity-federation-why-Cognito-SSO-2"></a>

Amazon Cognito IAM 자격 증명 센터는 Amazon Cognito 자격 증명 풀의 인증되지 않은 사용자를 위해 설정됩니다. Quick Sight 역할 신뢰 정책은 다음 예제와 같이 설정됩니다.

이 설정을 사용하면 임시 Amazon Cognito 사용자가 고유한 Quick Sight 사용자에게 매핑된 역할 세션을 수임할 수 있습니다. 인증되지 않은 자격 증명은 일시적이므로 Quick Sight에서 지원되지 않습니다.

Quick Sight에서 지원하지 않는 설정은 사용하지 않는 것이 좋습니다. Quick Sight의 경우 Amazon Cognito IAM Identity Center에서 인증된 사용자를 사용해야 합니다.

### 동일한 사용자 이름 속성을 가진 Amazon Cognito 사용자를 삭제하고 다시 생성했습니다.
<a name="troubleshoot-webidentity-federation-why-Cognito-user-delete"></a>

이 경우 Quick Sight 사용자에 매핑된 연결된 Amazon Cognito 사용자가 삭제되고 다시 생성되었습니다. 새로 생성된 Amazon Cognito 사용자는 기본 주제가 다릅니다. 역할 세션 이름이 Quick Sight 사용자에게 매핑되는 방식에 따라 세션 이름은 동일한 Quick Sight 역할 기반 사용자에 해당할 수 있습니다.

`UpdateUser` API 작업을 사용하여 Quick Sight 사용자를 업데이트된 Amazon Cognito 사용자 주제에 다시 매핑하는 것이 좋습니다. 자세한 내용은 다음의 [UpdateUser API 예제](#troubleshoot-webidentity-federation-solutions-updateuser)를 참조하세요.

### 하나의 자격 증명 풀과 다른에서 Quick Sight를 사용하여 여러 Amazon Cognito 사용자 풀을 매핑 AWS 계정 하는 경우
<a name="troubleshoot-webidentity-federation-why-Cognito-multi-pools"></a>

 AWS 계정 하나의 자격 증명 풀 및 Quick Sight와 다른의 여러 Amazon Cognito 사용자 풀 매핑은 Quick Sight에서 지원되지 않습니다.

## 해결하려면 어떻게 해야 합니까?
<a name="troubleshoot-webidentity-federation-how"></a>

Quick Sight 퍼블릭 API 작업을 사용하여 사용자의 외부 로그인 정보를 업데이트할 수 있습니다. 다음 옵션을 사용하여 방법을 알아보십시오.

### RegisterUser를 사용하여 외부 로그인 정보로 사용자를 생성할 수 있습니다.
<a name="troubleshoot-webidentity-federation-how-registeruser"></a>

외부 로그인 공급자가 Amazon Cognito인 경우, 다음 CLI 코드를 사용하여 사용자를 생성하세요.

```
aws quicksight register-user --aws-account-id account-id --namespace namespace --email user-email --user-role user-role --identity-type IAM
--iam-arn arn:aws:iam::account-id:role/cognito-associated-iam-role 
--session-name cognito-username --external-login-federation-provider-type COGNITO 
--external-login-id cognito-identity-id --region identity-region
```

`external-login-id`은(는) Amazon Cognito 사용자의 자격 증명 ID여야 합니다. 다음 예시와 같이 형식은 `<identity-region>:<cognito-user-sub>`(으)로 되어 있습니다.

```
aws quicksight register-user --aws-account-id 111222333 --namespace default --email cognito-user@amazon.com --user-role ADMIN --identity-type IAM
--iam-arn arn:aws:iam::111222333:role/CognitoQuickSightRole 
--session-name cognito-user --external-login-federation-provider-type COGNITO 
--external-login-id us-east-1:12345678-1234-1234-abc1-a1b1234567 --region us-east-1
```

외부 로그인 공급자가 사용자 지정 OpenID Connect(OIDC) 공급자인 경우, 다음 CLI 코드를 사용하여 사용자를 생성하세요.

```
aws quicksight register-user --aws-account-id account-id --namespace namespace
--email user-email --user-role user-role --identity-type IAM
--iam-arn arn:aws:iam::account-id:role/identity-provider-associated-iam-role 
--session-name identity-username --external-login-federation-provider-type CUSTOM_OIDC 
--custom-federation-provider-url custom-identity-provider-url 
--external-login-id custom-provider-identity-id --region identity-region
```

다음은 예입니다.

```
aws quicksight register-user --aws-account-id 111222333 --namespace default 
--email identity-user@amazon.com --user-role ADMIN --identity-type IAM
--iam-arn arn:aws:iam::111222333:role/CustomIdentityQuickSightRole
--session-name identity-user --external-login-federation-provider-type CUSTOM_OIDC 
--custom-federation-provider-url idp.us-east-1.amazonaws.com/us-east-1_ABCDE 
--external-login-id 12345678-1234-1234-abc1-a1b1234567 --region us-east-1
```

CLI`RegisterUser`에서를 사용하는 방법에 대한 자세한 내용은 *Amazon Quick API* 참조의 [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html)를 참조하세요.

### DescribeUser를 사용하여 사용자의 외부 로그인 정보를 확인합니다.
<a name="troubleshoot-webidentity-federation-how-describeuser"></a>

사용자가 외부 로그인 공급자의 역할 기반 페더레이션 사용자인 경우, 다음 코드와 같이 `DescribeUser` API 작업을 사용하여 해당 사용자의 외부 로그인 정보를 확인합니다.

```
aws quicksight describe-user --aws-account-id account-id  --namespace namespace
--user-name identity-provider-associated-iam-role/identity-username 
--region identity-region
```

다음은 예입니다.

```
aws quicksight describe-user --aws-account-id 111222333 --namespace default --user-name IdentityQuickSightRole/user --region us-west-2
```

외부 로그인 정보 필드가 있는 경우 결과에는 외부 로그인 정보 필드가 포함됩니다. 다음은 한 예입니다.

```
{
    "Status": 200,
    "User": {
        "Arn": "arn:aws:quicksight:us-east-1:111222333:user-default-IdentityQuickSightRole-user",
        "UserName": "IdentityQuickSightRole-user",
        "Email": "user@amazon.com",
        "Role": "ADMIN",
        "IdentityType": "IAM",
        "Active": true,
        "PrincipalId": "federated-iam-AROAAAAAAAAAAAAAA:user",
        "ExternalLoginFederationProviderType": "COGNITO",
        "ExternalLoginFederationProviderUrl": "cognito-identity.amazonaws.com",
        "ExternalLoginId": "us-east-1:123abc-1234-123a-b123-12345678a"
    },
    "RequestId": "12345678-1234-1234-abc1-a1b1234567"
}
```

CLI`DescribeUser`에서를 사용하는 방법에 대한 자세한 내용은 *Amazon Quick API* 참조의 [DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html)를 참조하세요.

### UpdateUser를 사용하여 사용자의 외부 로그인 정보를 업데이트합니다.
<a name="troubleshoot-webidentity-federation-solutions-updateuser"></a>

`DescribeUser` 결과에서 사용자를 위해 저장한 외부 로그인 정보가 올바르지 않거나 외부 로그인 정보가 누락되는 경우가 있을 수 있습니다. 그렇다면 `UpdateUser` API 작업을 사용해 업데이트할 수 있습니다. 다음 예시를 사용하세요.

Amazon Cognito 사용자의 경우 다음을 사용하세요.

```
aws quicksight update-user --aws-account-id account-id --namespace namespace 
--user-name cognito-associated-iam-role/cognito-username
 --email user-email --role user-role 
--external-login-federation-provider-type COGNITO 
--external-login-id cognito-identity-id --region identity-region
```

다음은 예입니다.

```
aws quicksight update-user --aws-account-id 111222333 --namespace default 
--user-name CognitoQuickSightRole/cognito-user --email cognito-user@amazon.com 
--role ADMIN --external-login-federation-provider-type COGNITO 
--external-login-id us-east-1:12345678-1234-1234-abc1-a1b1234567 --region us-west-2
```

사용자 지정 OIDC 공급자 사용자의 경우 다음을 사용하세요.

```
aws quicksight update-user --aws-account-id account-id --namespace namespace 
 --user-name identity-provider-associated-iam-role/identity-username 
--email user-email --role user-role 
--external-login-federation-provider-type CUSTOM_OIDC 
--custom-federation-provider-url custom-identity-provider-url 
--external-login-id custom-provider-identity-id --region identity-region
```

다음은 예입니다.

```
aws quicksight update-user --aws-account-id 111222333 --namespace default 
--user-name IdentityQuickSightRole/user --email user@amazon.com --role ADMIN 
--external-login-federation-provider-type CUSTOM_OIDC 
--custom-federation-provider-url idp.us-east-1.amazonaws.com/us-east-1_ABCDE 
 --external-login-id 123abc-1234-123a-b123-12345678a --region us-west-2
```

사용자의 외부 로그인 정보를 삭제하려면 `NONE` `external login federation provider type`을 사용하세요. 다음 CLI 명령을 사용하여 외부 로그인 정보를 삭제하세요.

```
aws quicksight update-user --aws-account-id account-id --namespace namespace 
 --user-name identity-provider-associated-iam-role/identity-username 
--email user-email --role user-role
--external-login-federation-provider-type NONE --region identity-region
```

다음은 예입니다.

```
aws quicksight update-user --aws-account-id 111222333 --namespace default 
--user-name CognitoQuickSightRole/cognito-user --email cognito-user@amazon.com --role ADMIN --external-login-federation-provider-type NONE --region us-west-2
```

CLI`UpdateUser`에서를 사용하는 방법에 대한 자세한 내용은 Amazon Quick API 참조의 [UpdateUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html)를 참조하세요. ** 

# 이메일 로그인 작동이 중지되는 경우
<a name="troubleshoot-email-login"></a>

현재 이메일 주소는 대/소문자를 구분합니다. 이메일이 작동하지 않는 경우 대문자와 소문자가 혼재되어 있는지 관리자에게 확인하십시오. 이메일을 입력한 대로 사용하십시오.

# Quick Sight의 시각적 문제
<a name="visual-issues"></a>

다음 섹션을 사용하면 시각적 객체 및 서식 관련 문제를 해결하는 데 도움이 됩니다.

**Topics**
+ [시각적 객체가 보이지 않는 경우](troubleshoot-adding-visuals.md)
+ [인쇄된 문서에 피드백 표시줄이 표시되는 경우](troubleshoot-printing-docs.md)
+ [지도 차트에 위치가 표시되지 않는 경우](troubleshoot-geocoding.md)
+ [피벗 테이블 작동이 중단되는 경우](troubleshoot-pivot-tables.md)
+ [시각적 객체가 누락된 열을 찾을 수 없는 경우](troubleshooting-dataset-changed-columns.md)
+ [시각적 객체가 쿼리 테이블을 찾을 수 없는 경우](troubleshooting-dataset-changed-tables.md)
+ [계산된 필드를 변경한 후 시각화 객체가 업데이트되지 않는 경우](troubleshooting-visual-refresh.md)
+ [Quick Sight에서 과학적 표기법이 있는 Microsoft Excel 파일의 값이 올바르게 형식이 지정되지 않음](troubleshooting-number-formatting.md)

# 시각적 객체가 보이지 않는 경우
<a name="troubleshoot-adding-visuals"></a>

다음 섹션을 사용하면 누락된 시각적 개체 문제를 해결하는 데 도움이 됩니다. 계속하기 전에 데이터 소스에 계속 액세스할 수 있는지 확인하세요. 데이터 소스에 연결할 수 없는 경우 [Amazon Quick Sight의 데이터 소스 연결 문제](troubleshoot-connect-to-datasources.md)을(를) 참조하세요.
+ 분석에 시각적 객체를 추가하는 데 문제가 있는 경우, 다음을 시도해 보세요.
  + 연결을 확인하고 Quick Sight가 액세스에 사용하는 모든 도메인에 액세스할 수 있는지 확인합니다. Quick Sight가 사용하는 모든 URLs 목록을 보려면 [Quick Sight에서 액세스하는 도메인을 참조하세요](https://docs.aws.amazon.com//quicksight/latest/developerguide/vpc-interface-endpoints.html#vpc-interface-endpoints-restrictvpc-interface-endpoints-supported-domains).
  + 할당량이 허용하는 것보다 더 많은 개체를 추가하려고 하지 않는지 확인하세요. Amazon Quick Sight는 단일 분석에서 최대 30개의 데이터 세트를 지원하고, 단일 시트에서 최대 30개의 시각적 객체를 지원하며, 분석당 20개의 시트로 제한됩니다.
  + 선택한 데이터 소스에 대한 분석을 편집하고 있는데 데이터 소스에 대한 연결이 예기치 않게 종료된다고 가정해 보겠습니다. 오류 상태로 인해 분석을 더 이상 변경하지 못할 수 있습니다. 이런 경우에는 분석에 시각적 객체를 더 추가할 수 없습니다. 이 상태를 확인하세요.
+ 시각적 객체가 로드되지 않는 경우 다음과 같이 시도하세요.
  + 회사 네트워크를 사용하는 경우 네트워크 관리자에게 도움을 요청하고 네트워크의 방화벽 설정이 `*.aws.amazon.com`, `amazonaws.com`, `wss://*.aws.amazon.com` 및 `cloudfront.net`로부터 트래픽을 허용하는지 확인하세요.
  + `*.aws.amazon.com`, `amazonaws.com`, `wss://*.aws.amazon.com` 및 `cloudfront.net`에 대한 광고 차단기에 예외를 추가하세요.
  + 프록시 서버를 사용 중인 경우, `*.quicksight.aws.amazon.com`와(과) `cloudfront.net`이(가) 승인된 도메인 목록(허용 목록)에 추가되어 있는지 확인하세요.

# 인쇄된 문서에 피드백 표시줄이 표시되는 경우
<a name="troubleshoot-printing-docs"></a>

브라우저가 때때로 페이지의 문서 피드백 표시줄을 인쇄하여 일부 인쇄된 내용을 가로막습니다.

이 문제를 방지하려면, 화면(아래에 표시됨)의 왼쪽 하단에 있는 아래쪽으로 휘감기 아이콘을 사용하여 피드백 표시줄을 최소화하세요. 그런 다음 문서를 인쇄합니다.

![\[\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/printing-docs.png)


# 지도 차트에 위치가 표시되지 않는 경우
<a name="troubleshoot-geocoding"></a>

지오코딩이라고 하는 자동 매핑이 지도 차트에서 작동하려면, 다음 특정 규칙에 따라 데이터를 준비해야 합니다. 지리 공간 문제에 대한 도움말은 [지리 공간 관련 문제 해결](geospatial-troubleshooting.md) 단원을 참조하십시오. 지리 공간 차트용 데이터 준비에 대한 도움말은 [지리 공간 데이터 추가](geospatial-data-prep.md) 단원을 참조하십시오.

# 피벗 테이블 작동이 중단되는 경우
<a name="troubleshoot-pivot-tables"></a>

피벗 테이블이 기본 데이터베이스의 계산 한계를 초과하는 경우, 이는 일반적으로 필드에 있는 항목의 조합으로 인해 발생합니다. 즉, 행, 열, 지표 및 테이블 계산의 조합으로 인해 발생합니다. 복잡성을 줄이고 오류 발생 가능성을 줄이기 위해, 피벗 테이블을 단순화하세요. 자세한 내용은 [Pivot table best practices](pivot-table-best-practices.md) 단원을 참조하십시오.

# 시각적 객체가 누락된 열을 찾을 수 없는 경우
<a name="troubleshooting-dataset-changed-columns"></a>

분석의 시각적 객체가 예상대로 작동하지 않습니다. 오류 메시지는 `"The column(s) used in this visual do not exist."`와(과) 같습니다.

이 오류의 가장 일반적인 원인은 데이터 소스 스키마가 변경된 것입니다. 예를 들어 열 이름이 `a_column`에서 `b_column`(으)로 변경되었을 수 있습니다.

데이터 세트가 데이터 소스에 액세스하는 방법에 따라, 다음 중 하나를 선택합니다.
+ 데이터 세트가 사용자 지정 SQL을 기반으로 하는 경우, 다음 중 하나 이상을 수행하세요.
  + 데이터 세트를 편집합니다.
  + SQL 문을 편집합니다.

    예를 들어, 테이블 이름이`a_column`에서 `b_column`로 변경된 경우 `SELECT b_column as a_column`이라는 별칭을 생성하도록 SQL 문을 업데이트할 수 있습니다. 별칭을 사용하여 데이터 세트에서 동일한 필드 이름을 유지 관리하면 열을 시각적 객체에 새 엔터티로 추가할 필요가 없습니다.

  완료되면 **저장 및 시각화**를 선택하세요.
+ 데이터 세트가 사용자 지정 SQL을 기반으로 하는 경우, 다음 중 하나 이상을 수행하세요.
  + 데이터 세트를 편집합니다.
  + 이제 다른 이름이 있는 필드의 경우, 데이터 세트에서 필드의 이름을 바꾸세요. 원래 데이터 세트의 필드 이름을 사용할 수 있습니다. 그런 다음 분석을 열고 이름이 바뀐 필드를 영향을 받는 시각적 개체에 추가하세요.

  완료되면 **저장 및 시각화**를 선택하세요.

# 시각적 객체가 쿼리 테이블을 찾을 수 없는 경우
<a name="troubleshooting-dataset-changed-tables"></a>

이 경우 분석의 시각적 객체가 예상대로 작동하지 않습니다. 오류 메시지는 `"Amazon Quick Sight can’t find the query table."`와(과) 같습니다.

이 오류의 가장 일반적인 원인은 데이터 소스 스키마가 변경된 것입니다. 예를 들어, 테이블 이름이 `x_table`에서 `y_table`(으)로 변경되었을 수 있습니다.

데이터 세트가 데이터 소스에 액세스하는 방법에 따라 다음 중 하나를 선택합니다.
+ 데이터 세트가 사용자 지정 SQL을 기반으로 하는 경우, 다음 중 하나 이상을 수행하세요.
  + 데이터 세트를 편집합니다.
  + SQL 문을 편집합니다.

    예를 들어, 테이블 이름이 `x_table`에서 `y_table`(으)로 변경된 경우 새 테이블을 대신 참조하도록 SQL 문의 FROM 절을 업데이트할 수 있습니다.

  작업을 마치면 **저장 및 시각화**를 선택한 다음, 각 시각적 개체를 선택하고 필요에 따라 필드를 다시 추가하세요.
+ 데이터 세트가 사용자 지정 SQL을 기반으로 하는 경우, 다음을 수행하세요.

  1. 예를 들어 `y_table`(이)라는 새 테이블을 사용하여 새 데이터 세트를 생성합니다.

  1. 분석을 엽니다.

  1. 원래 데이터 세트를 새로 생성된 데이터 세트로 바꿉니다. 열 변경 사항이 없는 경우 데이터 세트를 바꾼 후 모든 시각적 객체가 작동해야 합니다. 자세한 내용은 [데이터 세트 변경](replacing-data-sets.md) 단원을 참조하십시오.

# 계산된 필드를 변경한 후 시각화 객체가 업데이트되지 않는 경우
<a name="troubleshooting-visual-refresh"></a>

다른 많은 필드가 의존하는 계산된 필드를 업데이트하면, 소비 항목이 예상대로 업데이트되지 않을 수 있습니다. 예를 들어 시각화되고 있는 필드에서 사용하는 계산된 필드를 업데이트하면 시각적 이미지가 예상대로 업데이트되지 않습니다.

이 문제를 해결하려면 인터넷 브라우저를 새로 고치세요.

# Quick Sight에서 과학적 표기법이 있는 Microsoft Excel 파일의 값이 올바르게 형식이 지정되지 않음
<a name="troubleshooting-number-formatting"></a>

과학적 표기법이 있는 값이 포함된 숫자 열이 있는 Microsoft Excel 파일에 연결하면 Quick Sight에서 올바른 형식이 지정되지 않을 수 있습니다. 예를 들어 실제로 159964032802인 값 1.59964E\$111은 Quick Sight에서 159964000000 형식입니다. 이로 인해 잘못된 분석이 발생할 수 있습니다.

이 문제를 해결하려면 Microsoft Excel`Text`에서와 같이 열의 형식을 지정한 다음 파일을 Quick Sight에 업로드합니다.

# Amazon Quick Sight를 사용하여 개발
<a name="quicksight_dev"></a>

Amazon Quick Sight용 API 작업과 원하는 프로그래밍 언어에서 Amazon Quick Sight에 액세스할 수 있는 용 AWS 소프트웨어 개발 키트(SDKs)를 제공합니다. 현재 사용자 및 그룹을 관리할 수 있습니다. Enterprise Edition에서는 웹 페이지 또는 앱에 대시보드를 포함할 수도 있습니다.

, AWS Management Console명령줄 도구 및 기타 서비스의 호출을 포함하여 계정의 Amazon Quick Sight API에 대한 호출을 모니터링하려면를 사용합니다 AWS CloudTrail. 자세한 내용은 [AWS CloudTrail 사용 설명서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)를 참조하십시오.

## 필수 지식
<a name="quicksight_dev-required_knowledge"></a>

API를 통해 Amazon Quick Sight에 액세스하려면 다음 사항을 숙지해야 합니다.
+ JSON
+ 웹 서비스
+ HTTP 요청
+ JavaScript, Java, Python, C\$1 등 하나 이상의 프로그래밍 언어

 AWS SDKs 및 툴킷이 제공해야 하는 사항을 둘러보려면 AWS [시작하기 리소스 센터를](https://aws.amazon.com/getting-started/tools-sdks/) 방문하는 것이 좋습니다.

터미널과 선호하는 텍스트 편집기를 사용할 수 있지만 통합 개발 환경(IDE)에서 더 시각적인 UI 경험의 이점을 누릴 수 있습니다. *AWS 시작하기 리소스 센터*의 [IDE 및 IDE 도구 키트](https://aws.amazon.com/getting-started/tools-sdks/#IDE_and_IDE_Toolkits) 섹션에서 IDE 목록을 제공합니다. 이 사이트에서는 원하는 IDE에 대해 다운로드할 수 있는 AWS 툴킷을 제공합니다. 일부 IDE에서는 프로그래밍 언어를 더 자세히 배울 수 있는 자습서도 제공합니다.

## Amazon Quick Sight에 사용 가능한 API 작업
<a name="quicksight_dev-using_libraries"></a>

AWS 는 HTTPS를 통해 요청을 제출하는 대신 언어별 API 작업을 사용하여 애플리케이션을 빌드하려는 소프트웨어 개발자를 위해 라이브러리, 샘플 코드, 자습서 및 기타 리소스를 제공합니다. 이러한 라이브러리는 요청에 암호화 서명, 요청 재시도, 오류 응답 처리 등과 같은 작업을 자동으로 관리하는 기본 기능을 제공합니다. 이러한 라이브러리를 사용하면 쉽게 시작할 수 있습니다.

 AWS SDKs 다운로드에 대한 자세한 내용은 [AWS SDKs 및 도구를 참조하세요](https://aws.amazon.com/tools/). 다음 링크는 사용 가능한 언어별 API 설명서의 샘플입니다.

**AWS Command Line Interface**
+ [AWS CLI QuickSight 명령 참조](https://docs.aws.amazon.com/cli/latest/reference/quicksight/index.html)
+ [AWS CLI 사용 설명서](https://docs.aws.amazon.com/cli/latest/userguide/)
+ [AWS CLI 명령 참조](https://docs.aws.amazon.com/cli/latest/reference/)

**AWS SDK for .NET**
+ [Amazon.Quicksight](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/index.html?page=QuickSight/NQuickSight.html)
+ [Amazon.Quicksight.Model](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/index.html?page=QuickSight/NQuickSightModel.html)

**AWS SDK for C\$1\$1**
+ [Aws::QuickSight::QuickSightClient Class Reference](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_quick_sight_1_1_quick_sight_client.html)

**AWS SDK for Go**
+ [QuickSight](https://docs.aws.amazon.com/sdk-for-go/api/service/quicksight/)

**AWS SDK for Java**
+ [com.amazonaws.services.quicksight](https://docs.aws.amazon.com/sdk-for-java/latest/reference/index.html?com/amazonaws/services/quicksight/package-summary.html)
+ [com.amazonaws.services.quicksight.model](https://docs.aws.amazon.com/sdk-for-java/latest/reference/index.html?com/amazonaws/services/quicksight/model/package-summary.html)

**AWS SDK for JavaScript**
+ [AWS.QuickSight](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/QuickSight.html)

**AWS SDK for PHP**
+ [QuickSightClient](https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.QuickSight.QuickSightClient.html)

**AWS SDK for Python (Boto3)**
+ [Amazon Quick Sight](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/quicksight.html)

**AWS SDK for Ruby**
+ [Aws::QuickSight](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/QuickSight.html)

# 용어 및 개념
<a name="quicksight_dev-terminology"></a>

이 섹션에서는 Amazon Quick Sight의 개발 용어 목록을 제공합니다.

**익명 Amazon Quick Sight 사용자:** - 사실상 네임스페이스에 속하며 임베딩에만 사용할 수 있는 임시 Amazon Quick Sight 사용자 자격 증명입니다. 태그 기반 규칙을 사용하여 이러한 사용자를 위한 행 수준 보안을 구현할 수 있습니다.

**함수 호출자 자격 증명:** - API 요청을 수행하는 AWS Identity and Access Management 사용자의 자격 증명입니다. 호출자의 자격 증명은 요청에 연결된 서명을 사용하여 Amazon Quick Sight에서 결정합니다. 제공된 SDK 클라이언트를 사용하면 수동 작업 없이도 서명을 생성하거나 서명을 요청에 연결할 수 있습니다. 하지만 원하는 경우 수동 작업도 가능합니다.

**호출자 자격 증명:** - 호출자 자격 증명 외에도 Amazon Quick Sight. AWS approves 호출자를 호출할 때 IAM `AssumeRole` API를 통해 호출자의 자격 증명을 수임할 수 있습니다. 이는 동일한 Amazon Quick Sight 구독에 속하는 여러 계정을 명시적으로 추가할 필요가 없도록 하기 위한 것입니다.

**네임스페이스:** - 사용자 풀을 분리하여 클라이언트, 자회사, 팀 등을 구성할 수 있는 논리적 컨테이너입니다. 자세한 내용은 [격리된 네임스페이스를 사용한 멀티테넌시 지원을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/namespaces.html).

**QuickSight ARN:** - Amazon 리소스 이름(ARN) Amazon Quick Sight 리소스는 이름 또는 ARN을 사용하여 식별됩니다. 예를 들어 이들은 그룹 이름이 `MyGroup1`이고 사용자 이름이 `User1`이며 ID가 `1a1ac2b2-3fc3-4b44-5e5d-c6db6778df89`인 대시보드인 ARN입니다.

```
arn:aws:quicksight:us-east-1:111122223333:group/default/MyGroup1
	arn:aws:quicksight:us-east-1:111122223333:user/default/User1
	arn:aws:quicksight:us-west-2:111122223333:dashboard/1a1ac2b2-3fc3-4b44-5e5d-c6db6778df89
```

다음 예에서는 이름이 `MyTemplate`인 템플릿과 이름이 `MyDashboard`인 대시보드의 ARN을 보여줍니다.

1. 템플릿용 샘플 ARN

   ```
   arn:aws:quicksight:us-east-1:111122223333:template/MyTemplate
   ```

1. 템플릿의 특정 버전을 참조하는 템플릿용 샘플 ARN

   ```
   arn:aws:quicksight:us-east-1:111122223333:template/MyTemplate/version/10
   ```

1. 템플릿 별칭용 샘플 ARN

   ```
   arn:aws:quicksight:us-east-1:111122223333:template/MyTemplate/alias/STAGING
   ```

1. 대시보드용 샘플 ARN

   ```
   arn:aws:quicksight:us-east-1:111122223333:dashboard/MyDashboard
   ```

1. 대시보드의 특정 버전을 참조하는 대시보드용 샘플 ARN

   ```
   arn:aws:quicksight:us-east-1:111122223333:dashboard/MyDashboard/version/10
   ```

상황에 따라 항목의 이름, ID 또는 ARN을 제공해야 할 수도 있습니다. 이름이 있는 경우 일부 Amazon Quick Sight API 작업을 사용하여 ARN을 검색할 수 있습니다.

**Amazon Quick Sight 대시보드:** - 분석 또는 템플릿에서 생성된 Amazon Quick Sight 보고서를 식별하는 엔터티입니다. Amazon Quick Sight 대시보드는 공유할 수 있습니다. 올바른 권한이 있으면 해당 보고서에서 예약된 이메일 보고서를 생성할 수 있습니다. `CreateDashboard` 및 `DescribeDashboard` API 작업은 대시보드 엔터티에서 작동합니다.

**Amazon Quick Sight 템플릿:** - 분석 또는 대시보드를 생성하는 데 필요한 메타데이터를 캡슐화하는 개체입니다. 분석과 관련된 데이터 세트를 자리 표시자로 대체하여 추상화합니다. 템플릿을 사용하여 대시보드를 생성할 수 있습니다. 소스 분석 및 템플릿을 생성에 사용한 동일한 스키마를 따르는 데이터 세트로 데이터 세트 자리 표시자를 바꾸면 됩니다.

**Amazon Quick Sight 사용자:** - API 직접 호출이 수행하는 Amazon Quick Sight 사용자 자격 증명입니다. 이 사용자는 발신자 자격 증명과 동일하지 않지만 Amazon Quick Sight 내의 사용자에게 매핑되는 사용자일 수 있습니다.

# Amazon Quick Sight API를 사용하여 애플리케이션 개발
<a name="quicksight-sdks"></a>

 AWS SDKs를 사용하여 사용 중인 프로그래밍 언어 또는 플랫폼에 맞는 API에 액세스하여 배포의 대부분의 측면을 관리할 수 있습니다. 자세한 내용은 [AWS SDK](https://aws.amazon.com/tools/#SDKs)를 참조하십시오.

API 작업에 대한 자세한 내용은 [Amazon Quick Sight API 참조](https://docs.aws.amazon.com/quicksight/index.html?id=docs_gateway)를 참조하세요.

Amazon Quick Sight API 작업을 호출하려면 먼저 IAM 자격 증명에 연결된 정책의 `quicksight:operation-name` 권한이 필요합니다. 예를 들어 `list-users`을(를) 직접 호출하려면 `quicksight:ListUsers` 권한이 필요합니다. 모든 작업에 같은 패턴이 적용됩니다.

필요한 권한이 무엇인지 확실하지 않은 경우, 직접 호출해 볼 수 있습니다. 그러면 클라이언트가 누락된 권한이 무엇인지 알려줍니다. 명시적인 리소스를 지정하는 대신 권한 정책의 리소스 필드에 별표(`*`)를 사용할 수 있습니다. 하지만 각 권한을 최대한 제한할 것을 권장합니다. Amazon Quick Sight Amazon 리소스 이름(ARN) 식별자를 사용하여 정책의 리소스를 지정하거나 제외하여 사용자 액세스를 제한할 수 있습니다.

자세한 내용은 다음을 참조하세요.
+ [Amazon Quick Sight에 대한 IAM 정책 예제](https://docs.aws.amazon.com/quicksight/latest/user/iam-policy-examples.html)
+ [작업, 리소스 및 조건 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonquicksight.html)
+ [IAM JSON 정책 요소](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)

사용자 또는 그룹의 ARN을 검색하려면 해당 리소스에서 `Describe` 작업을 사용합니다. 또한 상황에 따라 IAM에 조건을 추가하여 API에 대한 액세스를 추가로 제한할 수도 있습니다. 예를 들어 `User1`에 `Group1`를 추가할 때 기본 리소스는 `Group1`이므로 특정 그룹에 대한 액세스를 허용하거나 거부할 수 있지만 IAM Amazon Quick Sight 키를 사용하여 특정 사용자가 해당 그룹에 추가되는 `quicksight:UserName` 것을 허용하거나 방지하여 조건을 추가할 수도 있습니다.

다음은 정책의 예입니다. 즉, 이 정책이 연결된 함수 호출자는 그룹에 추가하려는 사용자 이름이 `user1`이 아니면 어떤 그룹에서든 `CreateGroupMembership` 작업을 호출할 수 있습니다.

```
{
    "Effect": "Allow",
    "Action": "quicksight:CreateGroupMembership",
    "Resource": "arn:aws:quicksight:us-east-1:aws-account-id:group/default/*",
    "Condition": {
        "StringNotEquals": {
            "quicksight:UserName": "user1"
        }
    }
}
```

------
#### [ AWS CLI ]

다음 절차에서는 AWS CLI를 통해 Amazon Quick Sight API 작업과 상호 작용하는 방법을 설명합니다. 다음 명령은 Bash에서 테스트가 되었지만, 다른 명령줄 환경에서도 같거나 비슷할 것입니다.

1. 환경에 AWS SDK를 설치합니다. 설치 방법에 대한 지침은 [AWS 명령줄 인터페이스](https://aws.amazon.com/cli/)에서 확인하세요.

1. 다음 명령 및 후속 지침을 사용하여 AWS CLI 자격 증명 및 리전을 설정합니다. 적정 권한을 가진 IAM 자격 증명 및 역할에 대한 자격 증명을 사용합니다.

   ```
   aws configure
   ```

1. 다음 명령을 실행하여 Amazon Quick Sight SDK 도움말을 확인합니다.

   ```
   aws quicksight help
   ```

1. API 사용 방법에 대한 자세한 지침을 얻으려면 다음과 같이 도움말 다음에 나오는 이름을 입력합니다.

   ```
   aws quicksight list-users help
   ```

1. 이제 Amazon Quick Sight API 작업을 호출할 수 있습니다. 이 예제에서는 계정의 Amazon Quick Sight 사용자 목록을 반환합니다.

   ```
   aws quicksight list-users --aws-account-id aws-account-id --namespace default --region us-east-1
   ```

------
#### [ Java SDK ]

다음 절차에 따라 Amazon Quick Sight와 상호 작용하는 Java 앱을 설정합니다.

1. 시작하려면 IDE에서 Java 프로젝트를 만듭니다.

1. Amazon Quick Sight SDK를 새 프로젝트로 가져옵니다. 예: `AWSQuickSightJavaClient-1.11.x.jar`

1. IDE가 Amazon Quick Sight SDK를 인덱싱하면 다음과 같이 가져오기 줄을 추가할 수 있습니다.

   ```
   import com.amazonaws.services.quicksight.AmazonQuickSight;
   ```

   IDE가 이를 유효하다고 인식하지 않은 경우에는 SDK를 가져왔는지 확인합니다.

1. 다른 AWS SDKs 마찬가지로 Amazon Quick Sight SDK는 많은 기능을 수행하기 위해 외부 종속성이 필요합니다. 외부 종속 프로그램은 다운로드를 하여 같은 프로젝트에 가져와야 합니다. 다음과 같은 종속 프로그램이 필요합니다.
   + `aws-java-sdk-1.11.402.jar` (AWS Java SDK 및 자격 증명 설정) - [AWS SDK for Java 설정을 참조하세요. ](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-install.html) 
   + `commons-logging-1.2.jar` - [ https://commons.apache.org/proper/commons-logging/download\$1logging.cgi](https://commons.apache.org/proper/commons-logging/download_logging.cgi)를 참조하세요.
   + `jackson-annotations-2.9.6.jar`, `jackson-core-2.9.6.jar` 및 `jackson-databind-2.9.6.jar` - [ http://repo1.maven.org/maven2/com/fasterxml/jackson/core/ ](https://repo1.maven.org/maven2/com/fasterxml/jackson/core/)를 참조하세요.
   + `httpclient-4.5.6.jar`, `httpcore-4.4.10.jar` - [ https://hc.apache.org/downloads.cgi ](https://hc.apache.org/downloads.cgi)를 참조하세요.
   + `joda-time-2.1.jar` - [ https://mvnrepository.com/artifact/joda-time/joda-time/2.1 ](https://mvnrepository.com/artifact/joda-time/joda-time/2.1)을 참조하세요.

1. 이제 Amazon Quick Sight 클라이언트를 생성할 준비가 되었습니다. 클라이언트가 통신할 수 있는 기본 퍼블릭 엔드포인트를 사용하거나 엔드포인트를 명시적으로 참조할 수 있습니다. 자격 AWS 증명을 제공하는 방법에는 여러 가지가 있습니다. 다음 예제와 같이 직접적이고 간단한 접근 방법이 제공되고 있습니다. 다음 클라이언트 메서드는 다음과 같이 모든 API를 호출하는 데 사용됩니다.

   ```
   private static AmazonQuickSight getClient() {
   	final AWSCredentialsProvider credsProvider = new AWSCredentialsProvider() {
   	@Override
   	public AWSCredentials getCredentials() {
   	// provide actual IAM access key and secret key here
   	return new BasicAWSCredentials("access-key", "secret-key");
   	}
   	
   	@Override
   	public void refresh() {}
   	};
   	
   	return AmazonQuickSightClientBuilder
   	.standard()
   	.withRegion(Regions.US_EAST_1.getName())
   	.withCredentials(credsProvider)
   	.build();
   	}
   ```

1. 이제 위의 클라이언트를 사용하여 Amazon Quick Sight 계정의 모든 사용자를 나열할 수 있습니다.
**참고**  
Amazon Quick Sight를 구독하는 데 사용한 AWS 계정 ID를 제공해야 합니다. 이는 호출자 자격 증명의 AWS 계정 ID와 일치해야 합니다. 현재는 교차 계정 호출이 지원되지 않습니다. 뿐만 아니라 필수 파라미터 `namespace`를 항상 *기본*으로 설정해야 합니다.

   ```
   getClient().listUsers(new ListUsersRequest()
           .withAwsAccountId("relevant_AWS_account_ID")
           .withNamespace("default"))
           .getUserList().forEach(user -> {
               System.out.println(user.getArn());
           });
   ```

1. 가능한 모든 API 작업 목록과 해당 작업에서 사용하는 요청 객체를 보려면 IDE에서 클라이언트 객체를 **CTRL 클릭하여** Amazon Quick Sight 인터페이스를 볼 수 있습니다. 또는 Amazon Quick Sight JavaClient JAR 파일의 `com.amazonaws.services.quicksight` 패키지 내에서 찾을 수 있습니다.

------
#### [ JavaScript (Node.js) SDK ]

다음 절차에 따라 Node.js를 사용하여 Amazon Quick Sight와 상호 작용합니다.

1. 다음 명령을 사용하여 노드 환경을 설정합니다.
   + `npm install aws-sdk`
   + `npm install aws4 `
   + `npm install request`
   + `npm install url`

1.  AWS SDK를 사용하여 Node.js를 구성하고 자격 증명을 설정하는 방법에 대한 자세한 내용은 SDK [AWS SDK for JavaScript v2 개발자 안내서](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/welcome.html)-->를 참조하세요.

1. 다음 코드 예제를 사용하여 설정을 테스트합니다. HTTPS는 필수입니다. 이 샘플은 URL 요청 파라미터와 함께 Amazon Quick Sight 작업의 전체 목록과 계정의 Amazon Quick Sight 사용자 목록을 표시합니다.

   ```
   const AWS = require('aws-sdk');
   const https = require('https');
   
   var quicksight = new AWS.Service({
       apiConfig: require('./quicksight-2018-04-01.min.json'),
       region: 'us-east-1',
   });
   
   console.log(quicksight.config.apiConfig.operations);
   
   quicksight.listUsers({
       // Enter your actual AWS account ID
       'AwsAccountId': 'relevant_AWS_account_ID', 
       'Namespace': 'default',
   }, function(err, data) {
       console.log('---');
       console.log('Errors: ');
       console.log(err);
       console.log('---');
       console.log('Response: ');
       console.log(data);
   });
   ```

------
#### [ Python3 SDK ]

다음 절차에 따라 Amazon Quick Sight와 상호 작용할 사용자 지정 빌드 `botocore` 패키지를 생성합니다.

1. 환경의 AWS 디렉터리에 자격 증명 파일을 생성합니다. Linux/Mac 기반 환경에서는 이 파일을 \$1/.aws/credentials라고 부르며, 그 형식은 다음과 같습니다.

   ```
   [default]
   aws_access_key_id = Your_IAM_access_key
   aws_secret_access_key = Your_IAM_secret_key
   ```

1. `botocore-1.12.10` 폴더를 압축 해제합니다. `botocore-1.12.10`에 디렉터리를 변경하고 Python 3 인터프리터 환경에 들어갑니다.

1. 응답은 딕셔너리 객체 형태로 반환됩니다. 이들 각각은 요청 ID와 응답 상태가 포함된 `ResponseMetadata` 항목을 가지고 있습니다. 다른 항목들은 실행하는 작업 유형에 따라 결정됩니다.

1. 다음 예제는 먼저 그룹을 생성, 삭제 및 나열하는 샘플 앱입니다. 그런 다음, Quicksight 계정에 사용자를 나열합니다.

   ```
   import botocore.session
   default_namespace = 'default'
   account_id = 'relevant_AWS_Account'
   
   session = botocore.session.get_session()
   client = session.create_client("quicksight", region_name='us-east-1')
   
   print('Creating three groups: ')
   client.create_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup1')
   client.create_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup2')
   client.create_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup3')
   
   print('Retrieving the groups and listing them: ')
   response = client.list_groups(AwsAccountId = account_id, Namespace=default_namespace)
   for group in response['GroupList']:
       print(group)
   
   print('Deleting our groups: ')
   client.delete_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup1')
   client.delete_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup2')
   client.delete_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup3')
   
   response = client.list_users(AwsAccountId = account_id, Namespace=default_namespace)
   for user in response['UserList']:
       print(user)
   ```

------
#### [ .NET/C\$1 SDK ]

다음 절차에 따라 C\$1을 사용하여 Amazon Quick Sight와 상호 작용합니다.NET. 이 예제는 Mac용 Microsoft Visual에서 구성한 것이기 때문에 IDE 및 플랫폼에 따라 지침이 약간 다를 수 있습니다. 하지만 서로 비슷할 것입니다.



1. `nuget.zip` 파일을 `nuget`라는 폴더에 풉니다.

1. Visual Studio에 **콘솔 앱** 프로젝트를 새로 생성합니다.

1. 솔루션 아래에서 앱 **종속성**을 찾아서, 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) **패키지 추가**를 선택합니다.

1. 소스 목록에서 **소스 구성**을 선택합니다.

1. **추가**를 선택하고 `QuickSightSDK`라고 소스 이름을 명명합니다. `nuget` 폴더를 검색하고 **소스 추가**를 선택합니다.

1. **확인**을 선택합니다. 그런 다음를 `QuickSightSDK` 선택한 상태에서 세 개의 Amazon Quick Sight 패키지를 모두 선택합니다.
   + `AWSSDK.QuickSight`
   + `AWSSDK.Extensions.NETCore.Setup`
   + `AWSSDK.Extensions.CognitoAuthentication`

1. **패키지 추가**를 클릭합니다.

1. 다음 샘플 앱을 콘솔 앱 편집기에 복사하여 붙여 넣습니다.

   ```
   using System;
   using Amazon.QuickSight.Model;
   using Amazon.QuickSight;
   
   namespace DotNetQuickSightSDKTest
   {
       class Program
       {
           private static readonly string AccessKey = "insert_your_access_key";
           private static readonly string SecretAccessKey = "insert_your_secret_key";
           private static readonly string AccountID = "AWS_account_ID";
           private static readonly string Namespace = "default";  // leave this as default
   
           static void Main(string[] args)
           {
               var client = new AmazonQuickSightClient(
                   AccessKey,
                   SecretAccessKey, 
                   Amazon.RegionEndpoint.USEast1);
   
               var listUsersRequest = new ListUsersRequest
               {
                   AwsAccountId = AccountID,
                   Namespace = Namespace
               };
   
               client.ListUsersAsync(listUsersRequest).Result.UserList.ForEach(
                   user => Console.WriteLine(user.Arn)
               );
   
               var listGroupsRequest = new ListGroupsRequest
               {
                   AwsAccountId = AccountID,
                   Namespace = Namespace
               };
   
               client.ListGroupsAsync(listGroupsRequest).Result.GroupList.ForEach(
                   group => Console.WriteLine(group.Arn)
               );
           }
       }
   }
   ```

------

# Amazon Quick Sight 이벤트 통합
<a name="events-integration"></a>

Amazon EventBridge를 사용하면 새 대시보드 생성 또는 업데이트와 같은 Amazon Quick Sight의 이벤트에 자동으로 응답할 수 있습니다. 이러한 이벤트는 거의 실시간으로 EventBridge로 전송됩니다. 개발자는 원하는 이벤트를 표시하는 간단한 규칙을 작성하고 규칙과 일치하는 이벤트 발생 시 실행할 작업을 지정할 수 있습니다. 이벤트를 사용하면 연속 백업 및 배포와 같은 사용 사례를 완료할 수 있습니다.

**Topics**
+ [지원되는 이벤트](#events-supported)
+ [예제 이벤트 페이로드](#sample-events-payload)
+ [Amazon Quick Sight 이벤트를 Amazon CloudWatch로 전송하는 규칙 생성](events-send-cloudwatch.md)
+ [Amazon Quick Sight 이벤트를 로 전송하는 규칙 생성 AWS Lambda](events-send-lambda.md)

## 지원되는 이벤트
<a name="events-supported"></a>

Amazon Quick Sight는 현재 다음 이벤트를 지원합니다.


| 애셋 유형 | 작업 | 이벤트 세부 정보 유형 | 이벤트 세부 정보 | 
| --- | --- | --- | --- | 
| 대시보드 | 생성 | Amazon Quick Sight 대시보드 생성 성공 | <pre>{<br />    "dashboardId": "6fdbc328-ebbd-457f-aa02-9780173afc83",<br />    "versionNumber": 1<br />}</pre> | 
| 대시보드 | 생성 | Amazon Quick Sight 대시보드 생성 실패 | <pre>{<br />    "dashboardId": "6fdbc328-ebbd-457f-aa02-9780173afc83",<br />    "versionNumber": 1,<br />    "errors": [<br />      {<br />        "Type": "PARAMETER_NOT_FOUND",<br />        "Message": "Missing property abc"<br />      },<br />      {<br />        "Type": "DATA_SET_NOT_FOUND",<br />        "Message": "Cannot find dataset with id abc"<br />      }<br />    ]<br />}</pre> | 
| 대시보드 | 생성 | Amazon Quick Sight 대시보드 허용 업데이트 | <pre>{"dashboardId": "6fdbc328-ebbd-457f-aa02-9780173afc83" }</pre> | 
| 대시보드 | 업데이트 | Amazon Quick Sight 대시보드 업데이트 성공 | <pre>{<br />    "dashboardId": "6fdbc328-ebbd-457f-aa02-9780173afc83",<br />    "versionNumber": 1<br />}</pre> | 
| 대시보드 | 업데이트 | Amazon Quick Sight 대시보드 업데이트 실패 | <pre>{<br />    "dashboardId": "6fdbc328-ebbd-457f-aa02-9780173afc83",<br />    "versionNumber": 1,<br />    "errors": [<br />      {<br />        "Type": "PARAMETER_NOT_FOUND",<br />        "Message": "Missing property abc"<br />      },<br />      {<br />        "Type": "DATA_SET_NOT_FOUND",<br />        "Message": "Cannot find dataset with id abc"<br />      }<br />    ]<br />}</pre> | 
| 대시보드 | 업데이트 | Amazon Quick Sight 대시보드 허용 업데이트 | <pre>{"dashboardId": "6fdbc328-ebbd-457f-aa02-9780173afc83"}</pre> | 
| 대시보드 | 게시 | Amazon Quick Sight 대시보드 게시 버전 업데이트 | <pre>{<br />    "dashboardId": "6fdbc328-ebbd-457f-aa02-9780173afc83",<br />    "versionNumber": 2<br />}</pre> | 
| 대시보드 | Delete | Amazon Quick Sight 대시보드 삭제됨 | <pre>{<br />    "dashboardId": "6fdbc328-ebbd-457f-aa02-9780173afc83"<br />}</pre> | 
| 분석 | 생성 | Amazon Quick Sight 분석 생성 성공 | <pre>{<br />    "analysisId": "e5f37119-e24c-4874-901a-af9032b729b5"<br />}</pre> | 
| 분석 | 생성 | Amazon Quick Sight 분석 생성 실패 | <pre>{<br />    "analysisId": "e5f37119-e24c-4874-901a-af9032b729b5",<br />    "errors": [<br />      {<br />        "Type": "PARAMETER_NOT_FOUND",<br />        "Message": "Missing property abc"<br />      },<br />      {<br />        "Type": "DATA_SET_NOT_FOUND",<br />        "Message": "Cannot find dataset with id abc"<br />      }<br />    ]<br />}</pre> | 
| 분석 | 생성 | Amazon Quick Sight 분석 허용 사항 업데이트 | <pre>{"analysisId": "e5f37119-e24c-4874-901a-af9032b729b5" }</pre> | 
| 분석 | Delete | Amazon Quick Sight 분석 삭제됨 | <pre>{<br />    "analysisId": "e5f37119-e24c-4874-901a-af9032b729b5"<br />}</pre> | 
| 분석 | 업데이트 | Amazon Quick Sight 분석 업데이트 성공 | <pre>{<br />    "analysisId": "e5f37119-e24c-4874-901a-af9032b729b5"<br />}</pre> | 
| 분석 | 업데이트 | Amazon Quick Sight 분석 업데이트 실패 | <pre>{<br />    "analysisId": "e5f37119-e24c-4874-901a-af9032b729b5",    <br />    "errors": [        <br />        {            <br />            "Type": "PARAMETER_NOT_FOUND",            <br />            "Message": "Missing property abc"        <br />        },        <br />        {             <br />            "Type": "DATA_SET_NOT_FOUND",            <br />            "Message": "Cannot find dataset with id abc"        <br />        }    <br />    ]<br />}</pre> | 
| 분석 | 업데이트 | Amazon Quick Sight 분석 허용 사항 업데이트 | <pre>{"analysisId": "e5f37119-e24c-4874-901a-af9032b729b5" }</pre> | 
| VPC 연결 | 생성 | Amazon Quick Sight VPC 연결 생성 성공 | <pre>{<br />    "vpcConnectionId": "53d34238-57e7-488d-b99a-a0037d275a4e",<br />    "availabilityStatus": "CREATION_SUCCESSFUL"<br />}</pre> | 
| VPC 연결 | 생성 | Amazon Quick Sight VPC 연결 생성 실패 | <pre>{<br />    "vpcConnectionId": "53d34238-57e7-488d-b99a-a0037d275a4e",<br />    "availabilityStatus": "CREATION_FAILED"<br />}</pre> | 
| VPC 연결 | 업데이트 | Amazon Quick Sight VPC 연결 업데이트 성공 | <pre>{<br />    "vpcConnectionId": "53d34238-57e7-488d-b99a-a0037d275a4e",<br />    "availabilityStatus": "UPDATE_SUCCESSFUL"<br />}</pre> | 
| VPC 연결 | 업데이트 | Amazon Quick Sight VPC 연결 업데이트 실패 | <pre>{<br />    "vpcConnectionId": "53d34238-57e7-488d-b99a-a0037d275a4e",<br />    "availabilityStatus": "UPDATE_FAILED"<br />}</pre> | 
| VPC 연결 | Delete | Amazon Quick Sight VPC 연결 삭제 성공 | <pre>{<br />    "vpcConnectionId": "53d34238-57e7-488d-b99a-a0037d275a4e",<br />    "availabilityStatus": "DELETED"<br />}</pre> | 
| VPC 연결 | Delete | Amazon Quick Sight VPC 연결 삭제 실패 | <pre>{<br />    "vpcConnectionId": "53d34238-57e7-488d-b99a-a0037d275a4e",<br />    "availabilityStatus": "DELETION_FAILED"<br />}</pre> | 
| 폴더 | 생성 | Amazon Quick Sight 폴더 생성됨 | <pre>{<br />    "folderId": "77e307e8-b41b-472a-90e8-fe3f471537be",<br />    "parentFolderArn": "arn:aws:quicksight:us-east-1:123456789012:folder/098765432134"<br />}</pre> | 
| 폴더 | 생성 | Amazon Quick Sight 폴더 권한이 업데이트됨 | <pre>{"folderId": "77e307e8-b41b-472a-90e8-fe3f471537be" }</pre> | 
| 폴더 | 업데이트 | Amazon Quick Sight 폴더 업데이트 | <pre>{<br />    "folderId": "77e307e8-b41b-472a-90e8-fe3f471537be"<br />}</pre> | 
| 폴더 | 업데이트 | Amazon Quick Sight 폴더 권한이 업데이트됨 | <pre>{"folderId": "77e307e8-b41b-472a-90e8-fe3f471537be" }</pre> | 
| 폴더 | Delete | Amazon Quick Sight 폴더 삭제됨 | <pre>{<br />    "folderId": "77e307e8-b41b-472a-90e8-fe3f471537be"<br />}</pre> | 
| 폴더 | 멤버십 업데이트 | Amazon Quick Sight 폴더 멤버십 업데이트 | <pre>{<br />    "folderId": "77e307e8-b41b-472a-90e8-fe3f471537be",<br />    "membersAdded": ["arn:aws:quicksight:us-east-1:123456789012:analysis/e5f37119-e24c-4874-901a-af9032b729b5"],<br />    "membersRemoved": []<br />}</pre> | 
| 데이터세트 | 생성 | Amazon Quick Sight 데이터 세트 생성됨 | <pre>{<br />    "datasetId": "a6553a81-f97e-4ffa-a860-baea63196efa"<br />}</pre> | 
| 데이터세트 | 생성 | Amazon Quick Sight 데이터 세트 권한 업데이트됨 | <pre>{"datasetId": "a6553a81-f97e-4ffa-a860-baea63196efa" }</pre> | 
| 데이터세트 | 업데이트 | Amazon Quick Sight 데이터 세트 업데이트됨 | <pre>{<br />    "datasetId": "a6553a81-f97e-4ffa-a860-baea63196efa"<br />}</pre> | 
| 데이터세트 | 업데이트 | Amazon Quick Sight 데이터 세트 권한 업데이트됨 | <pre>{"datasetId": "a6553a81-f97e-4ffa-a860-baea63196efa" }</pre> | 
| 데이터세트 | Delete | Amazon Quick Sight 데이터 세트 삭제됨 | <pre>{<br />    "datasetId": "a6553a81-f97e-4ffa-a860-baea63196efa"<br />}</pre> | 
| DataSource | 생성 | Amazon Quick Sight DataSource 생성 성공 | <pre>{<br />    "datasourceId": "230caa6e-dc87-406b-91fb-037f29c32824"<br />}</pre> | 
| DataSource | 생성 | Amazon Quick Sight DataSource 생성 실패 | <pre>{<br />    "datasourceId": "230caa6e-dc87-406b-91fb-037f29c32824",<br />    "error": {<br />        "message": "AMAZON_ELASTICSEARCH engine version 7.4 is lower than minimum supported version 7.7",<br />        "type": "ENGINE_VERSION_NOT_SUPPORTED"<br />    }<br />}</pre> | 
| DataSource | 생성 | Amazon Quick Sight DataSource 권한 업데이트 | <pre>{"datasourceId": "230caa6e-dc87-406b-91fb-037f29c32824" }</pre> | 
| DataSource | 업데이트 | Amazon Quick Sight DataSource 업데이트 성공 | <pre>{<br />    "datasourceId": "230caa6e-dc87-406b-91fb-037f29c32824"<br />}</pre> | 
| DataSource | 업데이트 | Amazon Quick Sight DataSource 업데이트 실패 | <pre>{<br />    "datasourceId": "230caa6e-dc87-406b-91fb-037f29c32824",<br />    "error": {<br />        "message": "AMAZON_ELASTICSEARCH engine version 7.4 is lower than minimum supported version 7.7",<br />        "type": "ENGINE_VERSION_NOT_SUPPORTED"<br />    }<br />}</pre> | 
| DataSource | 업데이트 | Amazon Quick Sight DataSource 권한 업데이트 | <pre>{"datasourceId": "230caa6e-dc87-406b-91fb-037f29c32824" }</pre> | 
| DataSource | Delete | Amazon Quick Sight DataSource 삭제됨 | <pre>{<br />    "datasourceId": "230caa6e-dc87-406b-91fb-037f29c32824"<br />}</pre> | 
| 테마 | 생성 | Amazon Quick Sight 테마 생성 성공 | <pre>{<br />    ""themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83", <br />    "versionNumber": 1"<br />}</pre> | 
| 테마 | 생성 | Amazon Quick Sight 테마 생성 실패 | <pre>{ <br />    "themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83", <br />    "versionNumber": 1<br />}</pre> | 
| 테마 | 생성 | Amazon Quick Sight 테마 권한 업데이트됨 | <pre>{"themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83" }</pre> | 
| 테마 | 업데이트 | Amazon Quick Sight 테마 업데이트 성공 | <pre>{<br />    "themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83",    <br />    "versionNumber": 2<br />}</pre> | 
| 테마 | 업데이트 | Amazon Quick Sight 테마 업데이트 실패 | <pre>{<br />    "themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83",    <br />    "versionNumber": 2<br />}</pre> | 
| 테마 | 업데이트 | Amazon Quick Sight 테마 권한 업데이트됨 | <pre>{"themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83" }</pre> | 
| 테마 | Delete | Amazon Quick Sight 테마 삭제 | <pre>{<br />    "themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83"<br />}</pre> | 
| 테마 | 별칭 생성 | Amazon Quick Sight 테마 별칭 생성됨 | <pre>{<br />    "themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83",    <br />    "aliasName": "MyThemeAlias"    <br />    "versionNumber": 2<br />}</pre> | 
| 테마 | 별칭 업데이트 | Amazon Quick Sight 별칭 업데이트 | <pre>{<br />    "themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83",    <br />    "aliasName": "MyThemeAlias"    <br />    "versionNumber": 4<br />}</pre> | 
| 테마 | 별칭 삭제 | Amazon Quick Sight 테마 별칭 삭제됨 | <pre>{<br />    "themeId": "6fdbc328-ebbd-457f-aa02-9780173afc83",    <br />    "aliasName": "MyThemeAlias"    <br />    "versionNumber": 2<br />}</pre> | 

## 예제 이벤트 페이로드
<a name="sample-events-payload"></a>

모든 이벤트는 표준 EventBridge [객체 구조](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events-structure.html)를 따릅니다. 세부 정보 필드는 이벤트에 대한 정보가 포함된 JSON 객체입니다.

```
{
  "version": "0",
  "id": "3acb26c8-397c-4c89-a80a-ce672a864c55",
  "detail-type": "QuickSight Dashboard Creation Successful",
  "source": "aws.quicksight",
  "account": "123456789012",
  "time": "2023-10-30T22:06:31Z",
  "region": "us-east-1",
  "resources": ["arn:aws:quicksight:us-east-1:123456789012:dashboard/6fdbc328-ebbd-457f-aa02-9780173afc83"],
  "detail": {
    "dashboardId": "6fdbc328-ebbd-457f-aa02-9780173afc83",
    "versionNumber": 1
  }
}
```

# Amazon Quick Sight 이벤트를 Amazon CloudWatch로 전송하는 규칙 생성
<a name="events-send-cloudwatch"></a>

간단한 규칙을 작성하여 관심 있는 Amazon Quick Sight 이벤트와 이벤트가 규칙과 일치할 때 수행할 자동화된 작업을 표시할 수 있습니다. 예를 들어 Amazon Quick Sight 자산이 폴더에 배치될 때마다 Amazon CloudWatch로 이벤트를 보내도록 Amazon Quick Sight를 구성할 수 있습니다. 자세한 정보는 [Amazon EventBridge 사용자 가이드](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)를 참조하세요.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) CloudWatch 콘솔을 엽니다.

1. 탐색 창의 **이벤트** 아래에서 **규칙**을 선택합니다.

1. **규칙 생성**을 선택합니다.

1. 규칙에 대해 이름과 설명을 입력하세요. 규칙 이름은 이 리전 내에서 고유해야 합니다. 예를 들면 `QuickSightAssetChangeRuleCloudWatch`를 입력합니다.

1. **기본** 이벤트 버스를 선택합니다.

1. **이벤트 패턴이 있는 규칙**을 선택한 후**다음**을 선택합니다.

1. **이벤트 소스**에서 **AWS 이벤트 또는 EventBridge 파트너 이벤트**를 선택합니다.

1. **생성 방법** 섹션에서 **사용자 지정 패턴(JSON 편집기)**을 선택합니다.

1. **이벤트 패턴** 텍스트 상자에 다음 코드 조각을 입력하고 **다음**를 선택합니다.

   ```
   {
     "source": ["aws.quicksight"]
   }
   ```

   또는 Amazon Quick Sight에서 이벤트 유형의 하위 집합만 구독하는 규칙을 생성할 수 있습니다. 예를 들어, 다음 규칙은 id가 `77e307e8-b41b-472a-90e8-fe3f471537be`인 폴더에 자산을 추가하거나 제거할 때만 트리거됩니다.

   ```
   {
     "source": ["aws.quicksight"],
     "detail-type": ["QuickSight Folder Membership Updated"],
     "detail": {
       "folderId": "77e307e8-b41b-472a-90e8-fe3f471537be"
     }
   }
   ```

1. **대상**에서 **AWS 서비스** > **CloudWatch 로그 그룹**을 선택합니다.

1. 기존 로그 그룹에서 선택하거나 새 로그 그룹을 입력하여 새 로그 그룹을 생성합니다.

1. 선택적으로 이 규칙에 다른 대상을 추가할 수 있습니다.

1. **태그 구성**에서는 **다음**을 선택합니다.

1. **규칙 생성**을 선택합니다.

자세한 정보는 Amazon EventBridge 사용자 가이드의 [이벤트에 응답하는 Amazon EventBridge 규칙 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)을 참조하세요.

# Amazon Quick Sight 이벤트를 로 전송하는 규칙 생성 AWS Lambda
<a name="events-send-lambda"></a>

이 자습서에서는 Amazon Quick Sight 계정의 자산 이벤트를 로깅하는 AWS Lambda 함수를 생성합니다. 그런 다음 자산이 변경될 때마다 함수를 실행하는 규칙을 생성합니다. 이 자습서에서는 Amazon Quick Sight에 이미 가입했다고 가정합니다.

**1단계: Lambda 함수 생성**

Lambda 함수를 생성하여 상태 변경 이벤트를 기록합니다. 규칙을 생성할 때 이 함수를 지정합니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) AWS Lambda 콘솔을 엽니다.

1. Lambda를 처음 사용하는 경우 시작 페이지가 표시됩니다. **지금 시작**을 선택합니다. 그렇지 않은 경우에는 **함수 생성**을 선택합니다.

1. **새로 작성**을 선택합니다.

1. 함수 생성 페이지에서 Lambda 함수의 이름과 설명을 입력합니다. 예를 들어 함수 이름을 `QuickSightAssetChangeFn`로 지정합니다.

1. **런타임**에서 **Node.js 18.x**를 선택합니다.

1. **아키텍처**에서는 **x86\$164**를 선택합니다.

1. **실행 역할**에서 **기본 Lambda 권한이 있는 새 역할 생성** 또는 **기존 역할 사용**을 선택하고 원하는 역할을 선택합니다.

1. **함수 생성**을 선택합니다.

1. **QuickSightAssetChange** 페이지에서 **index.js**를 선택합니다.

1. **index.js** 창에서 기존 코드를 삭제합니다.

1. 다음 코드 조각을 입력합니다.

   ```
   console.log('Loading function');
   exports.handler = async (event, context) => {
     console.log('Received QuickSight event:', JSON.stringify(event));
   };
   ```

1. **배포**를 선택합니다.

**2단계: 규칙 생성**

Amazon Quick Sight 자산을 create/update/delete할 때마다 Lambda 함수를 실행하는 규칙을 생성합니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **규칙**을 선택합니다.

1. **규칙 생성**을 선택합니다.

1. 규칙에 대해 이름과 설명을 입력하십시오. 예를 들면 `QuickSightAssetChangeRule`을 입력합니다.

1. **기본** 이벤트 버스를 선택합니다.

1. **이벤트 패턴이 있는 규칙**을 선택한 후**다음**을 선택합니다.

1. **이벤트 소스**에서 **AWS 이벤트 또는 EventBridge 파트너 이벤트**를 선택합니다.

1. **생성 방법** 섹션에서 **사용자 지정 패턴(JSON 편집기)**을 선택합니다.

1. **이벤트 패턴** 텍스트 상자에 다음 코드 조각을 입력하고 **다음**를 선택합니다.

   ```
   {
     "source": ["aws.quicksight"]
   }
   ```

   또는 Amazon Quick Sight에서 이벤트 유형의 하위 집합만 구독하는 규칙을 생성할 수 있습니다. 예를 들어, 다음 규칙은 id가 `77e307e8-b41b-472a-90e8-fe3f471537be`인 폴더에 자산을 추가하거나 제거할 때만 트리거됩니다.

   ```
   {
     "source": ["aws.quicksight"],
     "detail-type": ["QuickSight Folder Membership Updated"],
     "detail": {
       "folderId": "77e307e8-b41b-472a-90e8-fe3f471537be"
     }
   }
   ```

1. **대상 유형**에서 **AWS 서비스** 및 **Lambda 함수**를 선택합니다.

1. **함수**에서는 생성한 Lambda 함수를 선택합니다. 그리고 **다음**을 선택합니다.

1. **태그 구성**에서는 **다음**을 선택합니다.

1. 규칙의 단계를 검토하십시오. 그런 다음 **규칙 생성**을 선택합니다.

**3단계: 규칙 테스트**

규칙을 테스트하려면 분석을 생성합니다. 몇 분 기다린 후에 Lambda 함수가 호출되었는지 확인합니다.

1. [https://quicksight.aws.amazon.com/](https://quicksight.aws.amazon.com/) Amazon Quick Sight 콘솔을 엽니다.

1. 새 분석을 생성합니다.

1. 탐색 창에서 [**규칙(Rules)**]을 선택하고 생성한 규칙의 이름을 선택합니다.

1. **규칙 세부 정보**에서 **모니터링**을 선택합니다.

1. 그러면 Amazon CloudWatch 콘솔로 리디렉션됩니다. 리디렉션되지 않은 경우 **CloudWatch에서 지표 보기**를 클릭합니다.

1. [**모든 지표(All metrics)**]에서 생성한 규칙의 이름을 선택합니다. 그래프에 규칙이 호출된 것으로 표시되어야 합니다.

1. 탐색 창에서 **로그 그룹**을 선택합니다.

1. Lambda 함수에 대한 로그 그룹 이름을 선택합니다. 예를 들어 `/aws/lambda/function-name`입니다.

1. 로그 스트림 이름을 선택하여 시작한 인스턴스에서 함수를 통해 제공된 데이터를 확인합니다. 다음과 유사한 수신된 이벤트가 표시되어야 합니다.

   ```
   {
     "version": "0",
     "id": "3acb26c8-397c-4c89-a80a-ce672a864c55",
     "detail-type": "QuickSight Analysis Creation Successful",
     "source": "aws.quicksight",
     "account": "123456789012",
     "time": "2023-10-30T22:06:31Z",
     "region": "us-east-1",
     "resources": ["arn:aws:quicksight:us-east-1:123456789012:analysis/e5f37119-e24c-4874-901a-af9032b729b5"],
     "detail": {
       "analysisId": "e5f37119-e24c-4874-901a-af9032b729b5"
     }
   }
   ```

JSON 형식의 Amazon Quick Sight 이벤트 예제는 [Amazon Quick Sight 이벤트 개요를 참조하세요](https://docs.aws.amazon.com/quicksight/latest/developerguide/events.html).

# Amazon Quick Sight에 대한 임베디드 분석
<a name="embedded-analytics"></a>

**중요**  
Amazon Quick Sight에는 및 임베딩 분석을 위한 새로운 API 작업이 `GenerateEmbedUrlForAnonymousUser` 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` API 작업을 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. API 작업 사용에 대한 자세한 내용은 [GetDashboardEmbedURL 및 GetSessionEmbedURL API 작업을 사용한 분석 기능 임베딩](embedded-analytics-deprecated.md) 단원을 참조하세요.


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

Amazon Quick Sight 임베디드 분석을 사용하면 데이터 기반 경험을 소프트웨어 애플리케이션에 원활하게 통합할 수 있습니다. 브랜드에 맞게 임베디드 구성 요소의 스타일을 지정할 수 있습니다. 이 기능은 최종 사용자가 애플리케이션을 떠나지 않고도 데이터를 분석하고 상호 작용할 수 있는 Amazon Quick Sight의 기능을 제공합니다. 인지적 복잡성을 줄여 사용자 경험을 개선하면 사용자는 더 깊이 이해하고 효과적으로 작업할 수 있는 더 나은 기회를 얻을 수 있습니다.

Amazon Quick Sight는 다음 요소에 대한 임베딩을 지원합니다.
+ Amazon Quick Sight 콘솔(등록된 사용자를 위한 전체 작성 환경)
+ Amazon Quick Sight 대시보드 및 시각적 객체(등록 사용자, 익명 사용자, 퍼블릭 최종 사용자용)
+ Amazon Quick Sight Q 검색 창(등록 사용자 및 익명 사용자용)

임베디드 Amazon Quick Sight 콘솔을 사용하면 전체 Amazon Quick Sight 환경을 포함할 수 있습니다. 이렇게 하면 AWS Management Console 또는 독립 실행형 웹 사이트의 컨텍스트가 아닌 애플리케이션의 일부로 Amazon Quick Sight 작성 도구를 사용할 수 있습니다. 임베디드 Amazon Quick Sight 콘솔 사용자는에 Amazon Quick Sight 작성자 또는 관리자로 등록해야 합니다 AWS 계정. 또한 Amazon Quick Sight 지원 인증 방법을 AWS 계정사용하여 동일한에 인증해야 합니다.

임베디드 Amazon Quick Sight 대시보드 또는 시각적 객체를 사용하면 독자는 게시된 대시보드 또는 시각적 객체에서와 동일한 기능과 상호 작용을 얻을 수 있습니다. 임베디드 대시보드 또는 시각적 객체를 사용하기 위해, 독자(뷰어) 는 다음 중 하나를 포함할 수 있습니다.
+ Amazon Quick Sight에서 지원하는 AWS 계정 모든 방법으로에서 인증된 Amazon Quick Sight 사용자.
+ 웹 사이트 또는 애플리케이션의 인증되지 않은 방문자 - 이 옵션을 사용하려면 용량 요금이 책정된 세션 팩이 필요합니다. 구독 유형에 대한 자세한 내용은 [Amazon Quick Sight 구독 및 역할 이해를 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/user-types.html#subscription-role-mapping).
+ 프로그래밍 방식으로 액세스하여 모니터나 대형 화면에서 디스플레이를 보는 여러 최종 사용자

앱도에 상주 AWS하는 경우 앱은 Amazon Quick Sight 구독 AWS 계정 과 동일한에 상주할 필요가 없습니다. 그러나 앱은 API 호출에 사용하는 AWS Identity and Access Management (IAM) 역할을 수임할 수 있어야 합니다.

콘텐츠를 임베딩하려면 먼저 임베딩을 사용하려는 AWS 계정 에서 Amazon Quick Sight Enterprise 에디션을 사용해야 합니다.

Amazon Quick Sight 임베딩은 지원되는 모든에서 사용할 수 있습니다 AWS 리전.

**Topics**
+ [애플리케이션에 Amazon Quick Sight 분석 임베딩](embedding-overview.md)
+ [사용자 지정 Amazon Quick Sight 자산을 애플리케이션에 임베딩](customize-and-personalize-embedded-analytics.md)
+ [원클릭 임베드 코드를 사용하여 Amazon Quick Sight 시각적 객체 및 대시보드 임베딩](1-click-embedding.md)
+ [Amazon Quick Sight APIs를 사용한 임베딩](embedded-analytics-api.md)

# 애플리케이션에 Amazon Quick Sight 분석 임베딩
<a name="embedding-overview"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

분석을 임베드하려면 Amazon Quick Sight 임베딩 API를 실행하여 임베드 코드를 생성할 수 있습니다. 또는 대시보드의 경우 Amazon Quick Sight에서 대시보드를 공유할 때 임베드 코드를 복사할 수 있습니다. 각 옵션에 대해 아래에 설명되어 있습니다.

## 등록된 사용자의 원클릭 임베딩
<a name="embedding-overview-1-click"></a>

계정의 등록된 사용자와 대시보드를 공유하는 경우 대시보드의 임베드 코드를 복사하여 내부 애플리케이션의 HTML에 붙여 넣을 수 있습니다.

원클릭 엔터프라이즈 임베딩을 사용하는 것은 사용자가 인증해야 하는 내부 애플리케이션에 Amazon Quick Sight 대시보드를 임베드하려는 경우에 가장 적합합니다. 임베드 코드를 복사하면 변경되지 않는 정적 임베드 코드가 생성됩니다.

자세한 내용은 [원클릭 임베드 코드를 사용하여 등록된 사용자를 위한 Amazon Quick Sight 시각적 객체 및 대시보드 임베딩](embedded-analytics-1-click.md) 단원을 참조하십시오.

## Amazon Quick Sight APIs를 사용한 임베딩
<a name="embedding-overview-api"></a>

Amazon Quick Sight API를 사용한 임베딩은 사용자가 인증해야 하는 내부 애플리케이션 또는 누구나 액세스할 수 있는 외부 애플리케이션에 Amazon Quick Sight 환경을 포함하려는 경우에 가장 적합합니다. 임베딩 API 작업을 사용하여 임베드 코드를 생성하면 일회성 코드가 생성됩니다.

자세한 내용은 [Amazon Quick Sight APIs를 사용한 임베딩](embedded-analytics-api.md) 단원을 참조하십시오.

# 사용자 지정 Amazon Quick Sight 자산을 애플리케이션에 임베딩
<a name="customize-and-personalize-embedded-analytics"></a>

Amazon Quick Sight 임베디드 분석을 사용하여 비즈니스 요구 사항에 맞게 조정된 사용자 지정 Amazon Quick Sight 자산을 애플리케이션에 포함할 수 있습니다. 임베디드 대시보드 및 시각적 객체의 경우 Amazon Quick Sight 작성자는 독자가 대시보드 또는 시각적 객체를 탐색할 때 액세스할 수 있는 필터 및 드릴다운을 추가할 수 있습니다. Amazon Quick Sight 개발자는 Amazon Quick Sight SDKs를 사용하여 SaaS 애플리케이션과 Amazon Quick Sight 임베디드 자산 간에 더 엄격한 통합을 구축하여 런타임 시 대시보드의 시각적 객체에 데이터 포인트 콜백 작업을 추가할 수도 있습니다.

Amazon Quick Sight SDKs에 대한 자세한 내용은 [GitHub](https://github.com/awslabs/amazon-quicksight-embedding-sdk) 또는 [NPM](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)`amazon-quicksight-embedding-sdk`의 섹션을 참조하세요.

아래에서 Amazon Quick Sight SDKs를 사용하여 Amazon Quick Sight 임베디드 분석을 사용자 지정하는 방법에 대한 설명을 찾을 수 있습니다.

**Topics**
+ [Amazon Quick Sight에서 런타임 시 임베디드 콜백 작업 추가](embedding-custom-actions-callback.md)
+ [Amazon Quick Sight 임베디드 대시보드 및 시각적 객체의 런타임 데이터 필터링](embedding-runtime-filtering.md)
+ [Amazon Quick Sight 임베디드 대시보드 및 시각적 객체의 모양과 느낌 사용자 지정](embedding-runtime-theming.md)
+ [Amazon Quick Sight 임베딩 SDK를 사용하여 임베디드 대시보드 보기에 대한 공유 가능한 링크 활성화](embedded-view-sharing.md)

# Amazon Quick Sight에서 런타임 시 임베디드 콜백 작업 추가
<a name="embedding-custom-actions-callback"></a>

임베디드 데이터 포인트 콜백 작업을 사용하여 서비스형 소프트웨어(SaaS) 애플리케이션과 Amazon Quick Sight 임베디드 대시보드 및 시각적 객체 간에 더 긴밀한 통합을 구축합니다. 개발자는 Amazon Quick Sight 임베딩 SDK를 사용하여 다시 호출할 데이터 포인트를 등록할 수 있습니다. 시각적 객체에 대한 콜백 작업을 등록하면, 독자는 시각적 객체에서 데이터 포인트를 선택하여 선택한 데이터 포인트와 관련된 데이터를 제공하는 콜백을 수신할 수 있습니다. 이 정보를 사용하여 주요 레코드에 플래그를 지정하고, 데이터 포인트와 관련된 원시 데이터를 컴파일하고, 레코드를 캡처하고, 백엔드 프로세스용 데이터를 컴파일할 수 있습니다.

사용자 지정 시각적 콘텐츠, 텍스트 상자 또는 인사이트에는 임베디드 콜백이 지원되지 않습니다.

콜백에 데이터 포인트를 등록하기 전에 Embedding SDK를 버전 2.3.0으로 업데이트하세요. Amazon Quick Sight 임베딩 SDK 사용에 대한 자세한 내용은 GitHub의 [amazon-quicksight-embedding-sdk](https://github.com/awslabs/amazon-quicksight-embedding-sdk)를 참조하세요.

Amazon Quick Sight SDK를 통해 런타임 시 데이터 포인트 콜백을 하나 이상의 시각적 객체에 등록할 수 있습니다. 또한 [VisualCustomAction](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_VisualCustomAction.html) API 구조에서 지원하는 모든 상호 작용에 데이터 포인트 콜백을 등록할 수 있습니다. 이렇게 하면 사용자가 시각적 객체에서 데이터 포인트를 선택하거나 데이터 포인트 컨텍스트 메뉴에서 데이터 포인트를 선택할 때 데이터 포인트 콜백이 시작될 수 있습니다. 다음 예제는 독자가 시각적 객체에서 데이터 포인트를 선택할 때 시작하는 데이터 포인트 콜백을 등록합니다.

```
/const MY_GET_EMBED_URL_ENDPOINT =
  "https://my.api.endpoint.domain/MyGetEmbedUrlApi"; // Sample URL

// The dashboard id to embed
const MY_DASHBOARD_ID = "my-dashboard"; // Sample ID

// The container element in your page that will have the embedded dashboard
const MY_DASHBOARD_CONTAINER = "#experience-container"; // Sample ID

// SOME HELPERS

const ActionTrigger = {
  DATA_POINT_CLICK: "DATA_POINT_CLICK",
  DATA_POINT_MENU: "DATA_POINT_MENU",
};

const ActionStatus = {
  ENABLED: "ENABLED",
  DISABLED: "DISABLED",
};

// This function makes a request to your endpoint to obtain an embed url for a given dashboard id
// The example implementation below assumes the endpoint takes dashboardId as request data
// and returns an object with EmbedUrl property
const myGetEmbedUrl = async (dashboardId) => {
  const apiOptions = {
    dashboardId,
  };
  const apiUrl = new URL(MY_GET_EMBED_URL_ENDPOINT);
  apiUrl.search = new URLSearchParams(apiOptions).toString();
  const apiResponse = await fetch(apiUrl.toString());
  const apiResponseData = await apiResponse.json();
  return apiResponseData.EmbedUrl;
};

// This function constructs a custom action object
const myConstructCustomActionModel = (
  customActionId,
  actionName,
  actionTrigger,
  actionStatus
) => {
  return {
    Name: actionName,
    CustomActionId: customActionId,
    Status: actionStatus,
    Trigger: actionTrigger,
    ActionOperations: [
      {
        CallbackOperation: {
          EmbeddingMessage: {},
        },
      },
    ],
  };
};

// This function adds a custom action on the first visual of first sheet of the embedded dashboard
const myAddVisualActionOnFirstVisualOfFirstSheet = async (
  embeddedDashboard
) => {
  // 1. List the sheets on the dashboard
  const { SheetId } = (await embeddedDashboard.getSheets())[0];
  // If you'd like to add action on the current sheet instead, you can use getSelectedSheetId method
  // const SheetId = await embeddedDashboard.getSelectedSheetId();

  // 2. List the visuals on the specified sheet
  const { VisualId } = (await embeddedDashboard.getSheetVisuals(SheetId))[0];

  // 3. Add the custom action to the visual
  try {
    const customActionId = "custom_action_id"; // Sample ID
    const actionName = "Flag record"; // Sample name
    const actionTrigger = ActionTrigger.DATA_POINT_CLICK; // or ActionTrigger.DATA_POINT_MENU
    const actionStatus = ActionStatus.ENABLED;
    const myCustomAction = myConstructCustomActionModel(
      customActionId,
      actionName,
      actionTrigger,
      actionStatus
    );
    const response = await embeddedDashboard.addVisualActions(
      SheetId,
      VisualId,
      [myCustomAction]
    );
    if (!response.success) {
      console.log("Adding visual action failed", response.errorCode);
    }
  } catch (error) {
    console.log("Adding visual action failed", error);
  }
};

const parseDatapoint = (visualId, datapoint) => {
  datapoint.Columns.forEach((Column, index) => {
    // FIELD | METRIC
    const columnType = Object.keys(Column)[0];

    // STRING | DATE | INTEGER | DECIMAL
    const valueType = Object.keys(Column[columnType])[0];
    const { Column: columnMetadata } = Column[columnType][valueType];

    const value = datapoint.RawValues[index][valueType];
    const formattedValue = datapoint.FormattedValues[index];

    console.log(
      `Column: ${columnMetadata.ColumnName} has a raw value of ${value}
           and formatted value of ${formattedValue.Value} for visual: ${visualId}`
    );
  });
};

// This function is used to start a custom workflow after the end user selects a datapoint
const myCustomDatapointCallbackWorkflow = (callbackData) => {
  const { VisualId, Datapoints } = callbackData;

  parseDatapoint(VisualId, Datapoints);
};

// EMBEDDING THE DASHBOARD

const main = async () => {
  // 1. Get embed url
  let url;
  try {
    url = await myGetEmbedUrl(MY_DASHBOARD_ID);
  } catch (error) {
    console.log("Obtaining an embed url failed");
  }

  if (!url) {
    return;
  }

  // 2. Create embedding context
  const embeddingContext = await createEmbeddingContext();

  // 3. Embed the dashboard
  const embeddedDashboard = await embeddingContext.embedDashboard(
    {
      url,
      container: MY_DASHBOARD_CONTAINER,
      width: "1200px",
      height: "300px",
      resizeHeightOnSizeChangedEvent: true,
    },
    {
      onMessage: async (messageEvent) => {
        const { eventName, message } = messageEvent;
        switch (eventName) {
          case "CONTENT_LOADED": {
            await myAddVisualActionOnFirstVisualOfFirstSheet(embeddedDashboard);
            break;
          }
          case "CALLBACK_OPERATION_INVOKED": {
            myCustomDatapointCallbackWorkflow(message);
            break;
          }
        }
      },
    }
  );
};

main().catch(console.error);
```

사용자가 컨텍스트 메뉴를 열 때 데이터포인트 콜백을 시작하도록 위 예제를 구성할 수도 있습니다. 위 예제에서 이 작업을 수행하려면 `actionTrigger`의 값을 `ActionTrigger.DATA_POINT_MENU`(으)로 설정합니다.

데이터포인트 콜백이 등록되면, 지정된 시각적 객체나 시각적 객체의 대부분의 데이터포인트에 적용됩니다. 콜백은 시각적 객체의 합계 또는 소계에는 적용되지 않습니다. 리더가 데이터 포인트와 상호 작용하면 Amazon Quick Sight 임베딩 SDK로 `CALLBACK_OPERATION_INVOKED` 메시지가 전송됩니다. 이 메시지는 `onMessage` 핸들러에 의해 캡처됩니다. 메시지에는 선택한 데이터 포인트와 관련된 전체 데이터 행의 원시 및 표시 값이 포함됩니다. 또한 데이터 포인트가 포함된 시각적 객체의 모든 열에 대한 열 메타데이터도 포함됩니다. 다음은 `CALLBACK_OPERATION_INVOKED` 메시지의 예입니다.

```
{
   CustomActionId: "custom_action_id",
   DashboardId: "dashboard_id",
   SheetId: "sheet_id",
   VisualId: "visual_id",
   DataPoints: [
        {
            RawValues: [
                    {
                        String: "Texas" // 1st raw value in row
                    },
                    {
                        Integer: 1000 // 2nd raw value in row
                    }
            ],
            FormattedValues: [
                    {Value: "Texas"}, // 1st formatted value in row
                    {Value: "1,000"} // 2nd formatted value in row
            ],
            Columns: [
                    { // 1st column metadata
                        Dimension: {
                            String: {
                                Column: {
                                    ColumnName: "State",
                                    DatsetIdentifier: "..."
                                }
                            }
                        }
                    },
                    { // 2nd column metadata
                        Measure: {
                            Integer: {
                                Column: {
                                    ColumnName: "Cancelled",
                                    DatsetIdentifier: "..."
                                },
                                AggregationFunction: {
                                    SimpleNumericalAggregation: "SUM"
                                }
                            }
                        }
                    }
            ]
        }
   ]
}
```

# Amazon Quick Sight 임베디드 대시보드 및 시각적 객체의 런타임 데이터 필터링
<a name="embedding-runtime-filtering"></a>

Amazon Quick Sight 임베딩 SDK의 필터 메서드를 사용하여 런타임 시 서비스형 소프트웨어(SaaS) 애플리케이션 내에서 Amazon Quick Sight 필터의 성능을 활용할 수 있습니다. 런타임 필터를 사용하면 비즈니스 소유자가 애플리케이션을 임베디드 Amazon Quick Sight 대시보드 및 시각적 객체와 통합할 수 있습니다. 이를 수행하려면 애플리케이션에서 사용자 지정 필터 제어를 생성하고 애플리케이션의 데이터를 기반으로 필터 사전 설정을 적용합니다. 그런 다음 개발자는 런타임 시 최종 사용자를 위한 필터 구성을 개인화할 수 있습니다.

개발자는 Amazon Quick Sight 임베딩 SDK를 사용하여 임베디드 대시보드 또는 시각적 객체에서 Amazon Quick Sight 필터를 생성, 쿼리, 업데이트 및 제거할 수 있습니다. [FilterGroup](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_FilterGroup.html) 데이터 모델을 사용하여 애플리케이션에서 Amazon Quick Sight 필터 객체를 생성하고 필터 방법을 사용하여 임베디드 대시보드 및 시각적 객체에 적용합니다. Amazon Quick Sight 임베딩 SDK 사용에 대한 자세한 내용은 GitHub의 [amazon-quicksight-embedding-sdk](https://github.com/awslabs/amazon-quicksight-embedding-sdk)를 참조하세요.

**사전 조건**

시작하기 전에 Amazon Quick Sight 임베딩 SDK 버전 2.5.0 이상을 사용하고 있는지 확인하세요.

## 용어 및 개념
<a name="runtime-filtering-terminology"></a>

다음 용어는 임베디드 런타임 필터링을 사용할 때 유용할 수 있습니다.
+ *필터 그룹* - 개별 필터의 그룹입니다. `FilterGroup` 내에 있는 필터는 서로 OR 처리됩니다. [FilterGroup](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_FilterGroup.html) 내의 필터는 동일한 시트 또는 시각적 객체에 적용됩니다.
+ *필터* - 단일 필터입니다. 필터는 범주, 숫자 또는 날짜/시간 필터 유형일 수 있습니다. 필터에 대한 자세한 정보는 [필터](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_Filter.html)를 참조하세요.

## 설정
<a name="runtime-filtering-setup"></a>

시작하기 전에 다음 자산 및 정보가 준비되어 있는지 확인합니다.
+ 범위를 `FilterGroup`으로 지정할 시트의 시트 ID입니다. 이는 임베딩 SDK의 `getSheets` 메서드를 사용하여 얻을 수 있습니다.
+ 필터링하려는 데이터세트의 데이터세트 및 열 식별자입니다. 이는 [DescribeDashboardDefinition](https://docs.aws.amazon.com/APIReference/API_DescribeDashboardDefinition.html) API 작업을 통해 얻을 수 있습니다.

  사용하는 열 유형에 따라 임베디드 자산에 추가할 수 있는 필터 유형에 제한이 있을 수 있습니다. 필터 제한에 대한 자세한 정보는 [필터](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_Filter.html)를 참조하세요.
+ 해당하는 경우 범위를 `FilterGroup`으로 지정할 시각적 객체의 시각적 ID입니다. 이는 임베딩 SDK의 `getSheetVisuals` 메서드를 사용하여 얻을 수 있습니다.

  `getSheetVisuals` 메서드 외에도 추가하는 `FilterGroup`의 범위는 현재 선택한 시트로만 지정할 수 있습니다.

이 기능을 사용하려면 Amazon Quick Sight 임베딩 SDK를 통해 애플리케이션에 대시보드 또는 시각적 객체가 이미 포함되어 있어야 합니다. Amazon Quick Sight 임베딩 SDK 사용에 대한 자세한 내용은 GitHub의 [amazon-quicksight-embedding-sdk](https://github.com/awslabs/amazon-quicksight-embedding-sdk)를 참조하세요.

## SDK 메서드 인터페이스
<a name="runtime-filtering-sdk-interface"></a>

**대시보드 임베딩 getter 메서드**

다음 테이블에서는 개발자가 사용할 수 있는 다양한 대시보드 임베딩 getter 메서드를 설명합니다.


| 방법 | 설명 | 
| --- | --- | 
|  `getFilterGroupsForSheet(sheetId: string) `  |  파라미터에 제공된 시트에 현재 범위가 지정된 모든 FilterGroups를 반환합니다.  | 
|  `getFilterGroupsForVisual(sheetId: string, visualId: string)`  |  파라미터에 제공된 시각적 객체로 범위가 지정된 모든 `FilterGroups`를 반환합니다.  | 

파라미터에 제공된 시트가 임베디드 대시보드에서 현재 선택한 시트가 아닌 경우 위 메서드는 오류를 반환합니다.

**시각적 객체 임베딩 getter 메서드**

다음 테이블에서는 개발자가 사용할 수 있는 다양한 시각적 객체 임베딩 getter 메서드를 설명합니다.


| 방법 | 설명 | 
| --- | --- | 
|  `getFilterGroups()`  |  현재 범위가 임베디드 시각적 객체로 지정된 모든 `FilterGroups`를 반환합니다.  | 

**Setter 메서드**

다음 테이블에서는 개발자가 대시보드 또는 시각적 객체 임베딩에 사용할 수 있는 다양한 setter 메서드를 설명합니다.


| 방법 | 설명 | 
| --- | --- | 
|  `addFilterGroups(filterGroups: FilterGroup[])`  |  제공된 **FilterGroups**를 임베디드 대시보드 또는 시각적 객체에 추가하고 적용합니다. 추가 성공 여부를 나타내는 `ResponseMessage`가 반환됩니다.  | 
|  `updateFilterGroups(filterGroups: FilterGroup[])`  |  파라미터에 제공된 `FilterGroup`과 동일한 `FilterGroupId`가 포함된 임베디드 환경에서 `FilterGroups`를 업데이트합니다. 업데이트 성공 여부를 나타내는 `ResponseMessage`가 반환됩니다.  | 
|  `removeFilterGroups(filterGroupsOrIds: FilterGroup[] \| string[])`  |  대시보드에서 제공된 FilterGroups를 제거하고 제거 시도가 성공 여부를 나타내는 `ResponseMessage`를 반환합니다.  | 

제공되는 `FilterGroup`은 현재 선택된 임베디드 시트 또는 시각적 객체로 범위가 지정되어야 합니다.

# Amazon Quick Sight 임베디드 대시보드 및 시각적 객체의 모양과 느낌 사용자 지정
<a name="embedding-runtime-theming"></a>

Amazon Quick Sight 임베딩 SDK(버전 2.5.0 이상)를 사용하여 런타임 시 임베디드 Amazon Quick Sight 대시보드 및 시각적 객체의 테마를 변경할 수 있습니다. 런타임 테마를 사용하면 서비스형 소프트웨어(SaaS) 애플리케이션을 Amazon Quick Sight 임베디드 자산과 더 쉽게 통합할 수 있습니다. 런타임 테마를 사용하면 임베디드 콘텐츠의 테마를 Amazon Quick Sight 자산이 임베디드되는 상위 애플리케이션의 테마와 동기화할 수 있습니다. 런타임 테마 지정을 사용하여 독자에 대한 사용자 지정 옵션을 추가할 수도 있습니다. 테마 지정 변경 사항은 초기화 시 또는 임베디드 대시보드 또는 시각적 객체의 수명 기간 동안 임베디드 자산에 적용할 수 있습니다.

테마에 대한 자세한 정보는 [Amazon Quick Sight에서 테마 사용](themes-in-quicksight.md) 섹션을 참조하세요. Amazon Quick Sight 임베딩 SDK 사용에 대한 자세한 내용은 GitHub의 [amazon-quicksight-embedding-sdk](https://github.com/awslabs/amazon-quicksight-embedding-sdk)를 참조하세요.

**사전 조건**

시작하기 전에 다음 사전 조건을 충족하는지 확인합니다.
+ Amazon Quick Sight 임베딩 SDK 버전 2.5.0 이상을 사용하고 있습니다.
+ 작업하려는 테마에 액세스할 수 있는 권한입니다. Amazon Quick Sight의 테마에 권한을 부여하려면 `UpdateThemePermissions` API를 호출하거나 Amazon Quick Sight 콘솔의 분석 편집기에서 테마 옆에 있는 **공유** 아이콘을 사용합니다.

## 용어 및 개념
<a name="runtime-theming-terminology"></a>

다음 용어는 임베디드 런타임 지정을 작업할 때 유용할 수 있습니다.
+ *테마* - 콘텐츠 표시 방식을 변경하는 여러 분석 및 대시보드에 적용할 수 있는 설정 모음입니다.
+ *ThemeConfiguration* – 이 구성 객체에는 테마의 모든 표시 속성이 포함됩니다.
+ *테마 재정의* - 콘텐츠 표시 방법의 일부 또는 모든 측면을 재정의하기 위해 활성 테마에 적용되는 `ThemeConfiguration` 객체입니다.
+ *테마 ARN * - Amazon Quick Sight 테마를 식별하는 Amazon 리소스 이름(ARN)입니다. 다음은 사용자 지정 테마 ARN의 예제입니다.

  `arn:aws:quicksight:region:account-id:theme/theme-id`

  Amazon Quick Sight에서 제공하는 스타터 테마에는 테마 ARN에 리전이 없습니다. 다음은 시작 테마 ARN의 예제입니다.

  `arn:aws:quicksight::aws:theme/CLASSIC`

## 설정
<a name="runtime-theming-setup"></a>

런타임 테마 지정 작업을 시작할 수 있도록 다음 정보가 준비되어 있는지 확인합니다.
+ 사용하려는 테마의 테마 ARN입니다. 기존 테마를 선택하거나 새로 만들 수 있습니다. Amazon Quick Sight 계정의 모든 테마 및 테마 ARNs 목록을 가져오려면 [ListThemes](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListThemes.html) API 작업을 호출합니다. 사전 설정된 Amazon Quick Sight 테마에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick APIs를 사용한 Amazon Quick 분석의 기본 테마 설정](customizing-quicksight-default-theme.md).
+ 등록된 사용자 임베딩을 사용하는 경우 사용자가 사용하려는 테마에 액세스할 수 있는지 확인합니다.

  익명 사용자 임베딩을 사용하는 경우 테마 ARN 목록을 `GenerateEmbedUrlForAnonymousUser` API의 `AuthorizedResourceArns` 파라미터에 전달합니다. 익명 사용자에게는 `AuthorizedResourceArns` 파라미터에 나열된 모든 테마에 대한 액세스 권한이 부여됩니다.

## SDK 메서드 인터페이스
<a name="runtime-theming-sdk-interface"></a>

**Setter 메서드**

다음 테이블에서는 개발자가 테마 지정에 사용할 수 있는 다양한 setter 메서드를 설명합니다.


| 방법 | 설명 | 
| --- | --- | 
|  `setTheme(themeArn: string)`  |  대시보드 또는 시각적 객체의 활성 테마를 다른 테마로 바꿉니다. 적용된 경우 테마 재정의가 제거됩니다. 테마에 액세스할 수 없거나 테마가 없는 경우 오류가 반환됩니다.  | 
|  `setThemeOverride(themeOverride: ThemeConfiguration)`  |  현재 활성 테마를 재정의하도록 동적 `ThemeConfiguration`을 설정합니다. 이는 이전에 설정한 테마 재정의를 대체합니다. 새 `ThemeConfiguration`에 제공되지 않은 모든 값은 현재 활성 테마의 값으로 기본 설정됩니다. 제공한 `ThemeConfiguration`이 유효하지 않은 경우 오류가 반환됩니다.  | 

## 테마로 임베디드 콘텐츠 초기화
<a name="runtime-theming-sdk-initialize"></a>

기본값이 아닌 테마로 임베디드 대시보드 또는 시각적 객체를 초기화하려면 `DashboardContentOptions` 또는 `VisualContentOptions` 파라미터에 `themeOptions` 객체를 정의하고 `themeOptions` 내에 `themeArn` 속성을 원하는 테마 ARN으로 설정합니다.

다음 예제에서는 `MIDNIGHT` 테마로 임베디드 대시보드를 초기화합니다.

```
import { createEmbeddingContext } from 'amazon-quicksight-embedding-sdk';

const embeddingContext = await createEmbeddingContext();

const {
    embedDashboard,
} = embeddingContext;

const frameOptions = {
    url: '<YOUR_EMBED_URL>',
    container: '#experience-container',
};
const contentOptions = {
    themeOptions: {
        themeArn: "arn:aws:quicksight::aws:theme/MIDNIGHT"
    }
};

// Embedding a dashboard experience
const embeddedDashboardExperience = await embedDashboard(frameOptions, contentOptions);
```

## 테마 재정의로 임베디드 콘텐츠 초기화
<a name="runtime-theming-runtime-initialize-override"></a>

개발자는 테마 재정의를 사용하여 런타임 시 임베디드 대시보드 또는 시각적 객체의 테마를 정의할 수 있습니다. 이렇게 하면 Amazon Quick Sight 내에서 테마를 사전 구성할 필요 없이 대시보드 또는 시각적 객체가 타사 애플리케이션에서 테마를 상속할 수 있습니다. 테마 재정의로 임베디드 대시보드 또는 시각적 객체를 초기화하려면 `DashboardContentOptions` 또는 `VisualContentOptions` 파라미터에서 `themeOptions` 내에 `themeOverride` 속성을 설정합니다. 다음 예제에서는 대시보드 테마의 글꼴을 기본 글꼴에서 `Amazon Ember`로 재정의합니다.

```
import { createEmbeddingContext } from 'amazon-quicksight-embedding-sdk';

const embeddingContext = await createEmbeddingContext();

const {
    embedDashboard,
} = embeddingContext;

const frameOptions = {
    url: '<YOUR_EMBED_URL>',
    container: '#experience-container',
};
const contentOptions = {
    themeOptions: {
        "themeOverride":{"Typography":{"FontFamilies":[{"FontFamily":"Comic Neue"}]}}
    }
};

// Embedding a dashboard experience
const embeddedDashboardExperience = await embedDashboard(frameOptions, contentOptions);
```

## 사전 로드된 테마로 임베디드 콘텐츠 초기화
<a name="runtime-theming-runtime-initialize-preloaded"></a>

개발자는 초기화 시 사전 로드되도록 대시보드 테마 세트를 구성할 수 있습니다. 이는 어두운 모드와 밝은 모드와 같은 다양한 뷰 간에 빠르게 전환할 때 가장 유용합니다. 임베디드 대시보드 또는 시각적 객체는 최대 5개의 사전 로드된 테마로 초기화할 수 있습니다. 사전 로드된 테마를 사용하려면 `DashboardContentOptions` 또는 `VisualContentOptions`에서 `preloadThemes` 속성을 최대 5개의 `themeArns` 배열로 설정합니다. 다음 예제에서는 `Midnight` 및 `Rainier` 시작 테마를 대시보드에 사전 로드합니다.

```
import { createEmbeddingContext } from 'amazon-quicksight-embedding-sdk';

const embeddingContext = await createEmbeddingContext();

const {
    embedDashboard,
} = embeddingContext;

const frameOptions = {
    url: '<YOUR_EMBED_URL>',
    container: '#experience-container',
};
const contentOptions = {
    themeOptions: {
        "preloadThemes": ["arn:aws:quicksight::aws:theme/RAINIER", "arn:aws:quicksight::aws:theme/MIDNIGHT"]
    }
};

// Embedding a dashboard experience
const embeddedDashboardExperience = await embedDashboard(frameOptions, contentOptions);
```

# Amazon Quick Sight 임베딩 SDK를 사용하여 임베디드 대시보드 보기에 대한 공유 가능한 링크 활성화
<a name="embedded-view-sharing"></a>

Amazon Quick Sight 개발자는 Amazon Quick Sight 임베딩 SDK(버전 2.8.0 이상)를 사용하여 임베디드 대시보드 독자가 임베디드 대시보드 보기에 대한 공유 가능한 링크를 수신하고 배포할 수 있습니다. 개발자는 대시보드 또는 콘솔 임베딩을 사용하여 Amazon Quick Sight 임베딩 SDK를 사용하여 캡슐화된 Amazon Quick Sight의 참조를 사용하여 애플리케이션 페이지에 대한 공유 가능한 링크를 생성할 수 있습니다. 그러면 Amazon Quick Sight 독자가 공유 가능한 링크를 동료에게 보낼 수 있습니다. 피어가 공유 링크에 액세스하면 임베디드 Amazon Quick Sight 대시보드가 포함된 애플리케이션의 페이지로 이동합니다. 또한 개발자는 익명 임베딩을 사용할 때 Amazon Quick Sight의 익명 독자를 위한 북마크로 사용할 수 있는 공유 가능한 대시보드 보기 링크를 생성하고 저장할 수 있습니다.

**사전 조건**

시작하기 전에 Amazon Quick Sight 임베딩 SDK 버전 2.8.0 이상을 사용하고 있는지 확인합니다.

**Topics**
+ [Amazon Quick Sight 임베디드 분석을 위한 `SharedView` 기능 구성 활성화](embedded-view-sharing-set-up.md)
+ [Amazon Quick Sight `createSharedView` API를 사용하여 공유 뷰 생성](embedded-view-sharing-sdk-create.md)
+ [공유 Amazon Quick Sight 보기 사용](embedded-view-sharing-sdk-consume.md)

# Amazon Quick Sight 임베디드 분석을 위한 `SharedView` 기능 구성 활성화
<a name="embedded-view-sharing-set-up"></a>

Amazon Quick Sight API를 사용하여 임베디드 인스턴스를 생성할 때 아래 예제`true`와 같이 `FeatureConfigurations`페이로드`SharedView`의 값을 로 설정합니다.는 임베디드 대시보드에 액세스하는 등록된 사용자의 `StatePersistence` 구성을 `SharedView` 재정의합니다. 대시보드 사용자가 `StatePersistence`에 비활성화되고 `SharedView`에 활성화된 경우 해당 상태는 유지됩니다.

```
const generateNewEmbedUrl = async () => {
    const generateUrlPayload = {
        experienceConfiguration: {
            QuickSightConsole: {
            FeatureConfigurations: {
                "SharedView": { 
                    "Enabled": true
                 },
            },
        },
    }
    const result: GenerateEmbedUrlResult = await generateEmbedUrlForRegisteredUser(generateUrlPayload);
    return result.url;
};
```

# Amazon Quick Sight `createSharedView` API를 사용하여 공유 뷰 생성
<a name="embedded-view-sharing-sdk-create"></a>

임베딩 SDK를 버전 2.8.0 이상으로 업데이트한 후 `createSharedView` API를 사용하여 새 공유 뷰를 생성합니다. 작업이 반환하는 `sharedViewId` 및 `dashboardId`를 기록합니다. 아래 예제에서는 새 공유 뷰를 생성합니다.

```
const response = await embeddingFrame.createSharedView();
const sharedViewId = response.message.sharedViewId;
const dashboardId = response.message.dashboardId;
```

`createSharedView`는 사용자가 대시보드를 볼 때만 호출할 수 있습니다. 콘솔별 공유 뷰를 생성하려면 `createSharedView` 작업을 활성화하기 전에 사용자가 대시보드 페이지에 있는지 확인합니다. 아래 예제에 표시된 대로 `PAGE_NAVIGATION` 이벤트로 이 작업을 수행할 수 있습니다.

```
const contentOptions = {
    onMessage: async (messageEvent, metadata) => {
    switch (messageEvent.eventName) {
            case 'CONTENT_LOADED': {
                console.log("Do something when the embedded experience is fully loaded.");
                break;
            }
            case 'ERROR_OCCURRED': {
                console.log("Do something when the embedded experience fails loading.");
                break;
            }
            case 'PAGE_NAVIGATION': {
                setPageType(messageEvent.message.pageType); 
                if (messageEvent.message.pageType === 'DASHBOARD') {
                    setShareEnabled(true);
                    } else {
                    setShareEnabled(false);
                }
                break;
            }
        }
    }
};
```

# 공유 Amazon Quick Sight 보기 사용
<a name="embedded-view-sharing-sdk-consume"></a>

새 공유 뷰를 생성한 후 임베딩 SDK를 사용하여 공유 뷰를 다른 사용자에게 사용 가능하게 합니다. 아래 예제에서는 Amazon Quick Sight의 임베디드 대시보드에 대한 소모성 공유 보기를 설정합니다.

------
#### [ With an appended URL ]

임베드 URL에 `sharedViewId`를 추가하고 ` /views/{viewId}`에서 이 URL을 사용자에게 노출합니다. 사용자는 이 URL을 사용하여 공유 뷰로 이동할 수 있습니다.

```
const response = await dashboardFrame.createSharedView();
const newEmbedUrl = await generateNewEmbedUrl();
const formattedUrl = new URL(newEmbedUrl);
formattedUrl.pathname = formattedUrl.pathname.concat('/views/' + response.message.sharedViewId);
const baseUrl = formattedUrl.href;
alert("Click to view this QuickSight shared view", baseUrl);
```

------
#### [ With the contentOptions SDK ]

`viewId`를 `contentOptions`에 전달하여 지정된 `viewId`에 대한 환경을 엽니다.

```
const contentOptions = {
    toolbarOptions: {
        ...
    },
    viewId: sharedViewId,
};

const embeddedDashboard = await embeddingContext.embedDashboard(
    {container: containerRef.current},
    contentOptions
);
```

------
#### [ With the InitialPath property ]

```
const shareView = async() => {
    const returnValue = await consoleFrame.createSharedView();
    const {dashboardId, sharedViewId} = returnValue.message;
    const newEmbedUrl = await generateNewEmbedUrl(`/dashboards/${dashboardId}/views/${sharedViewId}`);
    setShareUrl(newEmbedUrl);
};

const generateNewEmbedUrl = async (initialPath) => {
    const generateUrlPayload = {
        experienceConfiguration: {
            QuickSightConsole: {
            InitialPath: initialPath,
            FeatureConfigurations: {
                "SharedView": { 
                    "Enabled": true
                 },
            },
        },
    }
    const result: GenerateEmbedUrlResult = await generateEmbedUrlForRegisteredUser(generateUrlPayload);
    return result.url;
};
```

------

# 원클릭 임베드 코드를 사용하여 Amazon Quick Sight 시각적 객체 및 대시보드 임베딩
<a name="1-click-embedding"></a>

임베드 코드를 사용하여 시각적 객체 또는 대시보드를 애플리케이션에 포함할 수 있습니다. 대시보드를 공유하거나 Amazon Quick Sight의 **시각적 객체 임베드** 메뉴에서이 코드를 얻을 수 있습니다.

등록된 사용자를 위해 내부 애플리케이션에 시각적 객체 또는 대시보드를 포함할 수 있습니다. 또는 Amazon Quick Sight 콘솔에서 퍼블릭 공유를 켤 수 있습니다. 이렇게 하면 인터넷상의 모든 사용자가 퍼블릭 애플리케이션, Wiki 또는 포털에 포함된 공유 영상 또는 대시보드에 액세스할 수 있습니다.

다음에는 원클릭 시각적 객체 또는 대시보드 임베드 코드를 사용하여 시각적 객체와 대시보드를 임베드하는 방법에 대한 설명이 나와 있습니다.

**Topics**
+ [원클릭 임베드 코드를 사용하여 등록된 사용자를 위한 Amazon Quick Sight 시각적 객체 및 대시보드 임베딩](embedded-analytics-1-click.md)
+ [원클릭 임베드 코드를 사용하여 익명 사용자를 위한 Amazon Quick Sight 시각적 객체 및 대시보드 임베딩](embedded-analytics-1-click-public.md)

# 원클릭 임베드 코드를 사용하여 등록된 사용자를 위한 Amazon Quick Sight 시각적 객체 및 대시보드 임베딩
<a name="embedded-analytics-1-click"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Amazon Quick Sight 계정의 등록된 사용자를 위해 내부 애플리케이션에 시각적 객체 또는 대시보드를 포함할 수 있습니다. 대시보드를 공유할 때 얻는 임베드 코드를 사용하거나 Amazon Quick Sight의 **임베드 시각적** 객체 메뉴에서 임베드 코드를 사용하면 됩니다. 임베드 코드를 생성하기 위해 Amazon Quick Sight 임베딩 API를 실행할 필요가 없습니다. Amazon Quick Sight에서 임베드 코드를 복사하여 내부 애플리케이션의 HTML 코드에 붙여 넣을 수 있습니다.

내장하려는 대시보드에 액세스할 수 있거나 내장하려는 시각적 객체가 있는 사용자 및 그룹(또는 Amazon Quick Sight 계정의 모든 사용자)이 내부 애플리케이션에 액세스할 수 있는 경우 자격 증명으로 Amazon Quick Sight 계정에 로그인하라는 메시지가 표시됩니다. 인증을 받은 사용자는 내부 페이지에서 시각적 요소나 대시보드에 액세스할 수 있습니다. SSO(Single Sign-On)를 사용하도록 설정한 경우 사용자에게 다시 로그인하라는 메시지가 표시되지 않습니다.

다음에는 원클릭 시각적 객체 또는 대시보드 임베드 코드를 사용하여 시각적 객체와 대시보드를 임베드하는 방법에 대한 설명이 나와 있습니다.

## 시작하기 전에
<a name="embedded-analytics-1-click-prerequisites"></a>

시작하기 전에 다음을 확인하세요.
+ 인터넷 브라우저 설정에는 팝업과 iframe 간의 통신을 허용하는 다음 중 하나가 포함되어 있습니다.
  + Mozilla Broadcast Channel API가 기본적으로 지원됩니다. 자세한 내용은 Mozilla 설명서의 [Broadcast Channel API](https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API)를 참조하세요.
  + IndexedDB 지원
  + LocalStorage 지원
+ 인터넷 브라우저의 "모든 쿠키 차단" 설정이 꺼져 있습니다.

## 1단계: 대시보드 액세스 권한 부여
<a name="embedded-analystics-1-click-share"></a>

사용자가 임베디드 대시보드에 액세스할 수 있도록 하려면 해당 대시보드를 볼 수 있는 액세스 권한을 부여하세요. 개별 사용자 및 그룹에 대시보드 액세스 권한을 부여하거나, 계정의 모든 사용자에게 액세스 권한을 부여할 수 있습니다. 시각적 권한은 대시보드 수준에서 결정됩니다. 임베디드 시각적 개체에 대한 액세스 권한을 부여하려면 해당 시각적 개체가 속한 대시보드에 대한 액세스 권한을 부여하세요. 자세한 내용은 [대시보드 액세스 권한 부여](share-a-dashboard.md) 단원을 참조하십시오.

## 2단계: 시각적 객체나 대시보드를 삽입하려는 도메인을 허용 목록에 추가
<a name="embedded-analytics-1-click-allow-list"></a>

내부 애플리케이션에 시각적 객체와 대시보드를 포함하려면 임베딩하려는 도메인이 Amazon Quick Sight 계정에 허용 목록에 있는지 확인합니다. 자세한 내용은 [정적 도메인 리스팅 허용](manage-domains.md#embedding-static) 단원을 참조하십시오.

## 3단계: 임베디드 코드 가져오기
<a name="embedded-analytics-1-click-code"></a>

다음 절차에 따라 시각적 객체 코드 또는 대시보드 임베디드 코드를 가져오십시오.

**대시보드 임베드 코드 가져오기**

1. Amazon Quick Sight에서 게시된 대시보드를 열고 오른쪽 상단에서 **공유**를 선택합니다. 그런 다음 **대시보드 공유**를 선택합니다.

1. 열린 **대시보드 공유** 페이지에서 왼쪽 상단의 **임베드 코드 복사**를 선택합니다.

   임베드 코드는 클립보드에 복사되며 다음과 유사합니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

   ```
   <iframe
           width="960"
           height="720"
           src="https://quicksightdomain/sn/embed/share/accounts/accountid/dashboards/dashboardid?directory_alias=account_directory_alias">
       </iframe>
   ```

**시각적 객체 임베드 코드 가져오기**

1. Amazon Quick Sight에서 게시된 대시보드를 열고 임베드하려는 시각적 객체를 선택합니다. 그런 다음 시각적 객체의 오른쪽 상단에서 시각적 객체 메뉴를 열어서 **시각적 객체 임베드**를 선택합니다.

1. 열리는 **시각적 객체 임베드** 창에서 **코드 복사**를 선택합니다.

   임베드 코드는 클립보드에 복사되며 다음과 유사합니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

   ```
   <iframe
           width="600"
           height="400"
           src="https://quicksightdomain/sn/embed/share/accounts/111122223333/dashboards/DASHBOARDID/sheets/SHEETID>/visuals/VISUALID">
       </iframe>
   ```

## 4단계: 코드를 내부 애플리케이션의 HTML 페이지에 붙여넣기
<a name="embedded-analytics-1-click-html"></a>

다음 절차를 사용하여 임베드 코드를 내부 애플리케이션의 HTML 페이지에 붙여 넣습니다.

**내부 응용 프로그램의 HTML 페이지에 코드 붙여 넣기**
+ 대시보드를 임베드하려는 페이지의 HTML 코드를 열고 임베드 코드를 붙여 넣습니다.

  다음 예는 임베디드 대시보드에서 어떤 모양을 갖추게 되는지 보여줍니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

  ```
  <!DOCTYPE html>
      <html>
      <body>
  
      <h2>Example.com - Employee Portal</h2>
      <h3>Current shipment stats</h3>
          <iframe
          width="960"
          height="720"
          src="https://quicksightdomain/sn/embed/share/accounts/accountid/dashboards/dashboardid?directory_alias=account_directory_alias">
      </iframe>
  
      </body>
      </html>
  ```

  다음 예는 임베디드 시각적 객체에서 어떤 모양을 갖추게 되는지 보여줍니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

  ```
  <!DOCTYPE html>
      <html>
      <body>
  
      <h2>Example.com - Employee Portal</h2>
      <h3>Current shipment stats</h3>
          <iframe
          width="600"
          height="400"
          src="https://quicksightdomain/sn/embed/share/accounts/111122223333/dashboards/DASHBOARDID/sheets/SHEETID>/visuals/VISUALID?directory_alias=account_directory_alias">
      </iframe>
  
      </body>
      </html>
  ```

예를 들어 내부 Google Sites 도구 페이지에 시각적 객체 또는 대시보드를 임베드하고 싶다고 가정해 보겠습니다. Google Sites에서 페이지를 열고 임베드 위젯에 임베드 코드를 붙여 넣을 수 있습니다.

시각적 객체나 대시보드를 내부 Microsoft SharePoint 사이트에 포함하려는 경우, 새 페이지를 만든 다음 임베드 웹 파트에 임베드 코드를 붙여넣을 수 있습니다.

# 원클릭 임베드 코드를 사용하여 익명 사용자를 위한 Amazon Quick Sight 시각적 객체 및 대시보드 임베딩
<a name="embedded-analytics-1-click-public"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Amazon Quick Sight에서 시각적 객체 또는 대시보드를 공유할 때 얻는 임베드 코드를 사용하여 퍼블릭 사이트에 시각적 객체 또는 대시보드를 임베드할 수 있습니다. Amazon Quick Sight 콘솔을 사용하여 퍼블릭 공유를 활성화하고 인터넷상의 모든 사용자에게 공유 시각적 객체 또는 대시보드에 대한 액세스 권한을 자동으로 부여할 수도 있습니다.

다음에서 시각적 객체 또는 대시보드에 대한 퍼블릭 공유를 켜고 인터넷상의 모든 사용자가 볼 수 있도록 시각적 또는 대시보드를 포함하는 방법을 확인할 수 있습니다. 두 경우 모두 원클릭 임베드 코드를 사용하면 됩니다.

## 시작하기 전에
<a name="embedded-analytics-1-click-prerequisites"></a>

시작하기 전에 다음을 확인하세요.
+ 인터넷 브라우저 설정에는 팝업과 iframe 간의 통신을 허용하는 다음 중 하나가 포함되어 있습니다.
  + Mozilla Broadcast Channel API가 기본적으로 지원됩니다. 자세한 내용은 Mozilla 설명서의 [Broadcast Channel API](https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API)를 참조하세요.
  + IndexedDB 지원
  + LocalStorage 지원
+ 인터넷 브라우저의 "모든 쿠키 차단" 설정이 꺼져 있습니다.

## 1단계: 대시보드에 대한 퍼블릭 액세스 켜기
<a name="embedded-analytics-1-click-step-1"></a>

인터넷상의 모든 사용자가 임베디드 시각적 객체나 대시보드에 액세스할 수 있게 하려면 먼저 대시보드의 퍼블릭 액세스를 켜세요. 시각적 권한은 대시보드 수준에서 결정됩니다. 임베디드 시각적 개체에 대한 액세스 권한을 부여하려면 해당 시각적 개체가 속한 대시보드에 대한 액세스 권한을 부여하세요. 자세한 내용은 [인터넷상의 모든 사용자에게 Amazon Quick Sight 대시보드에 대한 액세스 권한 부여](share-a-dashboard-grant-access-anyone.md) 단원을 참조하십시오.

## 2단계: 시각적 객체나 대시보드를 삽입하려는 도메인을 허용 목록에 추가
<a name="embedded-analytics-1-click-step-2"></a>

퍼블릭 애플리케이션, Wiki 또는 포털에 시각적 객체와 대시보드를 포함하려면 이를 포함하려는 도메인이 Amazon Quick Sight 계정의 허용 목록에 있는지 확인합니다.

## 3단계: 임베디드 코드 가져오기
<a name="embedded-analytics-1-click-step-3"></a>

다음 절차에 따라 시각적 객체 코드 또는 대시보드 임베디드 코드를 가져오십시오.

**대시보드 임베드 코드 가져오기**

1. Amazon Quick Sight에서 게시된 대시보드를 열고 오른쪽 상단에서 **공유**를 선택합니다. 그런 다음 **대시보드 공유**를 선택합니다.

1. 열린 **대시보드 공유** 페이지에서 왼쪽 상단의 **임베드 코드 복사**를 선택합니다.

   임베드 코드는 클립보드에 복사되며 다음과 유사합니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

   ```
   <iframe
           width="960"
           height="720"
           src="https://quicksightdomain/sn/
               embed/share/accounts/accountid/dashboards/dashboardid">
       </iframe>
   ```

**시각적 객체 임베드 코드 가져오기**

1. Amazon Quick Sight에서 게시된 대시보드를 열고 임베드하려는 시각적 객체를 선택합니다. 그런 다음 시각적 객체의 오른쪽 상단에 있는 시각적 메뉴를 열고 **시각적 객체 임베드을 선택합니다.**

1. 열리는 **시각적 객체 임베드** 창에서 **코드 복사**를 선택합니다.

   임베드 코드는 클립보드에 복사되며 다음과 유사합니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

   ```
   <iframe
           width="600"
           height="400"
           src="https://quicksightdomain/sn/embed/share/accounts/111122223333/dashboards/DASHBOARDID/sheets/SHEETID>/visuals/VISUALID">
       </iframe>
   ```

## 4단계: 임베드 코드를 HTML 페이지, Wiki 페이지 또는 포털에 붙여넣기
<a name="embedded-analytics-1-click-step-4"></a>

다음 절차에 따라 임베드 코드를 HTML 페이지, Wiki 페이지 또는 포털에 붙여넣을 수 있습니다.

**임베드 코드 붙여넣기**
+ 시각적 객체나 대시보드를 임베드하려는 위치의 HTML 코드를 열고 임베드 코드를 붙여넣습니다.

  다음 예는 임베디드 대시보드에서 어떤 모양을 갖추게 되는지 보여줍니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

  ```
  <!DOCTYPE html>
      <html>
      <body>
  
      <h2>Example.com - Employee Portal</h2>
      <h3>Current shipment stats</h3>
          <iframe
          width="960"
          height="720"
          src="https://quicksightdomain/sn/
              embed/share/accounts/accountid/dashboards/dashboardid">
      </iframe>
  
      </body>
      </html>
  ```

  다음 예는 임베디드 시각적 객체에서 어떤 모양을 갖추게 되는지 보여줍니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

  ```
  <!DOCTYPE html>
      <html>
      <body>
  
      <h2>Example.com - Employee Portal</h2>
      <h3>Current shipment stats</h3>
          <iframe
          width="600"
          height="400"
          src="https://quicksightdomain/sn/embed/share/accounts/111122223333/dashboards/DASHBOARDID/sheets/SHEETID>/visuals/VISUALID">
      </iframe>
  
      </body>
      </html>
  ```

공개 애플리케이션을 Google Sites에 구축한 경우 Google Sites에서 페이지를 연 다음 임베드 위젯을 사용하여 임베드 코드를 붙여넣습니다.

Google 사이트에 임베드할 때 Amazon Quick Sight의 다음 도메인이 허용 목록에 있는지 확인합니다.
+ `https://googleusercontent.com` (하위 도메인 켜기)
+ `https://www.gstatic.com`
+ `https://sites.google.com`

시각적 객체 또는 대시보드를 애플리케이션에 포함한 후에는, 애플리케이션에 액세스할 수 있는 모든 사용자가 임베디드 시각적 객체 또는 대시보드에 액세스할 수 있습니다. 모든 사람과 공유되는 대시보드를 업데이트하려면 [공개적으로 공유된 대시보드 업데이트](share-a-dashboard-grant-access-anyone-update.md)을 참조하세요. 퍼블릭 공유를 끄려면 [퍼블릭 공유 설정 끄기](share-a-dashboard-grant-access-anyone-no-share.md)을(를) 참조하세요.

퍼블릭 공유를 끄면 공용 애플리케이션에 포함했거나 링크를 통해 공유한 대시보드 또는 대시보드에 인터넷을 사용하는 누구도 액세스할 수 없습니다. 다음에 누군가가 인터넷에서 이러한 대시보드를 보려고 하면 해당 대시보드를 볼 수 있는 액세스 권한이 없다는 메시지를 받게 됩니다.

# Amazon Quick Sight APIs를 사용한 임베딩
<a name="embedded-analytics-api"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

Amazon Quick Sight APIs를 사용하여 분석을 임베딩하는 실제 프로세스에는 몇 가지 단계만 포함됩니다.

시작하기 전에 다음 도구가 있는지 확인하세요.
+  AWS SDK를 사용하여 API 호출을 수행할 애플리케이션에서 사용하는 호출자 자격 증명에 필요한 IAM 권한을 설정합니다. 예를 들어, `quicksight:GenerateEmbedUrlForAnonymousUser` 또는 `quicksight:GenerateEmbedUrlForRegisteredUser` 작업을 허용할 권한을 부여합니다.
+ 등록된 사용자를 위해 임베드하려면 Amazon Quick Sight 자산을 사용자와 미리 공유합니다. 신규 인증 사용자의 경우 자산에 대한 액세스 권한을 부여하는 방법을 숙지하세요. 이렇게 하는 한 가지 방법은 Amazon Quick Sight 폴더에 모든 자산을 추가하는 것입니다. Amazon Quick Sight API를 사용하려면 `DescribeDashboardPermissions` 및 `UpdateDashboardPermissions` API 작업을 사용합니다. 자세한 내용은 Amazon Quick API 참조의 [DescribeDashboardPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeDashboardPermissions.html) 또는 [UpdateDashboardPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardPermissions.html)를 참조하세요. ** 네임스페이스 또는 그룹의 모든 사용자와 대시보드를 공유하려는 경우, 대시보드를 `namespace` 또는 `group`와(과) 공유할 수 있습니다.
+ 대시보드를 임베딩하는 경우, 포함하려는 대시보드의 ID가 있어야 합니다. 대시보드 ID는 대시보드 URL의 코드입니다. 대시보드 URL에서도 가져올 수 있습니다.
+ Amazon Quick Sight 관리자는 Amazon Quick Sight 분석을 포함할 도메인을 명시적으로 활성화해야 합니다. 프로필 메뉴에서 **Amazon Quick Sight, 도메인 및 임베딩 관리를** 사용하거나 `GenerateEmbedUrlForAnonymousUser` 또는 `GenerateEmbedUrlForRegisteredUser` API 호출의 `AllowedDomains` 파라미터를 사용하여이 작업을 수행할 수 있습니다. **** 

  이 옵션은 Amazon Quick Sight 관리자에게만 표시됩니다. 하위 도메인을 도메인의 일부로 추가할 수도 있습니다. 자세한 내용은 [Amazon Quick API를 사용하여 런타임 시 도메인 나열 허용](manage-domains.md#embedding-run-time) 단원을 참조하십시오.

  정적 허용 목록의 모든 도메인(예: 개발, 스테이징, 프로덕션)이 명시적으로 허용되고 HTTPS를 사용해야 합니다. 최대 100개의 도메인을 허용 목록에 추가할 수 있습니다. Amazon Quick Sight API 작업을 사용하여 런타임에 도메인을 추가할 수 있습니다.

모든 사전 요구 사항이 완료되면 Amazon Quick Sight 임베딩에는 다음 단계가 포함되며, 이에 대해서는 나중에 자세히 설명합니다.

1. 인증을 위해서는 애플리케이션 서버를 사용하여 사용자를 인증하세요. 서버에서 인증한 후 필요한 AWS SDK를 사용하여 임베디드 대시보드 URL을 생성합니다.

1. 웹 포털 또는 애플리케이션에 생성된 URL을 사용하여 Amazon Quick Sight를 포함합니다. 이 프로세스를 간소화하기 위해 [NPMJS](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk) 및 [GitHub](https://github.com/awslabs/amazon-quicksight-embedding-sdk)에서 사용할 수 있는 Amazon Quick Sight 임베딩 SDK를 사용할 수 있습니다. 이 사용자 지정 JavaScript SDK는 Amazon Quick Sight를 애플리케이션 페이지에 효율적으로 통합하고, 기본값을 설정하고, 제어를 연결하고, 콜백을 가져오고, 오류를 처리할 수 있도록 설계되었습니다.

 AWS CloudTrail 감사 로그를 사용하여 임베디드 대시보드 수, 임베디드 경험 사용자 및 액세스 속도에 대한 정보를 가져올 수 있습니다.

**Topics**
+ [Amazon Quick Sight API를 사용하여 Amazon Quick Sight 대시보드 임베딩](embedding-dashboards.md)
+ [Amazon Quick Sight APIs를 사용하여 Amazon Quick Sight 시각적 객체 임베딩](embedding-visuals.md)
+ [등록된 사용자를 위한 Amazon Quick Sight 콘솔의 전체 기능 임베딩](embedded-analytics-full-console-for-authenticated-users.md)
+ [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩](embedding-gen-bi.md)
+ [Amazon Quick Sight Q 검색 창 임베딩(클래식)](embedding-quicksight-q.md)
+ [GetDashboardEmbedURL 및 GetSessionEmbedURL API 작업을 사용한 분석 기능 임베딩](embedded-analytics-deprecated.md)

# Amazon Quick Sight API를 사용하여 Amazon Quick Sight 대시보드 임베딩
<a name="embedding-dashboards"></a>

다음 주제를 사용하여 Amazon Quick Sight API를 사용한 대시보드 임베딩에 대해 알아봅니다.

**Topics**
+ [등록된 사용자를 위한 Amazon Quick Sight 대시보드 임베딩](embedded-analytics-dashboards-for-authenticated-users.md)
+ [익명(미등록) 사용자를 위한 Amazon Quick Sight 대시보드 임베딩](embedded-analytics-dashboards-for-everyone.md)
+ [임베디드 대시보드에서 실행 요약 활성화](embedded-analytics-genbi-executive-summaries-dashboard.md)

# 등록된 사용자를 위한 Amazon Quick Sight 대시보드 임베딩
<a name="embedded-analytics-dashboards-for-authenticated-users"></a>

**중요**  
Amazon Quick Sight에는 및 임베딩 분석을 위한 새로운 API 작업이 `GenerateEmbedUrlForAnonymousUser` 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` API 작업을 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. 이전 API 작업을 사용한 임베딩에 대한 자세한 내용은 [GetDashboardEmbedURL 및 GetSessionEmbedURL API 작업을 사용한 분석 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-deprecated.html) 참조하세요.


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 Amazon Quick Sight의 등록된 사용자를 위해 임베디드 Amazon Quick Sight 대시보드를 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](#embedded-dashboards-for-authenticated-users-step-1)
+ [2단계: 인증 코드가 첨부된 URL 생성](#embedded-dashboards-for-authenticated-users-step-2)
+ [3단계: 대시보드 URL 임베드](#embedded-dashboards-for-authenticated-users-step-3)

## 1단계: 권한 설정
<a name="embedded-dashboards-for-authenticated-users-step-1"></a>

다음 단원에서 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 IAM에 대한 관리자 액세스 권한이 있어야 합니다.

대시보드에 액세스하는 각 사용자는 Amazon Quick Sight에 대시보드에 대한 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면에서 IAM 역할을 생성합니다 AWS 계정. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다. IAM 역할은 특정 사용자 풀의 임베딩 URL을 검색할 수 있는 권한을 제공해야 합니다. 와일드카드 문자 \$1를 사용하여, 특정 네임스페이스의 모든 사용자 또는 특정 네임스페이스의 일부 사용자에 대해 URL을 생성할 권한을 부여할 수 있습니다. 이를 위해 `quicksight:GenerateEmbedUrlForRegisteredUser`을(를) 추가합니다.

IAM 정책에 개발자가 `GenerateEmbedUrlForRegisteredUser` API 작업의 `AllowedDomains` 파라미터에 나열할 수 있는 도메인을 제한하는 조건을 만들 수 있습니다. `AllowedDomains` 파라미터는 선택 파라미터입니다. 개발자는 **Amazon Quick Sight 관리** 메뉴에 구성된 정적 도메인을 재정의할 수 있는 옵션을 제공합니다. 대신 생성된 URL에 액세스할 수 있는 도메인 또는 하위 도메인을 최대 3개까지 나열할 수 있습니다. 그러면 만든 웹 사이트에 이 URL이 포함됩니다. 파라미터에 나열된 도메인만 포함된 시각적 객체에 액세스할 수 있습니다. 이 조건이 없으면, 인터넷에 있는 모든 도메인을 `AllowedDomains` 파라미터에 나열할 수 있습니다.

개발자가 이 파라미터로 사용할 수 있는 도메인을 제한하려면 IAM 정책에 `AllowedEmbeddingDomains` 조건을 추가하세요. `AllowedDomains` 파라미터에 대한 자세한 내용은 Amazon Quick Sight API 참조의 [GenerateEmbedUrlForRegisteredUser](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html)를 참조하세요. ** 

**IAM 조건 연산자에 대한 보안 모범 사례**  
잘못 구성된 IAM 조건 연산자는 URL 변형을 통해 임베디드 Quick 리소스에 대한 무단 액세스를 허용할 수 있습니다. IAM 정책에서 `quicksight:AllowedEmbeddingDomains` 조건 키를 사용하는 경우 특정 도메인을 허용하거나 특별히 허용되지 않는 모든 도메인을 거부하는 조건 연산자를 사용합니다. IAM 조건 연산자에 대한 자세한 내용은 [IAM 사용 설명서의 IAM JSON 정책 요소: 조건 연산자를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 참조하세요.  
다양한 URL 변형이 동일한 리소스를 가리킬 수 있습니다. 예를 들어 다음 URLs 모두 동일한 콘텐츠로 확인됩니다.  
`https://example.com`
`https://example.com/`
`https://Example.com`
정책에서 이러한 URL 변형을 고려하지 않는 연산자를 사용하는 경우 공격자는 동등한 URL 변형을 제공하여 제한을 우회할 수 있습니다.  
IAM 정책이 적절한 조건 연산자를 사용하여 우회 취약성을 방지하고 의도한 도메인만 임베디드 리소스에 액세스할 수 있는지 확인해야 합니다.

다음 샘플 정책은 이러한 권한을 제공합니다.

또한 Amazon Quick Sight 독자가 될 사용자를 처음 생성하는 경우 정책에 `quicksight:RegisterUser` 권한을 추가해야 합니다.

다음 샘플 정책은 Amazon Quick Sight 리더인 최초 사용자를 위해 임베딩 URL을 검색할 수 있는 권한을 제공합니다.

마지막으로, 방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스하면 애플리케이션이 사용자를 대신하여 역할을 수임하고 Amazon Quick Sight에서 사용자를 프로비저닝할 수 있습니다. 다음 예제는 샘플 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLambdaFunctionsToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Sid": "AllowEC2InstancesToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

OpenID Connect 또는 SAML 인증의 신뢰 정책에 대한 자세한 내용은 IAM 사용 설명서의 다음 단원을 참조하십시오.
+ [웹 자격 증명 또는 OpenID Connect 연동을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html)
+ [SAML 2.0 연동을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)

## 2단계: 인증 코드가 첨부된 URL 생성
<a name="embedded-dashboards-for-authenticated-users-step-2"></a>

다음 단원에서는 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 대시보드 URL을 가져오는 방법을 알아볼 수 있습니다. IAM 또는 Amazon Quick Sight 자격 증명 유형에 대한 대시보드를 포함하려는 경우 대시보드를 사용자와 공유합니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 사용자가 아직 없는 경우 Amazon Quick Sight에 사용자를 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

이 단계를 수행하면 대시보드의 각 뷰어가 Amazon Quick Sight에서 고유하게 프로비저닝됩니다. 또한 사용자 단위 설정(예: 파라미터에 대한 동적 기본값 및 행 수준 보안)을 적용합니다.

다음 예는 사용자를 대신하여 IAM 인증을 수행합니다. 이 코드는 앱 서버에서 실행됩니다.

### Java
<a name="embedded-dashboards-for-authenticated-users-java"></a>

```
import com.amazonaws.auth.AWSCredentials;
    import com.amazonaws.auth.BasicAWSCredentials;
    import com.amazonaws.auth.AWSCredentialsProvider;
    import com.amazonaws.regions.Regions;
    import com.amazonaws.services.quicksight.AmazonQuickSight;
    import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
    import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserRequest;
    import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserResult;
    import com.amazonaws.services.quicksight.model.RegisteredUserEmbeddingExperienceConfiguration;
    import com.amazonaws.services.quicksight.model.RegisteredUserDashboardEmbeddingConfiguration;

    /**
    * Class to call QuickSight AWS SDK to get url for dashboard embedding.
    */
    public class GetQuicksightEmbedUrlRegisteredUserDashboardEmbedding {

        private final AmazonQuickSight quickSightClient;

        public GetQuicksightEmbedUrlRegisteredUserDashboardEmbedding() {
            this.quickSightClient = AmazonQuickSightClientBuilder
                    .standard()
                    .withRegion(Regions.US_EAST_1.getName())
                    .withCredentials(new AWSCredentialsProvider() {
                        @Override
                        public AWSCredentials getCredentials() {
                            // provide actual IAM access key and secret key here
                            return new BasicAWSCredentials("access-key", "secret-key");
                        }

                        @Override
                        public void refresh() {}
                        }
                    )
                    .build();
        }

        public String getQuicksightEmbedUrl(
                final String accountId, // AWS Account ID
                final String dashboardId, // Dashboard ID to embed
                final List<String> allowedDomains, // Runtime allowed domain for embedding
                final String userArn // Registered user arn to use for embedding. Refer to Get Embed Url section in developer portal to find out how to get user arn for a QuickSight user.
        ) throws Exception {
            final RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration = new RegisteredUserEmbeddingExperienceConfiguration()
                    .withDashboard(new RegisteredUserDashboardEmbeddingConfiguration().withInitialDashboardId(dashboardId));
            final GenerateEmbedUrlForRegisteredUserRequest generateEmbedUrlForRegisteredUserRequest = new GenerateEmbedUrlForRegisteredUserRequest();
            generateEmbedUrlForRegisteredUserRequest.setAwsAccountId(accountId);
            generateEmbedUrlForRegisteredUserRequest.setUserArn(userArn);
            generateEmbedUrlForRegisteredUserRequest.setAllowedDomains(allowedDomains);
            generateEmbedUrlForRegisteredUserRequest.setExperienceConfiguration(experienceConfiguration);

            final GenerateEmbedUrlForRegisteredUserResult generateEmbedUrlForRegisteredUserResult = quickSightClient.generateEmbedUrlForRegisteredUser(generateEmbedUrlForRegisteredUserRequest);

            return generateEmbedUrlForRegisteredUserResult.getEmbedUrl();
        }
    }
```

### JavaScript
<a name="embedded-dashboards-for-authenticated-users-js"></a>

```
global.fetch = require('node-fetch');
    const AWS = require('aws-sdk');

    function generateEmbedUrlForRegisteredUser(
        accountId,
        dashboardId,
        openIdToken, // Cognito-based token
        userArn, // registered user arn
        roleArn, // IAM user role to use for embedding
        sessionName, // Session name for the roleArn assume role
        allowedDomains, // Runtime allowed domain for embedding
        getEmbedUrlCallback, // GetEmbedUrl success callback method
        errorCallback // GetEmbedUrl error callback method
        ) {
        const stsClient = new AWS.STS();
        let stsParams = {
            RoleSessionName: sessionName,
            WebIdentityToken: openIdToken,
            RoleArn: roleArn
        }

        stsClient.assumeRoleWithWebIdentity(stsParams, function(err, data) {
            if (err) {
                console.log('Error assuming role');
                console.log(err, err.stack);
                errorCallback(err);
            } else {
                const getDashboardParams = {
                    "AwsAccountId": accountId,
                    "ExperienceConfiguration": {
                        "Dashboard": {
                            "InitialDashboardId": dashboardId
                        }
                    },
                    "UserArn": userArn,
                    "AllowedDomains": allowedDomains,
                    "SessionLifetimeInMinutes": 600
                };

                const quicksightClient = new AWS.QuickSight({
                    region: process.env.AWS_REGION,
                    credentials: {
                        accessKeyId: data.Credentials.AccessKeyId,
                        secretAccessKey: data.Credentials.SecretAccessKey,
                        sessionToken: data.Credentials.SessionToken,
                        expiration: data.Credentials.Expiration
                    }
                });

                quicksightClient.generateEmbedUrlForRegisteredUser(getDashboardParams, function(err, data) {
                    if (err) {
                        console.log(err, err.stack);
                        errorCallback(err);
                    } else {
                        const result = {
                            "statusCode": 200,
                            "headers": {
                                "Access-Control-Allow-Origin": "*", // Use your website domain to secure access to GetEmbedUrl API
                                "Access-Control-Allow-Headers": "Content-Type"
                            },
                            "body": JSON.stringify(data),
                            "isBase64Encoded": false
                        }
                        getEmbedUrlCallback(result);
                    }
                });
            }
        });
    }
```

### Python3
<a name="embedded-dashboards-for-authenticated-users-py"></a>

```
import json
import boto3
from botocore.exceptions import ClientError

sts = boto3.client('sts')

# Function to generate embedded URL  
# accountId: AWS account ID
# dashboardId: Dashboard ID to embed
# userArn: arn of registered user
# allowedDomains: Runtime allowed domain for embedding
# roleArn: IAM user role to use for embedding
# sessionName: session name for the roleArn assume role
def getEmbeddingURL(accountId, dashboardId, userArn, allowedDomains, roleArn, sessionName):
    try:
        assumedRole = sts.assume_role(
            RoleArn = roleArn,
            RoleSessionName = sessionName,
        )
    except ClientError as e:
        return "Error assuming role: " + str(e)
    else: 
        assumedRoleSession = boto3.Session(
            aws_access_key_id = assumedRole['Credentials']['AccessKeyId'],
            aws_secret_access_key = assumedRole['Credentials']['SecretAccessKey'],
            aws_session_token = assumedRole['Credentials']['SessionToken'],
        )
        try:
            quicksightClient = assumedRoleSession.client('quicksight', region_name='us-west-2')
            response = quicksightClient.generate_embed_url_for_registered_user(
                AwsAccountId=accountId,
                ExperienceConfiguration = {
                    "Dashboard": {
                        "InitialDashboardId": dashboardId
                    }
                },
                UserArn = userArn,
                AllowedDomains = allowedDomains,
                SessionLifetimeInMinutes = 600
            )
            
            return {
                'statusCode': 200,
                'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
                'body': json.dumps(response),
                'isBase64Encoded':  bool('false')
            }
        except ClientError as e:
            return "Error generating embedding url: " + str(e)
```

### Node.js
<a name="embedded-dashboards-for-authenticated-users-node"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
    const https = require('https');

    var quicksightClient = new AWS.Service({
        apiConfig: require('./quicksight-2018-04-01.min.json'),
        region: 'us-east-1',
    });

    quicksightClient.generateEmbedUrlForRegisteredUser({
        'AwsAccountId': '111122223333',
        'ExperienceConfiguration': { 
            'Dashboard': {
                'InitialDashboardId': '1c1fe111-e2d2-3b30-44ef-a0e111111cde'
            }
        },
        'UserArn': 'REGISTERED_USER_ARN',
        'AllowedDomains': allowedDomains,
        'SessionLifetimeInMinutes': 100
    }, function(err, data) {
        console.log('Errors: ');
        console.log(err);
        console.log('Response: ');
        console.log(data);
    });
```

**Example**  

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
    //readability and added ellipsis to indicate that it's incomplete.
        { 
            Status: 200,
            EmbedUrl: 'https://quicksightdomain/embed/12345/dashboards/67890...'
            RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713' 
        }
```

### .NET/C\$1
<a name="embedded-dashboards-for-authenticated-users-cs"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
using System;
    using Amazon.QuickSight;
    using Amazon.QuickSight.Model;

    namespace GenerateDashboardEmbedUrlForRegisteredUser
    {
        class Program
        {
            static void Main(string[] args)
            {
                var quicksightClient = new AmazonQuickSightClient(
                    AccessKey,
                    SecretAccessKey,
                    SessionToken,
                    Amazon.RegionEndpoint.USEast1);
                try
                {
                    RegisteredUserDashboardEmbeddingConfiguration registeredUserDashboardEmbeddingConfiguration
                        = new RegisteredUserDashboardEmbeddingConfiguration
                        {
                            InitialDashboardId = "dashboardId"
                        };
                    RegisteredUserEmbeddingExperienceConfiguration registeredUserEmbeddingExperienceConfiguration
                        = new RegisteredUserEmbeddingExperienceConfiguration
                        {
                            Dashboard = registeredUserDashboardEmbeddingConfiguration
                        };
                        
                    Console.WriteLine(
                        quicksightClient.GenerateEmbedUrlForRegisteredUserAsync(new GenerateEmbedUrlForRegisteredUserRequest
                        {
                            AwsAccountId = "111122223333",
                            ExperienceConfiguration = registeredUserEmbeddingExperienceConfiguration,
                            UserArn = "REGISTERED_USER_ARN",
                            AllowedDomains = allowedDomains,
                            SessionLifetimeInMinutes = 100
                        }).Result.EmbedUrl
                    );
                } catch (Exception ex) {
                    Console.WriteLine(ex.Message);
                }
            }
        }
    }
```

### AWS CLI
<a name="embedded-dashboards-for-authenticated-users-cli"></a>

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - SAML을 사용하여 사용자를 인증할 때 이 작업을 사용하세요.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GenerateEmbedUrlForRegisteredUser`에 대한 권한이 활성화되어 있어야 합니다. 사용자가 대시보드를 처음 열 때 사용자를 추가하는 적시 접근 방식을 취하려면, 역할에 `quicksight:RegisterUser`에 대한 사용 권한도 활성화해야 합니다.

```
aws sts assume-role \
        --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \
        --role-session-name john.doe@example.com
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터를 사용하는 경우 `export` 대신 `set`을(를) 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
    export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
    export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_dashboard_role/john.doe@example.com`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 사용자 액세스 조절을 방지할 수 있습니다. *조절*은 동일한 사용자가 여러 위치에서 Amazon Quick Sight에 액세스하지 못하도록 하는 보안 기능입니다.

역할 세션 ID도 Amazon Quick Sight의 사용자 이름이 됩니다. 이 패턴을 사용하여 Amazon Quick Sight에서 사용자를 미리 프로비저닝하거나 대시보드에 처음 액세스할 때 프로비저닝할 수 있습니다.

다음 예에서는 사용자를 프로비저닝하는 데 사용할 수 있는 CLI 명령을 보여줍니다. [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html), [DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html) 및 기타 Amazon Quick Sight API 작업에 대한 자세한 내용은 [Amazon Quick Sight API 참조](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html)를 참조하세요.

```
aws quicksight register-user \
        --aws-account-id 111122223333 \
        --namespace default \
        --identity-type IAM \
        --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \
        --user-role READER \
        --user-name jhnd \
        --session-name "john.doe@example.com" \
        --email john.doe@example.com \
        --region us-east-1 \
        --custom-permissions-name TeamA1
```

사용자가 Microsoft AD를 통해 인증된 경우에는, 설정을 위해 `RegisterUser`을(를) 사용하지 않아도 됩니다. 대신 Amazon Quick Sight에 처음 액세스할 때 자동으로 구독해야 합니다. Microsoft AD 사용자의 경우 사용자 ARN을 얻는 데 `DescribeUser`를 사용할 수 있습니다.

사용자가 Amazon Quick Sight에 처음 액세스할 때 대시보드가 공유되는 그룹에이 사용자를 추가할 수도 있습니다. 다음 예에서는 사용자를 그룹에 추가하는 CLI 명령을 보여줍니다.

```
aws quicksight create-group-membership \
    --aws-account-id=111122223333 \
    --namespace=default \
    --group-name=financeusers \
    --member-name="embedding_quicksight_dashboard_role/john.doe@example.com"
```

이제 Amazon Quick Sight 사용자이기도 하고 대시보드에 액세스할 수 있는 앱 사용자가 생겼습니다.

마지막으로 대시보드에 대해 서명된 URL을 가져오려면 앱 서버에서 `generate-embed-url-for-registered-user`을 호출합니다. 그러면 임베드 가능한 대시보드 URL이 반환됩니다. 다음 예제에서는 AWS Managed Microsoft AD 또는 Single Sign-On(IAM Identity Center)을 통해 인증된 사용자에 대한 서버 측 호출을 사용하여 임베디드 대시보드의 URL을 생성하는 방법을 보여줍니다.

```
aws quicksight generate-embed-url-for-registered-user \
        --aws-account-id 111122223333 \
        --session-lifetime-in-minutes 600 \
        --user-arn arn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_visual_role/embeddingsession \
        --allowed-domains '["domain1","domain2"]' \
        --experience-configuration Dashboard={InitialDashboardId=1a1ac2b2-3fc3-4b44-5e5d-c6db6778df89}
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html) 단원을 참조하세요. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

## 3단계: 대시보드 URL 임베드
<a name="embedded-dashboards-for-authenticated-users-step-3"></a>

다음 섹션에서는 [Amazon Quick Sight Embedding SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여 웹 사이트 또는 애플리케이션 페이지의 3단계에서 대시보드 URL을 포함하는 방법을 알아볼 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ HTML 페이지에 대시보드 배치
+ 대시보드에 파라미터 전달
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

`GenerateEmbedUrlForRegisteredUser` API 작업을 직접 호출하여 앱에 포함할 수 있는 URL을 생성하세요. 이 URL은 5분 동안 유효하며, 결과 세션은 10시간까지 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code`을(를) 제공합니다.

다음은 `generate-embed-url-for-registered-user`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
    {
        "Status": "200",
        "EmbedUrl": "https://quicksightdomain/embed/12345/dashboards/67890..",
        "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
    }
```

[Amazon Quick Sight 임베딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에이 대시보드를 임베](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)딩합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다. Amazon Quick Sight 임베딩 SDK를 사용하면 대시보드 내에서 파라미터를 제어하고 페이지 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

임베디드 대시보드를 호스팅할 도메인은 Quick 구독이 승인된 도메인 목록인 허용 목록에 있어야 합니다. 이 요건은 임베디드 대시보드에서 미승인 도메인을 제외함으로써 데이터를 보호합니다. 임베디드 대시보드의 도메인 추가에 대한 자세한 내용은 [Amazon Quick Sight API를 사용하여 런타임에 도메인 나열 허용을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-run-time.html) 참조하세요.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 생성됩니다.

### SDK 2.0
<a name="embedded-dashboards-for-authenticated-users-sdkv2"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>Dashboard Embedding Example</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.0.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            const embedDashboard = async() => {
                const {
                    createEmbeddingContext,
                } = QuickSightEmbedding;

                const embeddingContext = await createEmbeddingContext({
                    onChange: (changeEvent, metadata) => {
                        console.log('Context received a change', changeEvent, metadata);
                    },
                });

                const frameOptions = {
                    url: '<YOUR_EMBED_URL>',
                    container: '#experience-container',
                    height: "700px",
                    width: "1000px",
                    onChange: (changeEvent, metadata) => {
                        switch (changeEvent.eventName) {
                            case 'FRAME_MOUNTED': {
                                console.log("Do something when the experience frame is mounted.");
                                break;
                            }
                            case 'FRAME_LOADED': {
                                console.log("Do something when the experience frame is loaded.");
                                break;
                            }
                        }
                    },
                };

                const contentOptions = {
                    parameters: [
                        {
                            Name: 'country',
                            Values: [
                                'United States'
                            ],
                        },
                        {
                            Name: 'states',
                            Values: [
                                'California',
                                'Washington'
                            ]
                        }
                    ],
                    locale: "en-US",
                    sheetOptions: {
                        initialSheetId: '<YOUR_SHEETID>',
                        singleSheet: false,                        
                        emitSizeChangedEventOnSheetChange: false,
                    },
                    toolbarOptions: {
                        export: false,
                        undoRedo: false,
                        reset: false
                    },
                    attributionOptions: {
                        overlayContent: false,
                    },
                    onMessage: async (messageEvent, experienceMetadata) => {
                        switch (messageEvent.eventName) {
                            case 'CONTENT_LOADED': {
                                console.log("All visuals are loaded. The title of the document:", messageEvent.message.title);
                                break;
                            }
                            case 'ERROR_OCCURRED': {
                                console.log("Error occurred while rendering the experience. Error code:", messageEvent.message.errorCode);
                                break;
                            }
                            case 'PARAMETERS_CHANGED': {
                                console.log("Parameters changed. Changed parameters:", messageEvent.message.changedParameters);
                                break;
                            }
                            case 'SELECTED_SHEET_CHANGED': {
                                console.log("Selected sheet changed. Selected sheet:", messageEvent.message.selectedSheet);
                                break;
                            }
                            case 'SIZE_CHANGED': {
                                console.log("Size changed. New dimensions:", messageEvent.message);
                                break;
                            }
                            case 'MODAL_OPENED': {
                                window.scrollTo({
                                    top: 0 // iframe top position
                                });
                                break;
                            }
                        }
                    },
                };
                const embeddedDashboardExperience = await embeddingContext.embedDashboard(frameOptions, contentOptions);

                const selectCountryElement = document.getElementById('country');
                selectCountryElement.addEventListener('change', (event) => {
                    embeddedDashboardExperience.setParameters([
                        {
                            Name: 'country',
                            Values: event.target.value
                        }
                    ]);
                });
            };
        </script>
    </head>

    <body onload="embedDashboard()">
        <span>
            <label for="country">Country</label>
            <select id="country" name="country">
                <option value="United States">United States</option>
                <option value="Mexico">Mexico</option>
                <option value="Canada">Canada</option>
            </select>
        </span>
        <div id="experience-container"></div>
    </body>

</html>
```

### SDK 1.0
<a name="embedded-dashboards-for-authenticated-users-sdkv1"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>Basic Embed</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@1.0.15/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            var dashboard
            function onDashboardLoad(payload) {
                console.log("Do something when the dashboard is fully loaded.");
            }

            function onError(payload) {
                console.log("Do something when the dashboard fails loading");
            }

            function embedDashboard() {
                var containerDiv = document.getElementById("embeddingContainer");
                var options = {
                    // replace this dummy url with the one generated via embedding API
                    url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode",
                    container: containerDiv,
                    parameters: {
                        country: "United States"
                    },
                    scrolling: "no",
                    height: "700px",
                    width: "1000px",
                    locale: "en-US",
                    footerPaddingEnabled: true
                };
                dashboard = QuickSightEmbedding.embedDashboard(options);
                dashboard.on("error", onError);
                dashboard.on("load", onDashboardLoad);
            }

            function onCountryChange(obj) {
                dashboard.setParameters({country: obj.value});
            }
        </script>
    </head>

    <body onload="embedDashboard()">
        <span>
            <label for="country">Country</label>
            <select id="country" name="country" onchange="onCountryChange(this)">
                <option value="United States">United States</option>
                <option value="Mexico">Mexico</option>
                <option value="Canada">Canada</option>
            </select>
        </span>
        <div id="embeddingContainer"></div>
    </body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 대시보드를 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

# 익명(미등록) 사용자를 위한 Amazon Quick Sight 대시보드 임베딩
<a name="embedded-analytics-dashboards-for-everyone"></a>

**중요**  
Amazon Quick Sight에는 및 임베딩 분석을 위한 새로운 API 작업이 `GenerateEmbedUrlForAnonymousUser` 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` API 작업을 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. 이전 API 작업을 사용한 임베딩에 대한 자세한 내용은 [GetDashboardEmbedURL 및 GetSessionEmbedURL API 작업을 사용한 분석 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-deprecated.html) 참조하세요.


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 익명(미등록) 사용자를 위해 임베디드 Amazon Quick Sight 대시보드를 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](#embedded-analytics-dashboards-with-anonymous-users-step-1)
+ [2단계: 인증 코드가 첨부된 URL 생성](#embedded-analytics-dashboards-with-anonymous-users-step-2)
+ [3단계: 대시보드 URL 임베드](#embedded-analytics-dashboards-with-anonymous-users-step-3)

## 1단계: 권한 설정
<a name="embedded-analytics-dashboards-with-anonymous-users-step-1"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 단원에서 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 IAM에 대한 관리자 액세스 권한이 있어야 합니다.

대시보드에 액세스하는 각 사용자는 Amazon Quick Sight에 대시보드에 대한 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면에서 IAM 역할을 생성합니다 AWS 계정. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다.

IAM 정책에 개발자가 `GenerateEmbedUrlForAnonymousUser` API 작업의 `AllowedDomains` 파라미터에 나열할 수 있는 도메인을 제한하는 조건을 만들 수 있습니다. `AllowedDomains` 파라미터는 선택 파라미터입니다. 개발자는 **Amazon Quick Sight 관리** 메뉴에 구성된 정적 도메인을 재정의할 수 있는 옵션을 제공합니다. 대신 생성된 URL에 액세스할 수 있는 도메인 또는 하위 도메인을 최대 세 개까지 나열할 수 있습니다. 그러면 만든 웹 사이트에 이 URL이 포함됩니다. 파라미터에 나열된 도메인만 임베디드 대시보드에 액세스할 수 있습니다. 이 조건이 없으면, 인터넷에 있는 모든 도메인을 `AllowedDomains` 파라미터에 나열할 수 있습니다.

개발자가 이 파라미터로 사용할 수 있는 도메인을 제한하려면 IAM 정책에 `AllowedEmbeddingDomains` 조건을 추가하세요. `AllowedDomains` 파라미터에 대한 자세한 내용은 Amazon Quick Sight API 참조의 [GenerateEmbedUrlForAnonymousUser](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html)를 참조하세요. ** 

**IAM 조건 연산자에 대한 보안 모범 사례**  
잘못 구성된 IAM 조건 연산자는 URL 변형을 통해 임베디드 Quick 리소스에 대한 무단 액세스를 허용할 수 있습니다. IAM 정책에서 `quicksight:AllowedEmbeddingDomains` 조건 키를 사용하는 경우 특정 도메인을 허용하거나 특별히 허용되지 않는 모든 도메인을 거부하는 조건 연산자를 사용합니다. IAM 조건 연산자에 대한 자세한 내용은 [IAM 사용 설명서의 IAM JSON 정책 요소: 조건 연산자를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 참조하세요.  
다양한 URL 변형이 동일한 리소스를 가리킬 수 있습니다. 예를 들어 다음 URLs 모두 동일한 콘텐츠로 확인됩니다.  
`https://example.com`
`https://example.com/`
`https://Example.com`
정책에서 이러한 URL 변형을 고려하지 않는 연산자를 사용하는 경우 공격자는 동등한 URL 변형을 제공하여 제한을 우회할 수 있습니다.  
IAM 정책이 적절한 조건 연산자를 사용하여 우회 취약성을 방지하고 의도한 도메인만 임베디드 리소스에 액세스할 수 있는지 확인해야 합니다.

다음 샘플 정책은 `GenerateEmbedUrlForAnonymousUser`을(를) 사용할 수 있는 권한을 제공합니다. 이 접근 방식이 제대로 작동하려면 AWS 계정에 대해 필요에 맞는 세션 팩 또는 세션 용량 요금도 필요합니다. 그렇지 않으면 사용자가 대시보드에 액세스하려고 하면 `UnsupportedPricingPlanException` 오류가 반환됩니다.

방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스하면, 애플리케이션이 사용자를 대신하여 역할을 맡아서 대시보드를 열 수 있습니다. 다음 예제는 샘플 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "AllowLambdaFunctionsToAssumeThisRole",
        "Effect": "Allow",
        "Principal": {
            "Service": "lambda.amazonaws.com"
        },
        "Action": "sts:AssumeRole"
    },
    {
        "Sid": "AllowEC2InstancesToAssumeThisRole",
        "Effect": "Allow",
        "Principal": {
            "Service": "ec2.amazonaws.com"
        },
        "Action": "sts:AssumeRole"
    }
]
}
```

------

자세한 내용은 IAM 사용 설명서의 [IAM의 임시 보안 인증](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) 단원을 참조하세요.

## 2단계: 인증 코드가 첨부된 URL 생성
<a name="embedded-analytics-dashboards-with-anonymous-users-step-2"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 단원에서는 익명의 방문자를 대신해 인증하고 애플리케이션 서버에서 임베딩 가능한 대시보드 URL을 가져오는 방법을 알아볼 수 있습니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 사용자가 아직 없는 경우 Amazon Quick Sight에 사용자를 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

다음 예는 사용자를 대신하여 IAM 인증을 수행합니다. 식별자를 고유한 역할 세션 ID로 전달합니다. 이 코드는 앱 서버에서 실행됩니다.

### Java
<a name="embedded-analytics-dashboards-with-anonymous-users-java"></a>

```
import java.util.List;
    import com.amazonaws.auth.AWSCredentials;
    import com.amazonaws.auth.AWSCredentialsProvider;
    import com.amazonaws.auth.BasicAWSCredentials;
    import com.amazonaws.regions.Regions;
    import com.amazonaws.services.quicksight.AmazonQuickSight;
    import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
    import com.amazonaws.services.quicksight.model.RegisteredUserDashboardEmbeddingConfiguration;
    import com.amazonaws.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration;
    import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest;
    import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserResult;
    import com.amazonaws.services.quicksight.model.SessionTag;


    /**
    * Class to call QuickSight AWS SDK to generate embed url for anonymous user.
    */
    public class GenerateEmbedUrlForAnonymousUserExample {

        private final AmazonQuickSight quickSightClient;

        public GenerateEmbedUrlForAnonymousUserExample() {
            quickSightClient = AmazonQuickSightClientBuilder
                .standard()
                .withRegion(Regions.US_EAST_1.getName())
                .withCredentials(new AWSCredentialsProvider() {
                        @Override
                        public AWSCredentials getCredentials() {
                            // provide actual IAM access key and secret key here
                            return new BasicAWSCredentials("access-key", "secret-key");
                        }

                        @Override
                        public void refresh() {
                        }
                    }
                )
                .build();
        }

        public String GenerateEmbedUrlForAnonymousUser(
            final String accountId, // YOUR AWS ACCOUNT ID
            final String initialDashboardId, // DASHBOARD ID TO WHICH THE CONSTRUCTED URL POINTS.
            final String namespace, // ANONYMOUS EMBEDDING REQUIRES SPECIFYING A VALID NAMESPACE FOR WHICH YOU WANT THE EMBEDDING URL
            final List<String> authorizedResourceArns, // DASHBOARD ARN LIST TO EMBED
            final List<String> allowedDomains, // RUNTIME ALLOWED DOMAINS FOR EMBEDDING
            final List<SessionTag> sessionTags // SESSION TAGS USED FOR ROW-LEVEL SECURITY
        ) throws Exception {
            AnonymousUserEmbeddingExperienceConfiguration experienceConfiguration = new AnonymousUserEmbeddingExperienceConfiguration();
            AnonymousUserDashboardEmbeddingConfiguration dashboardConfiguration = new AnonymousUserDashboardEmbeddingConfiguration();
            dashboardConfiguration.setInitialDashboardId(initialDashboardId);
            experienceConfiguration.setDashboard(dashboardConfiguration);

            GenerateEmbedUrlForAnonymousUserRequest generateEmbedUrlForAnonymousUserRequest = new GenerateEmbedUrlForAnonymousUserRequest()
                .withAwsAccountId(accountId)
                .withNamespace(namespace)
                .withAuthorizedResourceArns(authorizedResourceArns)
                .withExperienceConfiguration(experienceConfiguration)
                .withSessionTags(sessionTags)
                .withSessionLifetimeInMinutes(600L); // OPTIONAL: VALUE CAN BE [15-600]. DEFAULT: 600
                .withAllowedDomains(allowedDomains);

            GenerateEmbedUrlForAnonymousUserResult dashboardEmbedUrl = quickSightClient.generateEmbedUrlForAnonymousUser(generateEmbedUrlForAnonymousUserRequest);

            return dashboardEmbedUrl.getEmbedUrl();
        }

    }
```

### JavaScript
<a name="embedded-analytics-dashboards-with-anonymous-users-js"></a>

```
global.fetch = require('node-fetch');
const AWS = require('aws-sdk');

function generateEmbedUrlForAnonymousUser(
accountId, // YOUR AWS ACCOUNT ID
initialDashboardId, // DASHBOARD ID TO WHICH THE CONSTRUCTED URL POINTS
quicksightNamespace, // VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING
authorizedResourceArns, // DASHBOARD ARN LIST TO EMBED
allowedDomains, // RUNTIME ALLOWED DOMAINS FOR EMBEDDING
sessionTags, // SESSION TAGS USED FOR ROW-LEVEL SECURITY
generateEmbedUrlForAnonymousUserCallback, // GENERATEEMBEDURLFORANONYMOUSUSER SUCCESS CALLBACK METHOD
errorCallback // GENERATEEMBEDURLFORANONYMOUSUSER ERROR CALLBACK METHOD
) {
const experienceConfiguration = {
    "DashboardVisual": {
        "InitialDashboardVisualId": {
            "DashboardId": "dashboard_id",
            "SheetId": "sheet_id",
            "VisualId": "visual_id"
        }
    }
};

const generateEmbedUrlForAnonymousUserParams = {
    "AwsAccountId": accountId,
    "Namespace": quicksightNamespace,
    "AuthorizedResourceArns": authorizedResourceArns,
    "AllowedDomains": allowedDomains,
    "ExperienceConfiguration": experienceConfiguration,
    "SessionTags": sessionTags,
    "SessionLifetimeInMinutes": 600
};

const quicksightClient = new AWS.QuickSight({
    region: process.env.AWS_REGION,
    credentials: {
        accessKeyId: AccessKeyId,
        secretAccessKey: SecretAccessKey,
        sessionToken: SessionToken,
        expiration: Expiration
    }
});

quicksightClient.generateEmbedUrlForAnonymousUser(generateEmbedUrlForAnonymousUserParams, function(err, data) {
    if (err) {
        console.log(err, err.stack);
        errorCallback(err);
    } else {
        const result = {
            "statusCode": 200,
            "headers": {
                "Access-Control-Allow-Origin": "*", // USE YOUR WEBSITE DOMAIN TO SECURE ACCESS TO THIS API
                "Access-Control-Allow-Headers": "Content-Type"
            },
            "body": JSON.stringify(data),
            "isBase64Encoded": false
        }
        generateEmbedUrlForAnonymousUserCallback(result);
    }
});
}
```

### Python3
<a name="embedded-analytics-dashboards-with-anonymous-users-py"></a>

```
import json
import boto3
from botocore.exceptions import ClientError
import time

# Create QuickSight and STS clients
quicksightClient = boto3.client('quicksight',region_name='us-west-2')
sts = boto3.client('sts')

# Function to generate embedded URL for anonymous user
# accountId: YOUR AWS ACCOUNT ID
# quicksightNamespace: VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING
# authorizedResourceArns: DASHBOARD ARN LIST TO EMBED
# allowedDomains: RUNTIME ALLOWED DOMAINS FOR EMBEDDING
# dashboardId: DASHBOARD ID TO WHICH THE CONSTRUCTED URL POINTS
# sessionTags: SESSION TAGS USED FOR ROW-LEVEL SECURITY
def generateEmbedUrlForAnonymousUser(accountId, quicksightNamespace, authorizedResourceArns, allowedDomains, dashboardId, sessionTags):
try:
    response = quicksightClient.generate_embed_url_for_anonymous_user(
        AwsAccountId = accountId,
        Namespace = quicksightNamespace,
        AuthorizedResourceArns = authorizedResourceArns,
        AllowedDomains = allowedDomains,
            ExperienceConfiguration = {
                "Dashboard": {
                    "InitialDashboardId": dashboardId
                }
            },
        SessionTags = sessionTags,
        SessionLifetimeInMinutes = 600
    )
        
    return {
        'statusCode': 200,
        'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
        'body': json.dumps(response),
        'isBase64Encoded':  bool('false')
    }
except ClientError as e:
    print(e)
    return "Error generating embeddedURL: " + str(e)
```

### Node.js
<a name="embedded-analytics-dashboards-with-anonymous-users-node"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
    const https = require('https');

    var quicksightClient = new AWS.Service({
        apiConfig: require('./quicksight-2018-04-01.min.json'),
        region: 'us-east-1',
    });

    quicksightClient.generateEmbedUrlForAnonymousUser({
        'AwsAccountId': '111122223333',
        'Namespace' : 'default',
        'AuthorizedResourceArns': authorizedResourceArns,
        'AllowedDomains': allowedDomains,
        'ExperienceConfiguration': experienceConfiguration,
        'SessionTags': sessionTags,
        'SessionLifetimeInMinutes': 600

    }, function(err, data) {
        console.log('Errors: ');
        console.log(err);
        console.log('Response: ');
        console.log(data);
    });
```

**Example**  

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
    //readability and added ellipsis to indicate that it's incomplete.
        { 
            Status: 200,
            EmbedUrl: 'https://quicksightdomain/embed/12345/dashboards/67890..',
            RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713' 
        }
```

### .NET/C\$1
<a name="embedded-analytics-dashboards-with-anonymous-users-cs"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
using System;
    using Amazon.QuickSight;
    using Amazon.QuickSight.Model;

    var quicksightClient = new AmazonQuickSightClient(
        AccessKey,
        SecretAccessKey,
        sessionToken,
        Amazon.RegionEndpoint.USEast1);
        
    try
    {
        Console.WriteLine(
            quicksightClient.GenerateEmbedUrlForAnonymousUserAsync(new GenerateEmbedUrlForAnonymousUserRequest
            {
                AwsAccountId = "111122223333",
                Namespace = default,
                AuthorizedResourceArns = authorizedResourceArns,
                AllowedDomains = allowedDomains,
                ExperienceConfiguration = experienceConfiguration,
                SessionTags = sessionTags,
                SessionLifetimeInMinutes = 600,
            }).Result.EmbedUrl
        );
    } catch (Exception ex) {
        Console.WriteLine(ex.Message);
    }
```

### AWS CLI
<a name="embedded-analytics-dashboards-with-anonymous-users-cli"></a>

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - Security Assertion Markup(SAML)을 사용하여 사용자를 인증하는 경우 이 작업을 사용하십시오.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GenerateEmbedUrlForAnonymousUser`에 대한 권한이 활성화되어 있어야 합니다.

```
aws sts assume-role \
    --role-arn "arn:aws:iam::11112222333:role/QuickSightEmbeddingAnonymousPolicy" \
    --role-session-name anonymous caller
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터를 사용하는 경우 `export` 대신 `set`을(를) 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
    export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
    export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_dashboard_role/QuickSightEmbeddingAnonymousPolicy`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 방문 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 각 세션을 분리하고 구분할 수 있습니다. 로드 밸런싱 등을 위해 여러 웹 서버를 사용하는 경우, 세션이 다른 서버에 다시 연결되면 새 세션이 시작됩니다.

대시보드에 대해 서명된 URL을 가져오려면, 앱 서버에서 `generate-embed-url-for-anynymous-user`을(를) 호출합니다. 그러면 임베드 가능한 대시보드 URL이 반환됩니다. 다음 예제는 웹 포털 또는 앱을 익명으로 방문하는 사용자에 대해 서버 측 직접 호출을 사용하여 임베디드 대시보드의 URL을 생성하는 방법을 보여줍니다.

```
aws quicksight generate-embed-url-for-anonymous-user \
--aws-account-id 111122223333 \
--namespace default-or-something-else \
--session-lifetime-in-minutes 15 \
--authorized-resource-arns '["dashboard-arn-1","dashboard-arn-2"]' \
--allowed-domains '["domain1","domain2"]' \
--session-tags '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]' \
--experience-configuration 'DashboardVisual={InitialDashboardVisualId={DashboardId=dashboard_id,SheetId=sheet_id,VisualId=visual_id}}'
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html) 단원을 참조하세요. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

## 3단계: 대시보드 URL 임베드
<a name="embedded-analytics-dashboards-with-anonymous-users-step-3"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 [Amazon Quick Sight Embedding SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여 웹 사이트 또는 애플리케이션 페이지의 2단계에서 대시보드 URL을 포함하는 방법을 알아볼 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ HTML 페이지에 대시보드 배치
+ 대시보드에 파라미터 전달
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

`GenerateEmbedUrlForAnynymousUser` API 작업을 직접 호출하여 앱에 포함할 수 있는 URL을 생성하세요. 이 URL은 5분 동안 유효하며 결과 세션은 10시간 동안 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code`을(를) 제공합니다.

다음은 `generate-embed-url-for-anynymous-user`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
        {
            "Status": "200",
            "EmbedUrl": "https://quicksightdomain/embed/12345/dashboards/67890..",
            "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
        }
```

[Amazon Quick Sight 임베딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에이 대시보드를 임베](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)딩합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다. Amazon Quick Sight 임베딩 SDK를 사용하면 대시보드 내에서 파라미터를 제어하고 페이지 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

임베디드 대시보드를 호스팅할 도메인은 Quick 구독이 승인된 도메인 목록인 허용 목록에 있어야 합니다. 이 요건은 임베디드 대시보드에서 미승인 도메인을 제외함으로써 데이터를 보호합니다. 임베디드 대시보드의 도메인 추가에 대한 자세한 내용은 [Amazon Quick Sight API를 사용하여 런타임에 도메인 나열 허용을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-run-time.html) 참조하세요.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 실행됩니다.

### SDK 2.0
<a name="embedded-analytics-dashboards-with-anonymous-users-sdkv2"></a>

```
<!DOCTYPE html>
<html>

<head>
    <title>Dashboard Embedding Example</title>
    <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.0.0/dist/quicksight-embedding-js-sdk.min.js"></script>
    <script type="text/javascript">
        const embedDashboard = async() => {
            const {
                createEmbeddingContext,
            } = QuickSightEmbedding;

            const embeddingContext = await createEmbeddingContext({
                onChange: (changeEvent, metadata) => {
                    console.log('Context received a change', changeEvent, metadata);
                },
            });

            const frameOptions = {
                url: '<YOUR_EMBED_URL>',
                container: '#experience-container',
                height: "700px",
                width: "1000px",
                onChange: (changeEvent, metadata) => {
                    switch (changeEvent.eventName) {
                        case 'FRAME_MOUNTED': {
                            console.log("Do something when the experience frame is mounted.");
                            break;
                        }
                        case 'FRAME_LOADED': {
                            console.log("Do something when the experience frame is loaded.");
                            break;
                        }
                    }
                },
            };

            const contentOptions = {
                parameters: [
                    {
                        Name: 'country',
                        Values: [
                            'United States'
                        ],
                    },
                    {
                        Name: 'states',
                        Values: [
                            'California',
                            'Washington'
                        ]
                    }
                ],
                locale: "en-US",
                sheetOptions: {
                    initialSheetId: '<YOUR_SHEETID>',
                    singleSheet: false,                        
                    emitSizeChangedEventOnSheetChange: false,
                },
                toolbarOptions: {
                    export: false,
                    undoRedo: false,
                    reset: false
                },
                attributionOptions: {
                    overlayContent: false,
                },
                onMessage: async (messageEvent, experienceMetadata) => {
                    switch (messageEvent.eventName) {
                        case 'CONTENT_LOADED': {
                            console.log("All visuals are loaded. The title of the document:", messageEvent.message.title);
                            break;
                        }
                        case 'ERROR_OCCURRED': {
                            console.log("Error occurred while rendering the experience. Error code:", messageEvent.message.errorCode);
                            break;
                        }
                        case 'PARAMETERS_CHANGED': {
                            console.log("Parameters changed. Changed parameters:", messageEvent.message.changedParameters);
                            break;
                        }
                        case 'SELECTED_SHEET_CHANGED': {
                            console.log("Selected sheet changed. Selected sheet:", messageEvent.message.selectedSheet);
                            break;
                        }
                        case 'SIZE_CHANGED': {
                            console.log("Size changed. New dimensions:", messageEvent.message);
                            break;
                        }
                        case 'MODAL_OPENED': {
                            window.scrollTo({
                                top: 0 // iframe top position
                            });
                            break;
                        }
                    }
                },
            };
            const embeddedDashboardExperience = await embeddingContext.embedDashboard(frameOptions, contentOptions);

            const selectCountryElement = document.getElementById('country');
            selectCountryElement.addEventListener('change', (event) => {
                embeddedDashboardExperience.setParameters([
                    {
                        Name: 'country',
                        Values: event.target.value
                    }
                ]);
            });
        };
    </script>
</head>

<body onload="embedDashboard()">
    <span>
        <label for="country">Country</label>
        <select id="country" name="country">
            <option value="United States">United States</option>
            <option value="Mexico">Mexico</option>
            <option value="Canada">Canada</option>
        </select>
    </span>
    <div id="experience-container"></div>
</body>

</html>
```

### SDK 1.0
<a name="embedded-analytics-dashboards-with-anonymous-users-sdkv1"></a>

```
<!DOCTYPE html>
<html>

<head>
    <title>Basic Embed</title>
    <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@1.0.15/dist/quicksight-embedding-js-sdk.min.js"></script>
    <script type="text/javascript">
        var dashboard
        function onDashboardLoad(payload) {
            console.log("Do something when the dashboard is fully loaded.");
        }

        function onError(payload) {
            console.log("Do something when the dashboard fails loading");
        }

        function embedDashboard() {
            var containerDiv = document.getElementById("embeddingContainer");
            var options = {
                // replace this dummy url with the one generated via embedding API
                url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode",
                container: containerDiv,
                parameters: {
                    country: "United States"
                },
                scrolling: "no",
                height: "700px",
                width: "1000px",
                locale: "en-US",
                footerPaddingEnabled: true
            };
            dashboard = QuickSightEmbedding.embedDashboard(options);
            dashboard.on("error", onError);
            dashboard.on("load", onDashboardLoad);
        }

        function onCountryChange(obj) {
            dashboard.setParameters({country: obj.value});
        }
    </script>
</head>

<body onload="embedDashboard()">
    <span>
        <label for="country">Country</label>
        <select id="country" name="country" onchange="onCountryChange(this)">
            <option value="United States">United States</option>
            <option value="Mexico">Mexico</option>
            <option value="Canada">Canada</option>
        </select>
    </span>
    <div id="embeddingContainer"></div>
</body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 대시보드를 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk) 최신 Amazon Quick Sight 임베딩 SDK 버전을 다운로드합니다.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

# 임베디드 대시보드에서 실행 요약 활성화
<a name="embedded-analytics-genbi-executive-summaries-dashboard"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

임베디드 대시보드에서 실행 요약을 활성화할 수 있습니다. 활성화되면 등록된 사용자는 Amazon Quick Sight가 대시보드에 대해 생성한 모든 인사이트의 요약을 제공하는 실행 요약을 생성할 수 있습니다. 실행 요약을 통해 리더는 대시보드에 대한 주요 인사이트와 정보를 한눈에 쉽게 확인할 수 있습니다. 사용자가 대시보드의 실행 요약을 생성하는 방법에 대한 자세한 내용은 [Amazon Quick Sight 대시보드의 실행 요약 생성을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/use-executive-summaries.html).

**참고**  
실행 요약은 등록된 사용자의 경우 임베디드 대시보드에서만 사용할 수 있으며 익명 또는 미등록 사용자의 경우 임베디드 대시보드에서 활성화할 수 없습니다.

**등록된 사용자의 경우 임베디드 대시보드에서 실행 요약을 활성화하는 방법**
+ [등록된 사용자의 Amazon Quick Sight 대시보드 임베딩](https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-dashboards-for-authenticated-users.html) 단계에 따라 다음과 같은 변경 사항이 있는 대시보드를 임베딩합니다.

  1. 2단계에서 URL을 생성하는 경우 다음 예제와 같이 [GenerateEmbedUrlForRegisteredUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html) 또는 [GenerateEmbedUrlForRegisteredUserWithIdentity](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUserWithIdentity.html)의 `ExecutiveSummary` 파라미터에서 `Enabled: true`를 설정하세요.

     ```
     ExperienceConfiguration: {
             Dashboard: {
                 InitialDashboardId: dashboard_id,
                 FeatureConfigurations: {
                     AmazonQInQuickSight: {
                         ExecutiveSummary: {
                             Enabled: true
                         }
                     }
                 }
             }
         }
     }
     ```

  1. 3단계에서 Amazon Quick Sight 임베딩 SDK를 사용하여 대시보드 URL을 임베딩할 때 다음 예제`contentOptions`와 같이 `executiveSummary: true`에서를 설정합니다.

     ```
     const contentOptions = {
         toolbarOptions: {
             executiveSummary: true
         }
     };
     ```

# Amazon Quick Sight APIs를 사용하여 Amazon Quick Sight 시각적 객체 임베딩
<a name="embedding-visuals"></a>

Amazon Quick Sight API를 사용하여 게시된 대시보드의 일부인 개별 시각적 객체를 애플리케이션에 포함할 수 있습니다.

**Topics**
+ [등록된 사용자를 위한 Amazon Quick Sight 시각적 객체 임베딩](embedded-analytics-visuals-for-authenticated-users.md)
+ [익명(미등록) 사용자를 위한 Amazon Quick Sight 시각적 객체 임베딩](embedded-analytics-visuals-for-everyone.md)

# 등록된 사용자를 위한 Amazon Quick Sight 시각적 객체 임베딩
<a name="embedded-analytics-visuals-for-authenticated-users"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 Amazon Quick Sight의 등록된 사용자를 위해 임베디드 Amazon Quick Sight 시각적 객체를 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](#embedded-visuals-for-authenticated-users-step-1)
+ [2단계: 인증 코드가 첨부된 URL 생성](#embedded-visuals-for-authenticated-users-step-2)
+ [3단계: 시각적 객체 URL 임베드](#embedded-visuals-for-authenticated-users-step-3)

## 1단계: 권한 설정
<a name="embedded-visuals-for-authenticated-users-step-1"></a>

다음 단원에서 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 IAM에 대한 관리자 액세스 권한이 있어야 합니다.

시각적 객체에 액세스하는 각 사용자는 Amazon Quick Sight에 시각적 객체에 대한 액세스 및 권한을 부여하는 역할을 맡습니다. 이렇게 하려면에서 IAM 역할을 생성합니다 AWS 계정. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다. IAM 역할은 특정 사용자 풀의 임베딩 URL을 검색할 수 있는 권한을 제공해야 합니다. 와일드카드 문자 \$1를 사용하여, 특정 네임스페이스의 모든 사용자 또는 특정 네임스페이스의 일부 사용자에 대해 URL을 생성할 권한을 부여할 수 있습니다. 이를 위해 `quicksight:GenerateEmbedUrlForRegisteredUser`을(를) 추가합니다.

IAM 정책에 개발자가 `GenerateEmbedUrlForAnonymousUser` API 작업의 `AllowedDomains` 파라미터에 나열할 수 있는 도메인을 제한하는 조건을 만들 수 있습니다. `AllowedDomains` 파라미터는 선택 파라미터입니다. 개발자는 **Amazon Quick Sight 관리** 메뉴에 구성된 정적 도메인을 재정의할 수 있는 옵션을 제공합니다. 대신 생성된 URL에 액세스할 수 있는 도메인 또는 하위 도메인을 최대 세 개까지 나열할 수 있습니다. 그러면 만든 웹 사이트에 이 URL이 포함됩니다. 파라미터에 나열된 도메인만 임베디드 대시보드에 액세스할 수 있습니다. 이 조건이 없으면, 인터넷에 있는 모든 도메인을 `AllowedDomains` 파라미터에 나열할 수 있습니다.

개발자가 이 파라미터로 사용할 수 있는 도메인을 제한하려면 IAM 정책에 `AllowedEmbeddingDomains` 조건을 추가하세요. `AllowedDomains` 파라미터에 대한 자세한 내용은 Amazon Quick Sight API 참조의 [GenerateEmbedUrlForRegisteredUser](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html)를 참조하세요. ** 

**IAM 조건 연산자에 대한 보안 모범 사례**  
잘못 구성된 IAM 조건 연산자는 URL 변형을 통해 임베디드 Quick 리소스에 대한 무단 액세스를 허용할 수 있습니다. IAM 정책에서 `quicksight:AllowedEmbeddingDomains` 조건 키를 사용하는 경우 특정 도메인을 허용하거나 특별히 허용되지 않는 모든 도메인을 거부하는 조건 연산자를 사용합니다. IAM 조건 연산자에 대한 자세한 내용은 [IAM 사용 설명서의 IAM JSON 정책 요소: 조건 연산자를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 참조하세요.  
다양한 URL 변형이 동일한 리소스를 가리킬 수 있습니다. 예를 들어 다음 URLs 모두 동일한 콘텐츠로 확인됩니다.  
`https://example.com`
`https://example.com/`
`https://Example.com`
정책에서 이러한 URL 변형을 고려하지 않는 연산자를 사용하는 경우 공격자는 동등한 URL 변형을 제공하여 제한을 우회할 수 있습니다.  
IAM 정책이 적절한 조건 연산자를 사용하여 우회 취약성을 방지하고 의도한 도메인만 임베디드 리소스에 액세스할 수 있는지 확인해야 합니다.

다음 샘플 정책은 이러한 권한을 제공합니다.

또한 Amazon Quick Sight 독자가 될 사용자를 처음 생성하는 경우 정책에 `quicksight:RegisterUser` 권한을 추가해야 합니다.

다음 샘플 정책은 Amazon Quick Sight 리더인 최초 사용자를 위해 임베딩 URL을 검색할 수 있는 권한을 제공합니다.

마지막으로, 방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스하면 애플리케이션이 사용자를 대신하여 역할을 수임하고 Amazon Quick Sight에서 사용자를 프로비저닝할 수 있습니다. 다음 예제는 샘플 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLambdaFunctionsToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Sid": "AllowEC2InstancesToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

OpenID Connect 또는 SAML 인증의 신뢰 정책에 대한 자세한 내용은 IAM 사용 설명서의 다음 단원을 참조하십시오.
+ [웹 자격 증명 또는 OpenID Connect 연동을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html)
+ [SAML 2.0 연동을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)

## 2단계: 인증 코드가 첨부된 URL 생성
<a name="embedded-visuals-for-authenticated-users-step-2"></a>

다음 섹션에서는 Amazon Quick Sight 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 시각적 URL을 가져오는 방법을 알아볼 수 있습니다. IAM 또는 Amazon Quick Sight 자격 증명 유형에 대한 시각적 객체를 포함하려는 경우 시각적 객체를 Amazon Quick Sight 사용자와 공유합니다.

Amazon Quick Sight 사용자가 앱에 액세스하면 앱은 Amazon Quick Sight 사용자를 대신하여 IAM 역할을 수임합니다. 그런 다음 Amazon Quick Sight 사용자가 아직 없는 경우 Amazon Quick Sight에 사용자를 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

설명된 단계를 수행하면 시각적 객체의 각 뷰어가 Amazon Quick Sight에서 고유하게 프로비저닝됩니다. 또한 사용자 단위 설정(예: 파라미터에 대한 동적 기본값 및 행 수준 보안)을 적용합니다.

다음 예제에서는 Amazon Quick Sight 사용자를 대신하여 IAM 인증을 수행합니다. 이 코드는 앱 서버에서 실행됩니다.

### Java
<a name="embedded-visuals-for-authenticated-users-java"></a>

```
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.quicksight.AmazonQuickSight;
import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
import com.amazonaws.services.quicksight.model.DashboardVisualId;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserRequest;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserResult;
import com.amazonaws.services.quicksight.model.RegisteredUserDashboardVisualEmbeddingConfiguration;
import com.amazonaws.services.quicksight.model.RegisteredUserEmbeddingExperienceConfiguration;

import java.util.List;

/**
 * Class to call QuickSight AWS SDK to get url for Visual embedding.
 */
public class GenerateEmbedUrlForRegisteredUserTest {

    private final AmazonQuickSight quickSightClient;

    public GenerateEmbedUrlForRegisteredUserTest() {
        this.quickSightClient = AmazonQuickSightClientBuilder
            .standard()
            .withRegion(Regions.US_EAST_1.getName())
            .withCredentials(new AWSCredentialsProvider() {
                    @Override
                    public AWSCredentials getCredentials() {
                        // provide actual IAM access key and secret key here
                        return new BasicAWSCredentials("access-key", "secret-key");
                    }

                    @Override
                    public void refresh() {                        
                    }
                }
            )
            .build();
    }

    public String getEmbedUrl(
            final String accountId, // AWS Account ID
            final String dashboardId, // Dashboard ID of the dashboard to embed
            final String sheetId, // Sheet ID of the sheet to embed
            final String visualId, // Visual ID of the visual to embed
            final List<String> allowedDomains, // Runtime allowed domains for embedding
            final String userArn // Registered user arn of the user that you want to provide embedded visual. Refer to Get Embed Url section in developer portal to find out how to get user arn for a QuickSight user.
    ) throws Exception {
        final DashboardVisualId dashboardVisual = new DashboardVisualId()
            .withDashboardId(dashboardId)
            .withSheetId(sheetId)
            .withVisualId(visualId);
        final RegisteredUserDashboardVisualEmbeddingConfiguration registeredUserDashboardVisualEmbeddingConfiguration
            = new RegisteredUserDashboardVisualEmbeddingConfiguration()
                .withInitialDashboardVisualId(dashboardVisual);
        final RegisteredUserEmbeddingExperienceConfiguration registeredUserEmbeddingExperienceConfiguration
            = new RegisteredUserEmbeddingExperienceConfiguration()
                .withDashboardVisual(registeredUserDashboardVisualEmbeddingConfiguration);
        final GenerateEmbedUrlForRegisteredUserRequest generateEmbedUrlForRegisteredUserRequest
            = new GenerateEmbedUrlForRegisteredUserRequest()
                .withAwsAccountId(accountId)
                .withUserArn(userArn)
                .withExperienceConfiguration(registeredUserEmbeddingExperienceConfiguration)
                .withAllowedDomains(allowedDomains);

        final GenerateEmbedUrlForRegisteredUserResult generateEmbedUrlForRegisteredUserResult = quickSightClient.generateEmbedUrlForRegisteredUser(generateEmbedUrlForRegisteredUserRequest);

        return generateEmbedUrlForRegisteredUserResult.getEmbedUrl();
    }
}
```

### JavaScript
<a name="embedded-visuals-for-authenticated-users-js"></a>

```
global.fetch = require('node-fetch');
const AWS = require('aws-sdk');

function generateEmbedUrlForRegisteredUser(
    accountId, // Your AWS account ID
    dashboardId, // Dashboard ID to which the constructed URL points
    sheetId, // Sheet ID to which the constructed URL points
    visualId, // Visual ID to which the constructed URL points
    openIdToken, // Cognito-based token
    userArn, // registered user arn
    roleArn, // IAM user role to use for embedding
    sessionName, // Session name for the roleArn assume role
    allowedDomains, // Runtime allowed domain for embedding
    getEmbedUrlCallback, // GetEmbedUrl success callback method
    errorCallback // GetEmbedUrl error callback method
    ) {
    const stsClient = new AWS.STS();
    let stsParams = {
        RoleSessionName: sessionName,
        WebIdentityToken: openIdToken,
        RoleArn: roleArn
    }

    stsClient.assumeRoleWithWebIdentity(stsParams, function(err, data) {
        if (err) {
            console.log('Error assuming role');
            console.log(err, err.stack);
            errorCallback(err);
        } else {
            const getDashboardParams = {
                "AwsAccountId": accountId,
                "ExperienceConfiguration": {
                    "DashboardVisual": {
                        "InitialDashboardVisualId": {
                            "DashboardId": dashboardId,
                            "SheetId": sheetId,
                            "VisualId": visualId
                        }
                    }
                },
                "UserArn": userArn,
                "AllowedDomains": allowedDomains,
                "SessionLifetimeInMinutes": 600
            };

            const quicksightGetDashboard = new AWS.QuickSight({
                region: process.env.AWS_REGION,
                credentials: {
                    accessKeyId: data.Credentials.AccessKeyId,
                    secretAccessKey: data.Credentials.SecretAccessKey,
                    sessionToken: data.Credentials.SessionToken,
                    expiration: data.Credentials.Expiration
                }
            });

            quicksightGetDashboard.generateEmbedUrlForRegisteredUser(getDashboardParams, function(err, data) {
                if (err) {
                    console.log(err, err.stack);
                    errorCallback(err);
                } else {
                    const result = {
                        "statusCode": 200,
                        "headers": {
                            "Access-Control-Allow-Origin": "*", // Use your website domain to secure access to GetEmbedUrl API
                            "Access-Control-Allow-Headers": "Content-Type"
                        },
                        "body": JSON.stringify(data),
                        "isBase64Encoded": false
                    }
                    getEmbedUrlCallback(result);
                }
            });
        }
    });
}
```

### Python3
<a name="embedded-visuals-for-authenticated-users-py"></a>

```
import json
import boto3
from botocore.exceptions import ClientError

sts = boto3.client('sts')

# Function to generate embedded URL  
# accountId: AWS account ID
# dashboardId: Dashboard ID to embed
# sheetId: SHEET ID to embed from the dashboard 
# visualId: Id for the Visual you want to embedded from the dashboard sheet. 
# userArn: arn of registered user
# allowedDomains: Runtime allowed domain for embedding
# roleArn: IAM user role to use for embedding
# sessionName: session name for the roleArn assume role
def getEmbeddingURL(accountId, dashboardId, sheetId, visualId, userArn, allowedDomains, roleArn, sessionName):
    try:
        assumedRole = sts.assume_role(
            RoleArn = roleArn,
            RoleSessionName = sessionName,
        )
    except ClientError as e:
        return "Error assuming role: " + str(e)
    else: 
        assumedRoleSession = boto3.Session(
            aws_access_key_id = assumedRole['Credentials']['AccessKeyId'],
            aws_secret_access_key = assumedRole['Credentials']['SecretAccessKey'],
            aws_session_token = assumedRole['Credentials']['SessionToken'],
        )
        try:
            quicksightClient = assumedRoleSession.client('quicksight', region_name='us-west-2')
            response = quicksightClient.generate_embed_url_for_registered_user(
                AwsAccountId=accountId,
                ExperienceConfiguration = {
                    'DashboardVisual': {
                        'InitialDashboardVisualId': {
                            'DashboardId': dashboardId,
                            'SheetId': sheetId,
                            'VisualId': visualId
                        }
                    },
                },
                UserArn = userArn,
                AllowedDomains = allowedDomains,
                SessionLifetimeInMinutes = 600
            )
            
            return {
                'statusCode': 200,
                'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
                'body': json.dumps(response),
                'isBase64Encoded':  bool('false')
            }
        except ClientError as e:
            return "Error generating embedding url: " + str(e)
```

### Node.js
<a name="embedded-visuals-for-authenticated-users-node"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
const https = require('https');

var quicksightClient = new AWS.Service({
    apiConfig: require('./quicksight-2018-04-01.min.json'),
    region: 'us-east-1',
});

quicksightClient.generateEmbedUrlForRegisteredUser({
    'AwsAccountId': '111122223333',
    'ExperienceConfiguration': { 
        'DashboardVisual': {
            'InitialDashboardVisualId': {
                'DashboardId': 'dashboard_id',
                'SheetId': 'sheet_id',
                'VisualId': 'visual_id'
            }
        }
    },
    'UserArn': 'REGISTERED_USER_ARN',
    'AllowedDomains': allowedDomains,
    'SessionLifetimeInMinutes': 100
}, function(err, data) {
    console.log('Errors: ');
    console.log(err);
    console.log('Response: ');
    console.log(data);
});
```

**Example**  

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
    {
        "Status": "200",
        "EmbedUrl": "https://quicksightdomain/embed/12345/dashboards/67890/sheets/12345/visuals/67890...",
        "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
    }
```

### .NET/C\$1
<a name="embedded-visuals-for-authenticated-users-cs"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
using System;
using Amazon.QuickSight;
using Amazon.QuickSight.Model;

namespace GenerateDashboardEmbedUrlForRegisteredUser
{
    class Program
    {
        static void Main(string[] args)
        {
            var quicksightClient = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                SessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                DashboardVisualId dashboardVisual = new DashboardVisualId
                {
                    DashboardId = "dashboard_id",
                    SheetId = "sheet_id",
                    VisualId = "visual_id"
                };

                RegisteredUserDashboardVisualEmbeddingConfiguration registeredUserDashboardVisualEmbeddingConfiguration
                    = new RegisteredUserDashboardVisualEmbeddingConfiguration
                    {
                        InitialDashboardVisualId = dashboardVisual                        
                    };               
                    
                RegisteredUserEmbeddingExperienceConfiguration registeredUserEmbeddingExperienceConfiguration
                    = new RegisteredUserEmbeddingExperienceConfiguration
                    {
                        DashboardVisual = registeredUserDashboardVisualEmbeddingConfiguration
                    };
                    
                Console.WriteLine(
                    quicksightClient.GenerateEmbedUrlForRegisteredUserAsync(new GenerateEmbedUrlForRegisteredUserRequest
                    {
                        AwsAccountId = "111122223333",
                        ExperienceConfiguration = registeredUserEmbeddingExperienceConfiguration,
                        UserArn = "REGISTERED_USER_ARN",
                        AllowedDomains = allowedDomains,
                        SessionLifetimeInMinutes = 100
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
        }
    }
}
```

### AWS CLI
<a name="embedded-visuals-for-authenticated-users-cli"></a>

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - SAML을 사용하여 사용자를 인증할 때 이 작업을 사용하세요.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GenerateEmbedUrlForRegisteredUser`에 대한 권한이 활성화되어 있어야 합니다. 사용자가 대시보드를 처음 열 때 사용자를 추가하는 적시 접근 방식을 취하려면, 역할에 `quicksight:RegisterUser`에 대한 사용 권한도 활성화해야 합니다.

```
aws sts assume-role \
    --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_visual_role" \
    --role-session-name john.doe@example.com
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터를 사용하는 경우 `export` 대신 `set`을(를) 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
    export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
    export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_visual_role/john.doe@example.com`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 사용자 액세스 조절을 방지할 수 있습니다. *조절*은 동일한 사용자가 여러 위치에서 Amazon Quick Sight에 액세스하지 못하도록 하는 보안 기능입니다.

역할 세션 ID도 Amazon Quick Sight의 사용자 이름이 됩니다. 이 패턴을 사용하여 Amazon Quick Sight에서 사용자를 미리 프로비저닝하거나 대시보드에 처음 액세스할 때 프로비저닝할 수 있습니다.

다음 예에서는 사용자를 프로비저닝하는 데 사용할 수 있는 CLI 명령을 보여줍니다. [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html), [DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html) 및 기타 Amazon Quick Sight API 작업에 대한 자세한 내용은 [Amazon Quick Sight API 참조](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html)를 참조하세요.

```
aws quicksight register-user \
    --aws-account-id 111122223333 \
    --namespace default \
    --identity-type IAM \
    --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_visual_role" \
    --user-role READER \
    --user-name jhnd \
    --session-name "john.doe@example.com" \
    --email john.doe@example.com \
    --region us-east-1 \
    --custom-permissions-name TeamA1
```

사용자가 Microsoft AD를 통해 인증된 경우에는 설정을 위해 `RegisterUser`를 사용하지 않아도 됩니다. 대신 Amazon Quick Sight에 처음 액세스할 때 자동으로 구독해야 합니다. Microsoft AD 사용자의 경우 사용자 ARN을 얻는 데 `DescribeUser`를 사용할 수 있습니다.

사용자가 Amazon Quick Sight에 처음 액세스할 때 시각적 객체가 공유되는 그룹에이 사용자를 추가할 수도 있습니다. 다음 예에서는 사용자를 그룹에 추가하는 CLI 명령을 보여줍니다.

```
aws quicksight create-group-membership \
    --aws-account-id=111122223333 \
    --namespace=default \
    --group-name=financeusers \
    --member-name="embedding_quicksight_visual_role/john.doe@example.com"
```

이제 Amazon Quick Sight 사용자이기도 하고 시각적 객체에 액세스할 수 있는 앱 사용자가 생겼습니다.

마지막으로 시각적 객체에 대해 서명된 URL을 가져오려면, 앱 서버에서 `generate-embed-url-for-registered-user`을(를) 직접 호출합니다. 그러면 임베드 가능한 시각적 객체 URL이 반환됩니다. 다음 예제에서는 AWS Managed Microsoft AD 또는 Single Sign-On(IAM Identity Center)을 통해 인증된 사용자에 대한 서버 측 직접 호출을 사용하여 임베디드 시각적 객체의 URL을 생성하는 방법을 보여줍니다.

```
aws quicksight generate-embed-url-for-registered-user \
    --aws-account-id 111122223333 \
    --session-lifetime-in-minutes 600 \
    --user-arn arn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_visual_role/embeddingsession \
    --allowed-domains '["domain1","domain2"]' \
    --experience-configuration 'DashboardVisual={InitialDashboardVisualId={DashboardId=dashboard_id,SheetId=sheet_id,VisualId=visual_id}}'
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html) 단원을 참조하세요. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

## 3단계: 시각적 객체 URL 임베드
<a name="embedded-visuals-for-authenticated-users-step-3"></a>

다음 섹션에서는 [Amazon Quick Sight Embedding SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여 웹 사이트 또는 애플리케이션 페이지의 3단계에서 시각적 URL을 포함하는 방법을 알아볼 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ 시각적 객체를 HTML 페이지에 배치하세요.
+ 시각적 객체에 파라미터를 전달합니다.
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

`GenerateEmbedUrlForRegisteredUser` API 작업을 직접 호출하여 앱에 포함할 수 있는 URL을 생성하세요. 이 URL은 5분 동안 유효하며, 결과 세션은 10시간까지 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code`을(를) 제공합니다.

다음은 `generate-embed-url-for-registered-user`의 응답 예입니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
    {
        "Status": "200",
        "EmbedUrl": "https://quicksightdomain/embed/12345/dashboards/67890/sheets/12345/visuals/67890...",
        "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
    }
```

[Amazon Quick Sight 임베딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에이 시각적 객체를 임베](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)딩합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다. Amazon Quick Sight 임베딩 SDK를 사용하면 시각적 객체 내에서 파라미터를 제어하고 페이지 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

임베디드 시각적 객체 및 대시보드를 호스팅할 도메인은 Quick 구독에 대해 승인된 도메인 *목록인 허용* 목록에 있어야 합니다. 이 요건은 임베디드 시각적 객체와 대시보드에서 미승인 도메인을 제외함으로써 데이터를 보호합니다. 임베디드 시각적 객체 및 대시보드의 도메인 추가에 대한 자세한 내용은 [Amazon Quick Sight API를 사용하여 런타임에 도메인 나열 허용을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-run-time.html) 참조하세요.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 생성됩니다.

### SDK 2.0
<a name="embedded-visuals-for-authenticated-users-sdkv2"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>Visual Embedding Example</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.0.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            const embedVisual = async() => {    
                const {
                    createEmbeddingContext,
                } = QuickSightEmbedding;

                const embeddingContext = await createEmbeddingContext({
                    onChange: (changeEvent, metadata) => {
                        console.log('Context received a change', changeEvent, metadata);
                    },
                });

                const frameOptions = {
                    url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API
                    container: '#experience-container',
                    height: "700px",
                    width: "1000px",
                    onChange: (changeEvent, metadata) => {
                        switch (changeEvent.eventName) {
                            case 'FRAME_MOUNTED': {
                                console.log("Do something when the experience frame is mounted.");
                                break;
                            }
                            case 'FRAME_LOADED': {
                                console.log("Do something when the experience frame is loaded.");
                                break;
                            }
                        }
                    },
                };

                const contentOptions = {
                    parameters: [
                        {
                            Name: 'country',
                            Values: ['United States'],
                        },
                        {
                            Name: 'states',
                            Values: [
                                'California',
                                'Washington'
                            ]
                        }
                    ],
                    locale: "en-US",
                    onMessage: async (messageEvent, experienceMetadata) => {
                        switch (messageEvent.eventName) {
                            case 'CONTENT_LOADED': {
                                console.log("All visuals are loaded. The title of the document:", messageEvent.message.title);
                                break;
                            }
                            case 'ERROR_OCCURRED': {
                                console.log("Error occurred while rendering the experience. Error code:", messageEvent.message.errorCode);
                                break;
                            }
                            case 'PARAMETERS_CHANGED': {
                                console.log("Parameters changed. Changed parameters:", messageEvent.message.changedParameters);
                                break;
                            }
                            case 'SIZE_CHANGED': {
                                console.log("Size changed. New dimensions:", messageEvent.message);
                                break;
                            }
                        }
                    },
                };
                const embeddedVisualExperience = await embeddingContext.embedVisual(frameOptions, contentOptions);

                const selectCountryElement = document.getElementById('country');
                selectCountryElement.addEventListener('change', (event) => {
                    embeddedVisualExperience.setParameters([
                        {
                            Name: 'country',
                            Values: event.target.value
                        }
                    ]);
                });
            };
        </script>
    </head>

    <body onload="embedVisual()">
        <span>
            <label for="country">Country</label>
            <select id="country" name="country">
                <option value="United States">United States</option>
                <option value="Mexico">Mexico</option>
                <option value="Canada">Canada</option>
            </select>
        </span>
        <div id="experience-container"></div>
    </body>

</html>
```

### SDK 1.0
<a name="embedded-visuals-for-authenticated-users-sdkv1"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>Visual Embedding Example</title>
        <!-- You can download the latest QuickSight embedding SDK version from https://www.npmjs.com/package/amazon-quicksight-embedding-sdk -->
        <!-- Or you can do "npm install amazon-quicksight-embedding-sdk", if you use npm for javascript dependencies -->
        <script src="./quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            let embeddedVisualExperience;
            function onVisualLoad(payload) {
                console.log("Do something when the visual is fully loaded.");
            }

            function onError(payload) {
                console.log("Do something when the visual fails loading");
            }

            function embedVisual() {
                const containerDiv = document.getElementById("embeddingContainer");
                const options = {
                    url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API
                    container: containerDiv,
                    parameters: {
                        country: "United States"
                    },
                    height: "700px",
                    width: "1000px",
                    locale: "en-US"
                };
                embeddedVisualExperience = QuickSightEmbedding.embedVisual(options);
                embeddedVisualExperience.on("error", onError);
                embeddedVisualExperience.on("load", onVisualLoad);
            }

            function onCountryChange(obj) {
                embeddedVisualExperience.setParameters({country: obj.value});
            }
        </script>
    </head>

    <body onload="embedVisual()">
        <span>
            <label for="country">Country</label>
            <select id="country" name="country" onchange="onCountryChange(this)">
                <option value="United States">United States</option>
                <option value="Mexico">Mexico</option>
                <option value="Canada">Canada</option>
            </select>
        </span>
        <div id="embeddingContainer"></div>
    </body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 시각적 객체를 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

# 익명(미등록) 사용자를 위한 Amazon Quick Sight 시각적 객체 임베딩
<a name="embedded-analytics-visuals-for-everyone"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 익명(미등록) 사용자를 위해 임베디드 Amazon Quick Sight 시각적 객체를 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](#embedded-analytics-visuals-with-anonymous-users-step-1)
+ [2단계: 인증 코드가 첨부된 URL 생성](#embedded-analytics-visuals-with-anonymous-users-step-2)
+ [3단계: 시각적 객체 URL 임베드](#embedded-analytics-visuals-with-anonymous-users-step-3)

## 1단계: 권한 설정
<a name="embedded-analytics-visuals-with-anonymous-users-step-1"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 단원에서 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 IAM에 대한 관리자 액세스 권한이 있어야 합니다.

시각적 객체에 액세스하는 각 사용자는 Amazon Quick Sight에 시각적 객체에 대한 액세스 및 권한을 부여하는 역할을 맡습니다. 이렇게 하려면에서 IAM 역할을 생성합니다 AWS 계정. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다.

IAM 정책에 개발자가 `GenerateEmbedUrlForAnonymousUser` API 작업의 `AllowedDomains` 파라미터에 나열할 수 있는 도메인을 제한하는 조건을 만들 수 있습니다. `AllowedDomains` 파라미터는 선택 파라미터입니다. 개발자는 **Amazon Quick Sight 관리** 메뉴에 구성된 정적 도메인을 재정의할 수 있는 옵션을 제공합니다. 대신 생성된 URL에 액세스할 수 있는 도메인 또는 하위 도메인을 최대 세 개까지 나열할 수 있습니다. 그러면 만든 웹 사이트에 이 URL이 포함됩니다. 파라미터에 나열된 도메인만 임베디드 대시보드에 액세스할 수 있습니다. 이 조건이 없으면, 인터넷에 있는 모든 도메인을 `AllowedDomains` 파라미터에 나열할 수 있습니다.

개발자가 이 파라미터로 사용할 수 있는 도메인을 제한하려면 IAM 정책에 `AllowedEmbeddingDomains` 조건을 추가하세요. `AllowedDomains` 파라미터에 대한 자세한 내용은 Amazon Quick Sight API 참조의 [GenerateEmbedUrlForAnonymousUser](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html)를 참조하세요. ** 

**IAM 조건 연산자에 대한 보안 모범 사례**  
잘못 구성된 IAM 조건 연산자는 URL 변형을 통해 임베디드 Quick 리소스에 대한 무단 액세스를 허용할 수 있습니다. IAM 정책에서 `quicksight:AllowedEmbeddingDomains` 조건 키를 사용하는 경우 특정 도메인을 허용하거나 특별히 허용되지 않는 모든 도메인을 거부하는 조건 연산자를 사용합니다. IAM 조건 연산자에 대한 자세한 내용은 [IAM 사용 설명서의 IAM JSON 정책 요소: 조건 연산자를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 참조하세요.  
다양한 URL 변형이 동일한 리소스를 가리킬 수 있습니다. 예를 들어 다음 URLs 모두 동일한 콘텐츠로 확인됩니다.  
`https://example.com`
`https://example.com/`
`https://Example.com`
정책에서 이러한 URL 변형을 고려하지 않는 연산자를 사용하는 경우 공격자는 동등한 URL 변형을 제공하여 제한을 우회할 수 있습니다.  
IAM 정책이 적절한 조건 연산자를 사용하여 우회 취약성을 방지하고 의도한 도메인만 임베디드 리소스에 액세스할 수 있는지 확인해야 합니다.

방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스하면, 애플리케이션이 사용자를 대신하여 역할을 맡아서 시각적 객체를 열 수 있습니다. 다음 예제는 샘플 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLambdaFunctionsToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Sid": "AllowEC2InstancesToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

자세한 내용은 IAM 사용 설명서의 [IAM의 임시 보안 인증](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) 단원을 참조하세요.

## 2단계: 인증 코드가 첨부된 URL 생성
<a name="embedded-analytics-visuals-with-anonymous-users-step-2"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 단원에서는 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 시각적 객체 URL을 가져오는 방법을 알아볼 수 있습니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 사용자가 아직 없는 경우 Amazon Quick Sight에 사용자를 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

다음 예는 사용자를 대신하여 IAM 인증을 수행합니다. 식별자를 고유한 역할 세션 ID로 전달합니다. 이 코드는 앱 서버에서 실행됩니다.

### Java
<a name="embedded-analytics-visuals-with-anonymous-users-java"></a>

```
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.quicksight.AmazonQuickSight;
import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
import com.amazonaws.services.quicksight.model.AnonymousUserDashboardVisualEmbeddingConfiguration;
import com.amazonaws.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration;
import com.amazonaws.services.quicksight.model.DashboardVisualId;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserResult;
import com.amazonaws.services.quicksight.model.SessionTag;

import java.util.List;

/**
 * Class to call QuickSight AWS SDK to get url for Visual embedding.
 */
public class GenerateEmbedUrlForAnonymousUserTest {
    private final AmazonQuickSight quickSightClient;

    public GenerateEmbedUrlForAnonymousUserTest() {
        this.quickSightClient = AmazonQuickSightClientBuilder
            .standard()
            .withRegion(Regions.US_EAST_1.getName())
            .withCredentials(new AWSCredentialsProvider() {
                    @Override
                    public AWSCredentials getCredentials() {
                        // provide actual IAM access key and secret key here
                        return new BasicAWSCredentials("access-key", "secret-key");
                    }

                    @Override
                    public void refresh() {                           
                    }
                }
            )
            .build();
    }

    public String getEmbedUrl(
            final String accountId, // AWS Account ID
            final String namespace, // Anonymous embedding required specifying a valid namespace for which you want the enbedding URL
            final List<String> authorizedResourceArns, // Dashboard arn list of dashboard visuals to embed
            final String dashboardId, // Dashboard ID of the dashboard to embed
            final String sheetId, // Sheet ID of the sheet to embed
            final String visualId, // Visual ID of the visual to embed
            final List<String> allowedDomains, // Runtime allowed domains for embedding
            final List<SessionTag> sessionTags // Session tags used for row-level security
    ) throws Exception {
        final DashboardVisualId dashboardVisual = new DashboardVisualId()
            .withDashboardId(dashboardId)
            .withSheetId(sheetId)
            .withVisualId(visualId);
        final AnonymousUserDashboardVisualEmbeddingConfiguration anonymousUserDashboardVisualEmbeddingConfiguration
            = new AnonymousUserDashboardVisualEmbeddingConfiguration()
                .withInitialDashboardVisualId(dashboardVisual);
        final AnonymousUserEmbeddingExperienceConfiguration anonymousUserEmbeddingExperienceConfiguration
            = new AnonymousUserEmbeddingExperienceConfiguration()
                .withDashboardVisual(anonymousUserDashboardVisualEmbeddingConfiguration);
        final GenerateEmbedUrlForAnonymousUserRequest generateEmbedUrlForAnonymousUserRequest
            = new GenerateEmbedUrlForAnonymousUserRequest()
                .withAwsAccountId(accountId)
                .withNamespace(namespace)
                // authorizedResourceArns should contain ARN of dashboard used below in ExperienceConfiguration
                .withAuthorizedResourceArns(authorizedResourceArns)
                .withExperienceConfiguration(anonymousUserEmbeddingExperienceConfiguration)
                .withAllowedDomains(allowedDomains)
                .withSessionTags(sessionTags)
                .withSessionLifetimeInMinutes(600L);

        final GenerateEmbedUrlForAnonymousUserResult generateEmbedUrlForAnonymousUserResult
            = quickSightClient.generateEmbedUrlForAnonymousUser(generateEmbedUrlForAnonymousUserRequest);

        return generateEmbedUrlForAnonymousUserResult.getEmbedUrl();
    }
}
```

### JavaScript
<a name="embedded-analytics-visuals-with-anonymous-users-js"></a>

```
global.fetch = require('node-fetch');
const AWS = require('aws-sdk');

function generateEmbedUrlForAnonymousUser(
    accountId, // Your AWS account ID
    dashboardId, // Dashboard ID to which the constructed url points
    sheetId, // Sheet ID to which the constructed url points
    visualId, // Visual ID to which the constructed url points
    quicksightNamespace, // valid namespace where you want to do embedding
    authorizedResourceArns, // dashboard arn list of dashboard visuals to embed
    allowedDomains, // runtime allowed domains for embedding
    sessionTags, // session tags used for row-level security
    generateEmbedUrlForAnonymousUserCallback, // success callback method
    errorCallback // error callback method
    ) {
    const experienceConfiguration = {
        "DashboardVisual": {
            "InitialDashboardVisualId": {
                "DashboardId": dashboardId,
                "SheetId": sheetId,
                "VisualId": visualId
            }
        }
    };
    
    const generateEmbedUrlForAnonymousUserParams = {
        "AwsAccountId": accountId,
        "Namespace": quicksightNamespace,
        // authorizedResourceArns should contain ARN of dashboard used below in ExperienceConfiguration
        "AuthorizedResourceArns": authorizedResourceArns,
        "AllowedDomains": allowedDomains,
        "ExperienceConfiguration": experienceConfiguration,
        "SessionTags": sessionTags,
        "SessionLifetimeInMinutes": 600
    };

    const quicksightClient = new AWS.QuickSight({
        region: process.env.AWS_REGION,
        credentials: {
            accessKeyId: AccessKeyId,
            secretAccessKey: SecretAccessKey,
            sessionToken: SessionToken,
            expiration: Expiration
        }
    });

    quicksightClient.generateEmbedUrlForAnonymousUser(generateEmbedUrlForAnonymousUserParams, function(err, data) {
        if (err) {
            console.log(err, err.stack);
            errorCallback(err);
        } else {
            const result = {
                "statusCode": 200,
                "headers": {
                    "Access-Control-Allow-Origin": "*", // USE YOUR WEBSITE DOMAIN TO SECURE ACCESS TO THIS API
                    "Access-Control-Allow-Headers": "Content-Type"
                },
                "body": JSON.stringify(data),
                "isBase64Encoded": false
            }
            generateEmbedUrlForAnonymousUserCallback(result);
        }
    });
}
```

### Python3
<a name="embedded-analytics-visuals-with-anonymous-users-py"></a>

```
import json
import boto3
from botocore.exceptions import ClientError
import time

# Create QuickSight and STS clients
quicksightClient = boto3.client('quicksight',region_name='us-west-2')
sts = boto3.client('sts')

# Function to generate embedded URL for anonymous user
# accountId: YOUR AWS ACCOUNT ID
# quicksightNamespace: VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING
# authorizedResourceArns: DASHBOARD ARN LIST TO EMBED
# allowedDomains: RUNTIME ALLOWED DOMAINS FOR EMBEDDING
# experienceConfiguration: DASHBOARD ID, SHEET ID and VISUAL ID TO WHICH THE CONSTRUCTED URL POINTS
# Example experienceConfig -> 'DashboardVisual': {
#     'InitialDashboardVisualId': {
#         'DashboardId': 'dashboardId',
#         'SheetId': 'sheetId',
#         'VisualId': 'visualId'
#     }
# },
# sessionTags: SESSION TAGS USED FOR ROW-LEVEL SECURITY
def generateEmbedUrlForAnonymousUser(accountId, quicksightNamespace, authorizedResourceArns, allowedDomains, experienceConfiguration, sessionTags):
    try:
        response = quicksightClient.generate_embed_url_for_anonymous_user(
            AwsAccountId = accountId,
            Namespace = quicksightNamespace,
            AuthorizedResourceArns = authorizedResourceArns,
            AllowedDomains = allowedDomains,
            ExperienceConfiguration = experienceConfiguration,
            SessionTags = sessionTags,
            SessionLifetimeInMinutes = 600
        )
            
        return {
            'statusCode': 200,
            'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
            'body': json.dumps(response),
            'isBase64Encoded':  bool('false')
        }
    except ClientError as e:
        print(e)
        return "Error generating embeddedURL: " + str(e)
```

### Node.js
<a name="embedded-analytics-visuals-with-anonymous-users-node"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
const https = require('https');

var quicksightClient = new AWS.Service({
    apiConfig: require('./quicksight-2018-04-01.min.json'),
    region: 'us-east-1',
});

quicksightClient.generateEmbedUrlForAnonymousUser({
    'AwsAccountId': '111122223333',
    'Namespace' : 'default',
    // authorizedResourceArns should contain ARN of dashboard used below in ExperienceConfiguration
    'AuthorizedResourceArns': authorizedResourceArns,
    'ExperienceConfiguration': { 
        'DashboardVisual': {
            'InitialDashboardVisualId': {
                'DashboardId': 'dashboard_id',
                'SheetId': 'sheet_id',
                'VisualId': 'visual_id'
            }
        }
    },
    'AllowedDomains': allowedDomains,    
    'SessionTags': sessionTags,
    'SessionLifetimeInMinutes': 600

}, function(err, data) {
    console.log('Errors: ');
    console.log(err);
    console.log('Response: ');
    console.log(data);
});
```

**Example**  

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
    {
        "Status": "200",
        "EmbedUrl": "https://quicksightdomain/embed/12345/dashboards/67890/sheets/12345/visuals/67890...",
        "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
    }
```

### .NET/C\$1
<a name="embedded-analytics-visuals-with-anonymous-users-cs"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
using System;
using Amazon.QuickSight;
using Amazon.QuickSight.Model;

namespace GenerateDashboardEmbedUrlForAnonymousUser
{
    class Program
    {
        static void Main(string[] args)
        {
            var quicksightClient = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                SessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                DashboardVisualId dashboardVisual = new DashboardVisualId
                {
                    DashboardId = "dashboard_id",
                    SheetId = "sheet_id",
                    VisualId = "visual_id"
                };

                AnonymousUserDashboardVisualEmbeddingConfiguration anonymousUserDashboardVisualEmbeddingConfiguration
                    = new AnonymousUserDashboardVisualEmbeddingConfiguration
                    {
                        InitialDashboardVisualId = dashboardVisual                        
                    };               
                    
                AnonymousUserEmbeddingExperienceConfiguration anonymousUserEmbeddingExperienceConfiguration
                    = new AnonymousUserEmbeddingExperienceConfiguration
                    {
                        DashboardVisual = anonymousUserDashboardVisualEmbeddingConfiguration
                    }; 
                    
                Console.WriteLine(
                    quicksightClient.GenerateEmbedUrlForAnonymousUserAsync(new GenerateEmbedUrlForAnonymousUserRequest
                    {
                        AwsAccountId = "111222333444",
                        Namespace = default,
                        // authorizedResourceArns should contain ARN of dashboard used below in ExperienceConfiguration
                        AuthorizedResourceArns = { "dashboard_id" },
                        ExperienceConfiguration = anonymousUserEmbeddingExperienceConfiguration,
                        SessionTags = sessionTags,
                        SessionLifetimeInMinutes = 600,
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
        }
    }
}
```

### AWS CLI
<a name="embedded-analytics-visuals-with-anonymous-users-cli"></a>

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - Security Assertion Markup(SAML)을 사용하여 사용자를 인증하는 경우 이 작업을 사용하십시오.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GenerateEmbedUrlForAnonymousUser`에 대한 권한이 활성화되어 있어야 합니다.

```
aws sts assume-role \
    --role-arn "arn:aws:iam::11112222333:role/QuickSightEmbeddingAnonymousPolicy" \
    --role-session-name anonymous caller
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터를 사용하는 경우 `export` 대신 `set`을(를) 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
        export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
        export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_visual_role/QuickSightEmbeddingAnonymousPolicy`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 방문 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 각 세션을 분리하고 구분할 수 있습니다. 로드 밸런싱 등을 위해 여러 웹 서버를 사용하는 경우, 세션이 다른 서버에 다시 연결되면 새 세션이 시작됩니다.

마지막으로 시각적 객체에 대해 서명된 URL을 가져오려면, 앱 서버에서 `generate-embed-url-for-anynymous-user`을(를) 직접 호출합니다. 그러면 임베드 가능한 시각적 객체 URL이 반환됩니다. 다음 예제는 웹 포털 또는 앱을 익명으로 방문하는 사용자에 대해 서버 측 직접 호출을 사용하여 임베디드 시각적 객체의 URL을 생성하는 방법을 보여줍니다.

```
aws quicksight generate-embed-url-for-anonymous-user \
    --aws-account-id 111122223333 \
    --namespace default-or-something-else \
    --session-lifetime-in-minutes 15 \
    --authorized-resource-arns '["dashboard-arn-1","dashboard-arn-2"]' \
    --allowed-domains '["domain1","domain2"]' \
    --session-tags '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]' \
    --experience-configuration 'DashboardVisual={InitialDashboardVisualId={DashboardId=dashboard_id,SheetId=sheet_id,VisualId=visual_id}}'
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html) 단원을 참조하세요. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

## 3단계: 시각적 객체 URL 임베드
<a name="embedded-analytics-visuals-with-anonymous-users-step-3"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 [Amazon Quick Sight Embedding SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여 웹 사이트 또는 애플리케이션 페이지의 2단계에서 시각적 URL을 포함하는 방법을 알아볼 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ 시각적 객체를 HTML 페이지에 배치하세요.
+ 시각적 객체에 파라미터를 전달합니다.
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

`GenerateEmbedUrlForAnonymousUser` API 작업을 직접 호출하여 앱에 포함할 수 있는 URL을 생성하세요. 이 URL은 5분 동안 유효하며 결과 세션은 10시간 동안 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 권한 부여(auth) 코드를 제공합니다.

다음은 `generate-embed-url-for-anonymous-user`의 응답 예입니다. 이 예제`quicksightdomain`의는 Amazon Quick Sight 계정에 액세스하는 데 사용하는 URL입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
    {
        "Status": "200",
        "EmbedUrl": "https://quicksightdomain/embed/12345/dashboards/67890/sheets/12345/visuals/67890...",
        "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
    }
```

Amazon Quick Sight 임베[딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에이 시각적 객체를 임베](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)딩합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다. Amazon Quick Sight 임베딩 SDK를 사용하면 시각적 객체 내에서 파라미터를 제어하고 시각적 객체 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

임베디드 시각적 객체를 호스팅할 도메인은 Quick 구독이 승인된 도메인 목록인 허용 목록에 있어야 합니다. 이 요건은 임베디드 시각적 객체와 대시보드에서 미승인 도메인을 제외함으로써 데이터를 보호합니다. 임베디드 시각적 객체 및 대시보드의 도메인 추가에 대한 자세한 내용은 [Amazon Quick Sight API를 사용하여 런타임에 도메인 나열 허용을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-run-time.html) 참조하세요.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 실행됩니다.

### SDK 2.0
<a name="embedded-analytics-visuals-with-anonymous-users-sdkv2"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>Visual Embedding Example</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.0.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            const embedVisual = async() => {    
                const {
                    createEmbeddingContext,
                } = QuickSightEmbedding;

                const embeddingContext = await createEmbeddingContext({
                    onChange: (changeEvent, metadata) => {
                        console.log('Context received a change', changeEvent, metadata);
                    },
                });

                const frameOptions = {
                    url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API
                    container: '#experience-container',
                    height: "700px",
                    width: "1000px",
                    onChange: (changeEvent, metadata) => {
                        switch (changeEvent.eventName) {
                            case 'FRAME_MOUNTED': {
                                console.log("Do something when the experience frame is mounted.");
                                break;
                            }
                            case 'FRAME_LOADED': {
                                console.log("Do something when the experience frame is loaded.");
                                break;
                            }
                        }
                    },
                };

                const contentOptions = {
                    parameters: [
                        {
                            Name: 'country',
                            Values: ['United States'],
                        },
                        {
                            Name: 'states',
                            Values: [
                                'California',
                                'Washington'
                            ]
                        }
                    ],
                    locale: "en-US",
                    onMessage: async (messageEvent, experienceMetadata) => {
                        switch (messageEvent.eventName) {
                            case 'CONTENT_LOADED': {
                                console.log("All visuals are loaded. The title of the document:", messageEvent.message.title);
                                break;
                            }
                            case 'ERROR_OCCURRED': {
                                console.log("Error occurred while rendering the experience. Error code:", messageEvent.message.errorCode);
                                break;
                            }
                            case 'PARAMETERS_CHANGED': {
                                console.log("Parameters changed. Changed parameters:", messageEvent.message.changedParameters);
                                break;
                            }
                            case 'SIZE_CHANGED': {
                                console.log("Size changed. New dimensions:", messageEvent.message);
                                break;
                            }
                        }
                    },
                };
                const embeddedVisualExperience = await embeddingContext.embedVisual(frameOptions, contentOptions);

                const selectCountryElement = document.getElementById('country');
                selectCountryElement.addEventListener('change', (event) => {
                    embeddedVisualExperience.setParameters([
                        {
                            Name: 'country',
                            Values: event.target.value
                        }
                    ]);
                });
            };
        </script>
    </head>

    <body onload="embedVisual()">
        <span>
            <label for="country">Country</label>
            <select id="country" name="country">
                <option value="United States">United States</option>
                <option value="Mexico">Mexico</option>
                <option value="Canada">Canada</option>
            </select>
        </span>
        <div id="experience-container"></div>
    </body>

</html>
```

### SDK 1.0
<a name="embedded-analytics-visuals-with-anonymous-users-sdkv1"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>Visual Embedding Example</title>
        <!-- You can download the latest QuickSight embedding SDK version from https://www.npmjs.com/package/amazon-quicksight-embedding-sdk -->
        <!-- Or you can do "npm install amazon-quicksight-embedding-sdk", if you use npm for javascript dependencies -->
        <script src="./quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            let embeddedVisualExperience;
            function onVisualLoad(payload) {
                console.log("Do something when the visual is fully loaded.");
            }

            function onError(payload) {
                console.log("Do something when the visual fails loading");
            }

            function embedVisual() {
                const containerDiv = document.getElementById("embeddingContainer");
                const options = {
                    url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API
                    container: containerDiv,
                    parameters: {
                        country: "United States"
                    },
                    height: "700px",
                    width: "1000px",
                    locale: "en-US"
                };
                embeddedVisualExperience = QuickSightEmbedding.embedVisual(options);
                embeddedVisualExperience.on("error", onError);
                embeddedVisualExperience.on("load", onVisualLoad);
            }

            function onCountryChange(obj) {
                embeddedVisualExperience.setParameters({country: obj.value});
            }
        </script>
    </head>

    <body onload="embedVisual()">
        <span>
            <label for="country">Country</label>
            <select id="country" name="country" onchange="onCountryChange(this)">
                <option value="United States">United States</option>
                <option value="Mexico">Mexico</option>
                <option value="Canada">Canada</option>
            </select>
        </span>
        <div id="embeddingContainer"></div>
    </body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 시각적 객체를 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 QuickSight 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

# 등록된 사용자를 위한 Amazon Quick Sight 콘솔의 전체 기능 임베딩
<a name="embedded-analytics-full-console-for-authenticated-users"></a>

**중요**  
Amazon Quick Sight에는 및 임베딩 분석을 위한 새로운 API 작업이 `GenerateEmbedUrlForAnonymousUser` 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` API 작업을 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. 이전 API 작업을 사용한 임베딩에 대한 자세한 내용은 [GetDashboardEmbedURL 및 GetSessionEmbedURL API 작업을 사용한 분석 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-deprecated.html) 참조하세요.


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

Enterprise Edition을 사용하면 읽기 전용 대시보드를 제공하는 것 외에도 사용자 지정 브랜드 작성 포털에서 Amazon Quick Sight 콘솔 환경을 제공할 수도 있습니다. 이 접근 방식을 사용하면 사용자가 데이터 소스, 데이터 세트 및 분석을 생성할 수 있습니다. 동일한 인터페이스에서 대시보드를 만들고 게시하고 볼 수 있습니다. 이러한 권한 중 일부를 제한하려는 경우에도 그렇게 할 수 있습니다.

임베디드 콘솔을 통해 Amazon Quick Sight에 액세스하는 사용자는 작성자 또는 관리자 보안 집단에 속해야 합니다. 독자는 Amazon Quick Sight 콘솔이 내장되어 있는지 또는의 일부인지에 관계없이 작성에 사용할 수 있는 충분한 액세스 권한이 없습니다 AWS Management Console. 하지만 작성자와 관리자는 여전히 임베디드 대시보드에 액세스할 수 있습니다. 일부 작성 기능에 대한 권한을 제한하려는 경우, [UpdateUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html) API 작업을 통해 사용자에게 사용자 지정 권한 프로필을 추가할 수 있습니다. [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html) API 작업을 사용하여 사용자 지정 권한 프로필이 첨부된 새 사용자를 추가할 수 있습니다. 자세한 내용은 다음 단원을 참조하세요.
+ 사용자 지정 콘솔 권한을 정의하여 사용자 지정 역할을 생성하는 방법에 대한 자세한 내용은 [Amazon Quick Sight 콘솔에 대한 액세스 사용자 지정을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html).
+ 네임스페이스를 사용하여 멀티테넌시 사용자, 그룹 및 Amazon Quick Sight 자산을 격리하는 방법에 대한 자세한 내용은 [Amazon Quick Sight 네임스페이스를 참조하세요](https://docs.aws.amazon.com/quicksight/latest/APIReference/controlling-access.html#namespaces.html).
+ 임베디드 Amazon Quick Sight 콘솔에 자체 브랜딩을 추가하는 방법에 대한 자세한 내용은 [Amazon Quick Sight에서 테마 사용](https://docs.aws.amazon.com/quicksight/latest/user/themes-in-quicksight.html) 및 [QuickSight 테마 API 작업을](https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-assets.html#themes) 참조하세요.

다음 섹션에서는 등록된 사용자를 위해 임베디드 Amazon Quick Sight 대시보드를 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](#embedded-analytics-full-console-for-authenticated-users-step-1)
+ [2단계: 인증 코드가 첨부된 URL 생성](#embedded-analytics-full-console-for-authenticated-users-step-2)
+ [3단계: 콘솔 세션 URL 임베드](#embedded-analytics-full-console-for-authenticated-users-step-3)
+ [등록된 사용자의 경우 임베디드 콘솔에서 생성형 BI 기능 활성화](embedding-consoles-genbi.md)

## 1단계: 권한 설정
<a name="embedded-analytics-full-console-for-authenticated-users-step-1"></a>

다음 단원에서 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 IAM에 대한 관리자 액세스 권한이 있어야 합니다.

Amazon Quick Sight에 액세스하는 각 사용자는 Amazon Quick Sight에 콘솔 세션에 대한 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면 AWS 계정에서 IAM 역할을 생성합니다. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다. 독자가 읽기 전용 방식으로 Amazon Quick Sight에 액세스할 수 있고 다른 데이터 또는 생성 기능에 액세스할 수 없도록 `quicksight:RegisterUser` 권한을 추가합니다. 또한 IAM 역할은 콘솔 세션 URL을 검색할 수 있는 권한을 제공해야 합니다. 이를 위해 `quicksight:GenerateEmbedUrlForRegisteredUser`을(를) 추가합니다.

IAM 정책에 개발자가 `GenerateEmbedUrlForAnonymousUser` API 작업의 `AllowedDomains` 파라미터에 나열할 수 있는 도메인을 제한하는 조건을 만들 수 있습니다. `AllowedDomains` 파라미터는 선택 파라미터입니다. 개발자는 **Amazon Quick Sight 관리** 메뉴에 구성된 정적 도메인을 재정의할 수 있는 옵션을 제공합니다. 대신 생성된 URL에 액세스할 수 있는 도메인 또는 하위 도메인을 최대 세 개까지 나열할 수 있습니다. 그러면 만든 웹 사이트에 이 URL이 포함됩니다. 파라미터에 나열된 도메인만 임베디드 대시보드에 액세스할 수 있습니다. 이 조건이 없으면, 인터넷에 있는 모든 도메인을 `AllowedDomains` 파라미터에 나열할 수 있습니다.

**IAM 조건 연산자에 대한 보안 모범 사례**  
잘못 구성된 IAM 조건 연산자는 URL 변형을 통해 임베디드 Quick 리소스에 대한 무단 액세스를 허용할 수 있습니다. IAM 정책에서 `quicksight:AllowedEmbeddingDomains` 조건 키를 사용하는 경우 특정 도메인을 허용하거나 특별히 허용되지 않는 모든 도메인을 거부하는 조건 연산자를 사용합니다. IAM 조건 연산자에 대한 자세한 내용은 [IAM 사용 설명서의 IAM JSON 정책 요소: 조건 연산자를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 참조하세요.  
다양한 URL 변형이 동일한 리소스를 가리킬 수 있습니다. 예를 들어 다음 URLs 모두 동일한 콘텐츠로 확인됩니다.  
`https://example.com`
`https://example.com/`
`https://Example.com`
정책에서 이러한 URL 변형을 고려하지 않는 연산자를 사용하는 경우 공격자는 동등한 URL 변형을 제공하여 제한을 우회할 수 있습니다.  
IAM 정책이 적절한 조건 연산자를 사용하여 우회 취약성을 방지하고 의도한 도메인만 임베디드 리소스에 액세스할 수 있는지 확인해야 합니다.

다음 샘플 정책은 이러한 권한을 제공합니다.

다음 샘플 정책은 콘솔 세션 URL을 검색할 수 있는 권한을 제공합니다. 임베디드 세션에 액세스하기 전에 사용자를 생성 중이면 `quicksight:RegisterUser` 없이도 정책을 사용할 수 있습니다.

마지막으로, 방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스할 때 애플리케이션이 사용자를 대신하여 역할을 수임하고 Amazon Quick Sight에서 사용자를 프로비저닝할 수 있습니다. 다음 예제는 샘플 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLambdaFunctionsToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Sid": "AllowEC2InstancesToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

OpenID Connect 또는 SAML 인증의 신뢰 정책에 대한 자세한 내용은 IAM 사용 설명서의 다음 단원을 참조하십시오.
+ [웹 자격 증명 또는 OpenID Connect 연동을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html)
+ [SAML 2.0 연동을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)

## 2단계: 인증 코드가 첨부된 URL 생성
<a name="embedded-analytics-full-console-for-authenticated-users-step-2"></a>

다음 단원에서는 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 콘솔 세션 URL을 가져오는 방법을 알아볼 수 있습니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 사용자가 아직 없는 경우 Amazon Quick Sight에 사용자를 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

설명된 단계를 수행하면 콘솔 세션의 각 뷰어가 Amazon Quick Sight에서 고유하게 프로비저닝됩니다. 또한 사용자 단위 설정(예: 파라미터에 대한 동적 기본값 및 행 수준 보안)을 적용합니다.

다음 예는 사용자를 대신하여 IAM 인증을 수행합니다. 이 코드는 앱 서버에서 실행됩니다.

### Java
<a name="embedded-analytics-full-console-for-authenticated-users-java"></a>

```
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.quicksight.AmazonQuickSight;
import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserRequest;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserResult;
import com.amazonaws.services.quicksight.model.RegisteredUserEmbeddingExperienceConfiguration;
import com.amazonaws.services.quicksight.model.RegisteredUserQuickSightConsoleEmbeddingConfiguration;

/**
 * Class to call QuickSight AWS SDK to get url for QuickSight console embedding.
 */
public class GetQuicksightEmbedUrlRegisteredUserQSConsoleEmbedding {

    private final AmazonQuickSight quickSightClient;

    public GetQuicksightEmbedUrlRegisteredUserQSConsoleEmbedding() {
        this.quickSightClient = AmazonQuickSightClientBuilder
                .standard()
                .withRegion(Regions.US_EAST_1.getName())
                .withCredentials(new AWSCredentialsProvider() {
                        @Override
                        public AWSCredentials getCredentials() {
                            // provide actual IAM access key and secret key here
                            return new BasicAWSCredentials("access-key", "secret-key");
                        }

                         @Override
                        public void refresh() {                           
                        }
                    }
                )
                .build();
    }

    public String getQuicksightEmbedUrl(
            final String accountId,
            final String userArn, // Registered user arn to use for embedding. Refer to Get Embed Url section in developer portal to find out how to get user arn for a QuickSight user.
            final List<String> allowedDomains, // Runtime allowed domain for embedding
            final String initialPath
    ) throws Exception {
        final RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration = new RegisteredUserEmbeddingExperienceConfiguration()
                .withQuickSightConsole(new RegisteredUserQuickSightConsoleEmbeddingConfiguration().withInitialPath(initialPath));
        final GenerateEmbedUrlForRegisteredUserRequest generateEmbedUrlForRegisteredUserRequest = new GenerateEmbedUrlForRegisteredUserRequest();
        generateEmbedUrlForRegisteredUserRequest.setAwsAccountId(accountId);
        generateEmbedUrlForRegisteredUserRequest.setUserArn(userArn);
        generateEmbedUrlForRegisteredUserRequest.setAllowedDomains(allowedDomains);
        generateEmbedUrlForRegisteredUserRequest.setExperienceConfiguration(experienceConfiguration);

        final GenerateEmbedUrlForRegisteredUserResult generateEmbedUrlForRegisteredUserResult = quickSightClient.generateEmbedUrlForRegisteredUser(generateEmbedUrlForRegisteredUserRequest);

        return generateEmbedUrlForRegisteredUserResult.getEmbedUrl();
    }
}
```

### JavaScript
<a name="embedded-analytics-full-console-for-authenticated-users-js"></a>

```
global.fetch = require('node-fetch');
const AWS = require('aws-sdk');

function generateEmbedUrlForRegisteredUser(
    accountId,
    dashboardId,
    openIdToken, // Cognito-based token
    userArn, // registered user arn
    roleArn, // IAM user role to use for embedding
    sessionName, // Session name for the roleArn assume role
    allowedDomains, // Runtime allowed domain for embedding
    getEmbedUrlCallback, // GetEmbedUrl success callback method
    errorCallback // GetEmbedUrl error callback method
    ) {
    const stsClient = new AWS.STS();
    let stsParams = {
        RoleSessionName: sessionName,
        WebIdentityToken: openIdToken,
        RoleArn: roleArn
    }

    stsClient.assumeRoleWithWebIdentity(stsParams, function(err, data) {
        if (err) {
            console.log('Error assuming role');
            console.log(err, err.stack);
            errorCallback(err);
        } else {
            const getDashboardParams = {
                "AwsAccountId": accountId,
                "ExperienceConfiguration": {
                    "QuickSightConsole": {
                        "InitialPath": '/start'
                    }
                },
                "UserArn": userArn,
                "AllowedDomains": allowedDomains,
                "SessionLifetimeInMinutes": 600
            };

            const quicksightGetDashboard = new AWS.QuickSight({
                region: process.env.AWS_REGION,
                credentials: {
                    accessKeyId: data.Credentials.AccessKeyId,
                    secretAccessKey: data.Credentials.SecretAccessKey,
                    sessionToken: data.Credentials.SessionToken,
                    expiration: data.Credentials.Expiration
                }
            });

            quicksightGetDashboard.generateEmbedUrlForRegisteredUser(getDashboardParams, function(err, data) {
                if (err) {
                    console.log(err, err.stack);
                    errorCallback(err);
                } else {
                    const result = {
                        "statusCode": 200,
                        "headers": {
                            "Access-Control-Allow-Origin": "*", // Use your website domain to secure access to GetEmbedUrl API
                            "Access-Control-Allow-Headers": "Content-Type"
                        },
                        "body": JSON.stringify(data),
                        "isBase64Encoded": false
                    }
                    getEmbedUrlCallback(result);
                }
            });
        }
    });
}
```

### Python3
<a name="embedded-analytics-full-console-for-authenticated-users-py"></a>

```
import json
import boto3
from botocore.exceptions import ClientError

# Create QuickSight and STS clients
qs = boto3.client('quicksight', region_name='us-east-1')
sts = boto3.client('sts')

# Function to generate embedded URL  
# accountId: AWS account ID
# userArn: arn of registered user
# allowedDomains: Runtime allowed domain for embedding
# roleArn: IAM user role to use for embedding
# sessionName: session name for the roleArn assume role
def generateEmbeddingURL(accountId, userArn, allowedDomains, roleArn, sessionName):
    try:
        assumedRole = sts.assume_role(
            RoleArn = roleArn,
            RoleSessionName = sessionName,
        )
    except ClientError as e:
        return "Error assuming role: " + str(e)
    else: 
        assumedRoleSession = boto3.Session(
            aws_access_key_id = assumedRole['Credentials']['AccessKeyId'],
            aws_secret_access_key = assumedRole['Credentials']['SecretAccessKey'],
            aws_session_token = assumedRole['Credentials']['SessionToken'],
        )
        try:
            quickSightClient = assumedRoleSession.client('quicksight', region_name='us-east-1')
            
            experienceConfiguration = {
                "QuickSightConsole": {
                    "InitialPath": "/start"
                }
            }
            response = quickSightClient.generate_embed_url_for_registered_user(
                 AwsAccountId = accountId,
                 ExperienceConfiguration = experienceConfiguration,
                 UserArn = userArn,
                 AllowedDomains = allowedDomains,
                 SessionLifetimeInMinutes = 600
            )
            
            return {
                'statusCode': 200,
                'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
                'body': json.dumps(response),
                'isBase64Encoded':  bool('false')
            }
        except ClientError as e:
            return "Error generating embedding url: " + str(e)
```

### Node.js
<a name="embedded-analytics-full-console-for-authenticated-users-node"></a>

다음 예제는 앱 서버에서 임베디드 콘솔 세션에 대한 URL를 가져오는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 콘솔 세션을 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
const https = require('https');

var quicksightClient = new AWS.Service({
    apiConfig: require('./quicksight-2018-04-01.min.json'),
    region: 'us-east-1',
});

quicksightClient.generateEmbedUrlForRegisteredUser({
    'AwsAccountId': '111122223333',
    'ExperienceConfiguration': {
        'QuickSightConsole': {
            'InitialPath': '/start'
        }
    },
    'UserArn': 'REGISTERED_USER_ARN',
    'AllowedDomains': allowedDomains,
    'SessionLifetimeInMinutes': 100
}, function(err, data) {
    console.log('Errors: ');
    console.log(err);
    console.log('Response: ');
    console.log(data);
});
```

**Example**  

```
// The URL returned is over 900 characters. For this example, we've shortened the string for
// readability and added ellipsis to indicate that it's incomplete.
    {
        Status: 200,
        EmbedUrl: 'https://quicksightdomain/embed/12345/dashboards/67890..,
        RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713'
    }
```

### .NET(C\$1)
<a name="embedded-analytics-full-console-for-authenticated-users-cs"></a>

다음 예제는 앱 서버에서 임베디드 콘솔 세션에 대한 URL를 생성하는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 콘솔을 표시할 수 있습니다.

**Example**  

```
using System;
using Amazon.QuickSight;
using Amazon.QuickSight.Model;

namespace GenerateDashboardEmbedUrlForRegisteredUser
{
    class Program
    {
        static void Main(string[] args)
        {
            var quicksightClient = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                SessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                RegisteredUserQuickSightConsoleEmbeddingConfiguration registeredUserQuickSightConsoleEmbeddingConfiguration
                    = new RegisteredUserQuickSightConsoleEmbeddingConfiguration
                    {
                        InitialPath = "/start"
                    };
                RegisteredUserEmbeddingExperienceConfiguration registeredUserEmbeddingExperienceConfiguration
                    = new RegisteredUserEmbeddingExperienceConfiguration
                    {
                        QuickSightConsole = registeredUserQuickSightConsoleEmbeddingConfiguration
                    };
                
                Console.WriteLine(
                    quicksightClient.GenerateEmbedUrlForRegisteredUserAsync(new GenerateEmbedUrlForRegisteredUserRequest
                    {
                        AwsAccountId = "111122223333",
                        ExperienceConfiguration = registeredUserEmbeddingExperienceConfiguration,
                        UserArn = "REGISTERED_USER_ARN",
                        AllowedDomains = allowedDomains,
                        SessionLifetimeInMinutes = 100
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
        }
    }
}
```

### AWS CLI
<a name="embedded-analytics-full-console-for-authenticated-users-cli"></a>

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - SAML을 사용하여 사용자를 인증할 때 이 작업을 사용하세요.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GenerateEmbedUrlForRegisteredUser`에 대한 권한이 활성화되어 있어야 합니다. 사용자가 Amazon Quick Sight를 처음 열 때 사용자를 추가하기 위해 just-in-time 접근 방식을 취하는 경우 역할에는에 대한 권한도 활성화되어 있어야 합니다`quicksight:RegisterUser`.

```
aws sts assume-role \
     --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \
     --role-session-name john.doe@example.com
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터를 사용하는 경우 `export` 대신 `set`을(를) 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_console_session_role/john.doe@example.com`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 사용자 액세스 조절을 방지할 수 있습니다. 조절은 동일한 사용자가 여러 위치에서 Amazon Quick Sight에 액세스하지 못하도록 하는 보안 기능입니다.

역할 세션 ID도 Amazon Quick Sight의 사용자 이름이 됩니다. 이 패턴을 사용하여 Amazon Quick Sight에서 사용자를 미리 프로비저닝하거나 콘솔 세션에 처음 액세스할 때 프로비저닝할 수 있습니다.

다음 예에서는 사용자를 프로비저닝하는 데 사용할 수 있는 CLI 명령을 보여줍니다. [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html), [DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html) 및 기타 Amazon Quick Sight API 작업에 대한 자세한 내용은 [Amazon Quick Sight API 참조](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html)를 참조하세요.

```
aws quicksight register-user \
     --aws-account-id 111122223333 \
     --namespace default \
     --identity-type IAM \
     --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \
     --user-role READER \
     --user-name jhnd \
     --session-name "john.doe@example.com" \
     --email john.doe@example.com \
     --region us-east-1 \
     --custom-permissions-name TeamA1
```

사용자가 Microsoft AD를 통해 인증된 경우에는 설정을 위해 `RegisterUser`를 사용하지 않아도 됩니다. 대신 Amazon Quick Sight에 처음 액세스할 때 자동으로 구독해야 합니다. Microsoft AD 사용자의 경우 사용자 ARN을 얻는 데 `DescribeUser`를 사용할 수 있습니다.

사용자가 Amazon Quick Sight에 처음 액세스할 때이 사용자를 적절한 그룹에 추가할 수도 있습니다. 다음 예에서는 사용자를 그룹에 추가하는 CLI 명령을 보여줍니다.

```
aws quicksight create-group-membership \
     --aws-account-id=111122223333 \
     --namespace=default \
     --group-name=financeusers \
     --member-name="embedding_quicksight_dashboard_role/john.doe@example.com"
```

이제 Amazon Quick Sight 사용자이기도 하고 Amazon Quick Sight 콘솔 세션에 액세스할 수 있는 앱 사용자가 생겼습니다.

마지막으로 콘솔 세션에 대해 서명된 URL을 가져오려면, 앱 서버에서 `generate-embed-url-for-registered-user`을(를) 호출합니다. 그러면 임베드 가능한 콘솔 세션 URL이 반환됩니다. 다음 예제에서는 AWS Managed Microsoft AD 또는 Single Sign-On(IAM Identity Center)을 통해 인증된 사용자에 대한 서버 측 호출을 사용하여 임베디드 콘솔 세션의 URL을 생성하는 방법을 보여줍니다.

```
aws quicksight generate-embed-url-for-registered-user \
    --aws-account-id 111122223333 \
    --entry-point the-url-for--the-console-session \
    --session-lifetime-in-minutes 600 \
    --user-arn arn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_dashboard_role/embeddingsession
	--allowed-domains '["domain1","domain2"]' \
    --experience-configuration QuickSightConsole={InitialPath="/start"}
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html) 단원을 참조하세요. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

## 3단계: 콘솔 세션 URL 임베드
<a name="embedded-analytics-full-console-for-authenticated-users-step-3"></a>

다음 섹션에서는 [Amazon Quick Sight Embedding SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여 웹 사이트 또는 애플리케이션 페이지의 3단계에서 콘솔 세션 URL을 포함하는 방법을 알아볼 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ 콘솔 세션을 HTML 페이지에 배치합니다.
+ 콘솔 세션에 파라미터를 전달합니다.
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

`GenerateEmbedUrlForRegisteredUser` API 작업을 직접 호출하여 앱에 포함할 수 있는 URL을 생성하세요. 이 URL은 5분 동안 유효하며, 결과 세션은 10시간까지 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code`을(를) 제공합니다.

다음은 `generate-embed-url-for-registered-user`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
{
     "Status": "200",
     "EmbedUrl": "https://quicksightdomain/embedding/12345/start...",
     "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
}
```

Amazon Quick Sight 임베[딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에이 콘솔 세션을 임베딩](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다. Amazon Quick Sight 임베딩 SDK를 사용하면 콘솔 세션 내에서 파라미터를 제어하고 페이지 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

임베디드 대시보드를 호스팅할 도메인은 Quick 구독에 대해 승인된 도메인 *목록인 허용* 목록에 있어야 합니다. 이 요건은 임베디드 대시보드에서 미승인 도메인을 제외함으로써 데이터를 보호합니다. 임베디드 콘솔의 도메인 추가에 대한 자세한 내용은 [Amazon Quick Sight API를 사용하여 런타임에 도메인 나열 허용을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-run-time.html).

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 생성됩니다.

### SDK 2.0
<a name="embedded-analytics-full-console-for-authenticated-users-sdkv2"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>Console Embedding Example</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.0.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            const embedSession = async() => {    
                const {
                    createEmbeddingContext,
                } = QuickSightEmbedding;

                const embeddingContext = await createEmbeddingContext({
                    onChange: (changeEvent, metadata) => {
                        console.log('Context received a change', changeEvent, metadata);
                    },
                });

                const frameOptions = {
                    url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API
                    container: '#experience-container',
                    height: "700px",
                    width: "1000px",
                    onChange: (changeEvent, metadata) => {
                        switch (changeEvent.eventName) {
                            case 'FRAME_MOUNTED': {
                                console.log("Do something when the experience frame is mounted.");
                                break;
                            }
                            case 'FRAME_LOADED': {
                                console.log("Do something when the experience frame is loaded.");
                                break;
                            }
                        }
                    },
                };

                const contentOptions = {
                    onMessage: async (messageEvent, experienceMetadata) => {
                        switch (messageEvent.eventName) {
                            case 'ERROR_OCCURRED': {
                                console.log("Do something when the embedded experience fails loading.");
                                break;
                            }
                        }
                    }
                };
                const embeddedConsoleExperience = await embeddingContext.embedConsole(frameOptions, contentOptions);
            };
        </script>
    </head>

    <body onload="embedSession()">
        <div id="experience-container"></div>
    </body>

</html>
```

### SDK 1.0
<a name="embedded-analytics-full-console-for-authenticated-users-sdkv1"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>QuickSight Console Embedding</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@1.0.15/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            var session

            function onError(payload) {
                console.log("Do something when the session fails loading");
            }

            function embedSession() {
                var containerDiv = document.getElementById("embeddingContainer");
                var options = {
                    // replace this dummy url with the one generated via embedding API
                    url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode", // replace this dummy url with the one generated via embedding API
                    container: containerDiv,
                    parameters: {
                        country: "United States"
                    },
                    scrolling: "no",
                    height: "700px",
                    width: "1000px",
                    locale: "en-US",
                    footerPaddingEnabled: true,
                    defaultEmbeddingVisualType: "TABLE", // this option only applies to QuickSight console embedding and is not used for dashboard embedding
                };
                session = QuickSightEmbedding.embedSession(options);
                session.on("error", onError);
            }

            function onCountryChange(obj) {
                session.setParameters({country: obj.value});
            }
        </script>
    </head>

    <body onload="embedSession()">
        <span>
            <label for="country">Country</label>
            <select id="country" name="country" onchange="onCountryChange(this)">
                <option value="United States">United States</option>
                <option value="Mexico">Mexico</option>
                <option value="Canada">Canada</option>
            </select>
        </span>
        <div id="embeddingContainer"></div>
    </body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 콘솔 세션을 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

# 등록된 사용자의 경우 임베디드 콘솔에서 생성형 BI 기능 활성화
<a name="embedding-consoles-genbi"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

임베디드 콘솔에서 다음과 같은 생성형 BI 기능을 활성화할 수 있습니다.
+ 실행 요약: 활성화된 경우 등록된 Author Pro 및 Reader Pro 사용자는 Amazon Quick Sight가 주요 인사이트를 쉽게 검색할 수 있도록 대시보드에 생성한 모든 인사이트의 요약을 제공하는 실행 요약을 생성할 수 있습니다.
+ 작성: 이 옵션을 활성화하는 경우 Author Pro 사용자는 생성형 BI를 사용하여 계산된 필드를 빌드하고 시각적 객체를 빌드 및 세분화할 수 있습니다.
+ Q&A: 이 옵션을 활성화하는 경우 Author Pro 및 Reader Pro 사용자는 AI 기반 Q&A를 사용하여 데이터와 관련된 질문을 제안하고 답변할 수 있습니다.
+ 데이터 스토리: 이 옵션을 활성화하는 경우 Author Pro 및 Reader Pro 사용자는 세부 정보를 제공하여 데이터 스토리의 첫 번째 초안을 빠르게 생성할 수 있습니다.

**등록된 사용자의 경우 임베디드 콘솔에서 생성형 BI 기능을 활성화하는 방법**
+ [등록된 사용자가 다음과 같은 변경 사항을 적용하여 콘솔을 포함할 수 있도록 Amazon Quick Sight 콘솔의 전체 기능 임베딩](https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-full-console-for-authenticated-users.html)의 단계를 따릅니다.

  1. 2단계에서 URL을 생성하는 경우 활성화하려는 각 기능에 대해 다음 예제와 같이 [GenerateEmbedUrlForRegisteredUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html) 또는 [GenerateEmbedUrlForRegisteredUserWithIdentity](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUserWithIdentity.html)의 `FeatureConfigurations` 파라미터에서 `Enabled: true`를 설정하세요. 구성이 제공되지 않으면 기능은 기본적으로 비활성화됩니다.

     ```
     ExperienceConfiguration: {
             QuickSightConsole: {
                 InitialPath: "initial_path",
                 AmazonQInQuickSight: {
                     FeatureConfigurations: { 
                         COMMENT: Enable executive summaries
                         ExecutiveSummary: {
                             Enabled: true
                         },
                         COMMENT: Enable Generative BI authoring
                         GenerativeAuthoring: {
                             Enabled: true
                         },
                         COMMENT: Enable Q&A
                         DataQnA: {
                             Enabled: true
                         },
                         COMMENT: Enable data stories
                         DataStories: {
                             Enabled: true
                         }       
                     }
                 }
             }
         }
     }
     ```

  1. 3단계에서 Amazon Quick Sight 임베딩 SDK를 사용하여 콘솔 URL을 임베딩할 때 다음 예제의 값을 원하는 대로 설정합니다. 구성이 제공되지 않으면 기능은 기본적으로 비활성화됩니다.
**참고**  
데이터 스토리를 활성화하기 위한 SDK 옵션은 없습니다. 이전 단계에서와 같이 API로 데이터 스토리를 활성화하는 경우 등록된 사용자는 데이터 스토리를 사용할 수 있습니다.

     ```
     const contentOptions = {
         toolbarOptions: {
             executiveSummary: true, // Enable executive summaries
             buildVisual: true, // Enable Generative BI authoring
             dataQnA: true // Enable Q&A
         }
     };
     ```

# Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩
<a name="embedding-gen-bi"></a>


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 LLM에서 제공하는 향상된 NLQ 기능을 사용하는 임베디드 생성형 Q&A 환경을 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다. 생성형 Q&A 환경은 임베디드 Q Search Bar의 권장 대체 기능이며 사용자에게 업데이트된 BI 환경을 제공합니다.

**Topics**
+ [등록된 사용자를 위한 Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩](#embedded-analytics-gen-bi-authenticated-users)
+ [익명(미등록) 사용자를 위한 빠른 생성형 Q&A 환경에 Amazon Q 임베딩](#embedded-analytics-gen-bi-anonymous-users)

## 등록된 사용자를 위한 Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩
<a name="embedded-analytics-gen-bi-authenticated-users"></a>

다음 섹션에서는 Amazon Quick Sight의 등록된 사용자를 위해 임베디드 생성형 Q&A 환경을 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](#embedded-analytics-gen-bi-authenticated-users-step-1)
+ [2단계: 인증 코드가 첨부된 URL 생성](#embedded-analytics-gen-bi-authenticated-users-step-2)
+ [3단계: 생성형 Q&A 환경 URL 임베드](#embedded-analytics-gen-bi-authenticated-users-step-3)
+ [임베디드 생성형 Q&A 환경 기능 옵션](#embedded-analytics-gen-bi-authenticated-users-step-4)

### 1단계: 권한 설정
<a name="embedded-analytics-gen-bi-authenticated-users-step-1"></a>

다음 섹션에서는 생성형 Q&A 환경을 임베드할 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아볼 수 있습니다. 이 작업을 수행하려면 AWS Identity and Access Management (IAM)에 대한 관리 액세스 권한이 필요합니다.

생성형 Q&A 환경에 액세스하는 각 사용자는 Amazon Quick Sight에 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면 AWS 계정에서 IAM 역할을 생성합니다. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다. IAM 역할은 특정 사용자 풀의 임베딩 URL을 검색할 수 있는 권한을 제공해야 합니다.

와일드카드 문자 \$1를 사용하여, 특정 네임스페이스의 모든 사용자에 대해 URL을 생성할 권한을 부여할 수 있습니다. 또는 특정 네임스페이스에 있는 사용자 하위 집합에 대해 URL을 생성할 권한을 부여할 수 있습니다. 이를 위해 `quicksight:GenerateEmbedUrlForRegisteredUser`을(를) 추가합니다.

IAM 정책에 개발자가 `GenerateEmbedUrlForRegisteredUser` API 작업의 `AllowedDomains` 파라미터에 나열할 수 있는 도메인을 제한하는 조건을 만들 수 있습니다. `AllowedDomains` 파라미터는 선택 파라미터입니다. 개발자에게 **Amazon Quick Sight 관리** 메뉴에 구성된 정적 도메인을 재정의하고 생성된 URL에 액세스할 수 있는 최대 3개의 도메인 또는 하위 도메인을 나열할 수 있는 옵션을 부여합니다. 그러면 이 URL이 개발자 웹 사이트에 포함됩니다. 파라미터에 나열된 도메인만 임베디드 생성형 Q&A 환경에 액세스할 수 있습니다. 이 조건이 없으면, 개발자는 인터넷에 있는 모든 도메인을 `AllowedDomains` 파라미터에 나열할 수 있습니다.

개발자가 이 파라미터로 사용할 수 있는 도메인을 제한하려면 IAM 정책에 `AllowedEmbeddingDomains` 조건을 추가하세요. `AllowedDomains` 파라미터에 대한 자세한 내용은 Amazon Quick Sight API 참조의 [GenerateEmbedUrlForRegisteredUser](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html)를 참조하세요. ** 

**IAM 조건 연산자에 대한 보안 모범 사례**  
잘못 구성된 IAM 조건 연산자는 URL 변형을 통해 임베디드 Quick 리소스에 대한 무단 액세스를 허용할 수 있습니다. IAM 정책에서 `quicksight:AllowedEmbeddingDomains` 조건 키를 사용하는 경우 특정 도메인을 허용하거나 특별히 허용되지 않는 모든 도메인을 거부하는 조건 연산자를 사용합니다. IAM 조건 연산자에 대한 자세한 내용은 [IAM 사용 설명서의 IAM JSON 정책 요소: 조건 연산자를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 참조하세요.  
다양한 URL 변형이 동일한 리소스를 가리킬 수 있습니다. 예를 들어 다음 URLs 모두 동일한 콘텐츠로 확인됩니다.  
`https://example.com`
`https://example.com/`
`https://Example.com`
정책에서 이러한 URL 변형을 고려하지 않는 연산자를 사용하는 경우 공격자는 동등한 URL 변형을 제공하여 제한을 우회할 수 있습니다.  
IAM 정책이 적절한 조건 연산자를 사용하여 우회 취약성을 방지하고 의도한 도메인만 임베디드 리소스에 액세스할 수 있는지 확인해야 합니다.

다음 샘플 정책은 이러한 권한을 제공합니다.

또한 Amazon Quick Sight 독자가 될 사용자를 처음 생성하는 경우 정책에 `quicksight:RegisterUser` 권한을 추가해야 합니다.

다음 샘플 정책은 Amazon Quick Sight 리더인 처음 사용자를 위해 임베딩 URL을 검색할 수 있는 권한을 제공합니다.

마지막으로, 방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스할 때 애플리케이션이 사용자를 대신하여 역할을 수임하고 Amazon Quick Sight에서 사용자를 프로비저닝할 수 있습니다.

다음 예제는 샘플 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
    "Sid": "AllowLambdaFunctionsToAssumeThisRole",
                "Effect": "Allow",
                "Principal": {
    "Service": "lambda.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            },
            {
    "Sid": "AllowEC2InstancesToAssumeThisRole",
                "Effect": "Allow",
                "Principal": {
    "Service": "ec2.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
```

------

OpenID Connect 또는 Security Assertion Markup Language(SAML) 인증의 신뢰 정책에 대한 자세한 내용은, IAM 사용 설명서의 다음 단원을 참조하십시오.
+ [웹 아이덴티티 또는 OpenID Connect 페더레이션을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html)
+ [SAML 2.0 페더레이션을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)

### 2단계: 인증 코드가 첨부된 URL 생성
<a name="embedded-analytics-gen-bi-authenticated-users-step-2"></a>

다음 단원에서는 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 Q 주제 URL을 가져오는 방법을 알아볼 수 있습니다. IAM 또는 Amazon Quick Sight 자격 증명 유형에 대한 생성형 Q&A 환경을 포함하려는 경우 Q 주제를 사용자와 공유합니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 앱은 사용자가 아직 없는 경우 사용자를 Amazon Quick Sight에 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

설명된 단계를 수행하면 Q 주제의 각 뷰어가 Amazon Quick Sight에서 고유하게 프로비저닝됩니다. 또한 사용자 단위 설정(예: 파라미터에 대한 동적 기본값 및 행 수준 보안)을 적용합니다. 태그 기반 행 수준 보안은 Q 표시줄의 익명 사용자 임베딩에 사용할 수 있습니다.

다음 예는 사용자를 대신하여 IAM 인증을 수행합니다. 이 코드는 앱 서버에서 실행됩니다.

#### Java
<a name="embedded-analytics-gen-bi-authenticated-users-java"></a>

```
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.quicksight.AmazonQuickSight;
import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserRequest;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserResult;
import com.amazonaws.services.quicksight.model.RegisteredUserEmbeddingExperienceConfiguration;
import com.amazonaws.services.quicksight.model.RegisteredUserGenerativeQnAEmbeddingConfiguration;

/**
 * Class to call QuickSight AWS SDK to get url for embedding Generative Q&A experience.
 */
public class RegisteredUserGenerativeQnAEmbeddingSample {

    private final AmazonQuickSight quickSightClient;

    public RegisteredUserGenerativeQnAEmbeddingSample() {
        this.quickSightClient = AmazonQuickSightClientBuilder
                    .standard()
                    .withRegion(Regions.US_EAST_1.getName())
                    .withCredentials(new AWS CredentialsProvider() {
                            @Override
                            public AWSCredentials getCredentials() {
                                // provide actual IAM access key and secret key here
                                return new BasicAWSCredentials("access-key", "secret-key");
                            }

                            @Override
                            public void refresh() {
                            }
                        }
                    )
                    .build();
            }

    public String getQuicksightEmbedUrl(
            final String accountId, // AWS Account ID
            final String topicId, // Topic ID to embed
            final List<String> allowedDomains, // Runtime allowed domain for embedding
            final String userArn // Registered user arn to use for embedding. Refer to Get Embed Url section in developer portal to find how to get user arn for a QuickSight user.
            ) throws Exception {

        final RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration = new RegisteredUserEmbeddingExperienceConfiguration()
                .withGenerativeQnA(new RegisteredUserGenerativeQnAEmbeddingConfiguration().withInitialTopicId(topicId));
        final GenerateEmbedUrlForRegisteredUserRequest generateEmbedUrlForRegisteredUserRequest = new GenerateEmbedUrlForRegisteredUserRequest();
        generateEmbedUrlForRegisteredUserRequest.setAwsAccountId(accountId);
        generateEmbedUrlForRegisteredUserRequest.setUserArn(userArn);
        generateEmbedUrlForRegisteredUserRequest.setAllowedDomains(allowedDomains);
        generateEmbedUrlForRegisteredUserRequest.setExperienceConfiguration(experienceConfiguration);

        final GenerateEmbedUrlForRegisteredUserResult generateEmbedUrlForRegisteredUserResult = quickSightClient.generateEmbedUrlForRegisteredUser(generateEmbedUrlForRegisteredUserRequest);

        return generateEmbedUrlForRegisteredUserResult.getEmbedUrl();
    }
}
```

#### JavaScript
<a name="embedded-analytics-gen-bi-authenticated-users-js"></a>

**참고**  
임베드 URL 생성 API는 브라우저에서 직접 호출할 수 없습니다. 대신 Node.JS 예제를 참조하세요.

#### Python3
<a name="embedded-analytics-gen-bi-authenticated-users-py"></a>

```
import json
import boto3
from botocore.exceptions import ClientError

sts = boto3.client('sts')

# Function to generate embedded URL  
# accountId: AWS account ID
# topicId: Topic ID to embed
# userArn: arn of registered user
# allowedDomains: Runtime allowed domain for embedding
# roleArn: IAM user role to use for embedding
# sessionName: session name for the roleArn assume role
def getEmbeddingURL(accountId, topicId, userArn, allowedDomains, roleArn, sessionName):
    try:
        assumedRole = sts.assume_role(
            RoleArn = roleArn,
            RoleSessionName = sessionName,
        )
    except ClientError as e:
        return "Error assuming role: " + str(e)
    else: 
        assumedRoleSession = boto3.Session(
            aws_access_key_id = assumedRole['Credentials']['AccessKeyId'],
            aws_secret_access_key = assumedRole['Credentials']['SecretAccessKey'],
            aws_session_token = assumedRole['Credentials']['SessionToken'],
        )
        try:
            quicksightClient = assumedRoleSession.client('quicksight', region_name='us-west-2')
            response = quicksightClient.generate_embed_url_for_registered_user(
                AwsAccountId=accountId,
                ExperienceConfiguration = {
                    'GenerativeQnA': {
                        'InitialTopicId': topicId
                    }
                },
                UserArn = userArn,
                AllowedDomains = allowedDomains,
                SessionLifetimeInMinutes = 600
            )
            
            return {
                'statusCode': 200,
                'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
                'body': json.dumps(response),
                'isBase64Encoded':  bool('false')
            }
        except ClientError as e:
            return "Error generating embedding url: " + str(e)
```

#### Node.js
<a name="embedded-analytics-gen-bi-authenticated-users-node"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
const https = require('https');

var quicksightClient = new AWS.Service({
    region: 'us-east-1'
});

quicksightClient.generateEmbedUrlForRegisteredUser({
    'AwsAccountId': '111122223333',
    'ExperienceConfiguration': { 
        'GenerativeQnA': {
            'InitialTopicId': 'U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f'
        }
    },
    'UserArn': 'REGISTERED_USER_ARN',
    'AllowedDomains': allowedDomains,
    'SessionLifetimeInMinutes': 100
}, function(err, data) {
    console.log('Errors: ');
    console.log(err);
    console.log('Response: ');
    console.log(data);
});
```

#### .NET/C\$1
<a name="embedded-analytics-gen-bi-authenticated-users-cs"></a>

다음 예제는 앱 서버에서 임베디드 Q 검색 창에 대한 URL를 생성하는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 Q 검색 창을 표시할 수 있습니다.

**Example**  

```
using System;
using Amazon.QuickSight;
using Amazon.QuickSight.Model;

namespace GenerateGenerativeQnAEmbedUrlForRegisteredUser
{
    class Program
    {
        static void Main(string[] args)
        {
            var quicksightClient = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                SessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                RegisteredUserGenerativeQnAEmbeddingConfiguration registeredUserGenerativeQnAEmbeddingConfiguration
                    = new RegisteredUserGenerativeQnAEmbeddingConfiguration
                    {
                        InitialTopicId = "U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f"
                    };
                RegisteredUserEmbeddingExperienceConfiguration registeredUserEmbeddingExperienceConfiguration
                    = new RegisteredUserEmbeddingExperienceConfiguration
                    {
                        GenerativeQnA = registeredUserGenerativeQnAEmbeddingConfiguration
                    }; 
                
                Console.WriteLine(
                    quicksightClient.GenerateEmbedUrlForRegisteredUserAsync(new GenerateEmbedUrlForRegisteredUserRequest
                    {
                        AwsAccountId = "111122223333",
                        ExperienceConfiguration = registeredUserEmbeddingExperienceConfiguration,
                        UserArn = "REGISTERED_USER_ARN",
                        AllowedDomains = allowedDomains,
                        SessionLifetimeInMinutes = 100
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
        }
    }
}
```

#### AWS CLI
<a name="embedded-analytics-gen-bi-authenticated-users-cli"></a>

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - SAML을 사용하여 사용자를 인증할 때 이 작업을 사용하세요.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GenerateEmbedUrlForRegisteredUser`에 대한 권한이 활성화되어 있어야 합니다. 사용자가 Q 검색 창의 주제를 사용할 때 사용자를 추가하는 적시 접근 방식을 취하려면, 역할에 `quicksight:RegisterUser`에 대한 사용 권한도 활성화해야 합니다.

```
aws sts assume-role \
     --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_q_generative_qna_role" \
     --role-session-name john.doe@example.com
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터의 경우, `export` 대신 `set`을(를) 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_q_search_bar_role/john.doe@example.com`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 사용자 액세스 조절을 방지할 수 있습니다. *조절*은 동일한 사용자가 여러 위치에서 Amazon Quick Sight에 액세스하지 못하도록 하는 보안 기능입니다.

역할 세션 ID도 Amazon Quick Sight의 사용자 이름이 됩니다. 이 패턴을 사용하여 Amazon Quick Sight에서 사용자를 미리 프로비저닝하거나 생성형 Q&A 환경에 처음 액세스할 때 사용자를 프로비저닝할 수 있습니다.

다음 예에서는 사용자를 프로비저닝하는 데 사용할 수 있는 CLI 명령을 보여줍니다. [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html), [DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html) 및 기타 Amazon Quick Sight API 작업에 대한 자세한 내용은 [Amazon Quick Sight API 참조](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html)를 참조하세요.

```
aws quicksight register-user \
    --aws-account-id 111122223333 \
    --namespace default \
    --identity-type IAM\
    --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_q_generative_qna_role" \
    --user-role READER \
    --user-name jhnd \
    --session-name "john.doe@example.com" \
    --email john.doe@example.com \
    --region us-east-1 \
    --custom-permissions-name TeamA1
```

사용자가 Microsoft AD를 통해 인증된 경우에는 설정을 위해 `RegisterUser`를 사용하지 않아도 됩니다. 대신 Amazon Quick Sight에 처음 액세스할 때 자동으로 구독해야 합니다. Microsoft AD 사용자의 경우 사용자 Amazon 리소스 이름(ARN)을 얻는 데 `DescribeUser`을(를) 사용할 수 있습니다.

사용자가 Amazon Quick Sight에 처음 액세스할 때 대시보드가 공유되는 그룹에이 사용자를 추가할 수도 있습니다. 다음 예에서는 사용자를 그룹에 추가하는 CLI 명령을 보여줍니다.

```
aws quicksight create-group-membership \
    --aws-account-id 111122223333 \
    --namespace default \
    --group-name financeusers \
    --member-name "embedding_quicksight_q_generative_qna_role/john.doe@example.com"
```

이제 Amazon Quick Sight 사용자이기도 하고 대시보드에 액세스할 수 있는 앱 사용자가 생겼습니다.

마지막으로 대시보드에 대해 서명된 URL을 가져오려면 앱 서버에서 `generate-embed-url-for-registered-user`을 호출합니다. 그러면 임베드 가능한 대시보드 URL이 반환됩니다. 다음 예제에서는 AWS Managed Microsoft AD 또는 Single Sign-On(IAM Identity Center)을 통해 인증된 사용자에 대한 서버 측 호출을 사용하여 임베디드 대시보드의 URL을 생성하는 방법을 보여줍니다.

```
aws quicksight generate-embed-url-for-anonymous-user \
--aws-account-id 111122223333 \
--namespace default-or-something-else \
--authorized-resource-arns '["topic-arn-topicId1","topic-arn-topicId2"]' \
--allowed-domains '["domain1","domain2"]' \
--experience-configuration 'GenerativeQnA={InitialTopicId="topicId1"}' \
--session-tags '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]' \
--session-lifetime-in-minutes 15
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html) 단원을 참조하세요. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

### 3단계: 생성형 Q&A 환경 URL 임베드
<a name="embedded-analytics-gen-bi-authenticated-users-step-3"></a>

다음 섹션에서는 웹 사이트 또는 애플리케이션 페이지에 생성형 Q&A 환경 URL을 임베드하는 방법을 알아볼 수 있습니다. [Amazon Quick Sight 임베딩 SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여이 작업을 수행할 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ 생성형 Q&A 환경을 HTML 페이지에 배치합니다.
+ 애플리케이션 요구 사항에 맞게 임베디드 환경의 레이아웃과 모양을 사용자 지정합니다.
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

앱에 포함할 수 있는 URL을 생성하러면, `GenerateEmbedUrlForRegisteredUser` API 작업을 직접 호출하세요. 이 URL은 5분 동안 유효하며, 결과 세션은 10시간까지 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code` 값을 제공합니다.

다음은 `generate-embed-url-for-registered-user`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete. 
{
 "Status": "200",
"EmbedUrl": "https://quicksightdomain/embedding/12345/q/search...",
"RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
}
```

[Amazon Quick Sight 임베딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에 생성형 Q&A 환경을 임베드](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다.

임베디드 생성형 Q&A 환경을 호스팅할 도메인이 Amazon Quick Sight 구독에 대해 승인된 도메인 목록인 *허용 목록에* 있는지 확인합니다. 이 요건은 임베디드 대시보드에서 미승인 도메인을 제외함으로써 데이터를 보호합니다. 임베디드 생성형 Q&A 환경의 도메인 추가에 대한 자세한 정보는 [도메인 관리](manage-domains.md) 섹션을 참조하세요.

Amazon Quick Sight 임베딩 SDK를 사용하여 애플리케이션에 맞게 임베디드 생성형 Q&A 환경의 레이아웃과 모양을 사용자 지정할 수 있습니다. `panelType` 속성을 사용하여 애플리케이션에서 렌더링할 때 생성형 Q&A 환경의 랜딩 상태를 구성합니다. `panelType` 속성을 `'FULL'`로 설정하여 전체 생성형 Q&A 환경 패널을 렌더링합니다. 이 패널은 Amazon Quick Sight 사용자가 Amazon Quick Sight 콘솔에서 겪는 경험과 유사합니다. 패널의 프레임 높이는 사용자 상호 작용에 따라 변경되지 않으며 `frameOptions.height` 속성에서 설정한 값을 존중합니다. 아래 이미지에서는 `panelType` 값을 `'FULL'`로 설정할 때 렌더링하는 생성형 Q&A 환경 패널을 보여줍니다.

`panelType` 속성을 `'SEARCH_BAR'`로 설정하여 생성형 Q&A 환경 패널을 검색 표시줄로 렌더링합니다. 이 검색 표시줄은 Q Search Bar가 애플리케이션에 임베드될 때 렌더링하는 방식과 유사합니다. 생성형 Q&A 검색 표시줄은 주제 선택 옵션, 질문 제안 목록, 응답 패널 또는 핀보드를 표시하는 더 큰 패널로 확장됩니다.

기본 생성형 Q&A 검색 표시줄의 기본 최소 높이는 임베디드 자산이 로드될 때 렌더링됩니다. 검색 표시줄 환경을 최적화하려면 `frameOptions.height` 값을 `"38px"`로 설정하는 것이 좋습니다. `focusedHeight` 속성을 사용하여 주제 선택 드롭다운 및 질문 제안 목록의 최적 크기를 설정합니다. `expandedHeight` 속성을 사용하여 답변 패널과 핀보드의 최적 크기를 설정합니다. `'SEARCH_BAR'` 옵션을 선택하는 경우 애플리케이션에서 원치 않는 콘텐츠 이동을 방지하기 위해 상위 컨테이너를 절대 위치로 스타일링하는 것이 좋습니다. 아래 이미지에서는 `panelType` 값을 `'SEARCH_BAR'`로 설정할 때 렌더링하는 생성형 Q&A 환경 검색 표시줄을 보여줍니다.

`panelType` 속성을 구성한 후 Amazon Quick Sight 임베딩 SDK를 사용하여 생성형 Q&A 경험의 다음 속성을 사용자 지정합니다.
+ 생성형 Q&A 패널의 제목(`panelType: FULL` 옵션에만 적용됨)입니다.
+ 검색 표시줄의 자리 표시자 텍스트입니다.
+ 주제 선택을 허용할지 여부입니다.
+ 주제 이름을 표시할지 숨길지 여부입니다.
+ Amazon Q 아이콘을 표시할지 숨길지 여부입니다(`panelType: FULL` 옵션에만 적용됨).
+ 핀보드를 숨길지 여부입니다.
+ 사용자가 생성형 Q&A 패널을 전체 화면으로 최대화할 수 있는지 여부입니다.
+ 생성형 Q&A 패널의 테마입니다. 사용자 지정 테마 ARN을 SDK에 전달하여 프레임 콘텐츠의 모양을 변경할 수 있습니다. Amazon Quick Sight 스타터 테마는 임베디드 생성형 BI 패널에서 지원되지 않습니다. Amazon Quick Sight 스타터 테마를 사용하려면 Amazon Quick Sight에 사용자 지정 테마로 저장합니다.

Amazon Quick Sight 임베딩 SDK를 사용하는 경우 페이지의 생성형 Q&A 환경은 상태에 따라 동적으로 크기가 조정됩니다. Amazon Quick Sight 임베딩 SDK를 사용하면 생성형 Q&A 환경 내에서 파라미터를 제어하고 페이지 로드 완료, 상태 변경 및 오류 측면에서 콜백을 수신할 수도 있습니다.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 생성됩니다.

#### SDK 2.0
<a name="collapsible-gen-bi-embedding-example"></a>

```
<!DOCTYPE html>
<html>
    <head>
        <title>Generative Q&A Embedding Example</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.7.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            const embedGenerativeQnA = async() => {    
                const {createEmbeddingContext} = QuickSightEmbedding;

                const embeddingContext = await createEmbeddingContext({
                    onChange: (changeEvent, metadata) => {
                        console.log('Context received a change', changeEvent, metadata);
                    },
                });

                const frameOptions = {
                    url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API
                    container: '#experience-container',
                    height: "700px",
                    width: "1000px",
                    onChange: (changeEvent, metadata) => {
                        switch (changeEvent.eventName) {
                            case 'FRAME_MOUNTED': {
                                console.log("Do something when the experience frame is mounted.");
                                break;
                            }
                            case 'FRAME_LOADED': {
                                console.log("Do something when the experience frame is loaded.");
                                break;
                            }
                        }
                    },
                };

                const contentOptions = {
                    // Optional panel settings. Default behavior is equivalent to {panelType: 'FULL'}
                    panelOptions: {
                        panelType: 'FULL',
                        title: 'custom title', // Optional
                        showQIcon: false, // Optional, Default: true
                    },
                    // Use SEARCH_BAR panel type for the landing state to be similar to embedQSearchBar
                    // with generative capability enabled topics
                    /*
                    panelOptions: {
                        panelType: 'SEARCH_BAR',
                        focusedHeight: '250px',
                        expandedHeight: '500px',
                    },
                    */
                    showTopicName: false, // Optional, Default: true
                    showPinboard: false, // Optional, Default: true
                    allowTopicSelection: false, // Optional, Default: true
                    allowFullscreen: false, // Optional, Default: true
                    searchPlaceholderText: "custom search placeholder", // Optional
                    themeOptions: { // Optional
                        themeArn: 'arn:aws:quicksight:<Region>:<AWS-Account-ID>:theme/<Theme-ID>'
                    }
                    onMessage: async (messageEvent, experienceMetadata) => {
                        switch (messageEvent.eventName) {
                            case 'Q_SEARCH_OPENED': {
                                // called when pinboard is shown / visuals are rendered
                                console.log("Do something when SEARCH_BAR type panel is expanded");
                                break;
                            }
                            case 'Q_SEARCH_FOCUSED': {
                                // called when question suggestions or topic selection dropdown are shown
                                console.log("Do something when SEARCH_BAR type panel is focused");
                                break;
                            }
                            case 'Q_SEARCH_CLOSED': {
                                // called when shrinked to initial bar height
                                console.log("Do something when SEARCH_BAR type panel is collapsed");
                                break;
                            }
                            case 'Q_PANEL_ENTERED_FULLSCREEN': {
                                console.log("Do something when panel enters full screen mode");
                                break;
                            }
                            case 'Q_PANEL_EXITED_FULLSCREEN': {
                                console.log("Do something when panel exits full screen mode");
                                break;
                            }
                            case 'CONTENT_LOADED': {
                                console.log("Do something after experience is loaded");
                                break;
                            }
                            case 'ERROR_OCCURRED': {
                                console.log("Do something when experience fails to load");
                                break;
                            }
                        }
                    }
                };
                const embeddedGenerativeQnExperience = await embeddingContext.embedGenerativeQnA(frameOptions, contentOptions);
            };
        </script>
    </head>

    <body onload="embedGenerativeQnA()">
        <div id="experience-container"></div>
    </body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에서 임베디드 생성형 Q&A 환경을 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

### 임베디드 생성형 Q&A 환경 기능 옵션
<a name="embedded-analytics-gen-bi-authenticated-users-step-4"></a>

임베딩 SDK를 사용하여 임베디드 생성형 Q&A 환경에 기능 옵션을 사용할 수 있습니다.

#### 생성형 Q&A 검색 표시줄 작업 호출
<a name="w2aac35c27c21c43c29b9c21b5"></a>
+ 질문 설정 - 이 기능은 생성형 Q&A 환경에 질문을 전송하고 즉시 질문을 쿼리합니다.

  ```
  embeddedGenerativeQnExperience.setQuestion('show me monthly revenue');
  ```
+ 응답 패널 닫기(생성형 Q&A 검색 표시줄 옵션에 적용) - 이 기능은 응답 패널을 닫고 iframe을 원래 검색 표시줄 상태로 되돌립니다.

  ```
  embeddedGenerativeQnExperience.close();
  ```

자세한 내용은 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk)를 참조하세요.

## 익명(미등록) 사용자를 위한 빠른 생성형 Q&A 환경에 Amazon Q 임베딩
<a name="embedded-analytics-gen-bi-anonymous-users"></a>


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 익명(등록되지 않은) 사용자를 위해 임베디드 생성형 Q&A 환경을 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](#embedded-analytics-gen-bi-anonymous-users-step-1)
+ [2단계: 인증 코드가 첨부된 URL 생성](#embedded-analytics-gen-bi-anonymous-users-step-2)
+ [3단계: 생성형 Q&A 환경 URL 임베드](#embedded-analytics-gen-bi-anonymous-users-step-3)
+ [임베디드 생성형 Q&A 환경 기능 옵션](#embedded-analytics-gen-bi-anonymous-users-step-4)

### 1단계: 권한 설정
<a name="embedded-analytics-gen-bi-anonymous-users-step-1"></a>

다음 섹션에서는 생성형 Q&A 환경을 임베드할 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아볼 수 있습니다. 이 작업을 수행하려면 AWS Identity and Access Management (IAM)에 대한 관리 액세스 권한이 필요합니다.

생성형 Q&A 환경에 액세스하는 각 사용자는 Amazon Quick Sight에 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면 AWS 계정에서 IAM 역할을 생성합니다. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다. IAM 역할은 특정 사용자 풀의 임베딩 URL을 검색할 수 있는 권한을 제공해야 합니다.

와일드카드 문자 \$1를 사용하여, 특정 네임스페이스의 모든 사용자에 대해 URL을 생성할 권한을 부여할 수 있습니다. 또는 특정 네임스페이스에 있는 사용자 하위 집합에 대해 URL을 생성할 권한을 부여할 수 있습니다. 이를 위해 `quicksight:GenerateEmbedUrlForAnonymousUser`을(를) 추가합니다.

IAM 정책에 개발자가 `GenerateEmbedUrlForAnonymousUser` API 작업의 `AllowedDomains` 파라미터에 나열할 수 있는 도메인을 제한하는 조건을 만들 수 있습니다. `AllowedDomains` 파라미터는 선택 파라미터입니다. 개발자에게 **Amazon Quick Sight 관리** 메뉴에 구성된 정적 도메인을 재정의하고 생성된 URL에 액세스할 수 있는 최대 3개의 도메인 또는 하위 도메인을 나열할 수 있는 옵션을 부여합니다. 그러면 이 URL이 개발자 웹 사이트에 포함됩니다. 파라미터에 나열된 도메인만 임베디드 Q 검색 창에 액세스할 수 있습니다. 이 조건이 없으면, 개발자는 인터넷에 있는 모든 도메인을 `AllowedDomains` 파라미터에 나열할 수 있습니다.

개발자가 이 파라미터로 사용할 수 있는 도메인을 제한하려면 IAM 정책에 `AllowedEmbeddingDomains` 조건을 추가하세요. `AllowedDomains` 파라미터에 대한 자세한 내용은 Amazon Quick Sight API 참조의 [GenerateEmbedUrlForAnonymousUser](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html)를 참조하세요. ** 

**IAM 조건 연산자에 대한 보안 모범 사례**  
잘못 구성된 IAM 조건 연산자는 URL 변형을 통해 임베디드 Quick 리소스에 대한 무단 액세스를 허용할 수 있습니다. IAM 정책에서 `quicksight:AllowedEmbeddingDomains` 조건 키를 사용하는 경우 특정 도메인을 허용하거나 특별히 허용되지 않는 모든 도메인을 거부하는 조건 연산자를 사용합니다. IAM 조건 연산자에 대한 자세한 내용은 [IAM 사용 설명서의 IAM JSON 정책 요소: 조건 연산자를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 참조하세요.  
다양한 URL 변형이 동일한 리소스를 가리킬 수 있습니다. 예를 들어 다음 URLs 모두 동일한 콘텐츠로 확인됩니다.  
`https://example.com`
`https://example.com/`
`https://Example.com`
정책에서 이러한 URL 변형을 고려하지 않는 연산자를 사용하는 경우 공격자는 동등한 URL 변형을 제공하여 제한을 우회할 수 있습니다.  
IAM 정책이 적절한 조건 연산자를 사용하여 우회 취약성을 방지하고 의도한 도메인만 임베디드 리소스에 액세스할 수 있는지 확인해야 합니다.

방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스하면 애플리케이션이 사용자를 대신하여 역할을 맡아서 생성형 Q&A 환경을 로드할 수 있습니다. 다음 예제는 샘플 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
"Sid": "AllowLambdaFunctionsToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
"Service": "lambda.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
"Sid": "AllowEC2InstancesToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
"Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

자세한 내용은 IAM 사용 설명서의 [IAM의 임시 보안 인증](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) 단원을 참조하세요.

### 2단계: 인증 코드가 첨부된 URL 생성
<a name="embedded-analytics-gen-bi-anonymous-users-step-2"></a>

다음 단원에서는 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 Q 주제 URL을 가져오는 방법을 알아볼 수 있습니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 앱은 사용자가 아직 없는 경우 사용자를 Amazon Quick Sight에 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

#### Java
<a name="embedded-analytics-gen-bi-anonymous-users-java"></a>

```
import java.util.List;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.quicksight.AmazonQuickSight;
import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
import com.amazonaws.services.quicksight.model.AnonymousUserGenerativeQnAEmbeddingConfiguration;
import com.amazonaws.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserResult;
import com.amazonaws.services.quicksight.model.SessionTag;

/**
* Class to call QuickSight AWS SDK to generate embed url for anonymous user.
*/
public class GenerateEmbedUrlForAnonymousUserExample {

    private final AmazonQuickSight quickSightClient;

    public GenerateEmbedUrlForAnonymousUserExample() {
        quickSightClient = AmazonQuickSightClientBuilder
            .standard()
            .withRegion(Regions.US_EAST_1.getName())
            .withCredentials(new AWSCredentialsProvider() {
                    @Override
                    public AWSCredentials getCredentials() {
                        // provide actual IAM access key and secret key here
                        return new BasicAWSCredentials("access-key", "secret-key");
                    }

                    @Override
                    public void refresh() {
                    }
                }
            )
            .build();
    }

    public String GenerateEmbedUrlForAnonymousUser(
        final String accountId, // YOUR AWS ACCOUNT ID
        final String initialTopicId, // Q TOPIC ID TO WHICH THE CONSTRUCTED URL POINTS AND EXPERIENCE PREPOPULATES INITIALLY
        final String namespace, // ANONYMOUS EMBEDDING REQUIRES SPECIFYING A VALID NAMESPACE FOR WHICH YOU WANT THE EMBEDDING URL
        final List<String> authorizedResourceArns, // Q TOPIC ARN LIST TO EMBED
        final List<String> allowedDomains, // RUNTIME ALLOWED DOMAINS FOR EMBEDDING
        final List<SessionTag> sessionTags // SESSION TAGS USED FOR ROW-LEVEL SECURITY
    ) throws Exception {
        AnonymousUserEmbeddingExperienceConfiguration experienceConfiguration = new AnonymousUserEmbeddingExperienceConfiguration();
        AnonymousUserGenerativeQnAEmbeddingConfiguration generativeQnAConfiguration = new AnonymousUserGenerativeQnAEmbeddingConfiguration();
        generativeQnAConfiguration.setInitialTopicId(initialTopicId);
        experienceConfiguration.setGenerativeQnA(generativeQnAConfiguration);

        GenerateEmbedUrlForAnonymousUserRequest generateEmbedUrlForAnonymousUserRequest = new GenerateEmbedUrlForAnonymousUserRequest()
            .withAwsAccountId(accountId)
            .withNamespace(namespace)
            .withAuthorizedResourceArns(authorizedResourceArns)
            .withExperienceConfiguration(experienceConfiguration)
            .withSessionTags(sessionTags)
            .withSessionLifetimeInMinutes(600L); // OPTIONAL: VALUE CAN BE [15-600]. DEFAULT: 600
            .withAllowedDomains(allowedDomains);

        GenerateEmbedUrlForAnonymousUserResult result = quickSightClient.generateEmbedUrlForAnonymousUser(generateEmbedUrlForAnonymousUserRequest);

        return result.getEmbedUrl();
    }

}
```

#### JavaScript
<a name="embedded-analytics-gen-bi-anonymous-users-js"></a>

**참고**  
임베드 URL 생성 API는 브라우저에서 직접 호출할 수 없습니다. 대신 Node.JS 예제를 참조하세요.

#### Python3
<a name="embedded-analytics-gen-bi-anonymous-users-py"></a>

```
import json
import boto3
from botocore.exceptions import ClientError
import time

# Create QuickSight and STS clients
quicksightClient = boto3.client('quicksight',region_name='us-west-2')
sts = boto3.client('sts')

# Function to generate embedded URL for anonymous user
# accountId: YOUR AWS ACCOUNT ID
# topicId: Topic ID to embed
# quicksightNamespace: VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING
# authorizedResourceArns: TOPIC ARN LIST TO EMBED
# allowedDomains: RUNTIME ALLOWED DOMAINS FOR EMBEDDING
# sessionTags: SESSION TAGS USED FOR ROW-LEVEL SECURITY
def generateEmbedUrlForAnonymousUser(accountId, quicksightNamespace, authorizedResourceArns, allowedDomains, sessionTags):
    try:
        response = quicksightClient.generate_embed_url_for_anonymous_user(
            AwsAccountId = accountId,
            Namespace = quicksightNamespace,
            AuthorizedResourceArns = authorizedResourceArns,
            AllowedDomains = allowedDomains,
            ExperienceConfiguration = {
                'GenerativeQnA': {
                        'InitialTopicId': topicId
                    }
            },
            SessionTags = sessionTags,
            SessionLifetimeInMinutes = 600
        )
            
        return {
            'statusCode': 200,
            'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
            'body': json.dumps(response),
            'isBase64Encoded':  bool('false')
        }
    except ClientError as e:
        print(e)
        return "Error generating embeddedURL: " + str(e)
```

#### Node.js
<a name="embedded-analytics-gen-bi-anonymous-users-node"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
const https = require('https');

var quicksightClient = new AWS.Service({
    region: 'us-east-1',
});

quicksightClient.generateEmbedUrlForAnonymousUser({
    'AwsAccountId': '111122223333',
    'Namespace': 'DEFAULT'
    'AuthorizedResourceArns': '["topic-arn-topicId1","topic-arn-topicId2"]',
    'AllowedDomains': allowedDomains,
    'ExperienceConfiguration': { 
        'GenerativeQnA': {
            'InitialTopicId': 'U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f'
        }
    },
    'SessionTags': '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]',
    'SessionLifetimeInMinutes': 15
}, function(err, data) {
    console.log('Errors: ');
    console.log(err);
    console.log('Response: ');
    console.log(data);
});
```

#### .NET/C\$1
<a name="embedded-analytics-gen-bi-anonymous-users-cs"></a>

다음 예제는 앱 서버에서 임베디드 Q 검색 창에 대한 URL를 생성하는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 Q 검색 창을 표시할 수 있습니다.

**Example**  

```
using System;
using Amazon.QuickSight;
using Amazon.QuickSight.Model;

namespace GenerateGenerativeQnAEmbedUrlForAnonymousUser
{
    class Program
    {
        static void Main(string[] args)
        {
            var quicksightClient = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                SessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                AnonymousUserGenerativeQnAEmbeddingConfiguration anonymousUserGenerativeQnAEmbeddingConfiguration
                    = new AnonymousUserGenerativeQnAEmbeddingConfiguration
                    {
                        InitialTopicId = "U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f"
                    };
                AnonymousUserEmbeddingExperienceConfiguration anonymousUserEmbeddingExperienceConfiguration
                    = new AnonymousUserEmbeddingExperienceConfiguration
                    {
                        GenerativeQnA = anonymousUserGenerativeQnAEmbeddingConfiguration
                    }; 
                
                Console.WriteLine(
                    quicksightClient.GenerateEmbedUrlForAnonymousUserAsync(new GenerateEmbedUrlForAnonymousUserRequest
                    {
                        AwsAccountId = "111122223333",
                        Namespace = "DEFAULT",
                        AuthorizedResourceArns '["topic-arn-topicId1","topic-arn-topicId2"]',
                        AllowedDomains = allowedDomains,
                        ExperienceConfiguration = anonymousUserEmbeddingExperienceConfiguration,
                        SessionTags = '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]',
                        SessionLifetimeInMinutes = 15,
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
        }
    }
}
```

#### AWS CLI
<a name="embedded-analytics-gen-bi-anonymous-users-cli"></a>

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - SAML을 사용하여 사용자를 인증할 때 이 작업을 사용하세요.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GenerateEmbedUrlForAnonymousUser`에 대한 권한이 활성화되어 있어야 합니다.

```
aws sts assume-role \
     --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_generative_qna_role" \
     --role-session-name anonymous caller
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터의 경우, `export` 대신 `set`을(를) 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_q_search_bar_role/QuickSightEmbeddingAnonymousPolicy`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 사용자 액세스 조절을 방지할 수 있습니다. *조절*은 동일한 사용자가 여러 위치에서 Amazon Quick Sight에 액세스하지 못하도록 하는 보안 기능입니다. 또한 각 세션을 분리하고 구분할 수 있습니다. 로드 밸런싱 등을 위해 여러 웹 서버를 사용하는 경우, 세션이 다른 서버에 다시 연결되면 새 세션이 시작됩니다.

대시보드에 대해 서명된 URL을 가져오려면, 앱 서버에서 `generate-embed-url-for-anynymous-user`을(를) 호출합니다. 그러면 임베드 가능한 대시보드 URL이 반환됩니다. 다음 예제는 웹 포털 또는 앱을 익명으로 방문하는 사용자에 대해 서버 측 직접 호출을 사용하여 임베디드 대시보드의 URL을 생성하는 방법을 보여줍니다.

```
aws quicksight generate-embed-url-for-anonymous-user \
--aws-account-id 111122223333 \
--namespace default-or-something-else \
--authorized-resource-arns '["topic-arn-topicId","topic-arn-topicId2"]' \
--allowed-domains '["domain1","domain2"]' \
--experience-configuration 'GenerativeQnA={InitialTopicId="topicId1"}' \
--session-tags '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]' \
--session-lifetime-in-minutes 15
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html) 단원을 참조하세요. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

### 3단계: 생성형 Q&A 환경 URL 임베드
<a name="embedded-analytics-gen-bi-anonymous-users-step-3"></a>

다음 섹션에서는 웹 사이트 또는 애플리케이션 페이지에 생성형 Q&A 환경 URL을 임베드하는 방법을 알아볼 수 있습니다. [Amazon Quick Sight 임베딩 SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여이 작업을 수행할 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ 생성형 Q&A 환경을 HTML 페이지에 배치합니다.
+ 애플리케이션 요구 사항에 맞게 임베디드 환경의 레이아웃과 모양을 사용자 지정합니다.
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

앱에 포함할 수 있는 URL을 생성하러면, `GenerateEmbedUrlForAnonymousUser` API 작업을 직접 호출하세요. 이 URL은 5분 동안 유효하며, 결과 세션은 10시간까지 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code` 값을 제공합니다.

다음은 `generate-embed-url-for-anonymous-user`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.{
     "Status": "200",
     "EmbedUrl": "https://quicksightdomain/embedding/12345/q/search...",
     "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
}
```

[Amazon Quick Sight 임베딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에 생성형 Q&A 환경을 임베딩](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다.

생성형 Q&A 환경을 호스팅할 도메인이 Amazon Quick Sight 구독에 대해 승인된 도메인 *목록인 허용* 목록에 있는지 확인합니다. 이 요건은 미승인 도메인이 임베디드 생성형 Q&A 환경을 호스팅하지 못하도록 방지하여 데이터를 보호합니다. 임베디드 생성형 Q&A 환경의 도메인 추가에 대한 자세한 정보는 [도메인 관리](manage-domains.md) 섹션을 참조하세요.

Amazon Quick Sight 임베딩 SDK를 사용하여 애플리케이션에 맞게 임베디드 생성형 Q&A 환경의 레이아웃과 모양을 사용자 지정할 수 있습니다. `panelType` 속성을 사용하여 애플리케이션에서 렌더링할 때 생성형 Q&A 환경의 랜딩 상태를 구성합니다. `panelType` 속성을 `'FULL'`로 설정하여 전체 생성형 Q&A 환경 패널을 렌더링합니다. 이 패널은 Amazon Quick Sight 사용자가 Amazon Quick Sight 콘솔에서 겪는 경험과 유사합니다. 패널의 프레임 높이는 사용자 상호 작용에 따라 변경되지 않으며 `frameOptions.height` 속성에서 설정한 값을 존중합니다. 아래 이미지에서는 `panelType` 값을 `'FULL'`로 설정할 때 렌더링하는 생성형 Q&A 환경 패널을 보여줍니다.

`panelType` 속성을 `'SEARCH_BAR'`로 설정하여 생성형 Q&A 환경 패널을 검색 표시줄로 렌더링합니다. 이 검색 표시줄은 Q Search Bar가 애플리케이션에 임베드될 때 렌더링하는 방식과 유사합니다. 생성형 Q&A 검색 표시줄은 주제 선택 옵션, 질문 제안 목록, 응답 패널 또는 핀보드를 표시하는 더 큰 패널로 확장됩니다.

기본 생성형 Q&A 검색 표시줄의 기본 최소 높이는 임베디드 자산이 로드될 때 렌더링됩니다. 검색 표시줄 환경을 최적화하려면 `frameOptions.height` 값을 `"38px"`로 설정하는 것이 좋습니다. `focusedHeight` 속성을 사용하여 주제 선택 드롭다운 및 질문 제안 목록의 최적 크기를 설정합니다. `expandedHeight` 속성을 사용하여 답변 패널과 핀보드의 최적 크기를 설정합니다. `'SEARCH_BAR'` 옵션을 선택하는 경우 애플리케이션에서 원치 않는 콘텐츠 이동을 방지하기 위해 상위 컨테이너를 절대 위치로 스타일링하는 것이 좋습니다. 아래 이미지에서는 `panelType` 값을 `'SEARCH_BAR'`로 설정할 때 렌더링하는 생성형 Q&A 환경 검색 표시줄을 보여줍니다.

`panelType` 속성을 구성한 후 Amazon Quick Sight 임베딩 SDK를 사용하여 생성형 Q&A 경험의 다음 속성을 사용자 지정합니다.
+ 생성형 Q&A 패널의 제목(`panelType: FULL` 옵션에만 적용됨)입니다.
+ 검색 표시줄의 자리 표시자 텍스트입니다.
+ 주제 선택을 허용할지 여부입니다.
+ 주제 이름을 표시할지 숨길지 여부입니다.
+ Amazon Q 아이콘을 표시할지 숨길지 여부입니다(`panelType: FULL` 옵션에만 적용됨).
+ 핀보드를 숨길지 여부입니다.
+ 사용자가 생성형 Q&A 패널을 전체 화면으로 최대화할 수 있는지 여부입니다.
+ 생성형 Q&A 패널의 테마입니다. 사용자 지정 테마 ARN을 SDK에 전달하여 프레임 콘텐츠의 모양을 변경할 수 있습니다. Amazon Quick Sight 스타터 테마는 임베디드 생성형 BI 패널에서 지원되지 않습니다. Amazon Quick Sight 스타터 테마를 사용하려면 Amazon Quick Sight에 사용자 지정 테마로 저장합니다.

Amazon Quick Sight 임베딩 SDK를 사용하는 경우 페이지의 생성형 Q&A 환경은 상태에 따라 동적으로 크기가 조정됩니다. Amazon Quick Sight 임베딩 SDK를 사용하면 생성형 Q&A 환경 내에서 파라미터를 제어하고 페이지 로드 완료, 상태 변경 및 오류 측면에서 콜백을 수신할 수도 있습니다.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 생성됩니다.

#### SDK 2.0
<a name="embedded-analytics-gen-bi-anonymous-users-sdkv2"></a>

```
<!DOCTYPE html>
<html>
    <head>
        <title>Generative Q&A Embedding Example</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.7.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            const embedGenerativeQnA = async() => {    
                const {createEmbeddingContext} = QuickSightEmbedding;

                const embeddingContext = await createEmbeddingContext({
                    onChange: (changeEvent, metadata) => {
                        console.log('Context received a change', changeEvent, metadata);
                    },
                });

                const frameOptions = {
                    url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API
                    container: '#experience-container',
                    height: "700px",
                    width: "1000px",
                    onChange: (changeEvent, metadata) => {
                        switch (changeEvent.eventName) {
                            case 'FRAME_MOUNTED': {
                                console.log("Do something when the experience frame is mounted.");
                                break;
                            }
                            case 'FRAME_LOADED': {
                                console.log("Do something when the experience frame is loaded.");
                                break;
                            }
                        }
                    },
                };

                const contentOptions = {
                    // Optional panel settings. Default behavior is equivalent to {panelType: 'FULL'}
                    panelOptions: {
                        panelType: 'FULL',
                        title: 'custom title', // Optional
                        showQIcon: false, // Optional, Default: true
                    },
                    // Use SEARCH_BAR panel type for the landing state to be similar to embedQSearchBar
                    // with generative capability enabled topics
                    /*
                    panelOptions: {
                        panelType: 'SEARCH_BAR',
                        focusedHeight: '250px',
                        expandedHeight: '500px',
                    },
                    */
                    showTopicName: false, // Optional, Default: true
                    showPinboard: false, // Optional, Default: true
                    allowTopicSelection: false, // Optional, Default: true
                    allowFullscreen: false, // Optional, Default: true
                    searchPlaceholderText: "custom search placeholder", // Optional
                    themeOptions: { // Optional
                        themeArn: 'arn:aws:quicksight:<Region>:<AWS-Account-ID>:theme/<Theme-ID>'
                    }
                    onMessage: async (messageEvent, experienceMetadata) => {
                        switch (messageEvent.eventName) {
                            case 'Q_SEARCH_OPENED': {
                                // called when pinboard is shown / visuals are rendered
                                console.log("Do something when SEARCH_BAR type panel is expanded");
                                break;
                            }
                            case 'Q_SEARCH_FOCUSED': {
                                // called when question suggestions or topic selection dropdown are shown
                                console.log("Do something when SEARCH_BAR type panel is focused");
                                break;
                            }
                            case 'Q_SEARCH_CLOSED': {
                                // called when shrinked to initial bar height
                                console.log("Do something when SEARCH_BAR type panel is collapsed");
                                break;
                            }
                            case 'Q_PANEL_ENTERED_FULLSCREEN': {
                                console.log("Do something when panel enters full screen mode");
                                break;
                            }
                            case 'Q_PANEL_EXITED_FULLSCREEN': {
                                console.log("Do something when panel exits full screen mode");
                                break;
                            }
                            case 'CONTENT_LOADED': {
                                console.log("Do something after experience is loaded");
                                break;
                            }
                            case 'ERROR_OCCURRED': {
                                console.log("Do something when experience fails to load");
                                break;
                            }
                        }
                    }
                };
                const embeddedGenerativeQnExperience = await embeddingContext.embedGenerativeQnA(frameOptions, contentOptions);
            };
        </script>
    </head>

    <body onload="embedGenerativeQnA()">
        <div id="experience-container"></div>
    </body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에서 임베디드 생성형 Q&A 환경을 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

### 임베디드 생성형 Q&A 환경 기능 옵션
<a name="embedded-analytics-gen-bi-anonymous-users-step-4"></a>

임베딩 SDK를 사용하여 임베디드 생성형 Q&A 환경에 기능 옵션을 사용할 수 있습니다.

#### 생성형 Q&A 검색 표시줄 작업 호출
<a name="w2aac35c27c21c43c29c13c25b5"></a>
+ 질문 설정 - 이 기능은 생성형 Q&A 환경에 질문을 전송하고 즉시 질문을 쿼리합니다.

  ```
  embeddedGenerativeQnExperience.setQuestion('show me monthly revenue');
  ```
+ 응답 패널 닫기(생성형 Q&A 검색 표시줄 옵션에 적용) - 이 기능은 응답 패널을 닫고 iframe을 원래 검색 표시줄 상태로 되돌립니다.

  ```
  embeddedGenerativeQnExperience.close();
  ```

자세한 내용은 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk)를 참조하세요.

# Amazon Quick Sight Q 검색 창 임베딩(클래식)
<a name="embedding-quicksight-q"></a>


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html).

다음 주제를 사용하여 Amazon Quick Sight APIs에 Amazon Quick Sight Q 검색 창을 포함하는 방법에 대해 알아봅니다.

**Topics**
+ [등록된 사용자를 위한 Amazon Quick Sight Q 검색 창 임베딩](embedded-analytics-q-search-bar-for-authenticated-users.md)
+ [익명(미등록) 사용자를 위한 Amazon Quick Sight Q 검색 창 임베딩](embedded-analytics-q-search-bar-for-anonymous-users.md)

# 등록된 사용자를 위한 Amazon Quick Sight Q 검색 창 임베딩
<a name="embedded-analytics-q-search-bar-for-authenticated-users"></a>


|  | 
| --- |
|  적용 대상:  Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html) 참조하세요.

다음 섹션에서는 Amazon Quick Sight의 등록된 사용자를 위해 임베디드 Amazon Quick Sight Q 검색 창을 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](#embedded-q-bar-for-authenticated-users-step-1)
+ [2단계: 인증 코드가 첨부된 URL 생성](#embedded-q-bar-for-authenticated-users-step-2)
+ [3단계: Q 검색 창 URL 포함](#embedded-q-bar-for-authenticated-users-step-3)
+ [선택적 Amazon Quick Sight Q 검색 창 임베딩 기능](#embedded-q-bar-for-authenticated-users-step-4)

## 1단계: 권한 설정
<a name="embedded-q-bar-for-authenticated-users-step-1"></a>

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html) 참조하세요.

다음 단원에서 임베디드 Q 검색 창에 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 AWS Identity and Access Management (IAM)에 대한 관리 액세스 권한이 필요합니다.

대시보드에 액세스하는 각 사용자는 Amazon Quick Sight에 대시보드에 대한 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면에서 IAM 역할을 생성합니다 AWS 계정. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다. IAM 역할은 특정 사용자 풀의 임베딩 URL을 검색할 수 있는 권한을 제공해야 합니다.

와일드카드 문자 \$1를 사용하여, 특정 네임스페이스의 모든 사용자에 대해 URL을 생성할 권한을 부여할 수 있습니다. 또는 특정 네임스페이스에 있는 사용자 하위 집합에 대해 URL을 생성할 권한을 부여할 수 있습니다. 이를 위해 `quicksight:GenerateEmbedUrlForRegisteredUser`을(를) 추가합니다.

IAM 정책에 개발자가 `GenerateEmbedUrlForRegisteredUser` API 작업의 `AllowedDomains` 파라미터에 나열할 수 있는 도메인을 제한하는 조건을 만들 수 있습니다. `AllowedDomains` 파라미터는 선택 파라미터입니다. 개발자에게 **Amazon Quick Sight 관리** 메뉴에 구성된 정적 도메인을 재정의하고 생성된 URL에 액세스할 수 있는 최대 3개의 도메인 또는 하위 도메인을 나열할 수 있는 옵션을 부여합니다. 그러면 이 URL이 개발자 웹 사이트에 포함됩니다. 파라미터에 나열된 도메인만 임베디드 Q 검색 창에 액세스할 수 있습니다. 이 조건이 없으면, 개발자는 인터넷에 있는 모든 도메인을 `AllowedDomains` 파라미터에 나열할 수 있습니다.

개발자가 이 파라미터로 사용할 수 있는 도메인을 제한하려면 IAM 정책에 `AllowedEmbeddingDomains` 조건을 추가하세요. `AllowedDomains` 파라미터에 대한 자세한 내용은 Amazon Quick Sight API 참조의 [GenerateEmbedUrlForRegisteredUser](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html)를 참조하세요. ** 

**IAM 조건 연산자에 대한 보안 모범 사례**  
잘못 구성된 IAM 조건 연산자는 URL 변형을 통해 임베디드 Quick 리소스에 대한 무단 액세스를 허용할 수 있습니다. IAM 정책에서 `quicksight:AllowedEmbeddingDomains` 조건 키를 사용하는 경우 특정 도메인을 허용하거나 특별히 허용되지 않는 모든 도메인을 거부하는 조건 연산자를 사용합니다. IAM 조건 연산자에 대한 자세한 내용은 [IAM 사용 설명서의 IAM JSON 정책 요소: 조건 연산자를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 참조하세요.  
다양한 URL 변형이 동일한 리소스를 가리킬 수 있습니다. 예를 들어 다음 URLs 모두 동일한 콘텐츠로 확인됩니다.  
`https://example.com`
`https://example.com/`
`https://Example.com`
정책에서 이러한 URL 변형을 고려하지 않는 연산자를 사용하는 경우 공격자는 동등한 URL 변형을 제공하여 제한을 우회할 수 있습니다.  
IAM 정책이 적절한 조건 연산자를 사용하여 우회 취약성을 방지하고 의도한 도메인만 임베디드 리소스에 액세스할 수 있는지 확인해야 합니다.

다음 샘플 정책은 이러한 권한을 제공합니다.

또한 Amazon Quick Sight 독자가 될 사용자를 처음 생성하는 경우 정책에 `quicksight:RegisterUser` 권한을 추가해야 합니다.

다음 샘플 정책은 Amazon Quick Sight 리더인 처음 사용자를 위해 임베딩 URL을 검색할 수 있는 권한을 제공합니다.

마지막으로, 방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스할 때 애플리케이션이 사용자를 대신하여 역할을 수임하고 Amazon Quick Sight에서 사용자를 프로비저닝할 수 있습니다.

다음 예제는 샘플 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLambdaFunctionsToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Sid": "AllowEC2InstancesToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

OpenID Connect 또는 Security Assertion Markup Language(SAML) 인증의 신뢰 정책에 대한 자세한 내용은, IAM 사용 설명서의 다음 단원을 참조하십시오.
+ [웹 아이덴티티 또는 OpenID Connect 페더레이션을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html)
+ [SAML 2.0 페더레이션을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)

## 2단계: 인증 코드가 첨부된 URL 생성
<a name="embedded-q-bar-for-authenticated-users-step-2"></a>

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html) 참조하세요.

다음 단원에서는 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 Q 주제 URL을 가져오는 방법을 알아볼 수 있습니다. IAM 또는 Amazon Quick Sight 자격 증명 유형에 대한 Q 막대를 포함하려는 경우 Q 주제를 사용자와 공유합니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 앱은 사용자가 아직 없는 경우 사용자를 Amazon Quick Sight에 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

설명된 단계를 수행하면 Q 주제의 각 뷰어가 Amazon Quick Sight에서 고유하게 프로비저닝됩니다. 또한 사용자 단위 설정(예: 파라미터에 대한 동적 기본값 및 행 수준 보안)을 적용합니다.

다음 예는 사용자를 대신하여 IAM 인증을 수행합니다. 이 코드는 앱 서버에서 실행됩니다.

### Java
<a name="embedded-q-bar-for-embedded-q-bar-for-authenticated-users-java"></a>

```
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
        import com.amazonaws.auth.AWSCredentialsProvider;
        import com.amazonaws.regions.Regions;
        import com.amazonaws.services.quicksight.AmazonQuickSight;
        import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserRequest;
import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserResult;
import com.amazonaws.services.quicksight.model.RegisteredUserEmbeddingExperienceConfiguration;
import com.amazonaws.services.quicksight.model.RegisteredUserQSearchBarEmbeddingConfiguration;

        /**
 * Class to call QuickSight AWS SDK to get url for embedding the Q search bar.
        */
public class RegisteredUserQSearchBarEmbeddingConfiguration {

            private final AmazonQuickSight quickSightClient;

    public RegisteredUserQSearchBarEmbeddingConfiguration() {
        this.quickSightClient = AmazonQuickSightClientBuilder
                    .standard()
                    .withRegion(Regions.US_EAST_1.getName())
                    .withCredentials(new AWSCredentialsProvider() {
                            @Override
                            public AWSCredentials getCredentials() {
                                // provide actual IAM access key and secret key here
                                return new BasicAWSCredentials("access-key", "secret-key");
                            }

                            @Override
                            public void refresh() {
                            }
                        }
                    )
                    .build();
            }

    public String getQuicksightEmbedUrl(
            final String accountId, // AWS Account ID
            final String topicId, // Topic ID to embed
            final List<String> allowedDomains, // Runtime allowed domain for embedding
            final String userArn // Registered user arn to use for embedding. Refer to Get Embed Url section in developer portal to find how to get user arn for a QuickSight user.
            ) throws Exception {
        final RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration = new RegisteredUserEmbeddingExperienceConfiguration()
                .withQSearchBar(new RegisteredUserQSearchBarEmbeddingConfiguration().withInitialTopicId(topicId));
        final GenerateEmbedUrlForRegisteredUserRequest generateEmbedUrlForRegisteredUserRequest = new GenerateEmbedUrlForRegisteredUserRequest();
        generateEmbedUrlForRegisteredUserRequest.setAwsAccountId(accountId);
        generateEmbedUrlForRegisteredUserRequest.setUserArn(userArn);
        generateEmbedUrlForRegisteredUserRequest.setAllowedDomains(allowedDomains);
        generateEmbedUrlForRegisteredUserRequest.setExperienceConfiguration(QSearchBar);

        final GenerateEmbedUrlForRegisteredUserResult generateEmbedUrlForRegisteredUserResult = quickSightClient.generateEmbedUrlForRegisteredUser(generateEmbedUrlForRegisteredUserRequest);

        return generateEmbedUrlForRegisteredUserResult.getEmbedUrl();
            }
        }
```

### JavaScript
<a name="embedded-q-bar-for-embedded-q-bar-for-authenticated-users-js"></a>

```
global.fetch = require('node-fetch');
const AWS = require('aws-sdk');

function generateEmbedUrlForRegisteredUser(
    accountId,
    topicId, // Topic ID to embed
    openIdToken, // Cognito-based token
    userArn, // registered user arn
    roleArn, // IAM user role to use for embedding
    sessionName, // Session name for the roleArn assume role
    allowedDomains, // Runtime allowed domain for embedding
    getEmbedUrlCallback, // GetEmbedUrl success callback method
    errorCallback // GetEmbedUrl error callback method
    ) {
    const stsClient = new AWS.STS();
    let stsParams = {
        RoleSessionName: sessionName,
        WebIdentityToken: openIdToken,
        RoleArn: roleArn
        }
    
    stsClient.assumeRoleWithWebIdentity(stsParams, function(err, data) {
        if (err) {
            console.log('Error assuming role');
            console.log(err, err.stack);
            errorCallback(err);
        } else {
            const getQSearchBarParams = {
        "AwsAccountId": accountId,
                "ExperienceConfiguration": {
                    "QSearchBar": {
                        "InitialTopicId": topicId
                    }
                },
                "UserArn": userArn,
        "AllowedDomains": allowedDomains,
        "SessionLifetimeInMinutes": 600
    };

            const quicksightGetQSearchBar = new AWS.QuickSight({
        region: process.env.AWS_REGION,
                credentials: {
                    accessKeyId: data.Credentials.AccessKeyId,
                    secretAccessKey: data.Credentials.SecretAccessKey,
                    sessionToken: data.Credentials.SessionToken,
                    expiration: data.Credentials.Expiration
                }
    });

            quicksightGetQSearchBar.generateEmbedUrlForRegisteredUser(getQSearchBarParams, function(err, data) {
        if (err) {
            console.log(err, err.stack);
            errorCallback(err);
        } else {
            const result = {
                "statusCode": 200,
                "headers": {
                            "Access-Control-Allow-Origin": "*", // Use your website domain to secure access to GetEmbedUrl API
                    "Access-Control-Allow-Headers": "Content-Type"
                },
                "body": JSON.stringify(data),
                "isBase64Encoded": false
            }
                    getEmbedUrlCallback(result);
                }
            });
        }
    });
}
```

### Python3
<a name="embedded-q-bar-for-embedded-q-bar-for-authenticated-users-python"></a>

```
import json
import boto3
from botocore.exceptions import ClientError

sts = boto3.client('sts')

# Function to generate embedded URL  
# accountId: AWS account ID
# topicId: Topic ID to embed
# userArn: arn of registered user
# allowedDomains: Runtime allowed domain for embedding
# roleArn: IAM user role to use for embedding
# sessionName: session name for the roleArn assume role
def getEmbeddingURL(accountId, topicId, userArn, allowedDomains, roleArn, sessionName):
    try:
        assumedRole = sts.assume_role(
            RoleArn = roleArn,
            RoleSessionName = sessionName,
        )
    except ClientError as e:
        return "Error assuming role: " + str(e)
    else: 
        assumedRoleSession = boto3.Session(
            aws_access_key_id = assumedRole['Credentials']['AccessKeyId'],
            aws_secret_access_key = assumedRole['Credentials']['SecretAccessKey'],
            aws_session_token = assumedRole['Credentials']['SessionToken'],
        )
        try:
            quicksightClient = assumedRoleSession.client('quicksight', region_name='us-west-2')
            response = quicksightClient.generate_embed_url_for_registered_user(
                AwsAccountId=accountId,
                ExperienceConfiguration = {
                    "QSearchBar": {
                        "InitialTopicId": topicId
                    }
                },
                UserArn = userArn,
                AllowedDomains = allowedDomains,
                SessionLifetimeInMinutes = 600
            )
            
            return {
                'statusCode': 200,
                'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
                'body': json.dumps(response),
                'isBase64Encoded':  bool('false')
            }
        except ClientError as e:
            return "Error generating embedding url: " + str(e)
```

### Node.js
<a name="embedded-q-bar-for-embedded-q-bar-for-authenticated-users-node"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
const https = require('https');

var quicksightClient = new AWS.Service({
    apiConfig: require('./quicksight-2018-04-01.min.json'),
    region: 'us-east-1',
});

quicksightClient.generateEmbedUrlForRegisteredUser({
    'AwsAccountId': '111122223333',
    'ExperienceConfiguration': { 
        'QSearchBar': {
            'InitialTopicId': 'U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f'
        }
    },
    'UserArn': 'REGISTERED_USER_ARN',
    'AllowedDomains': allowedDomains,
    'SessionLifetimeInMinutes': 100
}, function(err, data) {
    console.log('Errors: ');
    console.log(err);
    console.log('Response: ');
    console.log(data);
});
```

**Example**  

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
    { 
        Status: 200,
        EmbedUrl: "https://quicksightdomain/embed/12345/dashboards/67890/sheets/12345/visuals/67890...",
        RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713' 
    }
```

### .NET/C\$1
<a name="embedded-q-bar-for-embedded-q-bar-for-authenticated-users-cs"></a>

다음 예제는 앱 서버에서 임베디드 Q 검색 창에 대한 URL를 생성하는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 Q 검색 창을 표시할 수 있습니다.

**Example**  

```
using System;
using Amazon.QuickSight;
using Amazon.QuickSight.Model;

namespace GenerateDashboardEmbedUrlForRegisteredUser
{
    class Program
    {
        static void Main(string[] args)
        {
            var quicksightClient = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                SessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                RegisteredUserQSearchBarEmbeddingConfiguration registeredUserQSearchBarEmbeddingConfiguration
                    = new RegisteredUserQSearchBarEmbeddingConfiguration
                    {
                        InitialTopicId = "U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f"
                    };
                RegisteredUserEmbeddingExperienceConfiguration registeredUserEmbeddingExperienceConfiguration
                    = new RegisteredUserEmbeddingExperienceConfiguration
                    {
                        QSearchBar = registeredUserQSearchBarEmbeddingConfiguration
                    }; 
                
                Console.WriteLine(
                    quicksightClient.GenerateEmbedUrlForRegisteredUserAsync(new GenerateEmbedUrlForRegisteredUserRequest
                    {
                        AwsAccountId = "111122223333",
                        ExperienceConfiguration = registeredUserEmbeddingExperienceConfiguration,
                        UserArn = "REGISTERED_USER_ARN",
                        AllowedDomains = allowedDomains,
                        SessionLifetimeInMinutes = 100
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
        }
    }
}
```

### AWS CLI
<a name="embedded-q-bar-for-embedded-q-bar-for-authenticated-users-cli"></a>

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - SAML을 사용하여 사용자를 인증할 때 이 작업을 사용하세요.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GenerateEmbedUrlForRegisteredUser`에 대한 권한이 활성화되어 있어야 합니다. 사용자가 Q 검색 창의 주제를 사용할 때 사용자를 추가하는 적시 접근 방식을 취하려면, 역할에 `quicksight:RegisterUser`에 대한 사용 권한도 활성화해야 합니다.

```
aws sts assume-role \
     --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_q_search_bar_role" \
     --role-session-name john.doe@example.com
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터의 경우, `export` 대신 `set`을(를) 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_q_search_bar_role/john.doe@example.com`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 사용자 액세스 조절을 방지할 수 있습니다. *조절*은 동일한 사용자가 여러 위치에서 Amazon Quick Sight에 액세스하지 못하도록 하는 보안 기능입니다.

역할 세션 ID도 Amazon Quick Sight의 사용자 이름이 됩니다. 이 패턴을 사용하여 Amazon Quick Sight에서 사용자를 미리 프로비저닝하거나 Q 검색 창에 처음 액세스할 때 프로비저닝할 수 있습니다.

다음 예에서는 사용자를 프로비저닝하는 데 사용할 수 있는 CLI 명령을 보여줍니다. [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html), [DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html) 및 기타 Amazon Quick Sight API 작업에 대한 자세한 내용은 [Amazon Quick Sight API 참조](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html)를 참조하세요.

```
aws quicksight register-user \
    --aws-account-id 111122223333 \
    --namespace default \
    --identity-type IAM \
    --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_q_search_bar_role" \
    --user-role READER \
    --user-name jhnd \
    --session-name "john.doe@example.com" \
    --email john.doe@example.com \
    --region us-east-1 \
    --custom-permissions-name TeamA1
```

사용자가 Microsoft AD를 통해 인증된 경우에는 설정을 위해 `RegisterUser`를 사용하지 않아도 됩니다. 대신 Amazon Quick Sight에 처음 액세스할 때 자동으로 구독해야 합니다. Microsoft AD 사용자의 경우 사용자 Amazon 리소스 이름(ARN)을 얻는 데 `DescribeUser`을(를) 사용할 수 있습니다.

사용자가 Amazon Quick Sight에 처음 액세스할 때 대시보드가 공유되는 그룹에이 사용자를 추가할 수도 있습니다. 다음 예에서는 사용자를 그룹에 추가하는 CLI 명령을 보여줍니다.

```
aws quicksight create-group-membership \
    --aws-account-id=111122223333 \
    --namespace=default \
    --group-name=financeusers \
    --member-name="embedding_quicksight_q_search_bar_role/john.doe@example.com"
```

이제 Amazon Quick Sight 사용자이기도 하고 대시보드에 액세스할 수 있는 앱 사용자가 생겼습니다.

마지막으로 대시보드에 대해 서명된 URL을 가져오려면 앱 서버에서 `generate-embed-url-for-registered-user`을 호출합니다. 그러면 임베드 가능한 대시보드 URL이 반환됩니다. 다음 예제에서는 AWS Managed Microsoft AD 또는 Single Sign-On(IAM Identity Center)을 통해 인증된 사용자에 대한 서버 측 호출을 사용하여 임베디드 대시보드의 URL을 생성하는 방법을 보여줍니다.

```
aws quicksight generate-embed-url-for-registered-user \
--aws-account-id 111122223333 \
--session-lifetime-in-minutes 600 \
--user-arn arn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_q_search_bar_role/embeddingsession
--allowed-domains '["domain1","domain2"]' \
--experience-configuration QSearchBar={InitialTopicId=U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f}
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html) 단원을 참조하세요. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

## 3단계: Q 검색 창 URL 포함
<a name="embedded-q-bar-for-authenticated-users-step-3"></a>

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html).

다음 섹션에서는 3단계의 Q 검색 창 URL을 웹사이트 또는 애플리케이션 페이지에 포함하는 방법을 알아볼 수 있습니다. [Amazon Quick Sight 임베딩 SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여이 작업을 수행할 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ Q 검색 창을 HTML 페이지에 배치하세요.
+ Q 검색창에 파라미터를 전달합니다.
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

앱에 포함할 수 있는 URL을 생성하러면, `GenerateEmbedUrlForRegisteredUser` API 작업을 직접 호출하세요. 이 URL은 5분 동안 유효하며, 결과 세션은 10시간까지 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code` 값을 제공합니다.

다음은 `generate-embed-url-for-registered-user`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
{
     "Status": "200",
     "EmbedUrl": "https://quicksightdomain/embedding/12345/q/search...",
     "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
}
```

[Amazon Quick Sight 임베딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에 Q 검색 창을 임베드](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다.

이렇게 하려면 임베디드 Q 검색 창을 호스팅할 도메인이 Amazon Quick Sight 구독에 대해 승인된 도메인 목록인 *허용 목록에* 있는지 확인합니다. 이 요건은 임베디드 대시보드에서 미승인 도메인을 제외함으로써 데이터를 보호합니다. 임베디드 Q 검색 창에 대한 도메인 추가에 대한 자세한 내용은 [도메인 관리 및 임베딩](https://docs.aws.amazon.com/quicksight/latest/user/manage-qs-domains-and-embedding.html)을 참조하세요.

Amazon Quick Sight 임베딩 SDK를 사용하는 경우 페이지의 Q 검색 창은 상태에 따라 동적으로 크기가 조정됩니다. Amazon Quick Sight 임베딩 SDK를 사용하면 Q 검색 창에서 파라미터를 제어하고 페이지 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 생성됩니다.

### SDK 2.0
<a name="embedded-q-bar-for-authenticated-users-sdkv2"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>Q Search Bar Embedding Example</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.0.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            const embedQSearchBar = async() => {    
                const {
                    createEmbeddingContext,
                } = QuickSightEmbedding;

                const embeddingContext = await createEmbeddingContext({
                    onChange: (changeEvent, metadata) => {
                        console.log('Context received a change', changeEvent, metadata);
                    },
                });

                const frameOptions = {
                    url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API
                    container: '#experience-container',
                    height: "700px",
                    width: "1000px",
                    onChange: (changeEvent, metadata) => {
                        switch (changeEvent.eventName) {
                            case 'FRAME_MOUNTED': {
                                console.log("Do something when the experience frame is mounted.");
                                break;
                            }
                            case 'FRAME_LOADED': {
                                console.log("Do something when the experience frame is loaded.");
                                break;
                            }
                        }
                    },
                };

                const contentOptions = {
                    hideTopicName: false, 
                    theme: '<YOUR_THEME_ID>',
                    allowTopicSelection: true,
                    onMessage: async (messageEvent, experienceMetadata) => {
                        switch (messageEvent.eventName) {
                            case 'Q_SEARCH_OPENED': {
                                console.log("Do something when Q Search content expanded");
                                break;
                            }
                            case 'Q_SEARCH_CLOSED': {
                                console.log("Do something when Q Search content collapsed");
                                break;
                            }
                            case 'Q_SEARCH_SIZE_CHANGED': {
                                console.log("Do something when Q Search size changed");
                                break;
                            }
                            case 'CONTENT_LOADED': {
                                console.log("Do something when the Q Search is loaded.");
                                break;
                            }
                            case 'ERROR_OCCURRED': {
                                console.log("Do something when the Q Search fails loading.");
                                break;
                            }
                        }
                    }
                };
                const embeddedDashboardExperience = await embeddingContext.embedQSearchBar(frameOptions, contentOptions);
            };
        </script>
    </head>

    <body onload="embedQSearchBar()">
        <div id="experience-container"></div>
    </body>

</html>
```

### SDK 1.0
<a name="embedded-q-bar-for-authenticated-users-sdkv1"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>QuickSight Q Search Bar Embedding</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@1.18.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            var session

            function onError(payload) {
                console.log("Do something when the session fails loading");
            }

            function onOpen() {
                console.log("Do something when the Q search bar opens");
            }

            function onClose() {
                console.log("Do something when the Q search bar closes");
            }

            function embedQSearchBar() {
                var containerDiv = document.getElementById("embeddingContainer");
                var options = {
                    url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode", // replace this dummy url with the one generated via embedding API
                    container: containerDiv,
                    width: "1000px",
                    locale: "en-US",
                    qSearchBarOptions: {
                        expandCallback: onOpen,
                        collapseCallback: onClose,
                        iconDisabled: false,
                        topicNameDisabled: false, 
                        themeId: 'bdb844d0-0fe9-4d9d-b520-0fe602d93639',
                        allowTopicSelection: true
                    }
                };
                session = QuickSightEmbedding.embedQSearchBar(options);
                session.on("error", onError);
            }

            function onCountryChange(obj) {
                session.setParameters({country: obj.value});
            }
        </script>
    </head>

    <body onload="embedQSearchBar()">
        <div id="embeddingContainer"></div>
    </body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 대시보드를 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

## 선택적 Amazon Quick Sight Q 검색 창 임베딩 기능
<a name="embedded-q-bar-for-authenticated-users-step-4"></a>

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html) 참조하세요.

임베딩 SDK를 사용하여 내장된 Q 검색 창에 다음과 같은 선택적 기능을 사용할 수 있습니다.

### Q 검색 창 작업 간접 호출
<a name="w2aac35c27c21c43c31c15c21b7"></a>

다음 옵션은 Q 검색 창 임베딩에만 지원됩니다.
+ Q 검색 창 질문 설정 - 이 기능은 질문을 Q 검색 창으로 보내고 질문을 즉시 쿼리합니다. 또한 Q 팝오버도 자동으로 열립니다.

  ```
  qBar.setQBarQuestion('show me monthly revenue');
  ```
+ Q 팝오버 닫기 - 이 기능은 Q 팝오버를 닫고 iframe을 원래 Q 검색창 크기로 되돌립니다.

  ```
  qBar.closeQPopover();
  ```

자세한 내용은 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk)를 참조하세요.

# 익명(미등록) 사용자를 위한 Amazon Quick Sight Q 검색 창 임베딩
<a name="embedded-analytics-q-search-bar-for-anonymous-users"></a>


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html) 참조하세요.

다음 섹션에서는 익명(미등록) 사용자를 위해 임베디드 Amazon Quick Sight Q 검색 창을 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](#embedded-q-bar-for-anonymous-users-step-1)
+ [2단계: 인증 코드가 첨부된 URL 생성](#embedded-q-bar-for-anonymous-users-step-2)
+ [3단계: Q 검색 창 URL 포함](#embedded-q-bar-for-anonymous-users-step-3)
+ [선택적 Amazon Quick Sight Q 검색 창 임베딩 기능](#embedded-q-bar-for-anonymous-users-step-4)

## 1단계: 권한 설정
<a name="embedded-q-bar-for-anonymous-users-step-1"></a>

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html) 참조하세요.

다음 단원에서 임베디드 Q 검색 창에 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 AWS Identity and Access Management (IAM)에 대한 관리 액세스 권한이 필요합니다.

Q 검색 창에 액세스하는 각 사용자는 Amazon Quick Sight에 Q 검색 창에 대한 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면에서 IAM 역할을 생성합니다 AWS 계정. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다. IAM 역할은 특정 사용자 풀의 임베딩 URL을 검색할 수 있는 권한을 제공해야 합니다.

와일드카드 문자 \$1를 사용하여, 특정 네임스페이스의 모든 사용자에 대해 URL을 생성할 권한을 부여할 수 있습니다. 또는 특정 네임스페이스에 있는 사용자 하위 집합에 대해 URL을 생성할 권한을 부여할 수 있습니다. 이를 위해 `quicksight:GenerateEmbedUrlForAnonymousUser`을(를) 추가합니다.

IAM 정책에 개발자가 `GenerateEmbedUrlForAnonymousUser` API 작업의 `AllowedDomains` 파라미터에 나열할 수 있는 도메인을 제한하는 조건을 만들 수 있습니다. `AllowedDomains` 파라미터는 선택 파라미터입니다. 개발자에게 **Amazon Quick Sight 관리** 메뉴에 구성된 정적 도메인을 재정의하고 생성된 URL에 액세스할 수 있는 최대 3개의 도메인 또는 하위 도메인을 나열할 수 있는 옵션을 부여합니다. 그러면 이 URL이 개발자 웹 사이트에 포함됩니다. 파라미터에 나열된 도메인만 임베디드 Q 검색 창에 액세스할 수 있습니다. 이 조건이 없으면, 개발자는 인터넷에 있는 모든 도메인을 `AllowedDomains` 파라미터에 나열할 수 있습니다.

개발자가 이 파라미터로 사용할 수 있는 도메인을 제한하려면 IAM 정책에 `AllowedEmbeddingDomains` 조건을 추가하세요. `AllowedDomains` 파라미터에 대한 자세한 내용은 Amazon Quick Sight API 참조의 [GenerateEmbedUrlForAnonymousUser](https://docs.aws.amazon.com//quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html)를 참조하세요. ** 

**IAM 조건 연산자에 대한 보안 모범 사례**  
잘못 구성된 IAM 조건 연산자는 URL 변형을 통해 임베디드 Quick 리소스에 대한 무단 액세스를 허용할 수 있습니다. IAM 정책에서 `quicksight:AllowedEmbeddingDomains` 조건 키를 사용하는 경우 특정 도메인을 허용하거나 특별히 허용되지 않는 모든 도메인을 거부하는 조건 연산자를 사용합니다. IAM 조건 연산자에 대한 자세한 내용은 [IAM 사용 설명서의 IAM JSON 정책 요소: 조건 연산자를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 참조하세요.  
다양한 URL 변형이 동일한 리소스를 가리킬 수 있습니다. 예를 들어 다음 URLs 모두 동일한 콘텐츠로 확인됩니다.  
`https://example.com`
`https://example.com/`
`https://Example.com`
정책에서 이러한 URL 변형을 고려하지 않는 연산자를 사용하는 경우 공격자는 동등한 URL 변형을 제공하여 제한을 우회할 수 있습니다.  
IAM 정책이 적절한 조건 연산자를 사용하여 우회 취약성을 방지하고 의도한 도메인만 임베디드 리소스에 액세스할 수 있는지 확인해야 합니다.

방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스하면, 애플리케이션이 사용자를 대신하여 역할을 맡아서 Q 검색 창을 열 수 있습니다. 다음 예제는 샘플 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLambdaFunctionsToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Sid": "AllowEC2InstancesToAssumeThisRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

자세한 내용은 IAM 사용 설명서의 [IAM의 임시 보안 인증](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) 단원을 참조하세요.

## 2단계: 인증 코드가 첨부된 URL 생성
<a name="embedded-q-bar-for-anonymous-users-step-2"></a>

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html).

다음 단원에서는 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 Q 주제 URL을 가져오는 방법을 알아볼 수 있습니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 앱은 사용자가 아직 없는 경우 사용자를 Amazon Quick Sight에 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/AnonymousUserQSearchBarEmbeddingConfiguration.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/AnonymousUserQSearchBarEmbeddingConfiguration.html) 단원을 참조하십시오.

### Java
<a name="embedded-q-bar-for-anonymous-users-java"></a>

```
        import java.util.List;
        import com.amazonaws.auth.AWSCredentials;
        import com.amazonaws.auth.AWSCredentialsProvider;
        import com.amazonaws.auth.BasicAWSCredentials;
        import com.amazonaws.regions.Regions;
        import com.amazonaws.services.quicksight.AmazonQuickSight;
        import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
        import com.amazonaws.services.quicksight.model.AnonymousUserQSearchBarEmbeddingConfiguration;
        import com.amazonaws.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration;
        import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest;
        import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserResult;
        import com.amazonaws.services.quicksight.model.SessionTag;


        /**
        * Class to call QuickSight AWS SDK to generate embed url for anonymous user.
        */
        public class GenerateEmbedUrlForAnonymousUserExample {

            private final AmazonQuickSight quickSightClient;

            public GenerateEmbedUrlForAnonymousUserExample() {
                quickSightClient = AmazonQuickSightClientBuilder
                    .standard()
                    .withRegion(Regions.US_EAST_1.getName())
                    .withCredentials(new AWSCredentialsProvider() {
                            @Override
                            public AWSCredentials getCredentials() {
                                // provide actual IAM access key and secret key here
                                return new BasicAWSCredentials("access-key", "secret-key");
                            }

                            @Override
                            public void refresh() {
                            }
                        }
                    )
                    .build();
            }

            public String GenerateEmbedUrlForAnonymousUser(
                final String accountId, // YOUR AWS ACCOUNT ID
                final String initialTopicId, // Q TOPIC ID TO WHICH THE CONSTRUCTED URL POINTS AND SEARCHBAR PREPOPULATES INITIALLY
                final String namespace, // ANONYMOUS EMBEDDING REQUIRES SPECIFYING A VALID NAMESPACE FOR WHICH YOU WANT THE EMBEDDING URL
                final List<String> authorizedResourceArns, // Q SEARCHBAR TOPIC ARN LIST TO EMBED
                final List<String> allowedDomains, // RUNTIME ALLOWED DOMAINS FOR EMBEDDING
                final List<SessionTag> sessionTags // SESSION TAGS USED FOR ROW-LEVEL SECURITY
            ) throws Exception {
                AnonymousUserEmbeddingExperienceConfiguration experienceConfiguration = new AnonymousUserEmbeddingExperienceConfiguration();
                AnonymousUserQSearchBarEmbeddingConfiguration qSearchBarConfiguration = new AnonymousUserQSearchBarEmbeddingConfiguration();
                qSearchBarConfiguration.setInitialTopicId(initialTopicId);
                experienceConfiguration.setQSearchBar(qSearchBarConfiguration);

                GenerateEmbedUrlForAnonymousUserRequest generateEmbedUrlForAnonymousUserRequest = new GenerateEmbedUrlForAnonymousUserRequest()
                    .withAwsAccountId(accountId)
                    .withNamespace(namespace)
                    .withAuthorizedResourceArns(authorizedResourceArns)
                    .withExperienceConfiguration(experienceConfiguration)
                    .withSessionTags(sessionTags)
                    .withSessionLifetimeInMinutes(600L); // OPTIONAL: VALUE CAN BE [15-600]. DEFAULT: 600
                    .withAllowedDomains(allowedDomains);

                GenerateEmbedUrlForAnonymousUserResult qSearchBarEmbedUrl = quickSightClient.generateEmbedUrlForAnonymousUser(generateEmbedUrlForAnonymousUserRequest);

                return qSearchBarEmbedUrl.getEmbedUrl();
            }

        }
```

### JavaScript
<a name="embedded-q-bar-for-anonymous-users-js"></a>

```
global.fetch = require('node-fetch');
const AWS = require('aws-sdk');

function generateEmbedUrlForAnonymousUser(
    accountId, // YOUR AWS ACCOUNT ID
    initialTopicId, // Q TOPIC ID TO WHICH THE CONSTRUCTED URL POINTS
    quicksightNamespace, // VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING
    authorizedResourceArns, // Q SEARCHBAR TOPIC ARN LIST TO EMBED
    allowedDomains, // RUNTIME ALLOWED DOMAINS FOR EMBEDDING
    sessionTags, // SESSION TAGS USED FOR ROW-LEVEL SECURITY
    generateEmbedUrlForAnonymousUserCallback, // SUCCESS CALLBACK METHOD
    errorCallback // ERROR CALLBACK METHOD
    ) {
    const experienceConfiguration = {
        "QSearchBar": {
            "InitialTopicId": initialTopicId // TOPIC ID CAN BE FOUND IN THE URL ON THE TOPIC AUTHOR PAGE
        }
    };
    
    const generateEmbedUrlForAnonymousUserParams = {
        "AwsAccountId": accountId,
        "Namespace": quicksightNamespace,
        "AuthorizedResourceArns": authorizedResourceArns,
        "AllowedDomains": allowedDomains,
        "ExperienceConfiguration": experienceConfiguration,
        "SessionTags": sessionTags,
        "SessionLifetimeInMinutes": 600
    };

    const quicksightClient = new AWS.QuickSight({
        region: process.env.AWS_REGION,
        credentials: {
            accessKeyId: AccessKeyId,
            secretAccessKey: SecretAccessKey,
            sessionToken: SessionToken,
            expiration: Expiration
        }
    });

    quicksightClient.generateEmbedUrlForAnonymousUser(generateEmbedUrlForAnonymousUserParams, function(err, data) {
        if (err) {
            console.log(err, err.stack);
            errorCallback(err);
        } else {
            const result = {
                "statusCode": 200,
                "headers": {
                    "Access-Control-Allow-Origin": "*", // USE YOUR WEBSITE DOMAIN TO SECURE ACCESS TO THIS API
                    "Access-Control-Allow-Headers": "Content-Type"
                },
                "body": JSON.stringify(data),
                "isBase64Encoded": false
            }
            generateEmbedUrlForAnonymousUserCallback(result);
        }
    });
}
```

### Python3
<a name="embedded-q-bar-for-anonymous-users-py"></a>

```
import json
import boto3
from botocore.exceptions import ClientError
import time

# Create QuickSight and STS clients
quicksightClient = boto3.client('quicksight',region_name='us-west-2')
sts = boto3.client('sts')

# Function to generate embedded URL for anonymous user
# accountId: YOUR AWS ACCOUNT ID
# quicksightNamespace: VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING
# authorizedResourceArns: TOPIC ARN LIST TO EMBED
# allowedDomains: RUNTIME ALLOWED DOMAINS FOR EMBEDDING
# experienceConfiguration: configuration which specifies the TOPIC ID to point URL to
# sessionTags: SESSION TAGS USED FOR ROW-LEVEL SECURITY
def generateEmbedUrlForAnonymousUser(accountId, quicksightNamespace, authorizedResourceArns, allowedDomains, experienceConfiguration, sessionTags):
    try:
        response = quicksightClient.generate_embed_url_for_anonymous_user(
            AwsAccountId = accountId,
            Namespace = quicksightNamespace,
            AuthorizedResourceArns = authorizedResourceArns,
            AllowedDomains = allowedDomains,
            ExperienceConfiguration = experienceConfiguration,
            SessionTags = sessionTags,
            SessionLifetimeInMinutes = 600
        )
            
        return {
            'statusCode': 200,
            'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
            'body': json.dumps(response),
            'isBase64Encoded':  bool('false')
        }
    except ClientError as e:
        print(e)
        return "Error generating embeddedURL: " + str(e)
```

### Node.js
<a name="embedded-q-bar-for-anonymous-users-nodejs"></a>

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 생성하는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
const https = require('https');

var quicksightClient = new AWS.Service({
    apiConfig: require('./quicksight-2018-04-01.min.json'),
    region: 'us-east-1',
});

quicksightClient.generateEmbedUrlForAnonymousUser({
    'AwsAccountId': '111122223333',
    'Namespace': 'DEFAULT'
    'AuthorizedResourceArns': '["topic-arn-topicId1","topic-arn-topicId2"]',
    'AllowedDomains': allowedDomains,
    'ExperienceConfiguration': { 
        'QSearchBar': {
            'InitialTopicId': 'U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f'
        }
    },
    'SessionTags': '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]',
    'SessionLifetimeInMinutes': 15
}, function(err, data) {
    console.log('Errors: ');
    console.log(err);
    console.log('Response: ');
    console.log(data);
});
```

**Example**  

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
    { 
        Status: 200,
        EmbedUrl : 'https://quicksightdomain/embed/12345/dashboards/67890/sheets/12345/visuals/67890...',
        RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713' 
    }
```

### .NET/C\$1
<a name="embedded-q-bar-for-anonymous-users-cs"></a>

다음 예제는 앱 서버에서 임베디드 Q 검색 창에 대한 URL를 생성하는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 Q 검색 창을 표시할 수 있습니다.

**Example**  

```
using System;
using Amazon.QuickSight;
using Amazon.QuickSight.Model;

namespace GenerateQSearchBarEmbedUrlForAnonymousUser
{
    class Program
    {
        static void Main(string[] args)
        {
            var quicksightClient = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                SessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                AnonymousUserQSearchBarEmbeddingConfiguration anonymousUserQSearchBarEmbeddingConfiguration
                    = new AnonymousUserQSearchBarEmbeddingConfiguration
                    {
                        InitialTopicId = "U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f"
                    };
                AnonymousUserEmbeddingExperienceConfiguration anonymousUserEmbeddingExperienceConfiguration
                    = new AnonymousUserEmbeddingExperienceConfiguration
                    {
                        QSearchBar = anonymousUserQSearchBarEmbeddingConfiguration
                    }; 
                
                Console.WriteLine(
                    quicksightClient.GenerateEmbedUrlForAnonymousUserAsync(new GenerateEmbedUrlForAnonymousUserRequest
                    {
                        AwsAccountId = "111122223333",
                        Namespace = "DEFAULT",
                        AuthorizedResourceArns '["topic-arn-topicId1","topic-arn-topicId2"]',
                        AllowedDomains = allowedDomains,
                        ExperienceConfiguration = anonymousUserEmbeddingExperienceConfiguration,
                        SessionTags = '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]',
                        SessionLifetimeInMinutes = 15,
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
        }
    }
}
```

### AWS CLI
<a name="embedded-q-bar-for-anonymous-users-cli"></a>

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - SAML을 사용하여 사용자를 인증할 때 이 작업을 사용하세요.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GenerateEmbedUrlForAnonymousUser`에 대한 권한이 활성화되어 있어야 합니다.

```
aws sts assume-role \
     --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_q_search_bar_role" \
     --role-session-name anonymous caller
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터의 경우, `export` 대신 `set`을(를) 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_q_search_bar_role/QuickSightEmbeddingAnonymousPolicy`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 사용자 액세스 조절을 방지할 수 있습니다. *조절*은 동일한 사용자가 여러 위치에서 Amazon Quick Sight에 액세스하지 못하도록 하는 보안 기능입니다. 또한 각 세션을 분리하고 구분할 수 있습니다. 로드 밸런싱 등을 위해 여러 웹 서버를 사용하는 경우, 세션이 다른 서버에 다시 연결되면 새 세션이 시작됩니다.

대시보드에 대해 서명된 URL을 가져오려면, 앱 서버에서 `generate-embed-url-for-anynymous-user`을(를) 호출합니다. 그러면 임베드 가능한 대시보드 URL이 반환됩니다. 다음 예제는 웹 포털 또는 앱을 익명으로 방문하는 사용자에 대해 서버 측 직접 호출을 사용하여 임베디드 대시보드의 URL을 생성하는 방법을 보여줍니다.

```
aws quicksight generate-embed-url-for-anonymous-user \
--aws-account-id 111122223333 \
--namespace default-or-something-else \
--authorized-resource-arns '["topic-arn-topicId1","topic-arn-topicId2"]' \
--allowed-domains '["domain1","domain2"]' \
--experience-configuration 'QSearchBar={InitialTopicId="topicId1"}' \
--session-tags '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]' \
--session-lifetime-in-minutes 15
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html) 단원을 참조하세요. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

## 3단계: Q 검색 창 URL 포함
<a name="embedded-q-bar-for-anonymous-users-step-3"></a>

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html) 참조하세요.

다음 섹션에서는 3단계의 Q 검색 창 URL을 웹사이트 또는 애플리케이션 페이지에 포함하는 방법을 알아볼 수 있습니다. [Amazon Quick Sight 임베딩 SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여이 작업을 수행할 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ Q 검색 창을 HTML 페이지에 배치하세요.
+ Q 검색창에 파라미터를 전달합니다.
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

앱에 포함할 수 있는 URL을 생성하러면, `GenerateEmbedUrlForAnonymousUser` API 작업을 직접 호출하세요. 이 URL은 5분 동안 유효하며, 결과 세션은 10시간까지 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code` 값을 제공합니다.

다음은 `generate-embed-url-for-anonymous-user`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
{
     "Status": "200",
     "EmbedUrl": "https://quicksightdomain/embedding/12345/q/search...",
     "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
}
```

[Amazon Quick Sight 임베딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에 Q 검색 창을 임베드](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다.

이렇게 하려면 임베디드 Q 검색 창을 호스팅할 도메인이 Amazon Quick Sight 구독에 대해 승인된 도메인 목록인 *허용 목록에* 있는지 확인합니다. 이 요건은 임베디드 Q 검색 창에서 미승인 도메인을 제외함으로써 데이터를 보호합니다. 임베디드 Q 검색 창에 대한 도메인 추가에 대한 자세한 내용은 [도메인 관리 및 임베딩](https://docs.aws.amazon.com/quicksight/latest/user/manage-qs-domains-and-embedding.html)을 참조하세요.

Amazon Quick Sight 임베딩 SDK를 사용하는 경우 페이지의 Q 검색 창은 상태에 따라 동적으로 크기가 조정됩니다. Amazon Quick Sight 임베딩 SDK를 사용하면 Q 검색 창에서 파라미터를 제어하고 페이지 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 생성됩니다.

### SDK 2.0
<a name="embedded-q-bar-for-anonymous-users-sdkv2"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>Q Search Bar Embedding Example</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.0.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            const embedQSearchBar = async() => {    
                const {
                    createEmbeddingContext,
                } = QuickSightEmbedding;

                const embeddingContext = await createEmbeddingContext({
                    onChange: (changeEvent, metadata) => {
                        console.log('Context received a change', changeEvent, metadata);
                    },
                });

                const frameOptions = {
                    url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API
                    container: '#experience-container',
                    height: "700px",
                    width: "1000px",
                    onChange: (changeEvent, metadata) => {
                        switch (changeEvent.eventName) {
                            case 'FRAME_MOUNTED': {
                                console.log("Do something when the experience frame is mounted.");
                                break;
                            }
                            case 'FRAME_LOADED': {
                                console.log("Do something when the experience frame is loaded.");
                                break;
                            }
                        }
                    },
                };

                const contentOptions = {
                    hideTopicName: false, 
                    theme: '<YOUR_THEME_ID>',
                    allowTopicSelection: true,
                    onMessage: async (messageEvent, experienceMetadata) => {
                        switch (messageEvent.eventName) {
                            case 'Q_SEARCH_OPENED': {
                                console.log("Do something when Q Search content expanded");
                                break;
                            }
                            case 'Q_SEARCH_CLOSED': {
                                console.log("Do something when Q Search content collapsed");
                                break;
                            }
                            case 'Q_SEARCH_SIZE_CHANGED': {
                                console.log("Do something when Q Search size changed");
                                break;
                            }
                            case 'CONTENT_LOADED': {
                                console.log("Do something when the Q Search is loaded.");
                                break;
                            }
                            case 'ERROR_OCCURRED': {
                                console.log("Do something when the Q Search fails loading.");
                                break;
                            }
                        }
                    }
                };
                const embeddedDashboardExperience = await embeddingContext.embedQSearchBar(frameOptions, contentOptions);
            };
        </script>
    </head>

    <body onload="embedQSearchBar()">
        <div id="experience-container"></div>
    </body>

</html>
```

### SDK 1.0
<a name="embedded-q-bar-for-anonymous-users-sdkv1"></a>

```
<!DOCTYPE html>
<html>

    <head>
        <title>QuickSight Q Search Bar Embedding</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@1.18.0/dist/quicksight-embedding-js-sdk.min.js"></script>
        <script type="text/javascript">
            var session

            function onError(payload) {
                console.log("Do something when the session fails loading");
            }

            function onOpen() {
                console.log("Do something when the Q search bar opens");
            }

            function onClose() {
                console.log("Do something when the Q search bar closes");
            }

            function embedQSearchBar() {
                var containerDiv = document.getElementById("embeddingContainer");
                var options = {
                    url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode", // replace this dummy url with the one generated via embedding API
                    container: containerDiv,
                    width: "1000px",
                    locale: "en-US",
                    qSearchBarOptions: {
                        expandCallback: onOpen,
                        collapseCallback: onClose,
                        iconDisabled: false,
                        topicNameDisabled: false, 
                        themeId: 'bdb844d0-0fe9-4d9d-b520-0fe602d93639',
                        allowTopicSelection: true
                    }
                };
                session = QuickSightEmbedding.embedQSearchBar(options);
                session.on("error", onError);
            }

            function onCountryChange(obj) {
                session.setParameters({country: obj.value});
            }
        </script>
    </head>

    <body onload="embedQSearchBar()">
        <div id="embeddingContainer"></div>
    </body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 Q 검색 창을 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

## 선택적 Amazon Quick Sight Q 검색 창 임베딩 기능
<a name="embedded-q-bar-for-anonymous-users-step-4"></a>

**참고**  
임베디드 Amazon Quick Sight Q 검색 창은 클래식 Amazon Quick Sight Q&A 환경을 제공합니다. Amazon Quick Sight는 Amazon Q Business와 통합되어 새로운 생성형 Q&A 환경을 시작합니다. 개발자는 새로운 생성형 Q&A 환경을 사용하는 것이 좋습니다. 임베디드 생성형 Q&A 환경에 대한 자세한 내용은 [Amazon Quick Sight 생성형 Q&A 환경에 Amazon Q 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-gen-bi.html).

임베딩 SDK를 사용하여 내장된 Q 검색 창에 다음과 같은 선택적 기능을 사용할 수 있습니다.

### Q 검색 창 작업 간접 호출
<a name="w2aac35c27c21c43c31c17c21b7"></a>

다음 옵션은 Q 검색 창 임베딩에만 지원됩니다.
+ Q 검색 창 질문 설정 - 이 기능은 질문을 Q 검색 창으로 보내고 질문을 즉시 쿼리합니다. 또한 Q 팝오버도 자동으로 열립니다.

  ```
  qBar.setQBarQuestion('show me monthly revenue');
  ```
+ Q 팝오버 닫기 - 이 기능은 Q 팝오버를 닫고 iframe을 원래 Q 검색창 크기로 되돌립니다.

  ```
  qBar.closeQPopover();
  ```

자세한 내용은 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk)를 참조하세요.

# GetDashboardEmbedURL 및 GetSessionEmbedURL API 작업을 사용한 분석 기능 임베딩
<a name="embedded-analytics-deprecated"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

Amazon Quick Sight 대시보드 및 Amazon Quick Sight 콘솔을 임베딩하기 위한 다음 API 작업은 GenerateEmbedUrlForAnonymousUser 및 GenerateEmbedUrlForRegisteredUser API 작업으로 대체되었습니다. 여전히 이를 사용하여 애플리케이션에 분석을 임베드할 수는 있지만 더 이상 유지 관리되지 않으며 최신 임베딩 기능을 포함하지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).
+ [GetDashboardEmbedUrl](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetDashboardEmbedUrl.html) API 작업에는 대화형 대시보드가 포함되어 있습니다.
+ [GetSessionEmbedUrl](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetSessionEmbedUrl.html) API 작업은 Amazon Quick Sight 콘솔을 포함합니다.

**Topics**
+ [(기존 API) GetDashboardEmbedURL을(를) 사용하는 모든 사용자를 위한 대시보드 임베딩](embedded-analytics-dashboards-with-anonymous-users-get.md)
+ [GetDashboardEmbedUrl(이전 API)을 사용하는 등록된 사용자를 위한 대시보드 임베딩](embedded-analytics-dashboards-for-authenticated-users-get.md)
+ [GetSessionEmbedUrl (이전 API)를 사용하여 Amazon Quick Sight 콘솔 임베딩](embedded-analytics-full-console-for-authenticated-users-get.md)

# (기존 API) GetDashboardEmbedURL을(를) 사용하는 모든 사용자를 위한 대시보드 임베딩
<a name="embedded-analytics-dashboards-with-anonymous-users-get"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 GetDashboardEmbedURL을 사용하여 모든 사용자(인증되지 않은 사용자)를 위해 임베디드 Amazon Quick Sight 대시보드를 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](embedded-analytics-dashboards-with-anonymous-users-get-step-1.md)
+ [2단계: 인증 코드가 첨부된 URL 가져오기](embedded-analytics-dashboards-with-anonymous-users-get-step-2.md)
+ [3단계: 대시보드 URL 임베드](embedded-analytics-dashboards-with-anonymous-users-get-step-3.md)

# 1단계: 권한 설정
<a name="embedded-analytics-dashboards-with-anonymous-users-get-step-1"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 단원에서 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 IAM에 대한 관리자 액세스 권한이 있어야 합니다.

대시보드에 액세스하는 각 사용자는 Amazon Quick Sight에 대시보드에 대한 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면 AWS 계정에서 IAM 역할을 생성합니다. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다.

다음 샘플 정책은 `IdentityType=ANONYMOUS`을(를) 사용할 수 있는 권한을 제공합니다. 이 접근 방식이 작동하려면 AWS 계정에 세션 팩 또는 세션 용량 요금도 필요합니다. 그렇지 않으면 사용자가 대시보드에 액세스하려고 하면 `UnsupportedPricingPlanException` 오류가 반환됩니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "quicksight:GetDashboardEmbedUrl",
              "quickSight:GetAnonymousUserEmbedUrl"
            ],
            "Resource": "*"
        }
    ]
}
```

------

방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스하면, 애플리케이션이 사용자를 대신하여 역할을 맡아서 대시보드를 열 수 있습니다. 다음 예에서는 이전의 샘플 정책을 리소스로 사용하는 `QuickSightEmbeddingAnonymousPolicy` 역할을 보여줍니다.

자세한 내용은 IAM 사용 설명서의 [IAM의 임시 보안 인증](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) 단원을 참조하세요.

# 2단계: 인증 코드가 첨부된 URL 가져오기
<a name="embedded-analytics-dashboards-with-anonymous-users-get-step-2"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 단원에서는 익명의 방문자를 대신해 인증하고 애플리케이션 서버에서 임베딩 가능한 대시보드 URL을 가져오는 방법을 알아볼 수 있습니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 사용자가 아직 없는 경우 Amazon Quick Sight에 사용자를 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

다음 예는 사용자를 대신하여 IAM 인증을 수행합니다. 식별자를 고유한 역할 세션 ID로 전달합니다. 이 코드는 앱 서버에서 실행됩니다.

------
#### [ Java ]

```
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.quicksight.AmazonQuickSight;
import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
import com.amazonaws.services.quicksight.model.GetDashboardEmbedUrlRequest;
import com.amazonaws.services.quicksight.model.GetDashboardEmbedUrlResult;

/**
 * Class to call QuickSight AWS SDK to get url for dashboard embedding.
 */
public class GetQuicksightEmbedUrlNoAuth {

    private static String ANONYMOUS = "ANONYMOUS";

    private final AmazonQuickSight quickSightClient;

    public GetQuicksightEmbedUrlNoAuth() {
        this.quickSightClient = AmazonQuickSightClientBuilder
                .standard()
                .withRegion(Regions.US_EAST_1.getName())
                .withCredentials(new AWSCredentialsProvider() {
                                     @Override
                                     public AWSCredentials getCredentials() {
                                         // provide actual IAM access key and secret key here
                                         return new BasicAWSCredentials("access-key", "secret-key");
                                     }

                                     @Override
                                     public void refresh() {}
                                 }
                )
                .build();
    }

    public String getQuicksightEmbedUrl(
            final String accountId, // YOUR AWS ACCOUNT ID
            final String dashboardId, // YOUR DASHBOARD ID TO EMBED
            final String addtionalDashboardIds, // ADDITIONAL DASHBOARD-1 ADDITIONAL DASHBOARD-2
            final boolean resetDisabled, // OPTIONAL PARAMETER TO ENABLE DISABLE RESET BUTTON IN EMBEDDED DASHBAORD
            final boolean undoRedoDisabled // OPTIONAL PARAMETER TO ENABLE DISABLE UNDO REDO BUTTONS IN EMBEDDED DASHBAORD
    ) throws Exception {
        GetDashboardEmbedUrlRequest getDashboardEmbedUrlRequest = new GetDashboardEmbedUrlRequest()
                .withDashboardId(dashboardId)
                .withAdditionalDashboardIds(addtionalDashboardIds)
                .withAwsAccountId(accountId)
                .withNamespace("default") // Anonymous embedding requires specifying a valid namespace for which you want the embedding url
                .withIdentityType(ANONYMOUS)
                .withResetDisabled(resetDisabled)
                .withUndoRedoDisabled(undoRedoDisabled);

        GetDashboardEmbedUrlResult dashboardEmbedUrl = quickSightClient.getDashboardEmbedUrl(getDashboardEmbedUrlRequest);

        return dashboardEmbedUrl.getEmbedUrl();
    }
}
```

------
#### [ JavaScript ]

```
global.fetch = require('node-fetch');
const AWS = require('aws-sdk');

function getDashboardEmbedURL(
    accountId, // YOUR AWS ACCOUNT ID
    dashboardId, // YOUR DASHBOARD ID TO EMBED
    additionalDashboardIds, // ADDITIONAL DASHBOARD-1 ADDITIONAL DASHBOARD-2
    quicksightNamespace, // VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING
    resetDisabled, // OPTIONAL PARAMETER TO ENABLE DISABLE RESET BUTTON IN EMBEDDED DASHBAORD
    undoRedoDisabled, // OPTIONAL PARAMETER TO ENABLE DISABLE UNDO REDO BUTTONS IN EMBEDDED DASHBAORD
    getEmbedUrlCallback, // GETEMBEDURL SUCCESS CALLBACK METHOD
    errorCallback // GETEMBEDURL ERROR CALLBACK METHOD
    ) {
    const getDashboardParams = {
        AwsAccountId: accountId,
        DashboardId: dashboardId,
        AdditionalDashboardIds: additionalDashboardIds,
        Namespace: quicksightNamespace,
        IdentityType: 'ANONYMOUS',
        ResetDisabled: resetDisabled,
        SessionLifetimeInMinutes: 600,
        UndoRedoDisabled: undoRedoDisabled
    };

    const quicksightGetDashboard = new AWS.QuickSight({
        region: process.env.AWS_REGION,
    });

    quicksightGetDashboard.getDashboardEmbedUrl(getDashboardParams, function(err, data) {
        if (err) {
            console.log(err, err.stack);
            errorCallback(err);
        } else {
            const result = {
                "statusCode": 200,
                "headers": {
                    "Access-Control-Allow-Origin": "*", // USE YOUR WEBSITE DOMAIN TO SECURE ACCESS TO GETEMBEDURL API
                    "Access-Control-Allow-Headers": "Content-Type"
                },
                "body": JSON.stringify(data),
                "isBase64Encoded": false
            }
            getEmbedUrlCallback(result);
        }
    });
}
```

------
#### [ Python3 ]

```
import json
import boto3
from botocore.exceptions import ClientError
import time

# Create QuickSight and STS clients
qs = boto3.client('quicksight',region_name='us-east-1')
sts = boto3.client('sts')

# Function to generate embedded URL
# accountId: YOUR AWS ACCOUNT ID
# dashboardId: YOUR DASHBOARD ID TO EMBED
# additionalDashboardIds: ADDITIONAL DASHBOARD-1 ADDITIONAL DASHBOARD-2 WITHOUT COMMAS
# quicksightNamespace: VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING
# resetDisabled: PARAMETER TO ENABLE DISABLE RESET BUTTON IN EMBEDDED DASHBAORD
# undoRedoDisabled: OPTIONAL PARAMETER TO ENABLE DISABLE UNDO REDO BUTTONS IN EMBEDDED DASHBAORD
def getDashboardURL(accountId, dashboardId, quicksightNamespace, resetDisabled, undoRedoDisabled):
    try:
        response = qs.get_dashboard_embed_url(
            AwsAccountId = accountId,
            DashboardId = dashboardId,
            AdditionalDashboardIds = additionalDashboardIds,
            Namespace = quicksightNamespace,
            IdentityType = 'ANONYMOUS',
            SessionLifetimeInMinutes = 600,
            UndoRedoDisabled = undoRedoDisabled,
            ResetDisabled = resetDisabled
        )
            
        return {
            'statusCode': 200,
            'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
            'body': json.dumps(response),
            'isBase64Encoded':  bool('false')
        }
    except ClientError as e:
        print(e)
        return "Error generating embeddedURL: " + str(e)
```

------
#### [ Node.js ]

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 가져오는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
            const https = require('https');
            
            var quicksight = new AWS.Service({
                apiConfig: require('./quicksight-2018-04-01.min.json'),
                region: 'us-east-1',
            });
            
            quicksight.getDashboardEmbedUrl({
                'AwsAccountId': '111122223333',
                'DashboardId': 'dashboard-id',
                'AdditionalDashboardIds': 'added-dashboard-id-1 added-dashboard-id-2 added-dashboard-id-3'
                'Namespace' : 'default',
                'IdentityType': 'ANONYMOUS',
                'SessionLifetimeInMinutes': 100,
                'UndoRedoDisabled': false,
                'ResetDisabled': true
            
            }, function(err, data) {
                console.log('Errors: ');
                console.log(err);
                console.log('Response: ');
                console.log(data);
            });
```

**Example**  

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
            //readability and added ellipsis to indicate that it's incomplete.
                                { Status: 200,
              EmbedUrl: 'https://dashboards.example.com/embed/620bef10822743fab329fb3751187d2d…
              RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713' }
```

------
#### [ .NET/C\$1 ]

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 가져오는 데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
            var client = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                sessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                Console.WriteLine(
                    client.GetDashboardEmbedUrlAsync(new GetDashboardEmbedUrlRequest
                    {
                        AwsAccountId = “111122223333”,
                        DashboardId = "dashboard-id",
                        AdditionalDashboardIds = "added-dashboard-id-1 added-dashboard-id-2 added-dashboard-id-3",
                        Namespace = default,
                        IdentityType = IdentityType.ANONYMOUS,
                        SessionLifetimeInMinutes = 600,
                        UndoRedoDisabled = false,
                        ResetDisabled = true
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
```

------
#### [ AWS CLI ]

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - Security Assertion Markup(SAML)을 사용하여 사용자를 인증하는 경우 이 작업을 사용하십시오.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GetDashboardEmbedURL`에 대한 권한이 활성화되어 있어야 합니다.

```
aws sts assume-role \
     --role-arn "arn:aws:iam::11112222333:role/QuickSightEmbeddingAnonymousPolicy" \
     --role-session-name anonymous caller
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터를 사용하는 경우 `export` 대신 `set`을 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_dashboard_role/QuickSightEmbeddingAnonymousPolicy`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 방문 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 각 세션을 분리하고 구분할 수 있습니다. 로드 밸런싱 등을 위해 여러 웹 서버를 사용하는 경우, 세션이 다른 서버에 다시 연결되면 새 세션이 시작됩니다.

대시보드에 대해 서명된 URL을 가져오려면, 앱 서버에서 `get-dashboard-embed-url`을(를) 호출합니다. 그러면 임베드 가능한 대시보드 URL이 반환됩니다. 다음 예제는 웹 포털 또는 앱을 익명으로 방문하는 사용자에 대해 서버 측 호출을 사용하여 임베디드 대시보드의 URL을 가져오는 방법을 보여줍니다.

```
aws quicksight get-dashboard-embed-url \
     --aws-account-id 111122223333 \
     --dashboard-id dashboard-id \
     --additional-dashboard-ids added-dashboard-id-1 added-dashboard-id-2 added-dashboard-id-3
     --namespace default-or-something-else \
     --identity-type ANONYMOUS \
     --session-lifetime-in-minutes 30 \
     --undo-redo-disabled true \
     --reset-disabled true \
     --user-arn arn:aws:quicksight:us-east-1:111122223333:user/default/QuickSightEmbeddingAnonymousPolicy/embeddingsession
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetDashboardEmbedUrl.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetDashboardEmbedUrl.html) 단원을 참조하십시오. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

------

# 3단계: 대시보드 URL 임베드
<a name="embedded-analytics-dashboards-with-anonymous-users-get-step-3"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 [Amazon Quick Sight 임베딩 SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여 웹 사이트 또는 애플리케이션 페이지의 2단계에서 대시보드 URL을 임베드하는 방법을 알아볼 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ HTML 페이지에 대시보드 배치
+ 대시보드에 파라미터 전달
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

`GetDashboardEmbedUrl` API 작업을 호출하여 앱에 포함할 수 있는 URL을 가져오세요. 이 URL은 5분 동안 유효하며 결과 세션은 10시간 동안 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code`을(를) 제공합니다.

다음은 `get-dashboard-embed-url`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
{
     "Status": "200",
     "EmbedUrl": "https: //dashboards.example.com/embed/620bef10822743fab329fb3751187d2d...",
     "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
}
```

Amazon Quick Sight 임베[딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에이 대시보드를 임베](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)딩합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다. Amazon Quick Sight 임베딩 SDK를 사용하면 대시보드 내에서 파라미터를 제어하고 페이지 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 실행됩니다.

```
<!DOCTYPE html>
<html>

<head>
    <title>Basic Embed</title>
    <!-- You can download the latest QuickSight embedding SDK version from https://www.npmjs.com/package/amazon-quicksight-embedding-sdk -->
    <!-- Or you can do "npm install amazon-quicksight-embedding-sdk", if you use npm for javascript dependencies -->
    <script src="./quicksight-embedding-js-sdk.min.js"></script>
    <script type="text/javascript">
        var dashboard;

        function embedDashboard() {
            var containerDiv = document.getElementById("embeddingContainer");
            var options = {
                // replace this dummy url with the one generated via embedding API
                url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode",  
                container: containerDiv,
                scrolling: "no",
                height: "700px",
                width: "1000px",
                footerPaddingEnabled: true
            };
            dashboard = QuickSightEmbedding.embedDashboard(options);
        }
    </script>
</head>

<body onload="embedDashboard()">
    <div id="embeddingContainer"></div>
</body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 대시보드를 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 QuickSight 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

# GetDashboardEmbedUrl(이전 API)을 사용하는 등록된 사용자를 위한 대시보드 임베딩
<a name="embedded-analytics-dashboards-for-authenticated-users-get"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).

다음 섹션에서는를 사용하여 등록된 사용자를 위해 임베디드 Amazon Quick Sight 대시보드를 설정하는 방법에 대한 자세한 정보를 확인할 수 있습니다`GetDashboardEmbedUrl`.

**Topics**
+ [1단계: 권한 설정](embedded-dashboards-for-authenticated-users-get-step-1.md)
+ [2단계: 인증 코드가 첨부된 URL 가져오기](embedded-dashboards-for-authenticated-users-get-step-2.md)
+ [3단계: 대시보드 URL 임베드](embedded-dashboards-for-authenticated-users-get-step-3.md)

# 1단계: 권한 설정
<a name="embedded-dashboards-for-authenticated-users-get-step-1"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).

다음 단원에서 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 IAM에 대한 관리자 액세스 권한이 있어야 합니다.

대시보드에 액세스하는 각 사용자는 Amazon Quick Sight에 대시보드에 대한 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면 AWS 계정에서 IAM 역할을 생성합니다. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다. IAM 역할은 대시보드 URL을 검색할 수 있는 권한을 제공해야 합니다. 이를 위해 `quicksight:GetDashboardEmbedUrl`을(를) 추가합니다.

다음 샘플 정책은 `IdentityType=IAM`을(를) 사용할 수 있는 권한을 제공합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "quicksight:GetDashboardEmbedUrl"
            ],
            "Resource": "*"
        }
    ]
}
```

------

다음 샘플 정책은 대시보드 URL을 검색할 수 있는 권한을 제공합니다. Amazon Quick Sight 리더로 처음 사용자를 생성하는 `quicksight:RegisterUser` 경우 정책을와 함께 사용합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": "quicksight:RegisterUser",
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": "quicksight:GetDashboardEmbedUrl",
      "Resource": "*",
      "Effect": "Allow"
    }
  ]
}
```

------

`QUICKSIGHT`을(를) `identityType`(으)로 사용하고 사용자의 Amazon 리소스 이름(ARN)을 제공하는 경우, 정책에서 `quicksight:GetAuthCode` 작업을 허용해야 합니다. 다음 샘플 정책은 이러한 권한을 제공합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "quicksight:GetDashboardEmbedUrl",
        "quicksight:GetAuthCode"
      ],
      "Resource": "*"
    }
  ]
}
```

------

방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스할 때 애플리케이션이 사용자를 대신하여 역할을 수임하고 Amazon Quick Sight에서 사용자를 프로비저닝할 수 있습니다. 다음 예에서는 이전의 샘플 정책을 리소스로 사용하는 `embedding_quicksight_dashboard_role` 역할을 보여줍니다.

OpenID Connect 또는 SAML 인증의 신뢰 정책에 대한 자세한 내용은 IAM 사용 설명서의 다음 단원을 참조하십시오.
+ [웹 아이덴티티 또는 OpenID Connect 페더레이션을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html)
+ [SAML 2.0 페더레이션을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)

# 2단계: 인증 코드가 첨부된 URL 가져오기
<a name="embedded-dashboards-for-authenticated-users-get-step-2"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).

다음 단원에서는 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 대시보드 URL을 가져오는 방법을 알아볼 수 있습니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 사용자가 아직 없는 경우 Amazon Quick Sight에 사용자를 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

설명된 단계를 수행하면 대시보드의 각 뷰어가 Amazon Quick Sight에서 고유하게 프로비저닝됩니다. 또한 사용자 단위 설정(예: 파라미터에 대한 동적 기본값 및 행 수준 보안)을 적용합니다.

다음 예는 사용자를 대신하여 IAM 인증을 수행합니다. 이 코드는 앱 서버에서 실행됩니다.

------
#### [ Java ]

```
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicSessionCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.quicksight.AmazonQuickSight;
import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
import com.amazonaws.services.quicksight.model.GetDashboardEmbedUrlRequest;
import com.amazonaws.services.quicksight.model.GetDashboardEmbedUrlResult;
import com.amazonaws.services.securitytoken.AWSSecurityTokenService;
import com.amazonaws.services.securitytoken.model.AssumeRoleRequest;
import com.amazonaws.services.securitytoken.model.AssumeRoleResult;

/**
 * Class to call QuickSight AWS SDK to get url for dashboard embedding.
 */
public class GetQuicksightEmbedUrlIAMAuth {

    private static String IAM = "IAM";

    private final AmazonQuickSight quickSightClient;

    private final AWSSecurityTokenService awsSecurityTokenService;

    public GetQuicksightEmbedUrlIAMAuth(final AWSSecurityTokenService awsSecurityTokenService) {
        this.quickSightClient = AmazonQuickSightClientBuilder
                .standard()
                .withRegion(Regions.US_EAST_1.getName())
                .withCredentials(new AWSCredentialsProvider() {
                                     @Override
                                     public AWSCredentials getCredentials() {
                                         // provide actual IAM access key and secret key here
                                         return new BasicAWSCredentials("access-key", "secret-key");
                                     }

                                     @Override
                                     public void refresh() {}
                                 }
                )
                .build();
        this.awsSecurityTokenService = awsSecurityTokenService;
    }

    public String getQuicksightEmbedUrl(
            final String accountId, // YOUR AWS ACCOUNT ID
            final String dashboardId, // YOUR DASHBOARD ID TO EMBED
            final String openIdToken, // TOKEN TO ASSUME ROLE WITH ROLEARN
            final String roleArn, // IAM USER ROLE TO USE FOR EMBEDDING
            final String sessionName, // SESSION NAME FOR THE ROLEARN ASSUME ROLE
            final boolean resetDisabled, // OPTIONAL PARAMETER TO ENABLE DISABLE RESET BUTTON IN EMBEDDED DASHBAORD
            final boolean undoRedoDisabled // OPTIONAL PARAMETER TO ENABLE DISABLE UNDO REDO BUTTONS IN EMBEDDED DASHBAORD
    ) throws Exception {
        AssumeRoleRequest request = new AssumeRoleRequest()
                .withRoleArn(roleArn)
                .withRoleSessionName(sessionName)
                .withTokenCode(openIdToken)
                .withDurationSeconds(3600);
        AssumeRoleResult assumeRoleResult = awsSecurityTokenService.assumeRole(request);

        AWSCredentials temporaryCredentials = new BasicSessionCredentials(
                assumeRoleResult.getCredentials().getAccessKeyId(),
                assumeRoleResult.getCredentials().getSecretAccessKey(),
                assumeRoleResult.getCredentials().getSessionToken());
        AWSStaticCredentialsProvider awsStaticCredentialsProvider = new AWSStaticCredentialsProvider(temporaryCredentials);

        GetDashboardEmbedUrlRequest getDashboardEmbedUrlRequest = new GetDashboardEmbedUrlRequest()
                .withDashboardId(dashboardId)
                .withAwsAccountId(accountId)
                .withIdentityType(IAM)
                .withResetDisabled(resetDisabled)
                .withUndoRedoDisabled(undoRedoDisabled)
                .withRequestCredentialsProvider(awsStaticCredentialsProvider);

        GetDashboardEmbedUrlResult dashboardEmbedUrl = quickSightClient.getDashboardEmbedUrl(getDashboardEmbedUrlRequest);

        return dashboardEmbedUrl.getEmbedUrl();
    }
}
```

------
#### [ JavaScript ]

```
global.fetch = require('node-fetch');
const AWS = require('aws-sdk');

function getDashboardEmbedURL(
    accountId, // YOUR AWS ACCOUNT ID
    dashboardId, // YOUR DASHBOARD ID TO EMBED
    openIdToken, // TOKEN TO ASSUME ROLE WITH ROLEARN
    roleArn, // IAM USER ROLE TO USE FOR EMBEDDING
    sessionName, // SESSION NAME FOR THE ROLEARN ASSUME ROLE
    resetDisabled, // OPTIONAL PARAMETER TO ENABLE DISABLE RESET BUTTON IN EMBEDDED DASHBAORD
    undoRedoDisabled, // OPTIONAL PARAMETER TO ENABLE DISABLE UNDO REDO BUTTONS IN EMBEDDED DASHBAORD
    getEmbedUrlCallback, // GETEMBEDURL SUCCESS CALLBACK METHOD
    errorCallback // GETEMBEDURL ERROR CALLBACK METHOD
    ) {
    const stsClient = new AWS.STS();
    let stsParams = {
        RoleSessionName: sessionName,
        WebIdentityToken: openIdToken,
        RoleArn: roleArn
    }

    stsClient.assumeRoleWithWebIdentity(stsParams, function(err, data) {
        if (err) {
            console.log('Error assuming role');
            console.log(err, err.stack);
            errorCallback(err);
        } else {
            const getDashboardParams = {
                AwsAccountId: accountId,
                DashboardId: dashboardId,
                IdentityType: 'IAM',
                ResetDisabled: resetDisabled,
                SessionLifetimeInMinutes: 600,
                UndoRedoDisabled: undoRedoDisabled
            };

            const quicksightGetDashboard = new AWS.QuickSight({
                region: process.env.AWS_REGION,
                credentials: {
                    accessKeyId: data.Credentials.AccessKeyId,
                    secretAccessKey: data.Credentials.SecretAccessKey,
                    sessionToken: data.Credentials.SessionToken,
                    expiration: data.Credentials.Expiration
                }
            });

            quicksightGetDashboard.getDashboardEmbedUrl(getDashboardParams, function(err, data) {
                if (err) {
                    console.log(err, err.stack);
                    errorCallback(err);
                } else {
                    const result = {
                        "statusCode": 200,
                        "headers": {
                            "Access-Control-Allow-Origin": "*", // USE YOUR WEBSITE DOMAIN TO SECURE ACCESS TO GETEMBEDURL API
                            "Access-Control-Allow-Headers": "Content-Type"
                        },
                        "body": JSON.stringify(data),
                        "isBase64Encoded": false
                    }
                    getEmbedUrlCallback(result);
                }
            });
        }
    });
}
```

------
#### [ Python3 ]

```
import json
import boto3
from botocore.exceptions import ClientError

# Create QuickSight and STS clients
qs = boto3.client('quicksight',region_name='us-east-1')
sts = boto3.client('sts')

# Function to generate embedded URL  
# accountId: YOUR AWS ACCOUNT ID
# dashboardId: YOUR DASHBOARD ID TO EMBED
# openIdToken: TOKEN TO ASSUME ROLE WITH ROLEARN
# roleArn: IAM USER ROLE TO USE FOR EMBEDDING
# sessionName: SESSION NAME FOR THE ROLEARN ASSUME ROLE
# resetDisabled: PARAMETER TO ENABLE DISABLE RESET BUTTON IN EMBEDDED DASHBAORD
# undoRedoDisabled: PARAMETER TO ENABLE DISABLE UNDO REDO BUTTONS IN EMBEDDED DASHBAORD
def getDashboardURL(accountId, dashboardId, openIdToken, roleArn, sessionName, resetDisabled, undoRedoDisabled):
    try:
        assumedRole = sts.assume_role(
            RoleArn = roleArn,
            RoleSessionName = sessionName,
            WebIdentityToken = openIdToken
        )
    except ClientError as e:
        return "Error assuming role: " + str(e)
    else: 
        assumedRoleSession = boto3.Session(
            aws_access_key_id = assumedRole['Credentials']['AccessKeyId'],
            aws_secret_access_key = assumedRole['Credentials']['SecretAccessKey'],
            aws_session_token = assumedRole['Credentials']['SessionToken'],
        )
        try:
            quickSight = assumedRoleSession.client('quicksight',region_name='us-east-1')
            
            response = quickSight.get_dashboard_embed_url(
                 AwsAccountId = accountId,
                 DashboardId = dashboardId,
                 IdentityType = 'IAM',
                 SessionLifetimeInMinutes = 600,
                 UndoRedoDisabled = undoRedoDisabled,
                 ResetDisabled = resetDisabled
            )
            
            return {
                'statusCode': 200,
                'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
                'body': json.dumps(response),
                'isBase64Encoded':  bool('false')
            }
        except ClientError as e:
            return "Error generating embeddedURL: " + str(e)
```

------
#### [ Node.js ]

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 가져오는 데 사용할 수 있는 JavaScript(Node.js)를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
            const https = require('https');
            
            var quicksight = new AWS.Service({
                apiConfig: require('./quicksight-2018-04-01.min.json'),
                region: 'us-east-1',
            });
            
            quicksight.getDashboardEmbedUrl({
                'AwsAccountId': '111122223333',
                'DashboardId': '1c1fe111-e2d2-3b30-44ef-a0e111111cde',
                'IdentityType': 'IAM',
                'ResetDisabled': true,
                'SessionLifetimeInMinutes': 100,
                'UndoRedoDisabled': false,
                'StatePersistenceEnabled': true
            
            }, function(err, data) {
                console.log('Errors: ');
                console.log(err);
                console.log('Response: ');
                console.log(data);
            });
```

**Example**  

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
            //readability and added ellipsis to indicate that it's incomplete.
                                { Status: 200,
              EmbedUrl: 'https://dashboards.example.com/embed/620bef10822743fab329fb3751187d2d…
              RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713' }
```

------
#### [ .NET/C\$1 ]

다음 예제는 앱 서버에서 임베디드 대시보드에 대한 URL를 가져오는 데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 대시보드를 표시할 수 있습니다.

**Example**  

```
            var client = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                sessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                Console.WriteLine(
                    client.GetDashboardEmbedUrlAsync(new GetDashboardEmbedUrlRequest
                    {
                        AwsAccountId = “111122223333”,
                        DashboardId = "1c1fe111-e2d2-3b30-44ef-a0e111111cde",
                        IdentityType = EmbeddingIdentityType.IAM,
                        ResetDisabled = true,
                        SessionLifetimeInMinutes = 100,
                        UndoRedoDisabled = false,
                        StatePersistenceEnabled = true
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
```

------
#### [ AWS CLI ]

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - SAML을 사용하여 사용자를 인증할 때 이 작업을 사용하세요.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GetDashboardEmbedURL`에 대한 권한이 활성화되어 있어야 합니다. 사용자가 대시보드를 처음 열 때 사용자를 추가하는 적시 접근 방식을 취하려면, 역할에 `quicksight:RegisterUser`에 대한 사용 권한도 활성화해야 합니다.

```
aws sts assume-role \
     --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \
     --role-session-name john.doe@example.com
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터를 사용하는 경우 `export` 대신 `set`을 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_dashboard_role/john.doe@example.com`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 사용자 액세스 조절을 방지할 수 있습니다. *조절*은 동일한 사용자가 여러 위치에서 Amazon Quick Sight에 액세스하지 못하도록 하는 보안 기능입니다.

역할 세션 ID도 Amazon Quick Sight의 사용자 이름이 됩니다. 이 패턴을 사용하여 Amazon Quick Sight에서 사용자를 미리 프로비저닝하거나 대시보드에 처음 액세스할 때 프로비저닝할 수 있습니다.

다음 예에서는 사용자를 프로비저닝하는 데 사용할 수 있는 CLI 명령을 보여줍니다. [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html), [DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html) 및 기타 Amazon Quick Sight API 작업에 대한 자세한 내용은 [Amazon Quick Sight API 참조](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html)를 참조하세요.

```
aws quicksight register-user \
     --aws-account-id 111122223333 \
     --namespace default \
     --identity-type IAM \
     --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \
     --user-role READER \
     --user-name jhnd \
     --session-name "john.doe@example.com" \
     --email john.doe@example.com \
     --region us-east-1 \
     --custom-permissions-name TeamA1
```

사용자가 Microsoft AD를 통해 인증된 경우에는 설정을 위해 `RegisterUser`를 사용하지 않아도 됩니다. 대신 Amazon Quick Sight에 처음 액세스할 때 자동으로 구독해야 합니다. Microsoft AD 사용자의 경우 사용자 ARN을 얻는 데 `DescribeUser`를 사용할 수 있습니다.

사용자가 Amazon Quick Sight에 처음 액세스할 때 대시보드가 공유되는 그룹에이 사용자를 추가할 수도 있습니다. 다음 예에서는 사용자를 그룹에 추가하는 CLI 명령을 보여줍니다.

```
aws quicksight create-group-membership \
     --aws-account-id=111122223333 \
     --namespace=default \
     --group-name=financeusers \
     --member-name="embedding_quicksight_dashboard_role/john.doe@example.com"
```

이제 Amazon Quick Sight 사용자이기도 하고 대시보드에 액세스할 수 있는 앱 사용자가 생겼습니다.

마지막으로 대시보드에 대해 서명된 URL을 가져오려면 앱 서버에서 `get-dashboard-embed-url`을 호출합니다. 그러면 임베드 가능한 대시보드 URL이 반환됩니다. 다음 예제에서는 AWS Managed Microsoft AD 또는 IAM Identity Center를 통해 인증된 사용자에 대한 서버 측 호출을 사용하여 임베디드 대시보드의 URL을 가져오는 방법을 보여줍니다.

```
aws quicksight get-dashboard-embed-url \
     --aws-account-id 111122223333 \
     --dashboard-id 1a1ac2b2-3fc3-4b44-5e5d-c6db6778df89 \
     --identity-type IAM \
     --session-lifetime-in-minutes 30 \
     --undo-redo-disabled true \
     --reset-disabled true \
     --state-persistence-enabled true \
     --user-arn arn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_dashboard_role/embeddingsession
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetDashboardEmbedUrl.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetDashboardEmbedUrl.html) 단원을 참조하십시오. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

------

# 3단계: 대시보드 URL 임베드
<a name="embedded-dashboards-for-authenticated-users-get-step-3"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).

다음 섹션에서는 [Amazon Quick Sight 임베딩 SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여 웹 사이트 또는 애플리케이션 페이지의 3단계에서 대시보드 URL을 임베딩하는 방법을 알아볼 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ HTML 페이지에 대시보드 배치
+ 대시보드에 파라미터 전달
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

`GetDashboardEmbedUrl` API 작업을 호출하여 앱에 포함할 수 있는 URL을 가져오세요. 이 URL은 5분 동안 유효하며 결과 세션은 10시간 동안 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code`을(를) 제공합니다.

다음은 `get-dashboard-embed-url`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
{
     "Status": "200",
     "EmbedUrl": "https: //dashboards.example.com/embed/620bef10822743fab329fb3751187d2d...",
     "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
}
```

[Amazon Quick Sight 임베딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에이 대시보드를 임베드](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다. Amazon Quick Sight 임베딩 SDK를 사용하면 대시보드 내에서 파라미터를 제어하고 페이지 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 생성됩니다.

```
<!DOCTYPE html>
<html>

<head>
    <title>Basic Embed</title>

    <script src="./quicksight-embedding-js-sdk.min.js"></script>
    <script type="text/javascript">
        var dashboard;

        function embedDashboard() {
            var containerDiv = document.getElementById("embeddingContainer");
            var options = {
                // replace this dummy url with the one generated via embedding API
                url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode",  
                container: containerDiv,
                scrolling: "no",
                height: "700px",
                width: "1000px",
                footerPaddingEnabled: true
            };
            dashboard = QuickSightEmbedding.embedDashboard(options);
        }
    </script>
</head>

<body onload="embedDashboard()">
    <div id="embeddingContainer"></div>
</body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 대시보드를 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```

# GetSessionEmbedUrl (이전 API)를 사용하여 Amazon Quick Sight 콘솔 임베딩
<a name="embedded-analytics-full-console-for-authenticated-users-get"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick 개발자  | 

다음 섹션에서는 `GetSessionEmbedUrl` API를 사용하여 등록된 사용자에게 사용자 지정 브랜드 작성 포털에서 Amazon Quick Sight 콘솔 환경을 제공하는 방법에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [1단계: 권한 설정](embedded-analytics-full-console-for-authenticated-users-get-step-1.md)
+ [2단계: 인증 코드가 첨부된 URL 가져오기](embedded-analytics-full-console-for-authenticated-users-get-step-2.md)
+ [3단계: 콘솔 세션 URL 임베드](embedded-analytics-full-console-for-authenticated-users-get-step-3.md)

# 1단계: 권한 설정
<a name="embedded-analytics-full-console-for-authenticated-users-get-step-1"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).

다음 단원에서 백엔드 애플리케이션 또는 웹 서버의 권한을 설정하는 방법을 알아봅니다. 이 작업을 수행하려면 IAM에 대한 관리자 액세스 권한이 있어야 합니다.

Amazon Quick Sight에 액세스하는 각 사용자는 Amazon Quick Sight에 콘솔 세션에 대한 액세스 및 권한을 부여하는 역할을 수임합니다. 이렇게 하려면 AWS 계정에서 IAM 역할을 생성합니다. IAM 정책을 역할과 연결하여 역할을 수행하는 사용자에게 권한을 제공합니다. 독자가 읽기 전용 방식으로 Amazon Quick Sight에 액세스할 수 있고 다른 데이터 또는 생성 기능에 액세스할 수 없도록 `quicksight:RegisterUser` 권한을 추가합니다. 또한 IAM 역할은 콘솔 세션 URL을 검색할 수 있는 권한을 제공해야 합니다. 이를 위해 `quicksight:GetSessionEmbedUrl`을(를) 추가합니다.

다음 샘플 정책은 `IdentityType=IAM`을(를) 사용할 수 있는 권한을 제공합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": "quicksight:RegisterUser",
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": "quicksight:GetSessionEmbedUrl",
      "Resource": "*",
      "Effect": "Allow"
    }
  ]
}
```

------

다음 샘플 정책은 콘솔 세션 URL을 검색할 수 있는 권한을 제공합니다. 임베디드 세션에 액세스하기 전에 사용자를 생성 중이면 `quicksight:RegisterUser` 없이 정책을 사용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "quicksight:GetSessionEmbedUrl"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`QUICKSIGHT`을(를) `identityType`(으)로 사용하고 사용자의 Amazon 리소스 이름(ARN)을 제공하는 경우, 정책에서 `quicksight:GetAuthCode` 작업을 허용해야 합니다. 다음 샘플 정책은 이러한 권한을 제공합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "quicksight:GetSessionEmbedUrl",
        "quicksight:GetAuthCode"
      ],
      "Resource": "*"
    }
  ]
}
```

------

방금 생성한 역할에 액세스하려면 애플리케이션의 IAM 자격 증명에 신뢰 정책이 연결되어 있어야 합니다. 즉, 사용자가 애플리케이션에 액세스하면 애플리케이션이 사용자를 대신하여 역할을 수임하고 Amazon Quick Sight에서 사용자를 프로비저닝할 수 있습니다. 다음 예에서는 이전의 샘플 정책을 리소스로 사용하는 `embedding_quicksight_console_session_role` 역할을 보여줍니다.

OpenID Connect 또는 SAML 인증의 신뢰 정책에 대한 자세한 내용은 IAM 사용 설명서의 다음 단원을 참조하십시오.
+ [웹 아이덴티티 또는 OpenID Connect 페더레이션을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html)
+ [SAML 2.0 페더레이션을 위한 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)

# 2단계: 인증 코드가 첨부된 URL 가져오기
<a name="embedded-analytics-full-console-for-authenticated-users-get-step-2"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).

다음 단원에서는 사용자를 인증하고 애플리케이션 서버에서 임베딩 가능한 콘솔 세션 URL을 가져오는 방법을 알아볼 수 있습니다.

사용자가 앱에 액세스할 때, 앱은 사용자를 대신하여 IAM 역할을 맡습니다. 그런 다음 사용자가 아직 없는 경우 Amazon Quick Sight에 사용자를 추가합니다. 다음으로 식별자를 고유한 역할 세션 ID로 전달합니다.

설명된 단계를 수행하면 콘솔 세션의 각 뷰어가 Amazon Quick Sight에서 고유하게 프로비저닝됩니다. 또한 사용자 단위 설정(예: 파라미터에 대한 동적 기본값 및 행 수준 보안)을 적용합니다.

다음 예는 사용자를 대신하여 IAM 인증을 수행합니다. 이 코드는 앱 서버에서 실행됩니다.

------
#### [ Java ]

```
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.quicksight.AmazonQuickSight;
import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder;
import com.amazonaws.services.quicksight.model.GetSessionEmbedUrlRequest;
import com.amazonaws.services.quicksight.model.GetSessionEmbedUrlResult;

/**
 * Class to call QuickSight AWS SDK to get url for session embedding.
 */
public class GetSessionEmbedUrlQSAuth {

    private final AmazonQuickSight quickSightClient;

    public GetSessionEmbedUrlQSAuth() {
        this.quickSightClient = AmazonQuickSightClientBuilder
                .standard()
                .withRegion(Regions.US_EAST_1.getName())
                .withCredentials(new AWSCredentialsProvider() {
                                     @Override
                                     public AWSCredentials getCredentials() {
                                         // provide actual IAM access key and secret key here
                                         return new BasicAWSCredentials("access-key", "secret-key");
                                     }

                                     @Override
                                     public void refresh() {}
                                 }
                )
                .build();
    }

    public String getQuicksightEmbedUrl(
            final String accountId, // YOUR AWS ACCOUNT ID
            final String userArn // REGISTERED USER ARN TO USE FOR EMBEDDING. REFER TO GETEMBEDURL SECTION IN DEV PORTAL TO FIND OUT HOW TO GET USER ARN FOR A QUICKSIGHT USER
    ) throws Exception {
        GetSessionEmbedUrlRequest getSessionEmbedUrlRequest = new GetSessionEmbedUrlRequest()
                .withAwsAccountId(accountId)
                .withEntryPoint("/start")
                .withUserArn(userArn);

        GetSessionEmbedUrlResult sessionEmbedUrl = quickSightClient.getSessionEmbedUrl(getSessionEmbedUrlRequest);

        return sessionEmbedUrl.getEmbedUrl();
    }
}
```

------
#### [ JavaScript ]

```
global.fetch = require('node-fetch');
const AWS = require('aws-sdk');

function getSessionEmbedURL(
    accountId, // YOUR AWS ACCOUNT ID
    userArn, // REGISTERED USER ARN TO USE FOR EMBEDDING. REFER TO GETEMBEDURL SECTION IN DEV PORTAL TO FIND OUT HOW TO GET USER ARN FOR A QUICKSIGHT USER
    getEmbedUrlCallback, // GETEMBEDURL SUCCESS CALLBACK METHOD
    errorCallback // GETEMBEDURL ERROR CALLBACK METHOD
    ) {
    const getSessionParams = {
        AwsAccountId: accountId,
        EntryPoint: "/start",
        UserArn: userArn,
        SessionLifetimeInMinutes: 600,
    };

    const quicksightGetSession = new AWS.QuickSight({
        region: process.env.AWS_REGION,
    });

    quicksightGetSession.getSessionEmbedUrl(getSessionParams, function(err, data) {
        if (err) {
            console.log(err, err.stack);
            errorCallback(err);
        } else {
            const result = {
                "statusCode": 200,
                "headers": {
                    "Access-Control-Allow-Origin": "*", // USE YOUR WEBSITE DOMAIN TO SECURE ACCESS TO GETEMBEDURL API
                    "Access-Control-Allow-Headers": "Content-Type"
                },
                "body": JSON.stringify(data),
                "isBase64Encoded": false
            }
            getEmbedUrlCallback(result);
        }
    });
}
```

------
#### [ Python3 ]

```
import json
import boto3
from botocore.exceptions import ClientError
import time

# Create QuickSight and STS clients
qs = boto3.client('quicksight',region_name='us-east-1')
sts = boto3.client('sts')

# Function to generate embedded URL
# accountId: YOUR AWS ACCOUNT ID
# userArn: REGISTERED USER ARN TO USE FOR EMBEDDING. REFER TO GETEMBEDURL SECTION IN DEV PORTAL TO FIND OUT HOW TO GET USER ARN FOR A QUICKSIGHT USER
def getSessionEmbedURL(accountId, userArn):
    try:
        response = qs.get_session_embed_url(
            AwsAccountId = accountId,
            EntryPoint = "/start",
            UserArn = userArn,
            SessionLifetimeInMinutes = 600
        )
            
        return {
            'statusCode': 200,
            'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"},
            'body': json.dumps(response),
            'isBase64Encoded':  bool('false')
        }
    except ClientError as e:
        print(e)
        return "Error generating embeddedURL: " + str(e)
```

------
#### [ Node.js ]

다음 예제는 앱 서버에서 임베디드 콘솔 세션에 대한 URL를 가져오는데 사용할 수 있는 JavaScript(Node.js)를 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 콘솔 세션을 표시할 수 있습니다.

**Example**  

```
const AWS = require('aws-sdk');
            const https = require('https');
            
            var quicksight = new AWS.Service({
                apiConfig: require('./quicksight-2018-04-01.min.json'),
                region: 'us-east-1',
            });
            
            quicksight.GetSessionEmbedUrl({
                'AwsAccountId': '111122223333',
                'EntryPoint': 'https://url-for-console-page-to-open',
                'SessionLifetimeInMinutes': 600,
                'UserArn': 'USER_ARN'
            
            }, function(err, data) {
                console.log('Errors: ');
                console.log(err);
                console.log('Response: ');
                console.log(data);
            });
```

**Example**  

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
            //readability and added ellipsis to indicate that it's incomplete.
                                { Status: 200,
              EmbedUrl: 'https://dashboards.example.com/embed/620bef10822743fab329fb3751187d2d…
              RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713' }
```

------
#### [ .NET/C\$1 ]

다음 예제는 앱 서버에서 임베디드 콘솔 세션에 대한 URL를 가져오는데 사용할 수 있는 .NET/C\$1 코드를 보여줍니다. 웹 사이트 또는 앱에서 이 URL을 사용하여 콘솔을 표시할 수 있습니다.

**Example**  

```
            var client = new AmazonQuickSightClient(
                AccessKey,
                SecretAccessKey,
                sessionToken,
                Amazon.RegionEndpoint.USEast1);
            try
            {
                Console.WriteLine(
                    client.GetSessionEmbedUrlAsync(new GetSessionEmbedUrlRequest
                    {
                'AwsAccountId': '111122223333',
                'EntryPoint': 'https://url-for-console-page-to-open',
                'SessionLifetimeInMinutes': 600,
                'UserArn': 'USER_ARN'
                        AwsAccountId = 111122223333,
                        EntryPoint = https://url-for-console-page-to-open,
                        SessionLifetimeInMinutes = 600,
                        UserArn = 'USER_ARN'
                    }).Result.EmbedUrl
                );
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
```

------
#### [ AWS CLI ]

역할을 수임하려면 다음 AWS Security Token Service (AWS STS) API 작업 중 하나를 선택합니다.
+ [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - IAM 자격 증명을 사용하여 역할을 수임하는 경우 사용합니다.
+ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) - 웹 ID 공급자를 사용하여 사용자를 인증하는 경우 이 작업을 사용하세요.
+ [AssumeRoleWithSaml](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) - SAML을 사용하여 사용자를 인증할 때 이 작업을 사용하세요.

다음 예에서는 IAM 역할을 설정하는 CLI 명령을 보여줍니다. 역할은 `quicksight:GetSessionEmbedUrl`에 대한 권한이 활성화되어 있어야 합니다. 사용자가 Amazon Quick Sight를 처음 열 때 사용자를 추가하기 위해 just-in-time 접근 방식을 취하는 경우 역할에는에 대한 권한도 활성화되어 있어야 합니다`quicksight:RegisterUser`.

```
aws sts assume-role \
     --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \
     --role-session-name john.doe@example.com
```

`assume-role` 작업은 액세스 키, 보안 키 및 세션 토큰의 세 가지 출력 파라미터를 반환합니다.

**참고**  
`AssumeRole` 작업을 호출할 때 `ExpiredToken` 오류가 발생할 경우, 이는 아마도 이전의 `SESSION TOKEN`이(가) 환경 변수에 남아 있기 때문입니다. 다음 변수를 설정하여 이를 삭제합니다.  
*AWS\$1ACCESS\$1KEY\$1ID* 
*AWS\$1SECRET\$1ACCESS\$1KEY* 
*AWS\$1SESSION\$1TOKEN* 

다음 예에서는 CLI에서 세 파라미터를 설정하는 방법을 보여줍니다. Microsoft Windows 컴퓨터를 사용하는 경우 `export` 대신 `set`을 사용하십시오.

```
export AWS_ACCESS_KEY_ID     = "access_key_from_assume_role"
export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role"
export AWS_SESSION_TOKEN     = "session_token_from_assume_role"
```

이러한 명령을 실행하여 웹 사이트를 방문하는 사용자의 역할 세션 ID를 `embedding_quicksight_console_session_role/john.doe@example.com`으로 설정합니다. 역할 세션 ID는 `role-arn`의 역할 이름과 `role-session-name` 값으로 구성됩니다. 각 사용자에 대해 적절한 권한을 설정하려면 각 사용자에 대해 고유한 역할 세션 ID를 사용해야 합니다. 또한 사용자 액세스 조절을 방지할 수 있습니다. 조절은 동일한 사용자가 여러 위치에서 Amazon Quick Sight에 액세스하지 못하도록 하는 보안 기능입니다.

역할 세션 ID도 Amazon Quick Sight의 사용자 이름이 됩니다. 이 패턴을 사용하여 Amazon Quick Sight에서 사용자를 미리 프로비저닝하거나 콘솔 세션에 처음 액세스할 때 프로비저닝할 수 있습니다.

다음 예에서는 사용자를 프로비저닝하는 데 사용할 수 있는 CLI 명령을 보여줍니다. [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html), [DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html) 및 기타 Amazon Quick Sight API 작업에 대한 자세한 내용은 [Amazon Quick Sight API 참조](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html)를 참조하세요.

```
aws quicksight register-user \
     --aws-account-id 111122223333 \
     --namespace default \
     --identity-type IAM \
     --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \
     --user-role READER \
     --user-name jhnd \
     --session-name "john.doe@example.com" \
     --email john.doe@example.com \
     --region us-east-1 \
     --custom-permissions-name TeamA1
```

사용자가 Microsoft AD를 통해 인증된 경우에는 설정을 위해 `RegisterUser`를 사용하지 않아도 됩니다. 대신 Amazon Quick Sight에 처음 액세스할 때 자동으로 구독해야 합니다. Microsoft AD 사용자의 경우 사용자 ARN을 얻는 데 `DescribeUser`를 사용할 수 있습니다.

사용자가 Amazon Quick Sight에 처음 액세스할 때이 사용자를 적절한 그룹에 추가할 수도 있습니다. 다음 예에서는 사용자를 그룹에 추가하는 CLI 명령을 보여줍니다.

```
aws quicksight create-group-membership \
     --aws-account-id=111122223333 \
     --namespace=default \
     --group-name=financeusers \
     --member-name="embedding_quicksight_dashboard_role/john.doe@example.com"
```

이제 Amazon Quick Sight 사용자이기도 하고 Amazon Quick Sight 콘솔 세션에 액세스할 수 있는 앱 사용자가 생겼습니다.

마지막으로 콘솔 세션에 대해 서명된 URL을 가져오려면, 앱 서버에서 `get-session-embed-url`을(를) 호출합니다. 그러면 임베드 가능한 콘솔 세션 URL이 반환됩니다. 다음 예제에서는 AWS Managed Microsoft AD 또는 Single Sign-On(IAM Identity Center)을 통해 인증된 사용자에 대한 서버 측 호출을 사용하여 임베디드 콘솔 세션의 URL을 가져오는 방법을 보여줍니다.

```
aws quicksight get-dashboard-embed-url \
     --aws-account-id 111122223333 \
     --entry-point the-url-for--the-console-session \
     --session-lifetime-in-minutes 600 \
     --user-arn arn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_dashboard_role/embeddingsession
```

이 작업의 사용에 대한 자세한 내용은 [https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetSessionEmbedUrl.html](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetSessionEmbedUrl.html) 단원을 참조하십시오. 자체 코드에서 이 작업 및 다른 API 작업을 사용할 수 있습니다.

------

# 3단계: 콘솔 세션 URL 임베드
<a name="embedded-analytics-full-console-for-authenticated-users-get-step-3"></a>

**중요**  
Amazon Quick Sight에는 임베딩 분석을 위한 새로운 APIs인 `GenerateEmbedUrlForAnonymousUser` 및가 있습니다`GenerateEmbedUrlForRegisteredUser`.  
`GetDashboardEmbedUrl` 및 `GetSessionEmbedUrl` APIs를 사용하여 대시보드와 Amazon Quick Sight 콘솔을 임베딩할 수 있지만 최신 임베딩 기능은 포함되어 있지 않습니다. up-to-date 임베딩 환경은 [애플리케이션에 Amazon Quick Sight 분석 임베딩을 참조하세요](https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html).

다음 섹션에서는 [Amazon Quick Sight 임베딩 SDK](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)(JavaScript)를 사용하여 웹 사이트 또는 애플리케이션 페이지의 3단계에서 콘솔 세션 URL을 임베딩하는 방법을 확인할 수 있습니다. SDK를 사용하여 다음 작업을 수행할 수 있습니다.
+ 콘솔 세션을 HTML 페이지에 배치합니다.
+ 콘솔 세션에 파라미터를 전달합니다.
+ 애플리케이션에 사용자 지정되는 메시지로 오류 상태 처리

`GetSessionEmbedUrl` API 작업을 호출하여 앱에 포함할 수 있는 URL을 가져오세요. 이 URL은 5분 동안 유효하며 결과 세션은 10시간 동안 유효합니다. 이 API 작업은 URL에 single-sign on 세션을 허용하는 `auth_code`을(를) 제공합니다.

다음은 `get-dashboard-embed-url`의 응답 예입니다.

```
//The URL returned is over 900 characters. For this example, we've shortened the string for
//readability and added ellipsis to indicate that it's incomplete.
{
     "Status": "200",
     "EmbedUrl": "https: //dashboards.example.com/embed/620bef10822743fab329fb3751187d2d...",
     "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713"
}
```

Amazon Quick Sight 임베[딩 SDK를 사용하거나이 URL을 iframe에 추가하여 웹 페이지에이 콘솔 세션을 임베](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)딩합니다. 고정 높이 및 너비 숫자(픽셀)를 설정하면 Amazon Quick Sight는 이를 사용하며 창의 크기가 조정될 때 시각적 객체를 변경하지 않습니다. 상대 백분율 높이와 너비를 설정하면 Amazon Quick Sight는 창 크기가 변경될 때 수정되는 응답형 레이아웃을 제공합니다. Amazon Quick Sight 임베딩 SDK를 사용하면 콘솔 세션 내에서 파라미터를 제어하고 페이지 로드 완료 및 오류 측면에서 콜백을 수신할 수도 있습니다.

다음 예제는 생성된 URL을 사용하는 방법을 보여 줍니다. 이 코드는 앱 서버에서 생성됩니다.

```
<!DOCTYPE html>
<html>

<head>
    <title>Basic Embed</title>

    <script src="./quicksight-embedding-js-sdk.min.js"></script>
    <script type="text/javascript">
        var dashboard;

        function embedDashboard() {
            var containerDiv = document.getElementById("embeddingContainer");
            var options = {
                // replace this dummy url with the one generated via embedding API
                url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode",  
                container: containerDiv,
                scrolling: "no",
                height: "700px",
                width: "1000px",
                footerPaddingEnabled: true
            };
            dashboard = QuickSightEmbedding.embedDashboard(options);
        }
    </script>
</head>

<body onload="embedDashboard()">
    <div id="embeddingContainer"></div>
</body>

</html>
```

이 예제가 작동하려면 Amazon Quick Sight 임베딩 SDK를 사용하여 JavaScript를 사용하여 웹 사이트에 임베디드 콘솔 세션을 로드해야 합니다. 이 정보를 얻으려면 다음 중 하나를 수행합니다.
+ GitHub에서 [Amazon Quick Sight 임베딩 SDK](https://github.com/awslabs/amazon-quicksight-embedding-sdk#step-3-create-the-quicksight-session-object)를 다운로드합니다. 이 리포지토리는 Amazon Quick Sight 개발자 그룹이 유지 관리합니다.
+ [https://www.npmjs.com/package/amazon-quicksight-embedding-sdk](https://www.npmjs.com/package/amazon-quicksight-embedding-sdk)에서 최신 임베딩 SDK 버전을 다운로드하세요.
+ JavaScript 종속성에 `npm`을(를) 사용하는 경우 다음 명령을 실행하여 다운로드하고 설치합니다.

  ```
  npm install amazon-quicksight-embedding-sdk
  ```