Posts

Showing posts from September, 2022

2022: Week 39 - Filling in for HR

Image
 Challenge by: Jenny Martin It's been a while since we had a fill down challenge so let's remind ourselves of those skills! The HR department at C&BSCo need some help filling down a few columns in their dataset, so they've sent over a sample for us.  If you need any help with this challenge, check out this solution for a similar, previous challenge. Input Requirements Input the data Fill down the Employee field Fill down the Work Level field Reorder the data so that it is output in the same order as it comes in Output the data Output 5 fields Record ID Employee Work Level Stage Date 17 rows (18 including headers) After you finish the challenge make sure to fill in the  participation tracker , then share your solution on Twitter using  #PreppinData  and tagging  @Datajedininja ,  @JennyMartinDS14  &  @TomProwse1 You can also post your solution on the  Tableau Forum  where we have a Preppin' Data community page. Post your solutions and ask questions if you need a

2022: Week 38 - Solution

Image
Solution by Tom Prowse and you can download the workflow here . The challenge this week focusses on recreating the standard Salesforce connections that are available in Tableau Desktop. For this challenge, you can create your own Salesforce account and use the Salesforce connector, or alternatively use the text files provided. For this solution I have used the text files but they will be the same if you are connecting via Salesforce. Step 1 - Remove Fields The first step that we need to do this week is input our 3 tables, and then select the fields that we need. We can remove a lot of the unneeded fields at the input step stage, therefore we need the following from each table:  Opportunity - OpportunityID - AccountID - Opportunity Name - Stage Name - Amount - OwnerID - CreatedByID User - ID - Name Account - AccountID - Account Name - Account Type - OwnerID (Rename to AccountOwnerID) - CreatedByID (Rename to AccountCreatedByID) Step 2 - Opportunity & Users For the first section we w

2022: Week 38 - Salesforce Standard Connections for Dreamforce22

Image
Challenge by:  Lorna Brown This week comes a special challenge because it is Dreamforce conference week. Wherever you are in the world you can participate in Dreamforce as they have a virtual and in person element in San Francisco. This challenge is about trying to replicate one of many of the Standard Salesforce connections that you can have in Tableau Desktop. Tableau have created these standard connections, for when you connect Salesforce, which allows you to create the most common data schemas available. If you are not aware of what Salesforce is, it is a CRM platform which allows you to track leads & opportunities, and I’m sure it does much more than that.  We have different experiences when we connect to Salesforce via Tableau Prep and Desktop, which is why we want to be able to recreate some of those standard connections within Prep, to allow us to join onto a variety different data sets for future use. Another difference when we are connecting to Tableau Prep over Desktop i

2022: Week 37 - Solution

Image
Solution by Tom Prowse and you can download the workflow here . The challenge this week is another collaboration with #GamesNightViz and this time we are looking to find the highest damaging weapons used in the game Elden Ring. Step 1 - Damage Stats  The first task this week is to spilt the workflow into two branches - 1 for the damage stats and 2 for the level requirements. We will focus on the damage stats first.  From the input we need to remove a couple of the fields as they aren't required throughout the workflow. We want to keep the following: Name Phy Mag Fire Ligh Holy Str Dex Int Fai Arc Category Then from the input step we can create a columns to rows pivot with Phy, Mag, Ligh, Holy, and Fire as the columns  From here we can then split apart the Pivot Values field so that we have the Attack Damage and the Damage Resistance. We need to split the field using a custom split on ' ' (space) so that we have two separate columns. Our table should now look like this:  Nex

2022: Week 37 - Elden Ring Adventure

Image
Challenge by:  Will Sutton It's time for another collaboration with  #GamesNightViz ! Over the last few months, the #GamesNightViz team have been playing Elden Ring which has inspired this challenge. We’re looking for the highest damaging weapons we can use throughout our playthrough. Using data tables from https://eldenring.wiki.fextralife.com/Weapons we have the base stats for all the melee weapons however, it’s a little messy!  The goal is to create an output of the highest damaging weapon by its required level. Input A rather wide dataset! Don't worry, it'll be explained in the requirements which fields we need and what the values mean. Requirements Load the dataset  - updated 14/09 Split the dataset into two tables Damage Stats: 1 containing: Name, Category, Phy, Mag, Fire, Ligh, Holy Level Requirements: 1 containing: Name, Str, Dex, Int, Fai, Arc For Damage Stats, if you look at the data in Phy, Mag, Fire, Ligh, Holy: the first value shows the attack damage  the seco

2022: Week 36 - Solution

Image
Solution by Tom Prowse and you can download the workflow here . The challenge this week looks at filling in missing data when trying to create a calendar in Tableau Desktop. This is a common problem that many people face and filling in the blanks can often be more difficult than expected.  Lets see how we can use data prep to make this a little easier! Step 1 - Start & End Date The first step is to identify a Start & End date for our data set. We want this to be dynamic based on the dates within the input so this could change every time we connect a new file.  First we need to duplicate the Schedule_Date field. This will allow us to use it twice within the aggregation where we can find the Min and the Max.  From here we can then make sure we are looking at the start or end of month based on the min and max dates. To make sure our start date is the start of the month, we can use the following calculation to make the 16/06/2022 into 01/06/2022:  Start Date DATE(DATETRUNC('yea