如何显示用户在Webi 4.1中选择的结束日期之前的月份

时间:2017-06-14 18:04:00

标签: charts linechart business-objects webix

我正在Webi 4.1中创建一个仪表板。当我运行提示时,我选择报告的开始和结束日期。但是,我有一个折线图,显示每月的音量趋势,我希望它排除结束日期,而是在此之前显示月份。

示例:我选择2016年6月1日作为开始日期,选择2017年6月14日(今天的当前日期)作为结束日期。但是对于折线图,我希望它显示2016年6月1日 - 2017年5月31日。

1 个答案:

答案 0 :(得分:0)

BO中的日期函数并不像应该的那样成熟。

您可以检索在提示中输入的值,但它将是一个字符串。首先,我们需要将其转换为日期类型。我们将此变量称为[End Date]

=ToDate(UserResponse("Enter value for End Date:");"M/d/yyyy hh:mm:ss a")

这假设提示文本为“输入结束日期的值:”,并且您的本地日期格式为“M / d / yyyy hh:mm:ss a”)。根据需要进行调整。

一旦你有了这个,这是一个相对简单的计算,从日期减去当月的日期:

=LastDayOfMonth(RelativeDate([End Date];-DayNumberOfMonth([End Date])))

最后,您可以过滤图表以显示小于此的日期。

编辑以添加过滤逻辑

要在过滤器中使用上述内容,您需要另一个变量来确定是否应显示行。假设图表的显示日期来自名为[Date]的对象,您可以执行以下操作:

=If [Date] < LastDayOfMonth(RelativeDate([End Date];-DayNumberOfMonth([End Date]))) Then 'Y' Else 'N'

将此项创建为名为[DisplayDate]的变量,然后只需使用[DisplayDate] = 'Y'

将过滤器应用于图表