SmiData SetMissingDatesToZero

The SetMissingDatesToZero sets all the dates between the from and until date to zero if there is no row for that date. The output of the viper is not sorted.

Smartsite SXML CopyCode image Copy Code
<se:xmldatatable save="data" resulttype="datatable">
    <se:row>
        <se:col name="date" datatype="datetime">{datetime.getdate(2010, 10, 1)}</se:col>
        <se:col name="pageviews" datatype="integer">13</se:col>
    </se:row>
    <se:row>
        <se:col>{datetime.getdate(2010, 10, 3)}</se:col>
        <se:col>18</se:col>
    </se:row>
    <se:row>
        <se:col>{datetime.getdate(2010, 10, 8)}</se:col>
        <se:col>24</se:col>
    </se:row>
</se:xmldatatable>

{smidata.setmissingdatestozero($data, date, pageviews, datetime.getdate(2010, 10, 1), datetime.getdate(2010, 10, 10))}
{buffer.set(data, datatable.sort($data, date))}
{debug.write($data)}
Example Result CopyCode image Copy Code
date=2010-10-01T00:00:00; pageviews=13
date=2010-10-02T00:00:00; pageviews=0
date=2010-10-03T00:00:00; pageviews=18
date=2010-10-04T00:00:00; pageviews=0
date=2010-10-05T00:00:00; pageviews=0
date=2010-10-06T00:00:00; pageviews=0
date=2010-10-07T00:00:00; pageviews=0
date=2010-10-08T00:00:00; pageviews=24
date=2010-10-09T00:00:00; pageviews=0
date=2010-10-10T00:00:00; pageviews=0