Dynamic Excel 2007 Dashboard Without VBA - excel
Morning guys,
I'm hoping that one (or more) of you can help me.
I have been tasked with creating a dashboard which needs to display trends and have a dynamic frontsheet, preferably with drop-down or data forms so as to update a chart / graph.
The information itself is incredibly limited - the scope of the document is tracking a value (0-4) assigned to a staff member's ability to fulfill a task, e.g. 'Quotes - 4', 'Cancellation - 2' and so on. So the metrics are limited to:
Month (a worksheet for each month of the year and one front for the dashboard)
Team (Presently 6 teams, but this is likely to increase over time, so hopefully the solution facilitates relatively easy incorporation of new teams)
Employee (Self explanatory)
Task (Presently 25, but as above - subject to change)
Score (the 0-4 value referred to above)
So as you can see, it's a very simple dataset. The sheets are presently set out with six grids with data validation lists for determining Team and Score (dropdowns for easy data input), with the Task being pre-written and the employee entered manually by the user.
What I'm hoping to do is have a frontsheet with dynamic tables that update accordingly when a dropdown and/or data form is changed. The key focus is on getting the staff members up to 4s for all tasks, so ultimately, the charts will display trends for the individual teams (one chart for each team - 6 charts) on a month-on-month basis and also a dynamic table which can reflect specific information (e.g. employee performance on a specific month, or number of '3s' achieved by a specific team to date).
I've read a reasonable amount on this, but seem to have overwhelmed myself with the sheer amount of options. However, the options can be narrowed given that I'm working on a large corporate network that doesn't really facilitate downloads (so add-ins or anything extraneous to Excel 2007 'out-the-box' isn't an option) and preferably without the use of VBA (1. I'm quite a novice insofar as VBA, 2. Easy distribution and maintainence of the document might be marred by VBA?), though I appreciate that my requirements may dictate VBA to be essential.
Does anyone have any suggestions around how best to proceed creation of this dashboard?
Any and all help is appreciated and I apologise as a newbie if I've contravened any conventions around forum etiquette.
Thank you all for your time,
Rob
There are a couple of things that you need to consider in a task such as this:
a) what sort of output do you require?
b) how are you going to manage the data?
For a) I'd separate it further into the basics of what's required (time series charts of employee and/or team performances [how will team performance be measured? average, % achieving 4, or ?]) and then the bells and whistles of drop-downs. Focus on the basics, the other stuff first the whizzy stuff can come later. Getting b) right is vital - you are going to be extracting subsets of the data to build the charts you want to display. Get b) wrong and you'll just create a horrible task for yourself.
In your position I would consider re-organising the data into the form of a table. Excel's help defines what is meant by a table, but in essence it is a list of your observations where each observation simply comprises the score for a particular month/team/employee/task combination (so each observation comprises 5 values). The observations are arranged as successive rows of the table with the first row being the header row which will contain suitable labels such as "Month", "Team", "Employee", "Task", "Score". The real advantage of using a table such as this is that Excel provides a heap of in-built facilities for manipulating them - look up the help for Sort and Filter on the Data tab. In your case there is an even more compelling reason for using a table - you can use the Pivot Table and Pivot Chart facilities for analysing and displaying the data. If you have not used these before some time and effort spent learning about them will pay dividends. Once your data is organised and you know how to use Pivot Tables and Charts you should be able to prototype sum output very quickly.
If you do decide to organise your data as a table you can still keep a nice friendly looking grid of 6 team "tables" (different from Excel's use of the word) as a data entry facility to enter each month's scores by employee and task. You will need to find a way of getting each month's data from the data entry "tables" to the main data table. (Easiest way would be to use a bit of spare worksheet under the data entry tables to reproduce the entered data as a series of observation rows and then use Paste Special Values to append these rows to the end of the main table of observations. You can use VBA to automate the copy/paste operation if you want, you just need to figure out a way of identifying how may observations are currently in the main table and precisely where you want the paste to end up - COUNT() or COUNTA() is a useful friend here). Main problem to avoid (whether automated or not) is to avoid appending same entered data more than once to main data table.
Have a look at http://www.mediafire.com/download/x64swkp689k10a1/DataEntrytoTable.xlsx for a simple example of some of the above thoughts
Related
(excel) Calculated Field not available for a power pivot table
I'm trying to create a column in a pivot table I've created that calculates the difference between a forecast and actual cost column. Under 'Fields, Items, & Sets', 'calculated field' is grayed out/unavailable. From other forum posts as far back as 2010 (all with dead links to websites meant to explain it more), I've heard that this has something to do with using data that comes from an OLAP table. My 'actual cost' data is being pulled from a server and funneled into a group of tables on separate sheets. I also have a manual entry sheet for the forecasts (also type table) that's being connected to it. that I'm The cell count is in the millions and steadily increasing, so it's understandable that the system uses OLAP to refresh manually (it takes about a minute to 'refresh all'). That said, I don't know why this would prevent me from doing math with these columns. I've looked up some videos on OLAP and I figure it's just above my head. I've looked into converting it into a "dynamic range" per a recommendation from about 10 years ago, but there isn't much about what that actually is online and I'm not sure I'd be able to do that with how I'm pulling it from the database. That, and I'm doing about 2 weeks worth of operations that are probably dependent on it being a table. I'm not even sure if you can feed data into power pivot if it's not a table. I have a way that I think I can do this, but it requires about a week's worth of work manually building out a massive, un-iterative sheet. It would pull all of the values for a specific job of each activity type, sum them, and then compile them into another table that can be used to find the difference between the values of forecast and actual. But, at that point I'm basically just making a worse pivot table infrastructure from scratch. Is there a way that I can just side-step this issue? I've only been using power pivot for a few weeks and this is the first time I've had to do math between columns, so it may be that I'm missing something that most people know.
Creating a table in Excel to track performance on 2 data points
I am looking to create an excel table so i can review my colleagues performance on a certain area in work. The two measurement areas are Resolved Problems and Total time spent. I can pull this info from a dashboard at the end of the week and manually input it to excel. We have 6 members of the team and i want to be able to input this data as weekly totals per user. I will then use this data to track trends like who is resolving most problems, who is doing the least. Who spends the most time on problems and who spends the least. I am not sure the best way to go about this data capture in excel. Any help is appreciated.
Isn't this something that you would right click, select pivot table, and pivot my person, value column of time, sort by time?
Summing up cohort behavior cumulatively by date ranges without offsets in excel
I think this problem, when solved by creating additional charts with offsets, is easy. I want to cut out the middle man and not use offsets (unless they are useful to the answer). I have data for daily cohorts and I know specific information about their behavior 1 day later, 2 days, 3 days ect. Now it is rather easy to make a waterfall chart of day by day activity like so... What I want to do is skip this step (directly above, the waterfall chart) in hopes of shrinking my current workbook by a substantial amount. You can imagine having simply 1 year of data across multiple channels measuring even 1 aspect of behaviors can account for a lot of data and pivot charts. Also, btw, I have the top chart as a pivot thus allowing this to be hands off when calculating what I am looking for. What I seek - I look to further construct groups of days as other cohorts to examine (for example, say, 1/1 - 1/5) and see what their activity has been in a cumulative fashion since then. To be more specific, I want a table that will show cohort 1/1-1/5's activity in the date range 1/1-1/5 (11) and then their activity from 1/1-1/9 (24, an additional 13 "behavior points" summed). So far, as I said, my current solution involves the "blue arrow" schematic where an additional table is constructed and I can sum on, essentially, rectangles build by using OFFSET on sell ranges with the MATCH function. I am stumped with how to go about this without the additional charts. Thanks!
VBA would better for this, but use this formula in C30: =IFERROR(SUM(SUMIF(OFFSET(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)),SEQUENCE($B30-$A30+1),IF(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)))-SEQUENCE($B30-$A30+1,,0)>COLUMN($B$1),0-SEQUENCE($B30-$A30+1,,0),COLUMN($B$1)-COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)))+1),1,IF(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)))-SEQUENCE($B30-$A30+1,,0)<=COLUMN($B$1),(C$29-C$28+1)-SEQUENCE($B30-$A30+1,,-(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)))-COLUMN($B$1)-1)),C$29-C$28+1)),"<>")),0) and this in D30: =C30+SUM(SUMIF(OFFSET(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)),SEQUENCE($B30-$A30+1),IF(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)))-SEQUENCE($B30-$A30+1,,0)>COLUMN($B$1),0-SEQUENCE($B30-$A30+1,,0),COLUMN($B$1)-COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)))+1),1,IF(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)))-SEQUENCE($B30-$A30+1,,0)<=COLUMN($B$1),(D$29-D$28+1)-SEQUENCE($B30-$A30+1,,-(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)))-COLUMN($B$1)-1)),D$29-D$28+1)),"<>")) And copy both down. If one does not have the dynamic Array formula SEQUENCE() then replace all the SEQUENCE($B30-$A30+1) and SEQUENCE($B30-$A30+1,,0) with ROW($ZZ$1:INDEX($ZZ:$ZZ,$B30-$A30+1)) and (ROW($ZZ$1:INDEX($ZZ:$ZZ,$B30-$A30+1))-1) Respectively, and use Ctrl-Shift-Enter instead of Enter when exiting edit mode.
I was able to collaborate on a solution. I am told that it will be highly inefficient at scale but it gets the job done. It ss less automation-friendly but can be formulated to capture data not currently present on a, say, a pivot table that you call to update later by extending the area that the formula works on. Formula in in I31: =SUM(IF(($C$1:$O$1+OFFSET($B$2,$G31-$B$2,0):OFFSET($B$2,$H31-$B$2,0))>=I$29,OFFSET($C$2,$G31-$B$2,0):OFFSET($O$2,$H31-$B$2,0)))-SUM(IF(($C$1:$O$1+OFFSET($B$2,$G31-$B$2,0):OFFSET($B$2,$H31-$B$2,0))>I$30,OFFSET($C$2,$G31-$B$2,0):OFFSET($O$2,$H31-$B$2,0)))
turning rows to columns in Excel
I have an excel datasheet with more than 1,000,000 rows and 80 columns. the datasheet contains sales information of a chain store with more than 1700 store nationwide. each store is repeated 52(weeks in a year)* about 30 (products sold in that given week)* 2(two years). I want to convert the rows corresponding to products to columns. I can't do that using transverse because the products sold each week might not be exactly the same as those sold next week. do you have any solutions? thanks I just made a very simplified version of that excel file. the problem is that the products sold are not the same each week. there is a limited set of product, but only some of the items are sold each week https://drive.google.com/open?id=1B2vjIL2hemfQNrCz0X6u_pzi7Euy6IWa3Lj0_HzDXDE
This isn't much of an answer yet - but it either will become one or I'll delete it, depending on the OP's response. I'm thinking that transverse/transpose is the wrong term for what you're trying to do. Perhaps you're just trying to better organize/visualize this data, something similar to one of these Pivot Tables: or These are just two of the infinite ways you can organize data in a Pivot Table. Is that similar to what you're trying to do? If so I'll share some more info. If this quantity of data is going to keep coming your way, way you really need is to start using an Access database to get this under control and be able to report on it properly (and easily, once it's setup).
Is there a way to obtain a count of instances where a criteria is fulfilled in a pivot table in Excel 2016
I'm analyzing a set of clinical data in Excel that includes the level of care that a variety of individuals have received the date of the receipt of that care the date that the care ended The question I'm trying to answer in a report is how many individuals that have received a higher level of care connected to a lower level within 14 days. I've organized the data in such a way that by creating a pivot table, it organizes the data nicely. However, in this dataset individuals have had multiple instances of each level of care that may or may not be connected within 14 days to a lower level of care. Granted, the dataset is small enough to count this out by hand, but I foresee having to do this many times in the future with possibly much larger datasets. As such, I'm wondering if there's a way to automate this process. I can almost conceptualize a nested if statement to flag the instances prior to developing the pivot table, and then count these flags as follows: as everything is already 2 way sorted by individual and then by date, I might be able to do if(levelofcare<>levelofcare of the cell above it, if(date of admission - date of discharge of the cell above it <=14,1),0 and then generate the pivot table and sum that column. However, I feel this would be rather inaccurate considering the data and that sometimes, the "level of care" field isn't a standardized string.
I would add columns to the data that calculate what you need to show in the pivot table. Probably a column that shows individuals that received a higher level of care (an if statement that gives a yes or no answer). A column that shows if an individual received a lower level within 14 days if the previous column is yes. These can then be added to the pivot. Hypothetical answer as no data was provided in the question - happy to edit if data provided.