请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

James.Lv 讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-10-31 13:46  /   查看:1077  /  回复:0
本帖最后由 James.Lv 于 2023-1-5 17:50 编辑

在一个数据分析需求中,最主要的部分是数据建模,数据整合;对原始数据进行加工处理,来得到最终需要分析的数据,然后将最终的结果数据进行仪表板或者报表的展示,所以经常会遇到这样的需求,有两个表数据要进行关联,然后进行一定的判断取数;例如A表和B表通过ID进行关联,然后需要判断如果B表的记录存在返回B的数值,B表不存在记录就反馈A表的数值;如下图所示:

A表:
image.png757273559.png
B表:
image.png259886779.png

需要的结果数据:
image.png913471679.png

本贴就来介绍如何在Wyn上进行这样的数据建模

image.png326837462.png image.png19728392.png

具体实现步骤:
1.创建数据源,连接两表数据
我这边使用的是来自MySQL的数据,大家可以根据自己的实际数据建立数据源了。
image.png236260680.png

2.建立数据准备
建立数据准备,进行数据建模,得到要分析的结果数据。
这块有3种方式可以实现该需求
2.1 利用SQL语句实现该需求
  1. SELECT *,
  2. IFNULL(b.BNum,a.ANum) AS num
  3. FROM a LEFT JOIN b
  4. ON a.ID = b.ID
复制代码

2.2 利用数据集的计算字段
数据集两表关联
image.png90576476.png
添加计算字段
image.png578778686.png image.png143327330.png
  1. IIF(IsDBNull([BNum]),[ANum],[BNum])
复制代码


2.3 利用数据模型的计算列
数据模型两表关联
image.png761442870.png

然后添加计算列
  1. If(In('b'[ID],'a'[ID]),'b'[BNum],'a'[ANum])
复制代码


image.png544004210.png

3.最后就可以在报表或者仪表板来使用
image.png485392150.png

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部