Saturday, October 14, 2023
HomeBig DataMeasure the adoption of your Amazon QuickSight dashboards and look at your...

Measure the adoption of your Amazon QuickSight dashboards and look at your BI portfolio in a single pane of glass


Amazon QuickSight is a totally managed, cloud-native enterprise intelligence (BI) service. When you plan to deploy enterprise-grade QuickSight dashboards, measuring person adoption and utilization patterns is a crucial ingredient for the success of your BI funding. For instance, figuring out the utilization patterns like geo location, division, and job function can assist you fine-tune your dashboards to the appropriate viewers. Moreover, to return the funding of your BI portfolio, with dashboard utilization, you may cut back license prices by figuring out inactive QuickSight authors.

On this publish, we introduce the newest Admin Console, an AWS packaged resolution that you could simply deploy and use to create a utilization and stock dashboard in your QuickSight belongings. The Admin Console helps establish utilization patterns of a person person and dashboards. It may possibly additionally aid you observe which dashboards and teams you’ve or want entry to, and what you are able to do with that entry, by offering extra particulars on QuickSight group and person permissions and actions and QuickSight asset (dashboards, analyses, and datasets) permissions. With well timed entry to interactive utilization metrics, the Admin Console can assist BI leaders and directors make a cost-efficient plan for dashboard enhancements. One other widespread use case of this dashboard is to supply a centralized repository of the QuickSight belongings. QuickSight artifacts consists of a number of varieties of belongings (dashboards, analyses, datasets, and extra) with dependencies between them. Having a single repository to view all belongings and their dependencies will be an vital factor in your enterprise knowledge dictionary.

This publish demonstrates how one can construct the Admin Console utilizing a serverless knowledge pipeline. With fundamental AWS data, you may create this resolution in your individual surroundings inside an hour. Alternatively, you may dive deep into the supply code to fulfill your particular wants.

Admin Console dashboard

The next animation shows the contents of our demo dashboard.

The Admin Console dashboard consists of six sheets:

  • Touchdown Web page – Offers drill-down into every detailed tabs.
  • Person Evaluation – Offers detailed evaluation of the person conduct and identifies energetic and inactive customers and authors.
  • Dashboard Evaluation – Reveals essentially the most generally considered dashboards.
  • Belongings Entry Permissions – Offers data on permissions utilized to every asset, akin to dashboard, evaluation, datasets, knowledge supply, and themes.
  • Information Dictionary – Offers data on the relationships between every of your belongings, akin to which evaluation was used to construct every dashboard, and which datasets and knowledge sources are being utilized in every evaluation. It additionally offers particulars on every dataset, together with schema title, desk title, columns, and extra.
  • Overview – Offers directions on how one can use the dashboard.

You possibly can interactively play with the pattern dashboard within the following Interactive Dashboard Demo.

Let’s take a look at Forwood Security, an progressive, values-driven firm with a laser deal with fatality prevention. An early adopter of QuickSight, they collaborated with AWS to deploy this resolution to gather BI utility utilization insights.

“Our engineers love this admin console resolution,” says Faye Crompton, Chief of Analytics and Benchmarking at Forwood. “It helps us to grasp how customers analyze essential management learnings by serving to us to shortly establish essentially the most often visited dashboards in Forwood’s self-service analytics and reporting device, FAST.”

Resolution overview

The next diagram illustrates the workflow of the answer.

The workflow entails the next steps:

  1. The AWS Lambda operate Data_Prepare is scheduled to run hourly. This operate calls QuickSight APIs to get the QuickSight namespace, group, person, and asset entry permissions data.
  2. The Lambda operate Dataset_Info is scheduled to run hourly. This operate calls QuickSight APIs to get dashboard, evaluation, dataset, and knowledge supply data.
  3. Each the features save the outcomes to an Amazon Easy Storage Service (Amazon S3) bucket.
  4. AWS CloudTrail logs are saved in an S3 bucket.
  5. Primarily based on the file in Amazon S3 that comprises user-group data, dataset data, QuickSight belongings entry permissions data, in addition to dashboard views and person login occasions from the CloudTrail logs, 5 Amazon Athena tables are created. Optionally, the BI engineer can mix these tables with worker data tables to show human useful resource data of the customers.
  6. 4 QuickSight datasets fetch the information from the Athena tables created in Step 5 and import them into SPICE. Then, primarily based on these datasets, a QuickSight dashboard is created.

Conditions

For this walkthrough, it is best to have the next conditions:

  • An AWS account
  • Entry to the next AWS companies:
  • Fundamental data of Python
  • Fundamental data of SQL

Create resolution sources

We are able to create all of the sources wanted for this dashboard utilizing three CloudFormation templates: one for Lambda features, one for Athena tables, and one for QuickSight objects.

CloudFormation template for Lambda features

