Foxtable(狐表)用户栏目专家坐堂 → [求助]关于环比问题


  共有5678人关注过本帖树形打印复制链接

主题:[求助]关于环比问题

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/14 13:33:00 [显示全部帖子]

添加一个表达式列,表达式:IIF([当天销售额_2022-5-1] is null,1,[当天销售额_2022-5-2] / [当天销售额_2022-5-1])

然后把这个列列属性数值格式设置为百分比,在移到[当天销售额_2022-5-1]列后面

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/14 16:39:00 [显示全部帖子]

生成后使用代码处理

比如
Dim dc As DataCol 
Dim lst As New List(Of String)
Dim t As Table = Tables("每日销售统计")
t.StopRedraw
Dim cnt As Integer = t.cols.Count
For i As Integer = t.cols.Count - 1 To 2 Step - 1
    Dim s As String = t.cols(i).Name & " 环比"
    lst.Add(s)
    dc = DataTables("每日销售统计").datacols.add(s, GetType(Double), "IIf(" & t.cols(i - 1).Name & " Is null, 1, " & t.cols(i).Name & " / " & t.cols(i - 1).Name & ")", t.cols(i).Caption & " 环比")
    dc.SetFormat("00.0%")
Next

For Each s As String In lst
    t.cols(s).Move(t.cols(s.Split(" ")(0)).Index + 1)
Next
t.AutoSizeCols
t.ResumeRedraw


[此贴子已经被作者于2022/5/14 16:39:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/15 20:11:00 [显示全部帖子]

上面提供的是思路,逻辑一样的,改为自己的计算公式即可

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/16 14:34:00 [显示全部帖子]

怎么导的?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/16 15:23:00 [显示全部帖子]

这种没有办法。导出后,手工设置列格式。

Dim Book As New XLS.Book("D:\问题\123.xls")
Dim Sheet As XLS.Sheet = Book.Sheets("表A")
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.Format = "00.0%"
Sheet(1,10).Style = Style 
Book.Save("D:\问题\123.xls")

 回到顶部