Back to the old community? Click hereLearn more
For Analytics on Blogs - salesforce.com
Want to vote? Login

Insert Your Logo

View by Type

All

View by Category

For Analytics

  • 30
    points
    This week’s app of the week is Cloud Time & Expense by Accorto.  Available in both Professional and Enterprise editions, this native force.com app lets your company easily manage time and expense reporting.  Users can capture T&E items from multiple sources (web, mobile, spreadsheet, credit card transactions, email attachments, etc.); managers and/or customers can easily view and approve the reports; and accounting and finance have multiple options for setting up account and expense policies and procedures. 
    Here are some key features of this app:

    1.  Users can enter time and expenses using predefined accounts.

    User-added image

    2. A mobile entry option is available.
    User-added image

    3.  A predefined manager’s dashboard shows items awaiting approval and YTD expenses by Account and Project. 
    User-added image

    4. Accounting and Finance can set up account hierarchies and approval rules.

    User-added image

    5. The Accountant’s Dashboard provides a variety of metrics.

    User-added image

    Whether you define, enter, approve or report on expenses, Accorto Cloud Time & Expense has many predefined options.   Select “Play App Demo” from their AppExchange listing to see a variety of detailed demos. 
  • 40
    points

     

    Now that Dreamforce'09 is over, we can go back to talking over twitter, and posting blog entries. This entry is about a counter to detect when an Opportunity has been pushed out. Pushing happens when a sales rep or account exec moves out the predicted close date of an opportunity in salesfore.com into another month.

    It's useful to show sales managers when their deals have been pushed often - in the deal review call, you'll now be able to hear the manager saying "This deal has been moved out 3 times. Why should I believe it's going to close this month". Also, you might want to have a dashboard component to rank salespeople by total number of pushes.

    The idea

    We'll have a field on the Opportunity - PushCount.

    That field will be updated every time the Month in the Close Date when the user is saving is later than the month in the Close Date before.

    Then every time the user moves out the date and goes over a month boundary, we'll increase the number of times it's been pushed.

    When we put the field on page layouts, we're going to make it read-only.

    The implementation:

    We'll create a new number field with no decimals - PushCount:

    clip_image001

    now we just need a way to fill that - the trigger:.

    The trigger is going to only run when an Opportunity is being updated, before the new version is written to the system. It's going to get the new and old dates, do some quick math, and then, if the Opportunity has been pushed out, update the push counter.

     
     
       1: trigger OppPusher on Opportunity (before update) {
       2: Date dNewCloseDate;
       3: Date dOldCloseDate;
       4: Boolean bPushed=false;
       5:  
       6: for (Opportunity oIterator : Trigger.new) { //Bulk trigger handler so that you can mass update opportunities and this fires for all'
       7:                                             // gets new values for updated rows
       8:     dNewCloseDate = oIterator.CloseDate; // get the new closedate 
       9:     dOldCloseDate = System.Trigger.oldMap.get(oIterator.Id).CloseDate; //get the old closedate for this opportunity
      10:     if (dOldCloseDate<dNewCloseDate) { //if the new date is after the old one, look if the month numbers are different
      11:         if (dOldCloseDate.month()<dNewCloseDate.month()) { // the month number is higher, it's been pushed out
      12:             bPushed=true;
      13:         }
      14:         else {
      15:             if (dOldCloseDate.year()<dNewCloseDate.year()) { // the month wasn't higher, but the year was, pushed!
      16:                 bPushed=true;
      17:             }
      18:         }
      19:         
      20:     }
      21:     if (bPushed==true) { // let's go make them sorry
      22:         if (oIterator.PushCount__c==null) {
      23:             oIterator.PushCount__c=1;
      24:         }
      25:         else
      26:         {
      27:         oIterator.PushCount__c++;            
      28:         }
      29:     }
      30: }
      31: }















    The package:

    As usual, here's a package with the two items field (has to have the right developer name) and trigger:

    https://login.salesforce.com/?startURL=%2Fpackaging%2FinstallPackage.apexp%3Fp0%3D04t30000000hkQ0

    The package also has two reports – a view on the owners of opportunities pushed, and a view of where pushed opportunities are by stage.

    Have fun looking at pushed deals!

  • 20
    points

    Now pre-release is available, we can start to talk about the features in Winter'10. There were 5 features destined to be in Winter'10. Internally, our list was:

    1. colors
    2. hover
    3. others
    4. multi
    5. drill

    This made it (oddly enough) easy to remember. But now there's the list, we can go on to the first one. Colors, and the Color Tuner.

    Color Tuner

    Color tuner is a simple idea - the idea here:

    image

    and here

    image

    and is "if this thing appears in one chart as one color, it should be the same color in other charts, and I want to set the color".

    Most tools

    Many tools would let you set the color in the chart for each element. Some might even not let you set the colors, even if they are fancy BI tools that cost lots of money per seat. But that seemed bad:

    • you'd have to redefine the colors for each chart
    • If you and a co-worker build charts, you'd have to discuss the colors beforehand to stop "fisheries" showing up red in one set of charts, and green in your co-worker's charts

    So, we took a different tack. We wanted to fix the colors of chart everywhere in salesforce.com.

    Part of the metadata

    In the picklist definition, you have the set of picklist options:

    image

    so, here seemed the right place. If Fisheries is supposed to be green, make it green when you define it. When anybody edits something, you define a color, and the colors are applied everywhere. Let's see that list in Winter'10:

    image

     

     

    Now, I can do 3 things:

    1. Globally assign a set of colors
    2. Globally remove all colors
    3. Set or unset a color from a specific picklist value

    So, looking at one of the edit pages for one value, I can see the color choice:

    image

    and I can set the color

    image

    Now I can see the list of picklist values with their colors

    image

    Now, returning to my chart, I can compare the before and after:

     

    Before

    Winter'10 with colors assigned

    all monthsimageimage
    just october 2008 and august 2009imageimage
     

    Technology goes from Orange to Green as the values visible change

    Technology stays a super pink!

     

     

     

     

     

     

    Also, this affects all charts in all dashboards - technology will now be pink everywhere, so two charts next to each other with Industry as a grouping will show technology in pink also

  • 10
    points

    Ok, so there’s a missing blog post covering the new features in the new Summer’09 release. But let’s start at the end and work backwards.

    In the new charts in the summer release, there are a set of changes described in the Release Notes where we go into detail on the changes. Of course, if you are a new customer, there are no changes – there is only the charts in Summer’09, and you won’t know what the fuss is about.

    One of the things we changed was the way that line charts of grouped lines and cumulative lines shows when there were breaks in the lines.

    Data or not?

    When I looked at the old charts, and there were gaps in the data, my heart would sink. It would sink to the 0 level of the axis, where I could see all the lines there.

    image

    And I always think “well, is the value for “negotiation/review� for May really 0? or was there no data?

    Enter the Brave Few

    Happily, one of the thought leaders on visualizing data, has already thought about it, in a paper on how to deal with charting on irregular intervals.

    His view is that you can’t plot anything there. That is good for two reasons:

    1. makes sense
    2. is what you were taught in school (this line isn’t continuous)

     

    We only have this problem in two cases – for grouped line charts, where the x-axis values are set by multiple lines, and so (as in the example above) you can see “gaps� in some of the series compared to others. Above, “Needs Analysis� is stable over all the dates, whereas “negotiation/review� is not.

    In Summer’09

    Now the new picture (with the same data)

    image

    Now, the “broken line� is something you probably won’t see often (I had to cheat here to get it to show something strange). But the lines that end are something you’ll probably see when dealing with historical data (like a snapshot) or with the latest period, where not all data might be valid - for instance, looking at opportunities in the future and their stages – hopefully none are in “closed/won� but closing in December 2012.

  • 10
    points

    So, in Part 1, we covered creating a project, and being able to delete reports. Some people were already happy about that - see the end of Mass delete reports:

    image

    It warms the cockles of my heart!

    So, once you've cleaned up the old reports we wanted to delete, what else can we do? How about changing things in reports?

    Search and Replace - changing filter values

    One thing that comes up a lot in wanting to change reports is looking for "old" filter values. These might be from picklists or member status, or territories. So, what can we do?

    Well, let's say we have reports on opportunities, and we want to change the opportunity stage names. Normally that would mean going to the reports, and changing what we were looking at. Now, we can use the powerful search and replace in eclipse to do our work.

    An Example - stage name

    So, I have filter definition on stage name. I'm filtering in my reports to only show stage 1 to 3, but I see that the third one -  “Needs Analysisâ€� isn’t used much:

    image

    In the query I have:

    image

    Now, I want to get rid of “Needs Analysis�. I can do that in the picklist editor, by deleting the picklist value, and moving those opportunities to “Qualification�:

    image

    But my reports still filter on the old value.

    Or, I might have chosen “None� in the replacement value, then they would all still stay “Needs Analysis� – maybe I am migrating to new settings, maybe I’m converting 2 statuses to 1 new one.

    In the IDE:

    I can now see this in the IDE:

    <filter>
        <criteriaItems>
            <column>STAGE_NAME</column>
            <operator>equals</operator>
            <value>Prospecting,Qualification,Needs Analysis</value>
        </criteriaItems>
    </filter>

    andfdf

    So, let’s says I want to:

    find places where the text appears in the the <value> block of a report file

    image

    Then I can ask it to search (but don’t hit the “search� button), I’m about to explain the contents

    image

    Here, I’ve clicked the “Regular Expression� checkbox. Rather than making things more normal (like Regular Coffee, or Regular Joe), this allows me to do something special.

    The first part of the “containing text� is (<value>.*) – the parentheses mean that this is a “capturing group� – that we are going to be able to use later. This means, find something that starts with <value>, then has any number of any characters. Then the next part says “Needs Analysis�.

    I also want to search only in report files – where the pattern is *.report – any file ending in .report

    Now, hit the “replace� button, and this appears:

    image

    And here’s where it gets weird. We want to replace it with $1? You can’t even buy a coffee for a dollar (yes, I live in expensive San Francisco).

    No. The “$1� means to replace that text with whatever the search found in the parentheses – so it will replace it with “<value>� followed by whatever else was before the “Needs Analysis�, followed by the replacement value I’ve chosen.

    DON’T HIT THE “REPLACE� BUTTON UNLESS YOU ARE REALLY SURE!

     

    You want to try this in a dev org, or with a single file, or where you have the files versioned, because as soon as you press “replace�, it will replace in all files, and put that file back on the server.

    Now, for a split second, the code looks like this:

    <filter>
        <criteriaItems>
            <column>STAGE_NAME</column>
            <operator>equals</operator>
            <value>Prospecting,Qualification,Qualification</value>
        </criteriaItems>
    </filter>

    and you’ll wonder what in the Sam Hill is going on, before the save/verify/download logic build-in to the IDE takes over, and makes the code look like this:

    <filter>
        <criteriaItems>
            <column>STAGE_NAME</column>
            <operator>equals</operator>
            <value>Prospecting,Qualification</value>
        </criteriaItems>
    </filter>

    and then you are done!

    Here, the IDE has uploaded your code to the server, which looked at the filter, and decided two of the picklist values were the same, and it’s sent it back to the client with the duplicate removed.

    Remember:

    1. practice in a developer org (they are free!)
    2. back up your .report files
    3. Run “Search� to make sure you find what you want
    4. Run “replace in file� to try one file at a time
    5. Be lucky!
  • 10
    points

    It only seems like a month or two ago that I was extolling the virtues of the analytics features in the Winter'09 release. But here we are again, and it's that time again.

    This weekend, Sandbox rolled out with the new features, and pre-release has been available for a while - looking at the end of the status page, you can see the release-related maintenance windows.

    We'll go in order of the easiest to understand to the hardest:

     

    Dashboard Finder

    Do you have troubling finding your dashboards? Have too many? Without trying to sound like an infomercial about how opening jars will get you to prison, I know I do.

    There's no idea for this one to show how popular it is, but we've seen when watching users use salesforce.com that people can't find one named dashboard in the long list that's on the

    Turning it off and on

    If you want to turn it off and on, that's in the setup | customize | User Interface page. It's on by default. In testing, 9/10 admins said their cats preferred it. Or was that some catfood? But when doing the usability tests, most users though that it should be on by default,  they wouldn't turn it off, and that users used to the old way of doing things would not get confused.

    image

    Using it

    So, you are looking at a dashboard, and want to see another. You can click the down-button to deploy the list just like always:

    But you can also type into the box, and it will search as you go. For a better picture of this working, you can look at the new release demo for the Dashboard Finder

    Summary Snapshots

    Summary snapshots was an idea on IdeaExchange created just after we released Analytic Snapshots. Really, it was part of the snapshot vision imagewhen we started (yes, I really do know everything but I am also very modest). In that first release, we were only able to get tabular datasets to work, but we'd already done the usability and other work to use a summary report as the source.

    To use start snapshotting summary data, you select a source report that's a summary (matrix can't work for reasons I'll outline when I look at the feature in more depth), then choose which level of summary you want to map, and then schedule, and Bob is your uncle.

    As with the Dashboard finder, there's a release demo for Summary Snapshots showing you the steps involved, but really, if you've used the current analytic snapshots, it will be a tiny step to using these ones.

    With summary snapshots:

    • So long as you insert less than 2000 rows, your report can go over many more
      • You can report over hundreds of thousands of rows, and summarize down to categories or groupings, then store data for the groupings
    • you can snapshot multiple metrics at the same time
      • If your report calculates average days to close deals, as well as average deal size, and is grouped by industry, lead source, and geography, you can snapshot all of that information
    • you can then use the data in the snapshot object as the source of another report

     

    If you have a metric you are tracking in your business (like average days to close) then now's the time to use the same report you are using on the dashboard, snapshot it, and start to watch the trend as your business changes.

    Accessing Previous and Parent Group Data

    imageThis is one of the hard to explain features. You'll see why it's useful in an example. Currently, in Custom Summary Formulas - the formulas you build to do calculations in summary and matrix reports - you can only get the values for the current grouping. With the new features, you can use two formulas - PREVGROUPVAL to get values from either cells above or - in matrix reports - to the left. The other function - PARENTGROUPVAL - allows you to get values from calculations in summary levels higher than the current one.

    So, If you wanted to get a "this q vs last q" difference amount, you'd use PREVGROUPVAL.

    If you wanted to get "this product as a % of all products", you'd use PARENTGROUPVAL.

    There's also two mini-features that were necessary to deliver this one:

    1. Allowing Custom Summary Formula fields to be only calculated in some contexts
      • pre-Spring'09, formulas were calculated at all levels - for instance, totaling pipeline size also gave nonsensical totals over all time - amounts of money that never existed. With Spring'09, you can now choose where the calculation should be done. 
      • Functions using PrevGroupVal and ParentGroupVal can only be valid in one context
    2. A new Custom Summary Formula builder that gives you a lot more help when building the functions.

     

    There is a video showing the new summary formulas that you can look at for a quick introduction to the features

    And together, all these 4 features make up one of the 3 big features we're delivering as part of Spring'09!

  • 10
    points

    Today in Monash's post on Database Saas they mention the analytics part of salesforce.com as one end of the continuum of "data market outsourcing".

    Just in case you'd forgotten, salesforce.com is more than the database - there are Database Services but also services to manage that, query it, and build forms - the whole platform, as well as a set of partners providing analytics solutions on AppExchange.

    But in the Monash blog post, they do go on to list other providers who may be a better fit if you don't need (or want) the rest of the salesforce.com platform, and want SQL or ODBC access to your data (rather than SOQL).

     

  • 10
    points

    Today in Monash's post on Database Saas they mention the analytics part of salesforce.com as one end of the continuum of "data market outsourcing".

    Just in case you'd forgotten, salesforce.com is more than the database - there are Database Services but also services to manage that, query it, and build forms - the whole platform, as well as a set of partners providing analytics solutions on AppExchange.

    But in the Monash blog post, they do go on to list other providers who may be a better fit if you don't need (or want) the rest of the salesforce.com platform, and want SQL or ODBC access to your data (rather than SOQL).

  • 10
    points

    Today in Monash's post on Database Saas they mention the analytics part of salesforce.com as one end of the continuum of "data market outsourcing".

    Just in case you'd forgotten, salesforce.com is more than the database - there are Database Services but also services to manage that, query it, and build forms - the whole platform, as well as a set of partners providing analytics solutions on AppExchange.

    But in the Monash blog post, they do go on to list other providers who may be a better fit if you don't need (or want) the rest of the salesforce.com platform, and want SQL or ODBC access to your data (rather than SOQL).

  • 0
    points

    There have been a few articles about changing market share for browsers and whether browsers are supported by services. Since I have the reporting tools, and as it's the end of year and so I have a full set of data for 2008, I thought I'd share some information on how salesforce.com's service has seen browser versions change. If you are looking for total share numbers, normally Jerry covers that - e.g. in June 2008 he shared his results on browser share. There are also a set of good comments in that article in response to Jerry's questions about how users use IE6 and whether they can upgrade.

    We're a web application used normally by businesses - so our total numbers might not line up with somebody measuring all accesses from all browsers.

    Versions of IE

    Here is the split between May 2004 and December 2008 - you can see when IE7 came out, and is slowly being pushed down to upgrade IE6. IE8 isn't statistically significant yet - it's still in beta as of January 2009.

     

    Internet Explorer changes fairly slowly - users are either happy with their current experience, don't want to upgrade, or are not in control of their PCs. For instance, in one of the comments in Jerry's blog post above, the user says that their IT department controls the deployment over their 5000 PCs


    Version of Safari

    The Safari version split shows a quicker movement from version to version - particularly version 3 which replaced all the other versions pretty quickly. I'm not sure why the number of 1.3 and 2 versions went back up - it's probably be customers trying Safari 3 on Windows - released in March 2008 - then going back to other browsers or switching to FireFox 3 because they are the cool kids.

     

    For instance, in this idea to make Safari 3 supported - it says Safari was faster than the FireFox at the time. Then there were articles saying FF3 was faster than Safari 3 so people must have then changed again - and looking below, when Safari 3 is loosing ground, it's when the avalanche of users upgrading to FireFox 3 is happening.

    Firefox

    One look at the FireFox graph below tells the story of a quick upgrade cycle. People are definitely in control of their Firefox installations, and seem to press the "upgrade" button without hesitation. And it's getting faster each time! That nagging window telling you to upgrade to a new experience really works.

     

  • 10
    points

    So, around Easter-time this year I'd posted the list of the top 10 ideas.

    Since it's holiday-time again (even with a different set of holidays, I'll go through the last top 10, and status, and also the current top 10 by votes

     

    idea

    Old Status

    New status

    My Feedback

    1.

    Freeze Column Headers in Reports
    Posted by mbuelow 11-21-2006 02:28 PM, 1485 total votes

    Delivered

    Delivered

    Delivered for tabular reports. We have prototypes for summary and it's under consideration. Matrix is a bit harder just because there are so many moving parts.

    2.

    Scheduled and Emailed Reports & Dashboards
    Posted by guest 10-04-2006 10:52 AM, 1211 total votes

     Delivered

    Not marked as delivered, but "scheduled and emailed dashboards" is done. Reports is under consideration

    3.

    Exception Reporting (outer joins)
    Posted by ToddJanzen 10-12-2006 08:38 AM, 1160 total votes

     Under consideration

    From no-where (in 2006 when posted) we've done Custom Report Types to let you build the report type, then outer joins. The next step on "getting the data out" is exception reporting.

    4.

    Nesting Report Folders
    Posted by AlexCRMmanager 02-08-2007 08:49 AM, 1160 total votes

     under considerationthe new dashboard finder should be a way to reduce the cost of the feature as we'll have fewer parts of the UI to change as we put in report folders

    5.

    Multiple Contacts to be allowed on one activity, be it a task or event! Please!
    Posted by mtlcanuck 03-09-2007 07:09 PM, 1088 total votes

    Ideas Under Consideration

     

    The activities team are considering this, in a way similar to Junction Objects

    6.

    Scheduled emailing of reports
    Posted by Zak456 06-06-2007 09:37 AM, 1038 total votes

     delivered

    Same as number 2.

    7.

    Pie Charts with Percentage Values Displayed
    Posted by garysanders 08-21-2007 08:03 PM, 702 total votes

     There's a something coming in Spring that will help sometimes

    We have to make changes to the graphing engine behind dashboards and reports for this to happen.

    8.

    Schedule Dashboard Refresh
    Posted by steve.lee 07-06-2007 10:00 AM, 631 total votes

    Delivered

    Delivered

    Done!

    9.

    Custom Report Types
    Posted by guest 10-04-2006 10:47 AM, 616 total votes

    Delivered

    Delivered

    Done!

    10.

    Ability to PRINT Dashboards
    Posted by AmandaFoord 10-10-2006 05:21 AM, 560 total votes

      

    This is really hard. Today the dashboard model doesn't let you specify page details – what size of paper, what orientation. If you've tried to use a "print to PDF" system on a dashboard, you'll have seen it doesn't work well. We have to work on a generic "paginate" system, then allow admins and users to change that.


    So we've gone from 3/10 to 5/10 delivered, and from 1/10 under consideration to 3/30.


    The current top 10


    Of course, the top 10 change, because people vote. Although it doesn't change as quickly as the list of "popular ideas" on the Ideas list, it does change:

    rankideavotesstatuscomment
    1

    Scheduled emailing of reports

    16320deliveredIn Winter'09
    2

    Freeze Column Headers in Reports

    15340deliveredIn Summer'07
    3

    Report Sub-Folders

    14130 While publishers want folders, consumers seem unconvinced (and may want something like the organization in content). We're going to try something in Spring'09 for dashboards and see if people like it
    4

    Exception Reporting (outer joins)

    13940 We're looking to see if there's a way to construct these reports that makes sense
    5

    Scheduled and Emailed Reports & Dashboards

    13923deliveredIn Winter'09 for reports, in Spring'08 for dashboards
    6

    Pie Charts with Percentage Values Displayed

    8270under consideration 
    7

    Actual Values displayed in Chart

    8220under consideration 
    8

    Set the dashboard Running User as "current user" (dynamic)

    7900 As I explain in the idea, this isn't easy because refreshing the data live isn't easy, nor is storing data for every user.
    9Custom Report Types6643delivered 
    10Ability to PRINT Dashboards6510 see above

    Conclusion


    So even with the changes in voting, we've still done pretty well, and some of the ideas that have bubbled up over the past 9 months are under consideration.

  • 10
    points

    So, around Easter-time this year I'd posted the list of the top 10 ideas.

    Since it's holiday-time again (even with a different set of holidays, I'll go through the last top 10, and status, and also the current top 10 by votes

     

    idea 

    Old Status 

    New status

    My Feedback

    1.  

    Freeze Column Headers in Reports
    Posted by mbuelow 11-21-2006 02:28 PM, 1485 total votes

    Delivered  

    Delivered

    Delivered for tabular reports. We have prototypes for summary and it's under consideration. Matrix is a bit harder just because there are so many moving parts.

    2.  

    Scheduled and Emailed Reports & Dashboards
    Posted by guest 10-04-2006 10:52 AM, 1211 total votes

     Delivered

    Not marked as delivered, but "scheduled and emailed dashboards" is done. Reports is under consideration

    3.  

    Exception Reporting (outer joins)
    Posted by ToddJanzen 10-12-2006 08:38 AM, 1160 total votes

     Under consideration

    From no-where (in 2006 when posted) we've done Custom Report Types to let you build the report type, then outer joins. The next step on "getting the data out" is exception reporting.

    4.  

    Nesting Report Folders
    Posted by AlexCRMmanager 02-08-2007 08:49 AM, 1160 total votes

     under considerationthe new dashboard finder should be a way to reduce the cost of the feature as we'll have fewer parts of the UI to change as we put in report folders

    5.  

    Multiple Contacts to be allowed on one activity, be it a task or event! Please!
    Posted by mtlcanuck 03-09-2007 07:09 PM, 1088 total votes

    Ideas Under Consideration  

     

    The activities team are considering this, in a way similar to Junction Objects

    6.  

    Scheduled emailing of reports
    Posted by Zak456 06-06-2007 09:37 AM, 1038 total votes

     delivered

    Same as number 2.

    7.  

    Pie Charts with Percentage Values Displayed
    Posted by garysanders 08-21-2007 08:03 PM, 702 total votes

     There's a something coming in Spring that will help sometimes

    We have to make changes to the graphing engine behind dashboards and reports for this to happen.

    8.  

    Schedule Dashboard Refresh
    Posted by steve.lee 07-06-2007 10:00 AM, 631 total votes

    Delivered  

    Delivered

    Done!

    9.  

    Custom Report Types
    Posted by guest 10-04-2006 10:47 AM, 616 total votes

    Delivered  

    Delivered

    Done!

    10.  

    Ability to PRINT Dashboards
    Posted by AmandaFoord 10-10-2006 05:21 AM, 560 total votes

      

    This is really hard. Today the dashboard model doesn't let you specify page details – what size of paper, what orientation. If you've tried to use a "print to PDF" system on a dashboard, you'll have seen it doesn't work well. We have to work on a generic "paginate" system, then allow admins and users to change that.


    So we've gone from 3/10 to 5/10 delivered, and from 1/10 under consideration to 3/30.


    The current top 10


    Of course, the top 10 change, because people vote. Although it doesn't change as quickly as the list of "popular ideas" on the Ideas list, it does change:

    rankideavotesstatuscomment
    1

    Scheduled emailing of reports

    16320deliveredIn Winter'09
    2

    Freeze Column Headers in Reports

    15340deliveredIn Summer'07
    3

    Report Sub-Folders

    14130 While publishers want folders, consumers seem unconvinced (and may want something like the organization in content). We're going to try something in Spring'09 for dashboards and see if people like it
    4

    Exception Reporting (outer joins)

    13940 We're looking to see if there's a way to construct these reports that makes sense
    5

    Scheduled and Emailed Reports & Dashboards

    13923deliveredIn Winter'09 for reports, in Spring'08 for dashboards
    6

    Pie Charts with Percentage Values Displayed

    8270under consideration 
    7

    Actual Values displayed in Chart

    8220under consideration 
    8

    Set the dashboard Running User as "current user" (dynamic)

    7900 As I explain in the idea, this isn't easy because refreshing the data live isn't easy, nor is storing data for every user.
    9Custom Report Types6643delivered 
    10Ability to PRINT Dashboards6510 see above

    Conclusion


    So even with the changes in voting, we've still done pretty well, and some of the ideas that have bubbled up over the past 9 months are under consideration.

  • 10
    points

    So, around Easter-time this year I'd posted the list of the top 10 ideas.

    Since it's holiday-time again (even with a different set of holidays, I'll go through the last top 10, and status, and also the current top 10 by votes

     

    idea 

    Old Status 

    New status

    My Feedback

    1.  

    Freeze Column Headers in Reports
    Posted by mbuelow 11-21-2006 02:28 PM, 1485 total votes

    Delivered  

    Delivered

    Delivered for tabular reports. We have prototypes for summary and it's under consideration. Matrix is a bit harder just because there are so many moving parts.

    2.  

    Scheduled and Emailed Reports & Dashboards
    Posted by guest 10-04-2006 10:52 AM, 1211 total votes

     Delivered

    Not marked as delivered, but "scheduled and emailed dashboards" is done. Reports is under consideration

    3.  

    Exception Reporting (outer joins)
    Posted by ToddJanzen 10-12-2006 08:38 AM, 1160 total votes

     Under consideration

    From no-where (in 2006 when posted) we've done Custom Report Types to let you build the report type, then outer joins. The next step on "getting the data out" is exception reporting.

    4.  

    Nesting Report Folders
    Posted by AlexCRMmanager 02-08-2007 08:49 AM, 1160 total votes

     under considerationthe new dashboard finder should be a way to reduce the cost of the feature as we'll have fewer parts of the UI to change as we put in report folders

    5.  

    Multiple Contacts to be allowed on one activity, be it a task or event! Please!
    Posted by mtlcanuck 03-09-2007 07:09 PM, 1088 total votes

    Ideas Under Consideration  

     

    The activities team are considering this, in a way similar to Junction Objects

    6.  

    Scheduled emailing of reports
    Posted by Zak456 06-06-2007 09:37 AM, 1038 total votes

     delivered

    Same as number 2.

    7.  

    Pie Charts with Percentage Values Displayed
    Posted by garysanders 08-21-2007 08:03 PM, 702 total votes

     There's a something coming in Spring that will help sometimes

    We have to make changes to the graphing engine behind dashboards and reports for this to happen.

    8.  

    Schedule Dashboard Refresh
    Posted by steve.lee 07-06-2007 10:00 AM, 631 total votes

    Delivered  

    Delivered

    Done!

    9.  

    Custom Report Types
    Posted by guest 10-04-2006 10:47 AM, 616 total votes

    Delivered  

    Delivered

    Done!

    10.  

    Ability to PRINT Dashboards
    Posted by AmandaFoord 10-10-2006 05:21 AM, 560 total votes

      

    This is really hard. Today the dashboard model doesn't let you specify page details – what size of paper, what orientation. If you've tried to use a "print to PDF" system on a dashboard, you'll have seen it doesn't work well. We have to work on a generic "paginate" system, then allow admins and users to change that.


    So we've gone from 3/10 to 5/10 delivered, and from 1/10 under consideration to 3/30.


    The current top 10


    Of course, the top 10 change, because people vote. Although it doesn't change as quickly as the list of "popular ideas" on the Ideas list, it does change:

    rankideavotesstatuscomment
    1

    Scheduled emailing of reports

    16320deliveredIn Winter'09
    2

    Freeze Column Headers in Reports

    15340deliveredIn Summer'07
    3

    Report Sub-Folders

    14130 While publishers want folders, consumers seem unconvinced (and may want something like the organization in content). We're going to try something in Spring'09 for dashboards and see if people like it
    4

    Exception Reporting (outer joins)

    13940 We're looking to see if there's a way to construct these reports that makes sense
    5

    Scheduled and Emailed Reports & Dashboards

    13923deliveredIn Winter'09 for reports, in Spring'08 for dashboards
    6

    Pie Charts with Percentage Values Displayed

    8270under consideration 
    7

    Actual Values displayed in Chart

    8220under consideration 
    8

    Set the dashboard Running User as "current user" (dynamic)

    7900 As I explain in the idea, this isn't easy because refreshing the data live isn't easy, nor is storing data for every user.
    9Custom Report Types6643delivered 
    10Ability to PRINT Dashboards6510 see above

    Conclusion


    So even with the changes in voting, we've still done pretty well, and some of the ideas that have bubbled up over the past 9 months are under consideration.

  • 10
    points

    So, another feature that had been widely requested was the ability to grab the results of a printable view of the report, and send it to a set of users:




    Getting scheduling to work:

    I'm going to assume that either

    1. your user has a "System Administrator" profile, so you have this turned on in your profile
    2. your local administrator has turned this on for you, so you'll be able to schedule for yourself
    3. If you are using custom administrator profiles, you may or may not have this turned on depending on your other permissions

    so we'll leave the permissions/profile discussion to a local one - I'm going to assume you have the right to schedule.

    Viewing a report today
    When you view a report in Winter'09, you should see an extra control on the "Run Report" button.

    This new down-arrow allows you to select between two choices:

    You can run the report now - the default if you click the button, and what was the only choice, or you can schedule the report to be run.
    Just like when you schedule a dashboard, you can choose the destination emails.
    Who you can send to depends on who can see the folder where the report is saved. If it's in your personal folder, there won't be a lot of choices.
    If it's in a public folder, then you can choose pretty much anybody.
    Otherwise, if it's in a folder shared to a set of roles, groups, or users, you can choose from them:

    The last options are different from the options on the dashboard scheduling page. When scheduling, you might have changed the report before scheduling it. Since you might expect to schedule the one you've been working on, the first option lets you save the report as-is, and the schedule you are setting up.
    Alternatively, you can schedule the report based on the last saved version of the report - and discard the current set of report changes you've done.

    What you get


    So, what do you get in your email?
    You get the output of the printable view, with a few small additions to make sure things make sense:
    the running user is displayed, the time it ran was displayed, then there is the list of filters present (so you have some context).

    And that will arrive every time you asked! Easy!

    If you ever have problems, keep any mails that turn up - not just the content, but also the headers. We've seen instances in support where we sent the mails on time, but they were held up somewhere along the way, so keep the email and know how to get to the "internet headers" as they are sometimes called. This allows support to work to find where there was a problem.

  • 10
    points

    One of the additions in the Winter'09 version of salesforce.com was the addition of reports, dashboards, and their folders t the metadata API.

    The two kinds of API

    There are two kind of different APIs in salesforce.com

    • The data API
      • This is the API that s-controls use, that Apex uses, and it lets you do many things. For instance, it allows you to create Accounts, change custom object records, get lists of Cases, and create workflow.
    • The metadata API
      • This is the API that can create objects, get lists of folders, create fields on objects, and now, thanks to the miracles of science, list, create, edit, and delete custom reports

    In the Winter'09 release of Salesforce.com, the reports are part of that Metadata API, and you can list them, create them, delete them, and change them.

    But what if you are not a programmer? What if you just want to mass delete?

    The Eclipse IDE.

    Salesforce.com has an plug-in for Eclipse. Eclipse is a standard IDE, developed by the community, and a set of companies. Before, every company made it's own IDE.

    IDE - is an Integrated Development Environment. It's designed to let you do everything you'd want to do to develop. You might say "Hey! I'm an Admin, I don't want to develop". But you do - you want to develop reports!

    Back when every company made it's own IDE, the world was less fun. Oh, the area behind my house was all trees and majestic herds of wildebeest roamed the land, but you had to learn a whole new way of doing things when you changed what you worked on. Unless it was the wildebeests.

    What you'll need:

    You'll need a two ingredients:

    • The Europa EE build of Eclipse
      • you can get this from the Europa Eclipse download site
      • you need the Europa EE version because it includes everything you need, and we don't work with the newer versions yet
      • You need to install Eclipse, just unzip the file somewhere
    • The salesforce.com plug-in

    Getting started in the IDE

    The first thing you need is a project - which is, for a salesforce.com project, a connection to salesforce.com with a login:

    image

    Then you'll be able to fill in the login details. You should never need to change the "Environment" choice:

    image

    Next, you should see progress - a progress bar as it downloads the configuration behind your salesforce.com login.

    Then, you'll see a new dialog box where you can choose what to download. The easiest way to do this for reports is to choose the option "Selected metadata components" and press the "Choose..." button.

    image

    Then, we get to choose the reports:

    image

    Here, I've chosen to get anything in the "Activityreports" folder, plus one of the reports from the "Campaign Influence Reports".

    And now we can see what we're going to download:

    image

    Now the exciting part! Progress!

    image

    And now, we can see all of the project's contents in the folder/package view of Eclipse:

    image

    Ok, now what?

    Well, first, let's do a mass delete. First, select some reports:

    image

    I've just selected the first, held Shift and clicked the last. I can also ctrl-click on reports to select random reports from the list.

    Then press the delete key on my keyboard, and: image

    then the best bit: image

    Yes! Yes!

     

    Ok, next time, using search and replace....

  • 10
    points

    It's that time of year again… well, not year. It's the tri-annual time for – wait, isn't tri-annual every 3 years? Or is it three times a year? The quadmestrial unveiling of features. I've set these to "coming in Winter'09" and will be drilling into each one with more detail later in other blog posts.

    Scheduling and Emailing Reports

     

    Well, this one was top of the vote list. It's been there for a while even, so we thought we ought to do it.

    In fact, there's no just scheduling. You have to email, because there's nowhere in salesforce.com to store the report results. The behavior is just like scheduling dashboards or analytic snapshots. It's available for Professional, Developer, Enterprise, and Unlimited Editions – different editions get different numbers of slots.

    If you wanted a history of data in an object, you'd use Analytic Snapshots, rather than keeping a set of old reports. Then you'd actually be able to view the history in a set of different ways.

    The output is the HTML of the report – the kind of HTML you'd see in the printable view, for instance. The output is emailed to you, if you can see the folder which contains the report.

    Reports, Dashboards, Folders in the Metadata API

     

    Well, this is a pretty big one. It allows you – from the Metadata API (you can't get to the metadata API in Apex, for instance, because things could get really weird) to create, read, update and delete reports, report folders, dashboards, dashboard components, and dashboard folders, as well as custom report types, via the API.

    There isn't really one idea for this, but these ideas are the kinds of operations you'll be able to do:

     

    Images in Dashboard Emails compatible with Lotus Notes

     

    As I'd said before, the "Scheduled and Emailed Dashboard" feature Scheduled and emailed dashboards - the feature didn't support sending to Lotus Notes. Or at least, you could send to it, but a Lotus Notes client user couldn't see the images. We've watched IBM's progress on reading PNG files – see Lotus Notes and the Emailed Dashboard feature in Spring'08, and decided that we'd just build a switch to control the image format.

    So, you might say "Hey, idiot, why didn't you just build it so it worked with everything when you built it the first time?".

    Well, there are two reasons:

    1. We generate .PNG files for the on-screen version, and we wanted to keep the email looking the same as the on-screen version
    2. .JPEG files (the only other alternative for a few technical reasons) don't look the same as .PNG files, because .jpeg was designed for photographs (they put the P in jpeg!), and so don't deal with some computer-generated images very well.

    So, if you are a Lotus Notes customer, you turn on the switch, and you'll be able to see the images, but there will be a slight fuzziness around the edges of the lines. We can't get rid of it (it's how jpeg compresses the images).

  • 10
    points

     

    Right now, the nomination and selection processes for speakers at Dreamforce is open.

    If either:

    • You feel like others could benefit from your experience of using the set of features to deliver value to your co-workers

    or

    • You want to school all these punks in how to really use salesforce.com

    you can either talk to the employee you normally deal with, or go to:

    http://www.salesforce.com/dreamforce/DF08/callforspeakers.jsp

    where you can enter your details. Not everybody is chosen, you should enter what you are comfortable talking about, maybe with examples so that the coordinators can see what you are ready to cover.A young lady examening her tricked out namebadge

    Generally, we prefer people who have the former view of why they should be there over the latter. Speakers get not only a "tricked out namebadge" (worth less than the price of a new pair of shoes, or $581, whichever is lower) but also other stuff at DreamForce (like free entry).

    You'll also get people coming up to you afterwards, asking how you did things.

    If you want to know what goes on at Dreamforce, what it's like, and what to expect, you can also talk to one of the local user groups - you might also want to talk to your user group coordinator and ask them if what you are thinking of would go down well at Dreamforce, since the local user group meetings are like mini-Dreamforces themselves.

    There aren't just sessions about analytics planned at Dreamforce this year, so pipe up and get ready to get on stage and screen.

     

    (Image on the left is from one of progessive insurance's commercials, for everybody outside the US who hasn't seen it - it's the 5th one down on the list here)

  • 10
    points

     

    When talking with some of you about Analytic Snapshots, I've found many people didn't know that there's already a snapshot done of your opportunities every 1st of the month. Working with this and looking at if it can solve your pipeline visibility questions will tell you much about what you need in a snapshot, and if you need one.

     

    What is the opportunity history? Isn't that new in Summer'08?

     

    Well, there is opportunity field history. That's new. It's like the extension of case history and custom object history to opportunities. But it tracks every field that changes (at least, of the ones you select), and each field changed is a new record in that field history.

    So, change stage from 2 to 3, that's one line of opportunity field history

    Change stage from 2 to 3, amount from 1000 to 2000, and the owner from Pat to Bobby, and that's 3 change rows in opportunity field history.

    Opportunity history isn't like that. It will record 1 row, with all the changed values, for the values it saves.

    Opportunity history is shown on an opportunity detail page as the related list "Stage history".

     

    So what's opportunity history and opportunity trends?

     

    If you've looked at the report type list for opportunities, there are now three different report types:

    • Opportunity history
    • Opportunity field history
    • Opportunity trends

    So, the first one is the list of things visible as the "stage history" on the opportunity, and the second is the field history. What's the third?

     

    Opportunity Trends Report Type

     

    The opportunity trends report type gives you the status of your opportunities at the start of each month.

    You can see, for each 1st of the Month, for each Opportunity:

    • Historical Amount
    • Historical Stage
    • Historical Close Date
    • Historical Probability
    • As of Date
    • All opportunity fields as their current values

    For instance, you might make a matrix report, showing by Opportunity Owner role (vertically) and by date (horizontally) what was the amount. That report would show the evolution, for each 1st of the month, the total amount of the opportunities.

     

    So how is that different from an Analytic Snapshot?

     

    There are 3 main differences

    1. It only works on the 1st of each month - so you can't see trends as of the 3rd, or every Monday, or every 1st and 15th of a month. With and Analytic Snapshot, you can choose when it runs.
    2. It only records a set of fields, and you can't change them. With an Analytic Snapshot, you can control which fields, and even bring in fields not on opportunity.
    3. If you can see the Opportunity, you can see the trend data. With an Analytic Snapshot, you can do this, but you can also have history available to more or few users.

     

    What you can do:

     

    If you haven't already tried it, make a report using the Opportunity Trends report type, and group by "as of date". That will let you see back into the past, what your pipeline looked like over time.

    You might also want to make a report where you filter on "as of date" and then you can choose a month, and it will list the opportunities as they were at that date - whatever the values of stage, amount, close date, and probability were as of that date.

    Now, if this isn't enough - you want more fields tracked, you want snapshots done more than every 1st of the month, then follow the guide to create an analytic snapshot, and start building up your own history.

  • 10
    points

     

    If there's two things I like, it's cute pictures of cats, and cats in pictures that look cute.

    As part of 154, we've doubled the numbers of Custom Report Types in salesforce.com for all the paid editions. This was in IdeaExchange (discussion in the comments on why):

    Increase the limit on custom reports in Enterprise Edition

    So they doubled.

    dubled

    There is this theory that if an idea is too complicated to be represented by a LOLcat, then it is too complicated to understand. I'm not sure about that yet.

    This is dedicated to Kingsley, who feels that lolcats are wrong!

  • 40
    points

    So, you may have read the marketing page the for the feature and maybe even heard about it at Dreamforce Europe - the time machine enabling you to both look back over time, and to go back to a point in time and look at it.
     

    So - how does it work?

    You have to do 3 things:

    1. choose what data you want to snapshot
    2. choose how often you want to keep the data
    3. build a report on that data
    4. create the Analytic Snapshot

    ok, there's 4. But 2 of those are just about thinking! You probably do that anyway...


    What data do you want to snapshot?

    Well, if you want to look at pipeline, you probably want to look at opportunities. You may also want to look at products.

    If you want to look at how your support organization is doing, you want to store cases.

    If are looking at how your marketing organization is dealing with incoming business, then leads might be a good choice.

    You might also have custom objects that change over time - status changes, numbers change, you can snapshot it.


    And what data do you want to store in the snapshot?

    When looking at the set of data you have, you probably want to capture the data that's changing that you care about - for instance, the opportunity's amount, stage, and custom fields.

    You might also want to duplicate the owner information - to make sure visibility on the snapshot data is the same as on the source data.

    You might also want to copy across references to other records - for instance, the account for the opportunity, the contact for the case, or the campaign for the leads. This will let users using the snapshot for reporting get the historical data related to this contact or

    If you are in EE or UE and can have many snapshots, then you could snapshot multiple levels of data - for instance, not just the top 50 open opportunities, but the products for those opportunities as well.

     

    An example:

    I want to store details of open deals, every Monday morning. I forecast and close business monthly, so I want to get a snapshot of how the pipeline is changing during the month. I have the following list of fields on opportunity that I want to copy across:

    • Opportunity Name
    • Opportunity Amount
    • Opportunity Stage
    • Opportunity Close Date
    • A custom picklist tracking the type of install needed - "Installation Type"
    • A custom field for "Number of Installers"

    I want to make sure I get owner information and copy it across, and I want the account and opportunity to be linked to the snapshot record, so I can do reports like:

    • Account and deal snapshots
    • Opportunity and deal snapshots

    as well as reporting just a snapshot or set of snapshots.


    Step 1 - create a CRT

    Since the report has to have many lookup fields with IDs, I make a Custom Report Type, with the primary object as Opportunity

    I go to the page layout step, and add in fields available through lookups to get the owner ID, the opportunity ID and the account ID. To bring in lookups, you need IDs.

    (for information on creating a CRT, see the help and training in salesforce, or CRT-related articles on this site)

    crt for snapshot

     

    Step 2 - create the custom object to store the data

    The next step is to create the custom object to hold all this data. We are going to need 1 field for each of the fields named above (Opportunity Name, Amount, Stage, Close Date, a Picklist for my Installation Type, and a number field for "number of installers". I will also need:

    • A date field for when the snapshot was run
    • a lookup to Opportunity (to see the current state, and to make the history a related list of opportunities)
    • a lookup to account

    For the owner, I'm going to have the owner transfer across, so we don't need a custom field for that.

    newobject

     

    Step 3 - create a report

    Now we make the report - I use my CRT and build a tabular report containing all those columns named above.

    reportforsnapshot

    and save this report somewhere public

     

    Step 4 - Create the analytic snapshot

    Finally the new bit! Almost 2 pages later!

    I create an analytic snapshot, and use the wizard to create an analytic snapshot

    admin menu screenshot for as

    And create a new snapshot:

    image 

    (here, I have a choice of running user because my user has "modify all data" in this org"). I save this and select to edit the field mappings:

     image

    So we've mapped all the fields. You can see the lookups had to have their values taken from the IDs of the corresponding objects.

    The last field - snapshot date, I'm going to pick "Execution time" from the "about this snapshot" group of fields. That will give me the time this snapshot was run.

    Now we save that.

    Now we can schedule (this UI is just like scheduling everything else). We can schedule for every Sunday night, and we'll have the status of the pipeline as of that Sunday.

    That's it, just go report on the snapshot!
     

    Reports on the snapshot

    Now we can go report on the snapshot. Here's an example of a crosstab with date across, grouped by stage. I can see the changes in stages as the opportunities move around:

    image

    image

    Then if I want I can drill around an see the details of the history for that month, then using the lookup to Opportunity, get to the current state of those opportunities.