【问题标题】:Need correct total, Power BI table需要正确的总计,Power BI 表
【发布时间】:2020-11-02 06:48:22
【问题描述】:

我有一个衡量标准,我将合同月份总数除以总月份数。我得到了正确的结果,但底部的总数不正确。

第一列是唯一的ID,第三和第四列是分子和分母,第二列是除法的结果,我要统计那些ID,除法在0.75和1.00之间

这是我的计算

Var Check=DIVIDE([合约月份],[合约 L30 月份]) 返回 IF(HASONEVALUE('Fact - TABLE'[ID]),IF(Check>=0.75 && Check=0.75 && Check

请告诉我,如何解决这个问题。

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    对于 Total,您应该将 IF 的第三个参数更改为:

    CALCULATE (
        SUMX (
            CALCULATETABLE (
                tab,
                FILTER (
                    ALL ( tab ),
                    VAR __Check =
                        DIVIDE ( 'Tab'[Month of Engagement], Tab[Months In Contract L30] )
                    RETURN
                        __Check < 1
                        && __Check > 0.75
                )
            ),
            1
        )
    )
    

    在我的测试示例下方(仅用于测试,我已将检查变量放在第一个 IF IF ( Check >= 0.75 && Check

    Measure = 
    VAR Check =
        DIVIDE (
            SUM ( 'Tab'[Month of Engagement] ),
            SUM ( Tab[Months In Contract L30] )
        )
    RETURN
        IF (
            HASONEVALUE ( 'Tab'[ID] ),
            IF ( Check >= 0.75 && Check <= 1.00, Check, 0 ),
            CALCULATE (
                SUMX (
                    CALCULATETABLE (
                        tab,
                        FILTER (
                            ALL ( tab ),
                            VAR __Check =
                                DIVIDE ( 'Tab'[Month of Engagement], Tab[Months In Contract L30] )
                            RETURN
                                __Check < 1
                                && __Check > 0.75
                        )
                    ),
                    1
                )
            )
        )
    

    【讨论】:

    • 你的解决方法是正确的!!但这适用于我们在空白 PBI 文件中输入的虚拟数据,但是当我尝试在实时 AAS 环境中复制相同的测量值时,我会变得空白......
    【解决方案2】:

    测量 = VAR检查= 除 ( [订婚月份] , [合同 L30 中的月份] ) 返回 如果 ( HASONEVALUE ('Tab'[ID]), 如果(检查 >= 0.75 && 检查 =0.75 && __检查

    以下是简要定义

    参与月份:= CALCULATE(COUNTROWS( SUMMARIZE('table','table'[MONTH_OF_ENGAGEMENT],"Count",DISTINCT('table'[MONTH_OF_ENGAGEMENT]))),'table'[FREQUENCY_FLAG]="Y")+0

    这里 MONTH_OF_ENGAGEMENT 是从日期中提取的值,为 YYYYMM

    合同 L30 中的月份:= Var DBRefreshDate30= [数据库刷新日期]-30 返回 DATEDIFF(DBRefreshDate30,[数据库刷新日期],MONTH)+1

    现在根据合同 L30 中的月份除以参与月份,我得出一个百分比,并检查该百分比是否介于 0.75 和 1.00 之间

    【讨论】:

    • Prawdopodobnie miary jakie używasz w DIVIDE, są bardziej złożone niż zwykłe SUM; Możesz podać ich definicje edytując swoją odpowiedź?
    • 我得到了修复,我用下面的表达式修改了 hasonevalue 的 else 部分合同 L30)>=0.75 && 除(订婚月份,合同 L30 月份)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    • 2022-11-20
    • 2022-11-09
    • 2022-01-20
    • 2020-06-12
    • 1970-01-01
    相关资源
    最近更新 更多