This template creates the Lambda features data_prepare and dataset_info.

  • Select Launch Stack and comply with the steps to create these sources.

After the stack creation is profitable, you’ve two Lambda features, data_prepare and dataset_info, and one S3 bucket named admin-console[AWS-account-ID]. You possibly can confirm if the Lambda operate can run efficiently and if the group_membership, object_access, datasets_info, and data_dictionary folders are created within the S3 bucket below admin-console[AWS-account-ID]/monitoring/quicksight/, as proven within the following screenshots.

The Data_Prepare Lambda operate is scheduled to run hourly with the CloudWatch Occasions rule admin-console-every-hour. This operate calls the QuickSight Belongings APIs to get QuickSight customers, belongings, and the entry permissions data. Lastly, this operate creates two recordsdata, group_membership.csv and object_access.csv, and saves these recordsdata to an S3 bucket.

The Dataset_Info Lambda operate is scheduled to run hourly and calls the QuickSight Belongings APIs to get datasets, schemas, tables, and fields (columns) data. Then this operate creates two recordsdata, datasets_info.csv and data_dictionary.csv, and saves these recordsdata to an S3 bucket.

  •  Create a CloudTrail log in the event you don’t have already got one and notice down the S3 bucket title of the log recordsdata for future use.
  •  Notice down all of the sources created from the earlier steps. If the S3 bucket title for the CloudTrail log from step 2 is completely different from the one in step 1’s output, use the S3 bucket from step 2.

The next desk summarizes the keys and values you employ when creating the Athena tables with the following CloudFormation stack.

Key Worth Description
cloudtraillog s3://cloudtrail-awslogs-[aws-account-id]-do-not-delete/AWSLogs/[aws-account-id]/CloudTrail The Amazon S3 location of the CloudTrail log
cloudtraillogtablename cloudtrail_logs The desk title of CloudTrail log
groupmembership s3://admin-console[aws-account-id]/monitoring/quicksight/group_membership The Amazon S3 location of group_membership.csv
objectaccess s3://admin-console[aws-account-id]/monitoring/quicksight/object_access The Amazon S3 location of object_access.csv
dataset data s3://admin-console[aws-account-id]/monitoring/quicksight/datsets_info The Amazon S3 location of datsets_info.csv
datadict s3://admin-console[aws-account-id]/monitoring/quicksight/data_dictionary The Amazon S3 location of data_dictionary.csv

CloudFormation template for Athena tables

To create your Athena tables, full the next steps:

  • Obtain the next JSON file.
  • Edit the file and exchange the corresponding fields with the keys and values you famous within the earlier part.

For instance, seek for the groupmembership key phrase.

Then exchange the situation worth with the Amazon S3 location for the groupmembership folder.

  • Create Athena tables by deploying this edited file as a CloudFormation template. For directions, seek advice from Get began.

After a profitable deployment, you’ve a database known as admin-console created in AwsDataCatalog in Athena and three tables within the database: cloudtrail_logs, group_membership, object_access, datasets_info and data_dict

  • Verify the tables by way of the Athena console.

The next screenshot reveals pattern knowledge of the group_membership desk.

The next screenshot reveals pattern knowledge of the object_access desk.

For directions on constructing an Athena desk with CloudTrail occasions, see Amazon QuickSight Now Helps Audit Logging with AWS CloudTrail. For this publish, we create the desk cloudtrail_logs within the default database.

  • In spite of everything 5 tables are created in Athena, go to the safety permissions on the QuickSight console to allow bucket entry for s3://admin-console[AWS-account-ID] and s3://cloudtrail-awslogs-[aws-account-id]-do-not-delete.
  • Allow Athena entry below Safety & Permissions.

Now QuickSight can entry all 5 tables by Athena.

CloudFormation template for QuickSight objects

To create the QuickSight objects, full the next steps:

  • Select Launch Stack to create the QuickSight datasets and dashboard:

  • Present the ARN you famous earlier.

After a profitable deployment, 4 datasets named Admin-Console-Group-Membership, Admin-Console-dataset-info, Admin-Console-Object-Entry, and Admin-Console-CFN-Primary are created and you’ve got the dashboard named admin-console-dashboard. If modifying the dashboard is most well-liked, use the dashboard save-as choice, then recreate the evaluation, make modifications, and publish a brand new dashboard.

  • Set your most well-liked SPICE refresh schedule for the 4 SPICE datasets, and share the dashboard in your group as wanted.

Dashboard demo

The next screenshot reveals the Admin Console Touchdown web page.

The next screenshot reveals the Person Evaluation sheet.

The next screenshot reveals the Dashboards Evaluation sheet.

The next screenshot reveals the Entry Permissions sheet.

The next screenshot reveals the Information Dictionary sheet.

The next screenshot reveals the Overview sheet.

