Power BI - 矩阵计数空白行

时间:2021-07-24 08:50:27

标签: powerbi dax

我创建了一个矩阵,其中包含访问过的销售员和他们的化学家的数据。

enter image description here

我添加了一个计数公式

Customer Count = DISTINCTCOUNTNOBLANK('Source Data'[CustomerNameFull])

上述矩阵中的总数是拜访化学家的销售员的总数,同时我想计算销售员未拜访的化学家的总数。即空白的计数。空白计数应与总值一起显示。

源文件:BI SAS

预期产出

以下是我想要的预期输出。零总数是非重复计数

enter image description here

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

在取得预期结果后,我提出以下措施。一个计算所选推销员/推销员的不同未访问化学家:

Unvisited Chemists := 
VAR _customerCount = CALCULATE ( DISTINCTCOUNTNOBLANK ( 'Source Data'[CustomerNameFull] ) , ALLSELECTED ( Dates ) )
VAR _visitedCount = [Customer Count]
RETURN _customerCount - _visitedCount

还有一个格式化矩阵:

Customer Count w/ Unvisited = 
IF ( [Customer Count] <> BLANK () ,
    SWITCH ( 
        TRUE (), 
        NOT ISINSCOPE ( 'Source Data'[CustomerNameFull] ) && ISINSCOPE ( Dates[Month] )  ,
        [Customer Count] & " (" & [Unvisited Chemists] & ")" ,
        FORMAT ( [Customer Count] , "#" )
    )
)

请注意,这里我使用的是日期表,而不是在 INVDATE 列上使用自动日期/时间。无论如何,这被认为是最佳实践。请记住设置正确的排序列,请参阅此处的指南:https://docs.microsoft.com/en-us/power-bi/create-reports/desktop-sort-by-column

我使用了一个简单的日期表:

Dates = 
ADDCOLUMNS ( 
    CALENDARAUTO () , 
    "Year" , YEAR ( [Date] ) ,
    "MonthNo" , MONTH ( [Date] ) ,
    "Month" , FORMAT ( [Date] , "MMMM" )
)

数据模型如下所示:

Data model

结果如下:

Resulting matrix visual

答案 1 :(得分:0)

你可以试试这样的:

VAR AllChemists = 
    CALCULATETABLE ( 
        VALUES ( Table[Chemist] ), 
        REMOVEFILTERS ( Table[Chemist] ) 
    )
VAR VisitedChemists = 
    FILTER ( 
        AllChemists, 
        CALCULATE ( 
            DISTINCTCOUNT ( 'Source Data'[CustomerNameFull]  ) 
        ) > 0
    )
VAR RemainingChemists = 
    EXCEPT ( AllChemists, VisitedChemists )
VAR Result = 
    COUNTROWS ( 
        FILTER ( 
            RemainingChemists,
            Table[Chemist] IN VALUES ( Table[Chemist] )
        )
    )
RETURN
    Result