How do you group an Excel PivotChart by a column not selected in category? - excel

Does anyone know if its possible to select one column in an Excel PivotChart (i.e. Name in my example) but sum the values by ID without displaying the ID column in the chart?
In the example below, we have two Johns. I want to view both of them in the chart like in chart two, but I don't want to display their ID fields in the chart.
[EDIT]
Real case scenario is that I need to filter on top 10 file views by file name. And if we have a bunch of files named image1.jpg (because people don't properly name their files), we end up bucketing them all together and it looks like image1.jpg has way more views than it actually has; causing the chart to be skewed. I know it might be confusing to have two same data labels, but oh well. :) The user will just have to drill into one to see other details.
I did find a clean way of doing this using hierarchies in PowerPivot, but with a large dataset the performance is horrible.
Create a hierarchy in powerpivot with ID and Name. Use the hierarchy in the PivotChart category. Only ID field shows up initially. Expand entire field and the names show up. Hide level ID, and voila. You get all Names without ID column, but only to be used on smaller datasets.

datamodel,
easiest way to do this is created a calculated column in PowerPivot window where you will combine filename AND file id.
With that, it's very easy and still should be quite good from performance perspective. Better yet if you could prepare this column in your import file / on your server.
Result could then look like this:

From a data visualisation point of view it will be most confusing to have two data points with the same label and no means of differentiating them. So, having the ID in the X axis is actually helping the reader to make sense of the information.
From a technical point of view, you can create a chart that is based on the pivot table, but is not a pivot chart. Use the pivot table as the source for a regular chart and select only the Name as the X axis label.
If the pivot table dimensions may change when it is refreshed, you can use dynamic range names to ringfence the ranges required for the chart.
In the screenshot below, the label range chtLabels uses the formula
=OFFSET(Sheet1!$F$38,1,0,COUNTA(Sheet1!$F:$F)-1,1)
The range chtValues uses
=OFFSET(chtLabels,0,1)
When adding the range names to the chart source dialogues, they must be preceded with the sheet name or the file name.

Related

Excel "support": Dynamic chart with multiple selections

I have a set of data that I wanna make dynamically by clicking dropdown and to reflect that on chart. The problem is, I have like small tables (like in Example, Material A, B, C..) with their certain columns, and that is always the same. But how to connect them to the chart so that I only click which Material I wanna?
seems simple but I am not figuring out with more selections like this...
PivotTables is one of the option, I just managed...but I would like to know with functions also.
To answer this problem, actually the best option is Pivot tables. So to put in one sheet all the data (one column for material, other for date and so on..), because theyre in the same shape lets say, and in my case I know I will always get the same shape and set of data, just date/tonnage and registration is gonna be changed. So, hit the refresh button inside Pivot and there you have it.
That looks great using Pivot Charts, without any kind of formulas or functions that gave me a thought at the beginning.
Greets!

Calculated Field

I am trying to create a simple pivot table which will tell me how many community residents reported a particular problem, and what percentage of them reported each problem type. I have a data set with name, and then columns for each type of problem. Here's an small sample of the data set:
I have created a pivot table which sums each of these columns and also provides me the total number of people who reported any type of problem at all. Here's what I have:
I want to add a second column to this pivot table that gives the percent of times each problem type was reported. Sounds simple, but because of the structure of the original data set, I can't figure out how to do it. I can set up formulas outside of the Pivot Table which reference the table, but in doing so I forfeit the ability to graph the percentages on a pivot chart. Any ideas how to create a calculated field for this pivot table?
Just to be clear, what I want is something like this, except all contained in the structure of the pivot table:
Edit: I've changed the example of the data set. Here's an explanation of the pivot table. The values under the "# Reporting Issue" column are counts of all the 1's under each corresponding column in the data set. This meant that I had to add each row to the pivot table independently, as you can see here:
I'm open to the idea that I need to change the formatting of the data set, but I'm not sure of the best way to do it. This was set up initially because it allowed for easy compilation into a data table, but Pivot Tables seem to be a different story.
Hopefully this edit clarifies things.
You need to unpivot your data so that you turn it into a Flat File...something that the PivotTable can consume properly.
The easiest way is to use something called PowerQuery, which is baked in to Excel 2016 but available as a free addin from Microsoft for any other versions. Google PowerQuery Unpivot and you will turn up hundreds of tutorials, such as this one from my good pal Chandoo . PowerQuery looks slightly daunting at first to a first time user, but it is freakin easy once you get your head around how to use it. PQ is by far the best addition to Excel in years. PowerPivot being a close second.
If you can't install PowerQuery, then you can use your current data structure to make a 'staging pivot', and then drag the Values label that will appear in the Columns area to the bottom of the ROWS pane, like in this excerpt from a book I'm writing:
Note that my Year categories are equivalent to your Issues categories.
That will emulate the flat file layout you’re after. All you need to do then is turn this intermediate PivotTable back into a normal range, change that Values heading to Issue, and add a Count heading and you’ve got the flat file you need to build a useable PivotTable.
You can also use VBA. Google Unpivot VBA and turn up hundreds of results, including this blazingly fast code I posted some time back. (Look for the code under the —Update 26 November 2013— heading.)
You can also use the DoubleClick extraction trick.

Custom row labels in PivotTable

I have an excel spreadsheet full of customer data including a few single letter categorical variables.
For example: property type can be (I for investment, O for owner occupier, or R for renter). Is it possible to replace the single letter with a descriptive title in the rows on a PivotTable? I do not have the descriptive names anywhere in my spreadsheet and I would prefer not to add them.
you can give nicknames to the fields that you are checking which populate the pivot table.
If you go the pivot table data and right click you can change the value field settings to give a custom name to a row/series but I do not know about individual data points.
path: pivot table data => right click => select Field Settings => edit custom name.
It does not look like it modifies the raw data (before pivot table).
It adds the name to the chart as well. So make sure your chart looks okay.
to my knowledge this is the best tool for you to mess around with.
Hopefully this answers your question.
coming from experimenting on excel 2013.

How to add condition to pivot table showing part of or manipulated source data

I have an Excel sheet that has headers customers, number of cases, missed targets. Missed target tells how many out of all the cases has been missing target time.
I would like to create a pivot table and a chart of it showing the ratio of the missed target cases divided by all the cases related to a customer, basically telling you which the most problematic customers are.
You can create a calculated field which you will be able to use in your pivot table.
In the Pivot Table tools, you'll find an option called Fields, Items, & Sets. From there, choose Calculated Field. Give the field a name like "Ratio of Missed Target" and then enter the formula you require: ='missed targets' / 'number of cases' Click Add.
This is how it would look in Excel 2003 (the version I have access to at the moment)
Then you will be able to use this field in your Pivot Table just as any other field.

How to extend data source for pivot table?

I'm synchronizing data with an external database and the result is delivered to me on a sheet called All Items. Setting up a pivot table is easy. However, on the horizontal axis I need to display a custom value, computed from one of the columns in the externally linked data set.
When I go to Analyze -> Change Data Source, I can see that the currently regarded data area is called 'All Items'!Query. I'd like to extend it by a column or two, so that my pivot table can display these values as well.
So, instead of 'All Items'!Query as the data source I'd like to have 'All Items'!Query and the next two columns too. I have no idea how to approach it nor what to try. Suggestions would be warmly appreciated.
I tried to define my own area called 'All Items'!Query_and_stuff but the number of records retrieved during synchronization varies, so my extension needs to take that into the account. No idea how.
Define
'All Items'!Query_and_stuff = offset('All Items'!Query, 0,0 ROWS('All Items'!Query),COLUMNS('All Items'!Query)+2)

Resources