Salesforce a hezké grafy na záznamech

Je to tuším rok, co Salesforce umožnil přidávat grafy na jednotlivé záznamy. Fantastická věc, přímo na záznamu člověka vidíte jaký objem peněz od něj dostáváte každý rok či cokoliv jiného. O řád lepší jak studovat čísla, porovnávat si je a odhadovat trend.

Má to jediný problém (skoro bych chtěl dodat “jako většina věcí v SF”) – je to ošklivé a v podstatě se to nedá upravit.

Graf velký

Jasně, můžete určit jeho velikost (malý, střední, velký), ale tím tak končíte. Chtěli byste ho nízký a široký, protože tam bude mnoho let? Smůla. Napadlo vás dát ho do jednoho sloupce, ať nezabírá tolik místa? Super nápad, bohužel jednotlivé řádky jsou svázané napříč sloupci, takže se to dost nepříjemně roztáhne.

Graf vložený v řádku

Fakt, že se ten graf aktualizuje jednou denně případně na kliknutí tlačítka, je už jenom malý bonbonek na dortu nepříjemností.

Řešení? Google Charts!

Jasně, že to má trochu rozumné řešení – využít API Google Charts a místo grafu z reportů vkládat obrázek. Není to tak komplikované, jak by se mohlo zdát.
První věc, kterou jsem si musel udělat, přestože by to mělo být z popisu API a ukázek zbytečné, je určení maximální hodnoty, která se v grafu může objevit.
V Salesforce pro takovou věc musíme vytvořit nové vypočítávané pole, které si bude držet maximální hodnotu polí, které v grafu používáme.

max( Amount_2012__c, Amount_2013__c, Amount_2014__c, Amount_2015__c, Amount_2016__c)

Pak už stačí vytvořit druhé vypočítávané pole, které zobrazí vlastní graf.

if(
Nejlepsi_rok__c>0,
image(“http://chart.apis.google.com/chart?cht=bvs&chf=bg,s,ffffff&chco=236FBD&chd=t:”
&text( Amount_2012__c / Nejlepsi_rok__c*100 )&”,”
&text( Amount_2013__c / Nejlepsi_rok__c*100 )&”,”
&text( Amount_2014__c / Nejlepsi_rok__c*100 )&”,”
&text( Amount_2015__c / Nejlepsi_rok__c*100 )&”,”
&text( Amount_2016__c / Nejlepsi_rok__c*100 ) &”&chs=400×150&chl=2012|2013|2014|2015|2016&chxt=x,y&chxr=1,0,”&text( Nejlepsi_rok__c),”history”),
“”)

Pokud tedy člověk někdy něco dal (Nejlepsi_rok__c > 0) tak se zobrazí graf. Jednotlivé parametry v URL určují jeho podobu a obsah:

  • cht=bvs – jedná se o sloupcový graf
  • chf-bg,s,ffffff – barva pozadí je bílá
  • chco=236FBD – barva pozadí je taková hezká 🙂
  • chd=t: a hodnoty – určuje hodnoty jednotlivých let v poměru k nejlepšímu roku
  • chs=400×150 – definuje rozměry grafu
  • chl=2012|2013… – definuje popisky osy x
  • chxt=x,y – určuje, že graf má osy x a y
  • chxr=1,0,”&text( … – definuje popisky osy y

Další možné parametry a typy grafů snadno najdete v dokumentaci.

Výsledek vypadá podle mého o dost lépe než standardní funkcionalita Salesforce, hodnoty se aktualizují při každém otevření formuláře a zobrazení je o pořádný kus rychlejší než při využití vloženého grafu. Navíc si to celé můžete snadno a sami upravit tak, aby se vám celá věc líbila.

Graf pomocí Google Charts

Zajímá mě tvůj názor