23 comments on “Salesforce Lightning Experience Reports & Dashboard Specialist – Trailhead Superbadge”

Salesforce Lightning Experience Reports & Dashboard Specialist – Trailhead Superbadge

Lightning Experience


We at Techforce Services love Trailhead and take the challenge to complete most of the trails, modules, projects & superbadges as its released. Last week we started with the newest of the superbadges “Lightning Experience Reports and Dashboards Specialist” and this post is a summary of some key tips to help you solve the superbadge. These are not direct answers or solutions that you can replicate, but they will help you clear the hurdles in each of the steps.

Prework and Notes to Earn this Superbadge

  • Set Up a new Trailhead Playground for this superbadge, It will help you reduce a lot of configuration issues
  • Don’t forget to add a Value (SolarBot) into Opportunity type (Picklist Value), It is the one of the key filter value in Reports
  • Make sure all Public Groups created properly (better copy/paste the names from the superbadge details to avoid silly mistakes).
  • The Most Important thing is Some of the terminologies used not match the name as it appears in the UI (For Example Solution=Report Type, Categories=Bucket Field and etc)

Step 1:

  • SolarBot report folders use the naming convention SolarBot [team/group] Reports.([team/group replaced by Executive, Sales, Support, R&D]
  • Report Location and Report Type are very Important. Tip: Collect all SolarBot information, whether or not they have related SolarBot Status records
  • Pay attention when Moving reports from existing folder to New Folders
  • Get some practice for Editing Report type page layout to remove particular fields Tip: Create a dummy report type page layout and move unwanted field into that, Finally delete the page layout

Step 2:

  • Accounts Without SolarBot Opportunities
    Create a Cross Filter as below
    Account without Opportunity
    Opportunity type = Solarbot
  • SolarBot High-Case Candidates
    Use Summary field(Number of SolarBots on Account Object) which already created for you(Number of SolarBots=0)
  • SolarBot Warranty Call Sheet
    Pick only Warranty Expired Accounts(Under Warranty?=False)

Step 3:

Top Case Drivers by SolarBot Ownership

  • Report Type is Case(Standard)
    Row Summary field is: SOLARBOT OWNERSHIP
    Column Summary Field is: CASE REASON
  • SolarBot Status Averages
    Report Type is SolarBot and Status Date(Custom which you have created)

Step 4:

  • Temperature to kWh Research
    Make sure the Bucket field value ranges are correct
    Group by Temperature Range (Bucket field)
    Remove Details, Subtotal, Grand Total

Step 5:

  • SolarBot Loyalty Revenue
    The formula is very Important
    Tip: IF the Sum of Number_of_SolarBots__c < 1 the Adjusted Expected Revenue is Just Sum of Expected Amount only otherwise The Adjusted Expected Revenue is Expected Amount + Expected Amount *10%
    The main conditions is The opportunity having Solarbot or not
    Chart is: Vertical Bar type

Step 6:

  • Sales Report Modifications
    Add Billing state field and group it
    Use Relative Date Filter for “Next 45 days”
  • Support Report Modifications
    Add Phone field and pick the Chart type as Horizontal Stack bar(tick the 100%) for the first report
    Change data by week instead of by day and Pick the Chart as Line type for the second report
  • R&D Report Modifications
    compare average kWh and average panel temperature by SolarBot model on another axis
    Place categories on the X-axis, with count on the Y axis
    Pick the Chart as Vertical bar type

Step 7:

  • SolarBot Pipeline by Stage
    Report: SolarBot Loyalty Revenue
    Component Type: Vertical Bar
    Tip:Max Groups Displayed = 9
  • Case Drivers and SolarBot Ownership
    Report: Top Case Drivers by SolarBot Ownership
    Component Type: Vertical Sack Bar
    Tip: Stack to 100%
  • Temperature and Kilowatt Hour Relationship
    Report: Temperature to kWh Research
    Component Type: Line Type
    Tip:X Axis=Temperature Range and SolarBot Model
    Y Axis=Average KiloWatt Hours
  • SolarBot Evangelism Countdown
    Report: Accounts without SolarBot Opportunities
    Component Type: Gauge Type
    Tip: Careful the Segment Range Setting
  • Opportunity Overview
    Report: SolarBot Loyalty Revenue
    Component Type: Lightning Table
    Tip: Set Prospecting first on the list stage opportunities

Step 8:

  • Color Scheme
    Set the Dashboard Theme as Dark Except Opportunity Overview component
    Pick “Sunrise” as Dashboard Palette
  • Marquis Accounts
    Create a Dashboard Filter and name it as Marquis Accounts
    Add 2 mentioned Account
    Pick account name in 1st and 5th component in instead of primary partner
  • SolarBot App Page
    Add this dashboard into SolarBot App Page
  • Schedule the Report
    Schedule this report to you for every Tuesday 9 a.m

Lightning Superbadge

Hope this will help you Trailblazers to solve this superbadge. Thanks for visiting our blog. Checkout our other blogs on Trailhead superbadges 

Salesforce Advanced Apex Specialist – Trailhead Superbadge

Salesforce Lightning Component Framework Specialist – Trailhead Superbadge



6 comments on “Salesforce Advanced Apex Specialist – Trailhead Superbadge”

Salesforce Advanced Apex Specialist – Trailhead Superbadge

Salesforce Advanced Apex Specialist - Trailhead Superbadge

Continuing my quest with trailhead #SeizetheTrail , the last one in my list is the Advanced Apex Specialist Superbadge ..  I started working on this superbadge and this post is to document some of the findings / tips / gotchas as I progress thru this one..

Step 1

  • make sure you create the Custom metadata records with the exact same names given (that matches the product families)
  • in the constants apex class, declare all the properties as public static

Step 2

  • OrderTrigger needs to handle only after update event
  • OrderTrigger should use the Orderhelper internally for the rollup
  • Don’t forget to remove the “with sharing” from the orderHelper class

Step 3

  • Override the Add and New button under Product object to use the visualforce page
  • Product2New visualforce page
    • in the pageblock table columns, use the field labels as headers using $ObjectType
    • update the column values to use the productRecord fields inside the productwrapper
    • use apex:chart to display the horizantal bar chart in a separate pageblock above the table
    • reRender the required components from the Save and Add buttons
  • Product2Extension apex class
    • Make the Controller class “Without Sharing”
    • add the inner class ProductWrapper
    • replace the list of products with list of productwrapper
    • use Savepoint in the Save method
    • iterate thru the productWrapper and extract the products and pricebookentries and insert them separately
    • use try catch block and do a rollback if there are any errors
  • ChartHelper apex class
    • Make the ContChartHelperroller class “Without Sharing
    • move the chart data initialisation logic to Chart Helper class
    • make the GetInventory method @AuraEnabled

Step 4

This is probably the simplest of all the steps.. update theTestDataFactory class to handle the key requirements given..

  • Make sure all the methods in the TestDataFactory class are Public Static and the class is marked “with sharing”
  • all the construct methods should create the mentioned objects with the required fields and unique names and return the records without inserting them
  • use the Insert method to call all the construct methods and then insert the records returned from those methods.

Step 5

  • Update the VerifyQuantityOrdered method in TestDataFactory with a System.Assert to compare the Quantity Ordered between the Updated product and the original product plus the incoming quantity
  • run both OrderTests and Product2Extension_UnitTest and make sure both the test classes are passing  and the classes they are intended to cover has more than 75% coverage

Step 6

  • Don’t forget to create the chatter group “Inventory Announcements” .. mark it public and tick the disable auto archive checkbox and use the description text given
  • update the product trigger to handle only after update and use the product helper class to handle the after update logic
  • update the product helper class AfterUpdate method to use the postAlerts method which in turn will be using the AnnouncementQueueable class to process the chatter group notification
  • AnnouncementQueueable is a Queueable class and uses ConnectApi to post the announcement

Step 7

  • Override the New and Edit buttons under the Order object to use the OrderEdit visualforce page

Step 8


This was my last superbadge and by completing this Advanced Apex Specialist Superbadge , I’m now eligible for Platform Developer II certificate provided I clear the multiple choice exam.. 🙂

Good luck to you all if you are working on this superbadge or preparing for the Salesforce Platform Developer II certification.


3 comments on “Salesforce Lightning Component Framework Specialist – Trailhead Superbadge”

Salesforce Lightning Component Framework Specialist – Trailhead Superbadge

Salesforce Platform Developer II

I’ve successfully completed the Lightning Component Framework Specialist superbadge & this post documents some of the tips & tricks/gotchas that I noticed as I progressed thru this superbadge..
Overall it took me close to 7 hrs (split across 3 days) to complete this with the below breakdown of steps..

  • Day 1 – Step 1, Step 2, Step 3
  • Day 2 – Step 4, Step 5, Step 6
  • Day 3 – Step 7, Step 8, Step 9, Step 10

Note: This superbadge is both a direct part of the Salesforce Platform Developer II certification and also required to unlock the Advanced Apex specialist superbadge which is again part of the Salesforce Platform Developer II certification
below is the list of points I noted down (categorized by Steps).. hope this helps you if you are working on the superbadge.
Step 1
make sure you read the prerequisite steps and complete all of them.

  • use a New Trailhead Playground environment,
  • disable the component cache in the setup
  • install the unmanaged package, 
  • understand the naming conventions to be used in the javascript controller & helper methods
  • review the data model of the objects introduced by the unmanaged package and check if the data has been imported into those new objects.

Step 2
Read & Understand the use case and visualise the layout of the entire page and how the individual components are fitting in and communicating between them.

  • this step entirely focuses on the BoatSearchForm component so make sure the UI of this component is fully ready
  • make sure the “New” button visibility is controlled by checking the support for the createRecord event
  • create both the Lightning page and the Lightning app containing all the 3 components we created before.

Step 3

  • This step focuses on the BoatSearchResults component
  • you will be creating a component to handle the display of each boat tile

Step 4

  • This step focuses on the communication between the search form & the search results component and how the search results refresh based on the selected boat type
  • make sure the FormSubmit lightning event is of type Component and not Application

Step 5

  • The BoatSelectedEvent is of type Application

Step 6

  • make sure the BoatReviewAdded lightning event is of type Component and not Application
  • In the AddBoatReview component, create both the controller and helper methods and make sure from the helper method and set the response back to the boat review attribute or log the error back to the browser console

Step 7
Step 8
Step 9
Step 10
Use the Salesforce Developer Forum and Stack Exchange discussions when you have exhausted all the options you can think of while solving a Step.. without trying your own attempts, referring these discussion threads will not help..
Good luck with the Super Badge and also with the Platform Developer II Certification.
“We @ Techforce Services are specialized in Salesforce Development – Apex, Visualforce and Lightning, API Integrations. We also cover Salesforce Setup, Implementation & Customization”.

Talk to us to know how we can Simplify your Salesforce journey.