首页 > 解决方案 > 一种使用同一表中的度量过滤一组不同列的方法 - Tabular2017

问题描述

相关表格概览

我需要对有假期的列 Fkey_Dim_Resource_ID 进行不同的计数。

我的表由五列组成:

措施:

Allocated Holiday (Hrs):=  Var X= SUM([Allocated_Holiday_Hrs_Qty])
Return if(X =0; BLANK();X)

下面的这个度量然后使用上面的,以及从另一个度量中度过的假期:

Remaining Holiday (Hrs):= Var X = 'HolidayEntry Numbers'[Allocated Holiday (Hrs)] - [#Holiday Hours]
Return if(X=0;BLANK();X)

而现在,我想要一个能够为我distinct count提供Fkey_Dim_ResourceID where 'Remaining Holiday (hrs)' >0.

我尝试了很多不同的东西,但似乎无法做到正确。

test:= 
ADDCOLUMNS(
        SUMMARIZE('HolidayEntry Numbers'
                ;'HolidayEntry Numbers'[Fkey_Dim_Company_ID]
                ;'HolidayEntry Numbers'[Fkey_Dim_Resource_ID];
                'HolidayEntry Numbers'[Fkey_Dim_HolidayYear_Id]
            )
 ;"RemainingHoliday"; sum( [Remaining Holiday (Hrs)])
 ) 

我想要一个有假期的 Fkey_Dim_Resource_ID 的不同计数,这会考虑到上下文。提前致谢。

使用此措施:

 test4 virker når ressourcen er med:=COUNTROWS (
          FILTER (
                    ADDCOLUMNS (
                                VALUES ( 'HolidayEntry 
   Numbers'[Fkey_Dim_Resource_ID]);

                                "remholiday"; CALCULATE ( [Remaining Holiday 
    (Hrs)] )
                               );
                    [remholiday] > 0
                )
    )

我得到以下结果:

建议的结果1

因此,该指标在资源上下文中有效,但在 Fkey_dim_holiday_Year_ID 上下文中无效。

感谢离子提前。

标签: daxssas-tabulardistinct-values

解决方案


Resources with remaining holiday hours =
COUNTROWS (                           // counts rows in a table
    FILTER (                          // returns a table, filtering based on predicate
        // below is unique values of the column in context, as a
        // one-column table
        VALUES ( 'HolidayEntry Numbers'[Fkey_Dim_Resource_ID] ),
        [Remaining Holiday (hrs)] > 0 // keep rows meeting this criterion
    )
)

作为风格问题,您应该将列名完全限定为'Table'[Column],并且永远不要完全限定度量引用,即不要以表名作为前缀。这符合我所知道的所有样式指南,并有助于确保您的代码是明确的(因为列和度量都在方括号中引用)。


推荐阅读