Tableau mõõdikute vahetamine koos aja piiranguga

Soovime kasutajal valida, mis mõõdikut soovib ta graafikul näha.


Selle tegemine on iseenesest väga lihtne, teeme parameetri Measure ja kalulatsiooni:

IF [Measure]="Net revenue" then sum([Net revenue])
elseIF [Measure]="Quantity" then sum([Quantity])
elseIF [Measure]="Purchases" then countd([ID])
elseIF [Measure]="Avg. purchases" then sum([Net revenue])/countd([ID])
end

Kui aga tahame nüüd näiteks tekidata eraldi Eelmise ja Hetke aasta objektid

Näiteks:
if attr([Date])<=[Reference date] then [Custom measure] end

siis antud lahendus ei tööta.
Sest korra juba määrasime, et kui valitakse vastav parameeter, siis summeerida ja kui nüüd uut objekti tehes kasutame Kuupäeva detailsus ja juba summeeritud objekti, siis asi ei toimi.

Sellest saab üle aga veidi toimetamist. Tuleb ühe kalkulatsiooni sees filtreerida nii mõõdik kui aeg.

zn(
    sum(if ([Date])<=[Reference date] and  [Measure]="Net revenue"  then ([Net revenue])
    elseif ([Date])<=[Reference date] and  [Measure]="Quantity"  then ([Quantity])
     end)
)
+
zn(
    countd(IF ([Date])<=[Reference date] and [Measure]="Purchases" then [ID] end)
)
+
zn(
   sum(IF ([Date])<=[Reference date] and [Measure]="Avg. purchases" then [Net revenue] end)/
   countd(IF ([Date])<=[Reference date] and [Measure]="Avg. purchases" then [ID] end)
)

Mõni andmebaas nagu näiteks Vertica vajab veel, et kasutatakse sum(zn(