云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站建设_阿里云直播推流_最新活动

小七 141 0

在本博客中,您将学习如何设计和配置动态选择日期过滤器,并在所选日期过滤器对象上应用相关数据值。这是我们在大多数web智能报告工具中面临的一个典型挑战,2018世界人工智能大会,因为这不是底层数据库或元层可以直接生成的。这将有助于受过web intelligence/IDT(信息设计工具)培训的开发人员/高级用户创建有效的web intelligence报告,因为日期提示在任何报告中都起着至关重要的作用。

此功能可用于任何后端相关数据库,对于这个博客,我使用了HANA作为后端数据库。

问题陈述:考虑一个场景,在这个场景中,web智能报告需要同时基于"决策日期"或"通知日期"(基于用户提示)来构建,同时,灵活地拉取任何开始和结束日期框架的数据(同样基于用户提示)。例如,云服务器怎么样,我已经采取了以下样本。这可以很容易地扩展到基于个人报告需求的任何数量的场景。

解决方案:这是一个多步骤的过程,我在信息设计工具(IDT)和web智能工具中一步一步地在下面布局。

IDT步骤:打开IDT工具并使用下面的命令创建下面的LOV/参数/变量和过滤器步骤

相对日期1:静态LOV,将提供开始日期过滤器

相对日期2:静态LOV,将提供结束日期过滤器

2。创建"Date option"LOV变量(用于动态选择多个数据选项的日期)。如果您的报告需要基于多个日期的动态日期筛选器,则需要此选项。您可以根据需要向LOV添加任意多个日期对象。在本例中,我添加了2个日期对象,即决策日期和通知日期

3。创建以下3个参数。一个用于不同的日期选项,另两个用于开始日期和结束日期,如何租用服务器,根据需要在网络情报报告上标注它们。

4。创建以下宇宙变量vStart和vEnd Dates(见下文)。下面的代码是基于hanasql语法的。注意:如果您使用的是其他相关数据库,请根据数据库语法更改代码。

对于自定义范围,请使用上面屏幕截图中提到的"mm/dd/yyyy"语法。

vStart Date:

Case when@Prompt(Start Date)LIKE"%/%"Then to \u Date(@Prompt(Start Date)),'MM/DD/YYYY')

如果大写(substr\u before(@Prompt(Start Date),'-'))='T'则加上天(current\u Date,-to\u number(substr\u before(@Prompt(Start Date),'-')))

如果大写(substr\u before(@Prompt(Start Date),'-')='W'则加上天(current\u Date,-7*to\u number(substr\u before(@Prompt(Start Date)),"-")

当upper(substr\u before(@Prompt(Start Date),"-")="M"时,加上个月(current\u Date,-to\u number(substr\u before(@Prompt(Start Date),"-"))

当upper(substr\u before(@Prompt(Start Date),"-")="Y"时,加上个月(current\u Date,-12*to\u number(substr\u before(@Prompt(Start Date)),"-"))

当upper(substr\u before(@Prompt(Start Date),"-")="WB"时,加上天(current\u Date),(weekday(current\u Date)*-1)-1-(7*到数字(substr\u before(@Prompt(Start Date),"-"))

当upper(substr\u before(@Prompt(Start Date),"-")="MB"时,加上月(add\u days(current\u Date,-extract(day from current\u Date)+1),-至号(@Prompt(Start Date),'-'))

上时(至号(@Prompt(Start Date),'-'))='QB'后加月(至号(年(当前日期),'yyyyy'),(至号(右(季度(当前日期),1))-至号(至号(@Prompt(Start Date),'-')-1)*3)

上时(至号(@Prompt(Start Date),'-')='YB'然后到|日期('01-01-'| |提取(从当前|日期算起的年份)-到|编号(@Prompt(Start date),'-'),'MM-DD-yyyyy')

结束

结束

结束

结束

日期:

当@Prompt(End date)如"%/%"时的大小写

然后到|日期(@Prompt(End date),'MM/DD/yyyyy')

否则的大小写在上方(@Prompt(End date),'-')='T'然后加上天(当前日期,-到数字(@Prompt(End date),'-'))

当upper(substr\u before(@Prompt(End date),'-'))='W'然后加上天(当前日期,-7*到数字(substr\u before(@Prompt(End date),'-'))

当upper(substr\u before(@Prompt(End date),'-'))='M'然后加上月(当前日期,-to\u number(substr\u after(@Prompt(End Date),'-'))

当upper(substr\u before(@Prompt(End Date),'-')='Y'时,再加上\u months(current\u Date,-12*to\u number(substr\u after(@Prompt(End Date),'-'))

当upper(substr\u before(@Prompt(End Date),'-')='WE'时,再加上\u days(current\u Date,(工作日(当前日期)*-1)-2-(7*(到编号(@Prompt(End date),'-'))-1))