You possibly can interactively play with the pattern dashboard within the following Interactive Dashboard Demo.

You possibly can reference the general public template of the previous dashboard in create-template, create-analysis, and create-dashboard API calls to create this dashboard and evaluation in your account. The general public template of this dashboard with the template ARN is 'TemplateArn': 'arn:aws:quicksight:us-east-1:889399602426:template/admin-console'.

Ideas and methods

Listed below are some superior ideas and methods to construct the dashboard because the Admin Console to investigate utilization metrics. The next steps are primarily based on the dataset admin_console. You possibly can apply the identical logic to create the calculated fields to investigate person login actions.

  • Create parameters – For instance, we will create a parameter known as InActivityMonths, as within the following screenshot. Equally, we will create different parameters akin to InActivityDays, Begin Date, and Finish Date.

  • Create controls primarily based on the parameters – Within the following screenshot, we create controls primarily based on the beginning and finish date.

  • Create calculated fields – As an illustration, we will create a calculated discipline to detect the energetic or inactive standing of QuickSight authors. If the time span between the newest view dashboard exercise and now could be bigger or equal to the quantity outlined within the Inactivity Months management, the writer standing is Inactive. The next screenshot reveals the related code. In keeping with the end-user’s necessities, we will outline a number of calculated fields to carry out the evaluation.

  • Create visuals – For instance, we create an perception to show the highest three dashboard views by reader and a visible to show the authors of those dashboards.

  • Add URL actions – You possibly can add an URL motion to outline some additional options to e mail inactive authors or examine particulars of customers.

The next pattern code defines the motion to e mail inactive authors:

mailto:<<e mail>>?topic=Alert to inactive writer! &physique=Hello, <<username>>, any writer with out exercise for greater than a month can be deleted. Please log in to your QuickSight account to proceed accessing and constructing analyses and dashboards!

Clear up

To keep away from incurring future costs, delete all of the sources you created with the CloudFormation templates.

Conclusion

This publish mentioned how BI directors can use QuickSight, CloudTrail, and different AWS companies to create a centralized view to investigate QuickSight utilization metrics. We additionally introduced a serverless knowledge pipeline to assist the Admin Console dashboard.

If you want to have a demo, please e mail us.

Appendix

We are able to carry out some extra refined evaluation to gather superior utilization metrics. For instance, Forwood Security raised a singular request to investigate the readers who log in however don’t view any dashboard actions (see the next code). This helps their purchasers establish and stop any losing of reader classes charges. Management groups worth the flexibility to reduce uneconomical person exercise.

CREATE OR REPLACE VIEW "loginwithoutviewdashboard" AS
with login as
(SELECT COALESCE("useridentity"."username", "split_part"("useridentity"."arn", '/', 3)) AS "user_name", awsregion,
date_parse(eventtime, '%Y-%m-%dTpercentH:%i:%sZ') AS event_time
FROM cloudtrail_logs
WHERE
eventname="AssumeRoleWithSAML"
GROUP BY  1,2,3),
dashboard as
(SELECT COALESCE("useridentity"."username", "split_part"("useridentity"."arn", '/', 3)) AS "user_name", awsregion,
date_parse(eventtime, '%Y-%m-%dTpercentH:%i:%sZ') AS event_time
FROM cloudtrail_logs
WHERE
eventsource="quicksight.amazonaws.com"
AND
eventname="GetDashboard"
GROUP BY  1,2,3),
customers as 
(choose Namespace,
Group,
Person,
(case
when Group in (‘quicksight-fed-bi-developer’, ‘quicksight-fed-bi-admin’)
then ‘Creator’
else ‘Reader’
finish)
as author_status
from "group_membership" )
choose l.* 
from login as l 
be a part of dashboard as d 
be a part of customers as u 
on l.user_name=d.user_name 
and 
l.awsregion=d.awsregion 
and 
l.user_name=u.user_name
the place d.event_time>(l.event_time + interval '30' minute ) 
and 
d.event_time<l.event_time 
and 
u.author_status="Reader"


Concerning the Authors

Ying Wang is a Supervisor of Software program Growth Engineer. She has 12 years of experience in knowledge analytics and science. She assisted clients with enterprise knowledge structure options to scale their knowledge analytics within the cloud throughout her time as an information architect. At present, she helps buyer to unlock the facility of Information with QuickSight from engineering by delivering new options.

Ian Liao is a Senior Information Visualization Architect at AWS Skilled Companies. Earlier than AWS, Ian spent years constructing startups in knowledge and analytics. Now he enjoys serving to buyer to scale their knowledge utility on the cloud.

Maitri Brahmbhatt is a Enterprise Intelligence Engineer at AWS. She helps clients and companions leverage their knowledge to achieve insights into their enterprise and make knowledge pushed choices by creating QuickSight dashboards.



Supply hyperlink

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments