根据Power BI桌面中人/行的所有特征/列进行过滤

时间:2018-08-06 19:06:31

标签: powerbi dax dashboard m

我对Power BI相对较新,因此被要求创建一个仪表板,以通过仅选择个人姓名来显示报告卡,如信息和更新。我有一些性能指标,可以比较使用ALLEXCEPT和过滤器的状态与整体性能,并通过为该人分别选择过滤器来使其工作,但是我很难弄清楚如何在不选择其他过滤器的情况下使它工作。 >

针对我选择的个人,人口统计信息同时出现在“提供商演示”和“ sql措施表”中。

以下是我建立的关系: relationships

下面是我希望自动进行而无需选择其他过滤器的措施,并且除了需要额外选择过滤器之外,目前我希望这些措施起作用:

Overall Reporting Rate =
CALCULATE (
    DIVIDE (
        SUM ( 'sql measures table'[Reporting Numerator] ),
        SUM ( 'sql measures table'[Reporting Denominator] ),
        0
    ),
    ALLEXCEPT ( 'sql measures table', 'sql measures table'[PROC_DAY_DATE (bins) 3] )
)

-

State Performing Rate =
CALCULATE (
    DIVIDE (
        SUM ( 'sql measures table'[Performing Numerator] ),
        SUM ( 'sql measures table'[Performing Denominator] ),
        0
    ),
    ALLEXCEPT (
        'sql measures table',
        'sql measures table'[PROC_DAY_DATE (bins) 3],
        'sql measures table'[PRV_STATE],
        'sql measures table'[measure]
    )
)

我尝试让ALLEXCEPT语句包含人口统计表中的列。

是否可以通过DAX或M来选择人的姓名并使度量正常工作?

我正在制作一个仪表板,该仪表板显示具有上述分子,分母和度量的矩阵,以及显示该网络的单个性能,州性能和全国范围性能的度量的条形图。目标是只需选择一个过滤器-该人员的姓名并完全更新仪表板。如果我为包含所有指标数据的sql表中的状态添加过滤器,则矩阵会适当更新。尽管我已经建立了关系,但是我尝试从人口统计表中选择州,但该州无法正常工作,因为州与全国范围的绩效率相同。

dashboard example

上面是仪表板的模型。侧面的图表是个人,州和国家在第一项指标上的表现。沿着矩阵的每个度量都有一个图形。为了使它们正常工作,我选择了该状态作为视觉级别的过滤器。

为每个提供程序分配一定的度量值,这些度量值在已建立关系的表中定义。我必须从sql事实表中选择一个特定的过滤器,以便为提供者显示正确的度量,而我的目标是能够选择提供者并自动显示分配给该人的度量。

1 个答案:

答案 0 :(得分:1)

让我重新陈述您的问题,以确保我正确地理解了您。

您要计算三种比率:

  1. 选定人员的比率
  2. 此人所处的整个州的比率
  3. 整个国家(所有州?)的比率

,然后您要比较这三个比率。 此外,这样的比例应保持对其他尺寸的过滤器/切片机的响应。

如果此陈述不正确,请添加您要构建的内容的详细说明。如果正确的话,这就是我的处理方法:

首先,为分母和分母设计基本度量,以便您不必多次编写它们(我会在名称上放宽):

Nominator = SUM('sql measures table'[Performing Numerator])

Denominator = SUM('sql measures table'[Performing Denominator])

Ratio = DIVIDE([Nominator], [Denominator], 0)

如果您在切片器上选择一个人的名字,将为所选人正确计算[比率]。

接下来,我们需要建立一个比率,以显示所选人员整个状态的相同表现:

Statewide Ratio = CALCULATE( [Ratio], ALL(Person), VALUES(Person[State]))

其中“人”是与您的人一起使用的表的名称(“提供商演示”?)

因此,如果您选择一个居住在CA的人员,Statewide Ratio将计算CA中所有人员的绩效比率。

最后,设计一个与所选人员无关的比率(从而显示整个系统的性能):

Nationwide Ratio = CALCULATE([Ratio], ALL(Person))

该比率对表“ Person”中的任何选择均不敏感,但会对其他尺寸的过滤器作出响应。如果您希望它对“度量”维度不敏感,那么您现有的公式将起作用:

    Systemwide Ratio =
CALCULATE (
    [Ratio],
    ALLEXCEPT ( 'sql measures table', 'sql measures table'[PROC_DAY_DATE (bins) 3] )
)

如果创建具有所有这三个比率的图表,然后从切片器等中选择一个人员,则该图表将比较此人员的绩效与他/她的状态绩效与整体系统绩效。我认为这就是您想要的(?)

侧面说明: 我会避免使用“可视级过滤器”-它们令人困惑,并且不是数据模型的一部分。所有过滤都可以通过仪表板视觉效果或DAX进行。