powerbi - 如何在 Power BI 中的多对多关系中引用正确的值?
问题描述
我有两张按序列号连接的表。
样品
SERIAL# SMU SAMPLE
001 52 GREEN
002 25 GREEN
001 124 YELLOW
003 41 RED
001 266 GREEN
001 280 GREEN
保修单
SERIALl# SMUSTART SMUEND LIFE
001 1 100 1
002 5 105 1
003 1 100 1
001 101 200 2
001 201 300 3
我试图能够在 LIFE 上创建一个切片器,它只会向我显示 SMU 在 SMUSTART 和 SMUEND 范围内的 SAMPLES。我尝试将 LIFE 列拉入 SAMPLES 表,连接 SERIAL# 和 LIFE,然后在我的新连接列上连接表。但是我从来没有成功地将 LIFE 带到 SAMPLES 表上,甚至不知道我是否走在正确的道路上。任何和所有的帮助表示赞赏。谢谢你。如果我需要澄清任何事情,请告诉我。
解决方案
如果您转换表格,这是可能的。
在样本表中添加一个新列,该列是序列号和 SMU 的组合。
SAMPLES
SERIAL# SMU SAMPLE SER_SMU
001 52 GREEN 001_52
002 25 GREEN 002_25
001 124 YELLOW 001_124
003 41 RED 003_41
001 266 GREEN 001_266
001 280 GREEN 001_280
您首先必须“扩展”的保修表。为每个可能的 SMU 创建一行。然后再次添加一个新列,即 Serial no 和 SMU 的组合。
像这样:
SERIALl# SMU LIFE SER_SMU
001 1 1 001_1
001 2 1 001_2
...
001 100 1 001_100
这样您就可以连接 SER_SMU 上的表。
你的数据来源是什么?能不能在导入的时候转换表,不然就得用power query来做,可能有点难度。
编辑:SQL 查询示例:
SELECT s.serial, s.SMU, s.SAMPLE,w.LIFE
FROM samples s
LEFT JOIN warranty w
ON s.serial = w.serial
AND s.SMU BETWEEN w.SMUSTART AND w.SMUEND
推荐阅读
- excel - 在 Excel 中提取大写单词
- arrays - 在 Fortran 中的特定索引处将数组添加到更长数组的巧妙方法?
- java - 使用 Tomcat 9 和 Java10 停止 SpringBoot Web 应用程序时的非法反射访问
- java - 无法使用 ServletFileUpload 上传 100MB 文件
- javascript - jquery IF 在 iphone 上无法按预期工作
- caching - 如何使用缓存驱动器测量 zfs 的缓存性能
- postgresql - 在 Postgres 中, pg_stat_database.xact_commit 实际上是什么意思?
- c# - 在持久函数中回滚数据库更改
- algorithm - 管理非加权流量的方程
- python - PyQt5:为什么我只能为 QTableWidget 单元格使用两种颜色?