DAX Power Pivot: "= CONCATENATEX(CALCULATETABLE(" 如何避免重复?

DAX Power Pivot: "= CONCATENATEX(CALCULATETABLE(" how to avoid duplicates?

我以前看过类似的帖子,但是 none 的解决方案对我有用,因为我的公式很复杂并且包含过滤器。

我正在尝试在 table 中创建一个新列,连接来自不同 table 中的列的所有匹配项。(例如,订购 table 连接所有关联的产品名称按照给定的顺序)

Full formula: =
CONCATENATEX (
    CALCULATETABLE (
        RoW_SIC_table,
        FILTER (
            RoW_SIC_table,
            RoW_SIC_table[Excel Company ID] = Row_main[Excel Company ID]
        ),
        FILTER ( RoW_SIC_table, NOT ( ISBLANK ( RoW_SIC_table[Broad] ) ) )
    ),
    RoW_SIC_table[Broad],
    ", "
)

我希望 CONCATENATEX 仅连接唯一值,但我没有让它与 DISTINCT 或 VALUES 一起使用。你能帮帮我吗?

这样怎么样?

Full formula: =
CONCATENATEX (
    CALCULATETABLE (
        DISTINCT ( RoW_SIC_table[Broad] ),
        FILTER (
            RoW_SIC_table,
            RoW_SIC_table[Excel Company ID] = Row_main[Excel Company ID]
        )
    ),
    RoW_SIC_table[Broad],
    ", "
)

我用这个作为参考:

e.g. Order table concatenating all product names associated with a given order

所以我想到的是以下模型:

SIC Table

主要Table

“数据模型”

结果

ProductsListedByOrderIFBroadISNOTBLANK=    
VAR COrderID=SIC[OrderID]
VAR PIDWLineage=
SELECTCOLUMNS(
    CALCULATETABLE(SIC,
    ALL(SIC), SIC[OrderID]=COrderID, NOT(ISBLANK(SIC[Broad]))),
 "ProductID", SIC[ProductID], "ProductName", RELATED(Main[ProductName]))
RETURN
CONCATENATEX(PIDWLineage, [ProductName], ",")