DAX-在Power BI中创建一个度量,该度量将忽略除一个以外的所有过滤器

时间:2018-10-11 09:12:09

标签: powerbi dax powerbi-desktop

我正在尝试编写一个名为“每升降机项目数”的度量,其计算方法如下:

报告项目数/电梯次数

我有一个折线图和堆积柱形图,将在其中使用此度量。当前在条形图上显示每个工程师的报告项目数。我想添加一条使用上述措施的线。我想确保度量的分母侧(右手侧)始终使用每个工程师的升降机总数,并且永远不会被过滤掉。可以根据在页面上选择的切片器等过滤度量的分子(左侧)

数据包含在两个表中:“保险矩阵”和“ ANSAPBILifts”。 ANSAPBILifts总共包含8016行。每个表中的数据如下:

保险矩阵-包含所有报告项目

Report Item          SiteIDLine
1                    1212
2                    1212
3                    1256
4                    1443

ANSAPBILifts-包含所有电梯的列表,并为每个电梯分配了工程师:

SiteIDLine           Engineer ID
1212                 MRob
1256                 MRob
1443                 PCli
1554                 PCli
1599                 AKen

因此,对于工程师MRob,该度量在分母侧应始终包含2,对于工程师PCli应始终为2,对于工程师AKen应始终为1,等等。

我最初为该措施写了以下内容:

Items per Lift = divide(count('Insurance Matrix'[Report Item]),(COUNT(ANSAPBILifts[SiteIDLine])))

但是,分子和分母都将始终使用此度量进行过滤。

所以我用了:

Items per LiftALL = divide(count('Insurance Matrix'[Report Item]),CALCULATE(COUNT(ANSAPBILifts[SiteIDLine]),ALLEXCEPT(ANSAPBILifts,ANSAPBILifts[Engineer ID])))

但是,这将导致与第一次尝试相同的度量,即,如果在页面上使用了任何切片器,则将对度量的两侧进行过滤。

在这一点上,我对下一步尝试感到困惑。如果有人可以帮忙,将不胜感激

请参见下面的图表,其中有数据,此图表上未应用任何过滤器,此时的度量是正确的:

enter image description here

请参见下图和数据,此页面上已应用了一些过滤器,此时的度量现在不正确,分母已更改,但我需要保持不变:

enter image description here

2 个答案:

答案 0 :(得分:3)

当我对您的理解正确时,您想覆盖切片器,但仅在此度量的分母侧:

Items per Lift =
DIVIDE (
    COUNT ( 'Insurance Matrix'[Report Item] ),
    ( COUNT ( ANSAPBILifts[SiteIDLine] ) )
)

尝试在切片器列上使用ALL函数。像这样:

Items per Lift =
DIVIDE (
    COUNT ( 'Insurance Matrix'[Report Item] ),
    (
        CALCULATE (
            COUNT ( ANSAPBILifts[SiteIDLine] ),
            ALL ( 'Insurance Matrix'[Status], 'Insurance Matrix'[Technical Markup ] )
        )
    )
)

答案 1 :(得分:0)

只需执行以下操作即可

Items per LiftALL = divide(count('Insurance Matrix'[Report Item]),
    CALCULATE(COUNT(ANSAPBILifts[SiteIDLine]),ALLEXCEPT(ANSAPBILifts,ANSAPBILifts[Engineer ID]),
        ALL('Insurance Matrix'[Status],'Insurance Matrix'[Technical Markup ])))

感谢大家的帮助!