Report Studio基本概念八、提示:显示值和使用值

浏览: 2309

为了使我们的查询达到最好的性能,我们通常在数值键的列上执行过滤。然而,提示中显示的值应该使用用户友好型的字符值。

在此例中,我们将创建一个filter。此filterprompt中显示为product line(数值型),但事实上使用数值型的code过滤数据。

准备工作

使用Product | Product name  Sales fact | Quantity作为列表的列创建一张简单的列表。

如何实施

1. 打开Page Explorer并点击Prompt Pages文件夹。从Insertable Objects中拖拽一个Prompt Page到工作区。

Clipboard Image.png

2. 双击新建立的prompt page

3. Insertable Objects中,拖拽一个Value Promptprompt page中。这会打开一个prompt wizard

4. 设置prompt nameProductLine,点击Next

Clipboard Image.png

5. 保持Create a parameterized filter选项为勾选。选择Sales (query) | Product | Product line codepackage item。点击Next

Clipboard Image.png

6. 保持Create new query选项为勾选。输入query namepromptProductLine

7. 选择Sales (query) | Product | Product lineValue to display

Clipboard Image.png

8. 点击Finish按钮。运行并测试报表。

 

工作原理

 

当你从insertable objects拖拽一个prompt object到工作区时,Report Studio弹出一个prompt wizard

在第1步中,我们选择了用来连接提示的参数。这个参数可以是已经存在的参数(定义在查询过滤或者framework模型中),也可以是新建的参数。在此例中,我们新建了一个参数。

接着,向导询问是否需要创建一个过滤。如果已经存在定义了的过滤,可以 步勾选此选项。在此例中,我们选择勾选此选项并使用Product line code创建了一个过滤。请注意在此处我们选择了数值类型的查询项。在数值型的列上创建过滤式数据仓库实践中标准的做法,这提升了查询的性能,并且可以使用索引。

在下一步中,Report Studio询问我们希望在何处创建对应提示的新查询。新建的查询将在数据库中执行用以检索提示值。此处有一个选项让我们可以为此提示选择显示值。

在此例中,我们选择Product line作为显示值。Product line是对用户很友好的文本型或是描述型的列,并和Product line code一一对应。例如,Camping Equipment对应的Product line code2101。

因此,当我们运行报表时,可以发现提示显示的值为Product line名称,这对终端用户来说是合理的。然而如果检查事实上在数据库中执行的查询,会发现过滤式执行在数值键列上的,此例中,为Product line code。

 

更多

 

我们可以在Report Studio中检查生成的SQL。从工具栏中选择Tools | Show Generated SQL/MDX选项。或者在Query Explorer中,选中需要查看的查询,在其属性栏中查看生成的SQL

Clipboard Image.png

此操作会提示输入一个product line code的值(这也是一个过滤会执行在code列上的证据)。

输入任何数值型的值,确定后,报表的SQL语句就生成了。检查此查询,会发现product line code已经按照输入的值过滤了。

现在我们应该明白“Prompt display value”和“Use value”选项是如何工作的了。

如果需要俘获用户选择的提示值(conditional styling或者drill-through经常用到),可以使用如下两个函数:

ParamDisplayValue (参数名):此函数将返回提示使用的文本型的显示值。此例中,为用户选择的product line名称。

ParamValue(参数名):此函数将返回提示使用的数值型使用值。此例中,为用户选择的product line名称所对应的code

推荐 0
本文由 zhengyi1943 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册