Power BI:度量以按产品和文件名计算首次和最终产量

时间:2020-02-07 08:35:11

标签: powerbi dax data-analysis powerbi-desktop

我需要创建一个度量来计算相应文件名下的产品的首次通过和最终通过率。

这是我的测试数据示例。在这种情况下,每个文件名(例如:File_111)将测试3个相同的产品-P1,P2,P3。 Sample Data

正确地,首过产量的结果应为:

  1. File_111-通过,失败,通过(66.67%)
  2. File_211-通过,失败,失败(33.33%)
  3. File_311-通过,通过,通过(100%)

但是,我遵循了一个示例,并使用了以下代码,但是对于方案2,首过合格率是错误的。

    FPYield = 
    VAR distinctCountTotal = CALCULATE(DISTINCTCOUNT('Sheet1'[Product Number]))
    VAR distinctCountFail = CALCULATE(DISTINCTCOUNT('Sheet1'[Result]),'Sheet1'[Result] = "Fail")
    RETURN 
    DIVIDE(distinctCountTotal - distinctCountFail, distinctCountTotal)

如图所示,对于方案2,第一个收益率为66.67%,而应为33.33%。我不知道是什么错误。对于方案3,它显示正确的值是100%。

Scenario-1 Scenario-2

注意事项:

  1. 应该能够通过文件名或产品号过滤平均FPY(以产品号为测试仪,只有3-P1,P2,P3

接下来,如果该文件中的所有产品编号在上次运行中均通过了,我还需要计算最终通过率。我应该采取什么轻率的措施才能得出跑步的最后状态?谢谢!

编辑: 如果我的数据集中有一个DateTime列,关于如何计算最终合格率的任何建议?

1 个答案:

答案 0 :(得分:1)

在两种情况下,您都应该使用“产品的非重复计数”:

FPYield = 
    VAR distinctCountTotal = CALCULATE(DISTINCTCOUNT('Sheet1'[Product Number]))
    VAR distinctCountFail = CALCULATE(DISTINCTCOUNT(Sheet1[Product Number]),'Sheet1'[Result] = "Fail")
    RETURN 
    DIVIDE(distinctCountTotal - distinctCountFail, distinctCountTotal)

要获取产品编号的最新状态,您需要使用数据中可用的日期变量。如果没有可用的日期变量,则必须在基本查询中创建一个索引列。一旦有了日期/索引变量,就可以获取最新日期或最高索引的结果。

希望这会有所帮助。

相关问题