如何显示用户在 Webi 4.1 中选择的结束日期之前的月份
How to show month prior the end date the user has chosen in Webi 4.1
我正在 Webi 4.1 中创建仪表板。当我 运行 提示时,我选择报告的开始和结束日期。但是,我有一个折线图,显示了一段时间内按月的交易量趋势,我希望它排除结束日期,而是显示之前的月份。
示例:我选择 2016 年 6 月 1 日作为开始日期,2017 年 6 月 14 日(今天的当前日期)作为结束日期。但是对于折线图,我希望它显示 2016 年 6 月 1 日 - 2017 年 5 月 31 日。
BO 中的日期函数不如应有的成熟。
您可以检索提示中输入的值,但它将是一个字符串。首先,我们需要将其转换为日期类型。我们称这个变量为 [End Date]
.
=ToDate(UserResponse("Enter value for End Date:");"M/d/yyyy hh:mm:ss a")
这假定提示文本是 "Enter value for End Date:",并且您的本地日期格式是 "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'
将过滤器简单地应用于图表
我正在 Webi 4.1 中创建仪表板。当我 运行 提示时,我选择报告的开始和结束日期。但是,我有一个折线图,显示了一段时间内按月的交易量趋势,我希望它排除结束日期,而是显示之前的月份。
示例:我选择 2016 年 6 月 1 日作为开始日期,2017 年 6 月 14 日(今天的当前日期)作为结束日期。但是对于折线图,我希望它显示 2016 年 6 月 1 日 - 2017 年 5 月 31 日。
BO 中的日期函数不如应有的成熟。
您可以检索提示中输入的值,但它将是一个字符串。首先,我们需要将其转换为日期类型。我们称这个变量为 [End Date]
.
=ToDate(UserResponse("Enter value for End Date:");"M/d/yyyy hh:mm:ss a")
这假定提示文本是 "Enter value for End Date:",并且您的本地日期格式是 "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'