找回密码
 立即注册

QQ登录

只需一步,快速开始

林.. Wyn认证

金牌服务用户

54

主题

137

帖子

445

积分

金牌服务用户

积分
445

Wyn认证

林.. Wyn认证
金牌服务用户   /  发表于:2024-7-19 08:43  /   查看:2095  /  回复:14
10金币


如下图,我想求,在日期范围筛选器的日期范围内,求间隔的月份数
image.png31148680.png

最佳答案

查看完整内容

那您其实改一下我上面的Demo就可以了 先把日期筛选改成日期范围。然后 DateDiff的第一个参数不取All,而是取当前仪表板筛选的。 然后和日期范围的最大值做插值。取差值的月即可:

14 个回复

倒序浏览
最佳答案
最佳答案
Felix.LiWyn认证
超级版主   /  发表于:2024-7-19 08:43:01
来自 8#
本帖最后由 Felix.Li 于 2024-7-22 18:22 编辑

那您其实改一下我上面的Demo就可以了
先把日期筛选改成日期范围。然后

DateDiff的第一个参数不取All,而是取当前仪表板筛选的。
然后和日期范围的最大值做插值。取差值的月即可:
  1. Left(SumX(All('Demo_销售明细'),'Demo_销售明细'[订单金额]),0) & "时间差:" & DateDiff(MinX('Demo_销售明细','Demo_销售明细'[订购日期]),#{selectedRange["Demo_销售明细","订购日期", "Max",Today()]},Month)
复制代码

image.png209190367.png

回复 使用道具 举报
lucas.Yan
超级版主   /  发表于:2024-7-19 09:08:05
2#
问题描述:
度量值中怎么使用变量,让表达式返回动态值?

问题解答:
咱们可以参考一下这个文档中写的,度量值中支持仪表板参数列选中值(SelectedValue)和列选中范围(SelectedRange)三种变量。
https://www.grapecity.com.cn/sol ... t-doc-content_title


不过看您截图的需求,是计算每日出货明细【日期】和变量截止日期的月份差值,可能使用计算列更符合需求。同时计算列也是支持仪表板参数的。
回复 使用道具 举报
林..Wyn认证
金牌服务用户   /  发表于:2024-7-19 09:52:38
3#
lucas.Yan 发表于 2024-7-19 09:08
问题描述:
度量值中怎么使用变量,让表达式返回动态值?

好的,谢谢。透视表明细有汇总数据的,所以需要用度量值
回复 使用道具 举报
lucas.Yan
超级版主   /  发表于:2024-7-19 09:57:44
4#
林.. 发表于 2024-7-19 09:52
好的,谢谢。透视表明细有汇总数据的,所以需要用度量值

明白了,度量值使用变量的文档您参考上面的链接。使用过程中有问题欢迎您跟帖提问。
回复 使用道具 举报
林..Wyn认证
金牌服务用户   /  发表于:2024-7-19 14:22:57
5#
我是想在仪表板实现下图的效果,我这个公式只有TODAY()生效,没获取到日期范围组件的数据,是哪里写错了吗?
datediff(min('每日出货明细'[日期]),#{selectedRange["每日出货明细","日期", "max",today()]},month) + 1

image.png844919738.png
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-7-19 15:27:02
6#
这个可以是可以,但是可能还是要问一下您最开始的需求是什么,而且为什么这个要用在度量值里面。

首先,selectValue和selectedRange是度量值获取筛选器使用的。
一般是计算度量值时,用作过滤用的,不过要求这个天数,不太理解咱们的需求,或许可以不用写这个度量值。


但是取也是可以的,我这边用Demo销售明细做了一个简单的Demo:
6cbfce1f-40ee-4b80-b01d-691e417ab0f5.zip (404.67 KB, 下载次数: 539)
回复 使用道具 举报
林..Wyn认证
金牌服务用户   /  发表于:2024-7-22 17:34:46
7#
Felix.Li 发表于 2024-7-19 15:27
这个可以是可以,但是可能还是要问一下您最开始的需求是什么,而且为什么这个要用在度量值里面。

首先, ...

我是想把上面已经在报表端实现的功能,搬到仪表板。举例以客户为分组,计算客户2024年2月01日-2024年4月30日区间,每个客户在区间内最早下单日期,与这个日期范围的最大值2024年4月30日,相差的月份

image.png650684203.png
回复 使用道具 举报
林..Wyn认证
金牌服务用户   /  发表于:2024-7-23 08:30:27
9#
Felix.Li 发表于 2024-7-22 18:21
那您其实改一下我上面的Demo就可以了
先把日期筛选改成日期范围。然后
我这样写错在哪呢?并没有选中日期筛选的最大范围,全是用今天的日期相减
datediff(min('每日出货明细'[日期]),#{selectedRange["每日出货明细","日期", "max",today()]},month) + 1
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-7-23 09:33:19
10#
看着您应该没有直接上的语法错误,一般出现这个情况就是一下几点:
1.数据集或者字段没有指定错误,会自动走默认值,
2.就是筛选器没有选择的时候,也会默认走默认值,
3.筛选器和绑定这个度量值的组件关联关系被取消了
如果这些都不是,您看方便我们远程看一下吗?

FelixLi 邀请您参加腾讯会议
会议主题:FelixLi预定的会议
会议时间:2024/07/23 10:00-11:00 (GMT+08:00) 中国标准时间 - 北京

点击链接入会,或添加至会议列表:
https://meeting.tencent.com/dm/zf5cd9dAGmTX

#腾讯会议:833-842-017

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部