找回密码
 立即注册

QQ登录

只需一步,快速开始

RickyJen
中级会员   /  发表于:2024-1-5 10:24  /   查看:4597  /  回复:13
30金币
问题描述:

在缓存数据集中,使用SQL创建自定义表,SQL中的某个子查询需要根据“动态参数”进行先进行聚合,然后把结果提供给整个SQL使用,已经在该缓存数据集中设置好相应参数。
在仪表板使用这个“缓存数据集”的时候,是否支持把“仪表板参数”的值传递到这个“缓存数据集”的参数中?

最佳答案

查看完整内容

针对您的场景,其实是需要根据ID分组,然后区分每个ID分组是否达标。所以我这边做了一个Demo: 具体表达式如下:

13 个回复

倒序浏览
最佳答案
最佳答案
Felix.LiWyn认证
超级版主   /  发表于:2024-1-5 10:24:03
来自 12#
针对您的场景,其实是需要根据ID分组,然后区分每个ID分组是否达标。所以我这边做了一个Demo:
wyn-export-20240108174617.zip (8.82 MB, 下载次数: 1058)
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-1-5 10:58:29
2#
问题描述:缓存数据集使用仪表板参数进行数据查询。


问题解决:
您好,缓存数据集不支持时时的参数查询。缓存数据集是提前根据设计结构缓存数据,在仪表板或者报表预览时直接从缓存库中获得数据,因此参数值只能是提前设置的固定值、或者从用户上下文中获取的固定值。

如果您需要将仪表板参数传递的话您可以使用直连模型(报表的话可以使用直连数据集):
https://www.grapecity.com.cn/sol ... /direct-query-model
回复 使用道具 举报
RickyJen
中级会员   /  发表于:2024-1-5 11:06:07
3#
Eden.Sun 发表于 2024-1-5 10:58
问题描述:缓存数据集使用仪表板参数进行数据查询。

是这样的,这边的业务场景,使用直连模型的话太难实现,如果采用SQL查询的话,又需要一个动态参数传递进来
回复 使用道具 举报
RickyJen
中级会员   /  发表于:2024-1-5 11:25:35
4#
Eden.Sun 发表于 2024-1-5 10:58
问题描述:缓存数据集使用仪表板参数进行数据查询。

我刚才使用了“原生查询数据集”,这个支持自定义SQL以及用户输入,但是查询出来的字段类型均为字符串类型,并且不允许修改为像数字、日期这些类型
回复 使用道具 举报
RickyJen
中级会员   /  发表于:2024-1-5 11:38:42
5#
本帖最后由 RickyJen 于 2024-1-5 11:51 编辑
Eden.Sun 发表于 2024-1-5 10:58
问题描述:缓存数据集使用仪表板参数进行数据查询。

这个场景是这样的,需要先根据动态参数“仪表板数据日期”进行聚合,然后需要对聚合的1、2项结果比大小,比大小的结果作为对项目计数的筛选条件
回款预警项目数量
1、计划收款金额=收款计划台账uxcpl-折合人民币Equivalent_To_RMB(求和)
求和条件:Planned_Date_Of_Receipt<=仪表板数据日期
2、实际收款金额=主合同收款uxpautc-折合人民币Total_Amount_RMB(求和)
求和条件条件:Determine_the_Payment_Date1<=仪表板数据日期
项目计数:实际收款金额<计划收款金额

我按照这样的思路,设置了度量值,但是绑定后系统提示错误。猜测可能是表关系设置不合理,或者是过滤条件违背了“过滤方向”规则。
image.png135502318.png
image.png309374694.png
image.png941116027.png


image.png408501586.png
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-1-5 14:03:04
6#


原生查询数据集,是您需要在SQL语句上把数据都处理好,在仪表板上只做显示。所以可能不太符合您的场景。



您可以在仪表板上添加全局筛选器,进行全局过滤,这样就将多余的数据过滤出去了:
image.png137677611.png

然后您在数据集或者数据模型上编写您得到度量值或者计算字段就可以了,在仪表板运行的时候,运行的结果也是有效数据的结果。


您绑定数据的时候报错,具体报什么错,您可以贴出来看一下。如果模型有问题并不会报错,最多是查不到数据,您可以贴出来报错,咱们具体看看。


回复 使用道具 举报
RickyJen
中级会员   /  发表于:2024-1-5 16:12:55
7#
Eden.Sun 发表于 2024-1-5 14:03
原生查询数据集,是您需要在SQL语句上把数据都处理好,在仪表板上只做显示。所以可能不太符合您的场景 ...


以下三个度量值都在“项目详情”中创建
1、实际收款:SumX('主合同收款','主合同收款'[TOTAL_AMOUNT_RMB])

2、计划收款:SumX('收款计划台账','收款计划台账'[EQUIVALENT_TO_RMB])
3、项目回款预警:
Calculate(
  Count('项目详情'[UGENPROJECTNUMBER]),
  '项目详情'[实际收款]<'项目详情'[计划收款]
)

项目回款预警绑定至KPI指标中提示“查询数据失败
image.png394996642.png
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-1-5 18:34:14
8#
RickyJen 发表于 2024-1-5 16:12
以下三个度量值都在“项目详情”中创建
1、实际收款:SumX('主合同收款','主合同收款'[TOTAL_AMOUNT_R ...

1. 度量值是基于数据分组生效的,比如,按照身省份分组之后,计算每个省份的销售额。您的截图上看,您实在文本框中使用的。所以会报错,您可以绑定在矩表的数据列或者是图表的数据列上。


2. 您可以给我们一份您的数据、然后详细描述一下您的需求,我们给您做一个demo,您参考下。
回复 使用道具 举报
RickyJen
中级会员   /  发表于:2024-1-8 10:53:31
9#
本帖最后由 RickyJen 于 2024-1-8 11:01 编辑
Eden.Sun 发表于 2024-1-5 18:34
1. 度量值是基于数据分组生效的,比如,按照身省份分组之后,计算每个省份的销售额。您的截图上看,您实 ...

您好,我做了一份模拟数据来还原这个场景(附件),最终需要的是:计算符合“实际回款”<“计划回款”的项目数量。
“实际回款”和“计划回款”是根据某个动态的时间作为条件做筛选的(我这里为了方便填的是NOW),用户选择时间,然后传递给“仪表板参数”,再由仪表板参数传递给这两个度量值作为条件
wyn-export-20240108104947.zip (8.82 MB, 下载次数: 1164)
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部