You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DAX函数基于关键字列关联两表生成指定结构新表的需求

实现方案

现有数据表

Table1

key 1marks
a1
a11
b2
b22
c3
c33

Table2

key 2book
aaa
aaaa
bbb
bbbb
ccc
cccc

常见目标表实现

根据不同的目标表结构需求,提供两种DAX实现方案:

方案1:生成每个key下marks与book的全组合表

如果目标表需要每个key对应的所有marks和book的交叉组合,执行以下DAX代码创建新表:

TargetTable = 
GENERATE(
    // 获取唯一关键字集合
    DISTINCT(Table1[key 1]),
    // 基于当前关键字,关联获取对应的marks和book列表并生成交叉组合
    ADDCOLUMNS(
        CROSSJOIN(
            CALCULATETABLE(VALUES(Table1[marks]), Table1[key 1] = EARLIER(Table1[key 1])),
            CALCULATETABLE(VALUES(Table2[book]), Table2[key 2] = EARLIER(Table1[key 1]))
        ),
        "key", EARLIER(Table1[key 1])
    )
)

生成的表结构示例:

keymarksbook
a1aa
a1aaa
a11aa
a11aaa
b2bb
b2bbb
.........

方案2:生成每个key聚合marks和book的单行表

如果目标表需要每个key一行,聚合显示所有对应的marks和book,执行以下DAX代码创建新表:

TargetTable = 
ADDCOLUMNS(
    DISTINCT(Table1[key 1]),
    "marks集合", CONCATENATEX(CALCULATETABLE(Table1, Table1[key 1] = EARLIER(Table1[key 1])), [marks], ", "),
    "book集合", CONCATENATEX(CALCULATETABLE(Table2, Table2[key 2] = EARLIER(Table1[key 1])), [book], ", ")
)

生成的表结构示例:

key 1marks集合book集合
a1, 11aa, aaa
b2, 22bb, bbb
c3, 33cc, ccc

内容的提问来源于stack exchange,提问作者Vidya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 07:35:33