[英]Recreating Hyperion Reports in Access and SSRS (Microsoft Visual Studio 2012) using the Prior and Next Functions
I have several reports in Hyperion that I use the next and prior functions to look at the row right before and/or the row after. 我在Hyperion中有几份报告,我使用next和previous函数来查看正好在前和/或后的行。
To do this, I sort the data in a certain way to make sure the prior or next functions in hyperion find the right rows above or below the current row. 为此,我以某种方式对数据进行排序,以确保hyperion中的上一个或下一个函数在当前行的上方或下方找到正确的行。 For example, I may sort 2 other rows to get the right sorting for the functions to work correctly. 例如,我可以对其他两行进行排序,以获得正确的排序,以使功能正常工作。
Now I would like to be able to find a way to recreate these reports in Access and SSRS. 现在,我希望能够找到一种在Access和SSRS中重新创建这些报告的方法。
I have been looking for a way to accomplish this in either or both. 我一直在寻找一种方法来完成这一项或全部。 But at the moment I have not found a way. 但是目前我还没有找到办法。
If I need a unique field to help with this, I can concatenate between about 4 fields to make a column that has a unique key for each row. 如果我需要一个唯一的字段来帮助解决这个问题,我可以在大约4个字段之间进行串联,以构成一列,每行具有唯一的键。
Could anyone point me at a good article or know how to do this? 谁能指出我的好文章或知道该怎么做? I would really appreciate it very much, thank you! 非常感谢,谢谢!
Using sorting and grouping, probably similar to what you did in Hyperion, you can mostly accomplish this in SSRS using expressions: 使用排序和分组,很可能类似于您在海波龙做了什么,你可以多在SSRS使用表达式实现这一点:
FIRST() will return the first row of your current scope of data FIRST()将返回当前数据范围的第一行
LAST() will return the last row of your current scope of data LAST()将返回当前数据范围的最后一行
PREVIOUS() will return the previous row of your current scope of data, or NULL if there are no more previous rows. PREVIOUS()将返回当前数据范围的上一行,如果没有更多的前一行,则返回NULL。
Of course, what's missing is something like NEXT(). 当然,缺少的是类似NEXT()的东西。 For whatever reason, Microsoft didn't see fit to include a NEXT() option. 无论出于何种原因,Microsoft都认为不适合包含NEXT()选项。 Instead, you need to grow your own solution. 相反,您需要发展自己的解决方案。 I see a few common strategies used for this: 我看到了一些常用的策略:
A LOOKUP (or LOOKUPSET/MULTILOOKUP) function against your report dataset, combined with FIRST or ROWNUMBER to get 针对报表数据集的LOOKUP(或LOOKUPSET / MULTILOOKUP)函数,与FIRST或ROWNUMBER结合使用以获得
Write some custom code to do the sorting/indexing for you, see here for one idea: http://sqlreportsq.blogspot.com/2012/03/can-we-get-next-row-value.html 编写一些自定义代码为您进行排序/索引,请参见此处了解一种想法: http : //sqlreportsq.blogspot.com/2012/03/can-we-get-next-row-value.html
Do whatever data maniuplation in you need to do via your SQL using LAG/LEAD 使用LAG / LEAD通过SQL执行您需要做的任何数据操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.