Powerbi 使用UserRelationship dax获取最大和

Powerbi 使用UserRelationship dax获取最大和,powerbi,dax,Powerbi,Dax,我有两张桌子: 音调出现。我需要填写的主表 tVwONA_主要人群。一个数据表,其中包含当月dt期间idFrom和idTo之间传输的消息数量 假设tVwONA_MainPeople包含几十行,我必须在每个CALCULATE函数中实现UserRelationship,以实现最大的计算速度 我创建了一个名为m\u ONA\u controlFilter\u edges的度量。当应用于tonaaappend时,当一行应被跳过时,它返回BLANK(),如果一行不应被过滤,它返回1 两个表都有一个re

我有两张桌子:

  • 音调出现。我需要填写的主表
  • tVwONA_主要人群。一个数据表,其中包含当月
    dt
    期间
    idFrom
    idTo
    之间传输的消息数量
  • 假设tVwONA_MainPeople包含几十行,我必须在每个
    CALCULATE
    函数中实现
    UserRelationship
    ,以实现最大的计算速度

    我创建了一个名为
    m\u ONA\u controlFilter\u edges
    的度量。当应用于
    tonaaappend
    时,当一行应被跳过时,它返回
    BLANK()
    ,如果一行不应被过滤,它返回
    1

    两个表都有一个
    relKey
    列的非活动连接

    我需要创建一个度量值,该度量值:

  • idFrom
    idTo
    tVwONA\u main people表进行分组,并找到每个组合的
    sum\u msg\u cnt
    (我们称之为
    sumValue
  • 在上一步生成的表中查找最大和数(我们称之为
    maxOfSumValue
  • 查找
    sumValue
    除以
    maxOfSumValue
  • 应用于tONAAppend表,最后应给出以下结果:

    此外,我需要优化查询,以便尽快返回此结果。 我编写了以下度量值,但它始终返回1:

    m_ONA_edgeValue_percMax = 
    
    var svRelKey = SELECTEDVALUE(tONAAppend[relKey])
    
    var t_all = 
        FILTER(
        ALL(tONAAppend[relKey]),
        NOT ISBLANK([m_ONA_controlFilter_edges])
        )
    
    var sumValue =
        CALCULATE(
            SUM(tVwONA_MainPeople[sum_msg_cnt]),
            USERELATIONSHIP(tONAAppend[relKey], tVwONA_MainPeople[relKey])
        )
    
    var t1 = 
        ADDCOLUMNS(
            t_all,
            "sumValue", sumValue
        )
    
    var t2 = 
        ADDCOLUMNS(
            ADDCOLUMNS(
                t1,
                "maxOfSumValue", MAXX( t1, [sumValue])
            ),
            "measureValue", [sumValue] / [maxOfSumValue]
        )
    
    RETURN
        IF(
            ISBLANK([m_ONA_controlFilter_edges]),
            BLANK(),
            SUMX(
                FILTER(
                    t2,
                    [relKey] = svRelKey
                ),
                [measureValue]
            )
        )