Skip to content
GitHubXDiscordRSS

Analysis

Learn how to create, update, and manage AWS QuickSight Analyses using Alchemy Cloud Control.

The Analysis resource lets you manage AWS QuickSight Analyses for visualizing and exploring your data.

Create a basic QuickSight Analysis with the required properties.

import AWS from "alchemy/aws/control";
const basicAnalysis = await AWS.QuickSight.Analysis("basic-analysis", {
Name: "Sales Analysis",
AnalysisId: "sales-analysis-001",
AwsAccountId: "123456789012",
SourceEntity: {
SourceTemplate: {
DataSourceArn: "arn:aws:quicksight:us-east-1:123456789012:datasource/sales-data-source",
TemplateArn: "arn:aws:quicksight:us-east-1:123456789012:template/sales-template",
DataSetReferences: [{
DataSetArn: "arn:aws:quicksight:us-east-1:123456789012:dataset/sales-data-set",
DataSetPlaceholder: "SalesData"
}]
}
},
Status: "CREATED"
});

Configure an analysis with a custom theme and permissions.

const advancedAnalysis = await AWS.QuickSight.Analysis("advanced-analysis", {
Name: "Marketing Insights",
AnalysisId: "marketing-analysis-002",
AwsAccountId: "123456789012",
SourceEntity: {
SourceTemplate: {
DataSourceArn: "arn:aws:quicksight:us-east-1:123456789012:datasource/marketing-data-source",
TemplateArn: "arn:aws:quicksight:us-east-1:123456789012:template/marketing-template",
DataSetReferences: [{
DataSetArn: "arn:aws:quicksight:us-east-1:123456789012:dataset/marketing-data-set",
DataSetPlaceholder: "MarketingData"
}]
}
},
ThemeArn: "arn:aws:quicksight:us-east-1:123456789012:theme/my-custom-theme",
Permissions: [{
Principal: "arn:aws:quicksight:us-east-1:123456789012:group/analysts",
Actions: [
"quicksight:DescribeAnalysis",
"quicksight:UpdateAnalysis",
"quicksight:DeleteAnalysis"
]
}],
Status: "CREATED"
});

Define an analysis with specific parameters for dynamic filtering.

const parameterizedAnalysis = await AWS.QuickSight.Analysis("parameterized-analysis", {
Name: "Regional Sales Overview",
AnalysisId: "regional-sales-analysis-003",
AwsAccountId: "123456789012",
SourceEntity: {
SourceTemplate: {
DataSourceArn: "arn:aws:quicksight:us-east-1:123456789012:datasource/region-data-source",
TemplateArn: "arn:aws:quicksight:us-east-1:123456789012:template/region-template",
DataSetReferences: [{
DataSetArn: "arn:aws:quicksight:us-east-1:123456789012:dataset/region-data-set",
DataSetPlaceholder: "RegionData"
}]
}
},
Parameters: {
StringParameters: [{
Name: "Region",
Values: ["North America"]
}]
},
Status: "CREATED"
});

Create an analysis while handling potential errors.

try {
const errorHandledAnalysis = await AWS.QuickSight.Analysis("error-handling-analysis", {
Name: "Error Handling in Analysis",
AnalysisId: "error-analysis-004",
AwsAccountId: "123456789012",
SourceEntity: {
SourceTemplate: {
DataSourceArn: "arn:aws:quicksight:us-east-1:123456789012:datasource/error-data-source",
TemplateArn: "arn:aws:quicksight:us-east-1:123456789012:template/error-template",
DataSetReferences: [{
DataSetArn: "arn:aws:quicksight:us-east-1:123456789012:dataset/error-data-set",
DataSetPlaceholder: "ErrorData"
}]
}
},
Name: "Error Handling Analysis",
Status: "CREATED"
});
} catch (error) {
console.error("Error creating analysis:", error);
}