Power BI:使用多个条件计算表格行数的DAX度量。

huangapple go评论157阅读模式
英文:

Power BI: DAX measure to count rows of a table based on multiple conditions

问题

  1. 我有一个包含所有常规任务、其类型和频率的表格:

表格 1

任务 任务类型 频率
任务 1 类型 1 月度
任务 2 类型 2 每周
  1. 我有另一个包含已完成任务历史记录的表格,如下所示:

表格 2

任务 状态 标签 完成日期
任务 1 已完成 标签1,标签2 2023年05月08日
任务 2 已晚完成 标签1 2023年08月10日
任务 2 已完成 2023年02月08日
  1. 如何在 Power BI 中为表格可视化添加列(根据**表格 2**中的记录基于度量计算),以便我可以获得以下信息:
  2. 1. 包含“标签1”的任务按时完成的任务百分比。
  3. 2. 不考虑标签的任务按时完成的任务百分比。
  4. 以下是示例输出:

表格 3

任务 总数已完成 按时完成, 标签1 总体按时完成
任务 1 1 100% 100%
任务 2 2 0% 50%
  1. 感谢任何指导。
英文:

I have a table containing a list of all regular tasks, their types and frequency:

  1. **Table 1**
  2. | Task | Task Type | Frequency |
  3. |--------|-----------|-----------|
  4. | Task 1 | Type 1 | Monthly |
  5. | Task 2 | Type 2 | Weekly |

I have another table that contains historical records of tasks completed, as follows:

  1. **Table 2**
  2. | Task | Status | Label | Completed Date |
  3. |--------|----------------|-----------|----------------|
  4. | Task 1 | Completed | Lbl1,Lbl2 | 05/08/2023 |
  5. | Task 2 | Completed Late | Lbl1 | 10/08/2023 |
  6. | Task 2 | Completed | | 02/08/2023 |

How can I add columns (calculated from a measure based on records in Table 2) to a table visualisation in Power BI which gives me:

  1. % of tasks which include "Lbl1" completed on time.
  2. % of tasks completed on time, regardless of labels.

Example output below.

  1. **Table 3**
  2. | Task | Total completed | % on time, Lbl1 | % on time overall |
  3. |--------|-----------------|-----------------|-------------------|
  4. | Task 1 | 1 | 100% | 100% |
  5. | Task 2 | 2 | 0% | 50% |

Appreciate any guidance.

答案1

得分: 1

  1. %按时完成,Lbl1 =
  2. VAR a = COUNTROWS('表格 2')
  3. VAR b = CALCULATE(COUNTROWS('表格 2'), '表格 2'[状态] = "已完成", CONTAINSSTRING('表格 2'[标签], "Lbl1"))
  4. RETURN DIVIDE(b, a, 0) + 0
  5. %总体按时完成 =
  6. VAR a = COUNTROWS('表格 2')
  7. VAR b = CALCULATE(COUNTROWS('表格 2'), '表格 2'[状态] = "已完成")
  8. RETURN DIVIDE(b, a, 0) + 0
英文:

Power BI:使用多个条件计算表格行数的DAX度量。

  1. % on time, Lbl1 =
  2. VAR a = COUNTROWS('Table 2')
  3. VAR b = CALCULATE(COUNTROWS('Table 2'), 'Table 2'[Status] = "Completed", CONTAINSSTRING('Table 2'[Label],"Lbl1" ))
  4. RETURN DIVIDE(b,a,0)+0
  5. % on time overall =
  6. VAR a = COUNTROWS('Table 2')
  7. VAR b = CALCULATE(COUNTROWS('Table 2'), 'Table 2'[Status] = "Completed")
  8. RETURN DIVIDE(b,a,0)+0

huangapple
  • 本文由 发表于 2023年8月10日 14:44:03
  • 转载请务必保留本文链接:https://go.coder-hub.com/76873185.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定