动态报表D-Query 行转列跳转到明细

点击蓝字 关注我们

前言

动态报表D-Query 是一个用于取代标准QUERY的程序.使用动态报表无需写代码,非开发人员也可生成专业的报表程序.

详见动态报表简介

无峰,公众号:ABAP 技巧与实战动态报表D-Query简介

本文主要介绍怎么从行专列的显示中直接跳转到明细显示

动态报表的汇总-明细功能

动态报表可以非常简单的构造汇总明细功能的报表

如下图,分别勾选输出字段(汇总输出),明细输出字段.

在输出界面,选中行,点击明细按钮即可跳转到明细显示

c052be41cd564df2c53b7deb05a5e06b.png

939468a13d3f9a3ece156021b093cc31.png

更多的汇总维度

可以通过动态报表的变式功能,派生出更多汇总维度,通过切换变式就能切换到不同的汇总维度了.

01

激活增强变式功能

1ac9e16b17677a000386d006659d09a1.png

02

激活后出现变式功能

de418454edd74878638cfa256e07713b.png

03

添加汇总字段,并保存变式

bc69d256e3ba87bf30b85828b8733631.png

8e3ca8766b787022a9af8cbc30d5c64e.png

04

选择变式

通过TCODE 执行动态报表时, 可以进入设计模式,保存变式, 也可以载入之前保存的变式

    • 全局变式 允许所有用户使用该变式,如未勾选,只能显示自己创建的变式,

    • 默认变式 报表执行时默认使用的变式

df45bd7acd555716e9ac9cba798e49d2.png

动态报表的行转列功能

详见链接

无峰,公众号:ABAP 技巧与实战动态报表D-Query 添加行表转列表显示

行转列通过特定的类封装的.

详见链接

无峰,公众号:ABAP 技巧与实战SAP工具箱 通用ALV行转列

所以行转列的显示如果需要跳转到动态报表的明细显示并非简单的事情.

需要解决如下问题

    • 选中的行带入到动态报表的汇总显示

    • 汇总显示点击明细按钮显示明细内容

    • 上述过程整合到行转列的明细按钮中

    • 行转列直接进入明细后,要直接返回行转列显示

上述过程通过MEMORY ID 'TO_ZDQ_DET' 识别

01

分解动作

选中行, 点击返回

ab8b67d6b7b243bfbbba622260a7db91.png

显示行表(动态报表直接显示的内容). 使用行表的明细功能显示明细

a89d83e00ffc3c74032e5990a2929ebe.png

02

合并动作

使用行转列中补充的明细功能直接进入明细显示,明细中的返回按钮会再次进入行转列显示.

f233ece962698cdf791e1581abed8e07.png

330c70260973fa55c62d6d84f7f2beab.png

总结

在项目中使用动态报表实现复杂报表时,发现动态报表的很多需要改进的点. 行转列直接跳转明细就是其中比较重要的改进点.

这样简化了用户跳转明细的操作.

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 

申请进入公众号讨论群提问或者参与话题讨论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在SQL Server中,可以使用动态SQL和`PIVOT`操作符来将换为动态是指换结果集中的数据为,这在你不知道的数量或具体名的情况下非常有用。 以下是一个示例,演示如何在SQL Server中进动态: 1. 创建一个存储过程(这是一个示例,你可以根据自己的需求进修改): ```sql CREATE PROCEDURE DynamicPivot @columns NVARCHAR(MAX), @table NVARCHAR(MAX), @pivot_column NVARCHAR(MAX), @aggregate_function NVARCHAR(MAX) AS BEGIN DECLARE @query NVARCHAR(MAX) -- 构建动态SQL查询 SET @query = N' SELECT ' + @pivot_column + ', ' + @columns + ' FROM ( SELECT ' + @pivot_column + ', ' + @columns + ' FROM ' + @table + ' ) AS src PIVOT ( ' + @aggregate_function + '(' + @columns + ') FOR ' + @pivot_column + ' IN (' + @columns + ') ) AS pivot_table' -- 执动态SQL查询 EXEC sp_executesql @query END ``` 2. 使用存储过程进动态: ```sql EXEC DynamicPivot @columns = 'ColumnName1, ColumnName2, ColumnName3', -- 表,逗号分隔 @table = 'YourTableName', -- 表名 @pivot_column = 'PivotColumnName', -- 用于换的名 @aggregate_function = 'SUM' -- 聚合函数(例如:SUM、MAX、MIN等) ``` 请注意,上述示例中的存储过程使用了动态SQL,这可能存在一定的安全风险。在使用动态SQL时,请确保输入的参数值经过适当的验证和义,以防止SQL注入攻击。 希望对你有所帮助!如有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值