基于相同字段值的百分比
Percentage Based on Same Field Value
我有一个这样的公寓table:
Date
UserID
Reason
Productive?
TotalDuration
Group
Channel
2022-03-20
A
Break
false
00:13:21
Foo
#E
2022-03-20
A
O.Work
true
07:02:29
Foo
#E
2022-03-20
A
Shift
-
07:27:32
Foo
#E
2022-03-20
A
V.Work
true
00:10:08
Foo
#E
2022-03-20
B
Break
false
00:15:41
Foo
#S
2022-03-20
B
Meeting
false
00:00:26
Foo
#S
2022-03-20
B
OU.Work
true
00:03:36
Foo
#S
2022-03-20
B
Shift
-
06:03:41
Foo
#S
2022-03-20
B
V.Work
true
00:42:38
Foo
#S
2022-03-20
C
Break
false
00:30:01
Bar
#E
2022-03-20
C
O.Work
false
00:04:14
Bar
#E
2022-03-20
C
OU.Work
true
00:35:39
Bar
#E
2022-03-20
C
Shift
-
06:09:48
Bar
#E
2022-03-20
C
V.Work
true
01:37:47
Bar
#E
我想创建一个 pivotable,它根据同一列的 Shift
值计算每个 Reason
的百分比。
换句话说 Reason[Value]
除以 Reason[Shift]
.
这样的 pivotable 将按 Productive 和 Reason 过滤,但希望能够灵活地使用任何其他字段作为过滤器。
我认为我最好的选择是一些 DAX 措施,但我无法让它发挥作用。
我对 Excel 工具包(VBA、PQ、DAX)中的所有解决方案持开放态度
假设你的 table 被称为 Table1
你可以使用下面的 DAX
总持续时间总和
Sum of Total Duration =
sum(Table1[TotalDuration])
总持续时间总和
Percent Total Duration =
VAR ValueswithoutShift =
CALCULATE (
[Sum Total Duration],
Table1[Reason] <> "Shift",
VALUES ( Table1[Reason] )
)
VAR Shift =
CALCULATE (
[Sum Total Duration],
Table1[Reason] = "Shift",
ALLEXCEPT ( Table1, Table1[UserID] )
)
RETURN
DIVIDE ( ValueswithoutShift, Shift )
输出
我使用 UserID
、Productive?
和 Reason
作为行。
Sum Total Duration
和 Percent Total Duration
作为值。
我有一个这样的公寓table:
Date | UserID | Reason | Productive? | TotalDuration | Group | Channel |
---|---|---|---|---|---|---|
2022-03-20 | A | Break | false | 00:13:21 | Foo | #E |
2022-03-20 | A | O.Work | true | 07:02:29 | Foo | #E |
2022-03-20 | A | Shift | - | 07:27:32 | Foo | #E |
2022-03-20 | A | V.Work | true | 00:10:08 | Foo | #E |
2022-03-20 | B | Break | false | 00:15:41 | Foo | #S |
2022-03-20 | B | Meeting | false | 00:00:26 | Foo | #S |
2022-03-20 | B | OU.Work | true | 00:03:36 | Foo | #S |
2022-03-20 | B | Shift | - | 06:03:41 | Foo | #S |
2022-03-20 | B | V.Work | true | 00:42:38 | Foo | #S |
2022-03-20 | C | Break | false | 00:30:01 | Bar | #E |
2022-03-20 | C | O.Work | false | 00:04:14 | Bar | #E |
2022-03-20 | C | OU.Work | true | 00:35:39 | Bar | #E |
2022-03-20 | C | Shift | - | 06:09:48 | Bar | #E |
2022-03-20 | C | V.Work | true | 01:37:47 | Bar | #E |
我想创建一个 pivotable,它根据同一列的 Shift
值计算每个 Reason
的百分比。
换句话说 Reason[Value]
除以 Reason[Shift]
.
这样的 pivotable 将按 Productive 和 Reason 过滤,但希望能够灵活地使用任何其他字段作为过滤器。
我认为我最好的选择是一些 DAX 措施
我对 Excel 工具包(VBA、PQ、DAX)中的所有解决方案持开放态度
假设你的 table 被称为 Table1
你可以使用下面的 DAX
总持续时间总和
Sum of Total Duration =
sum(Table1[TotalDuration])
总持续时间总和
Percent Total Duration =
VAR ValueswithoutShift =
CALCULATE (
[Sum Total Duration],
Table1[Reason] <> "Shift",
VALUES ( Table1[Reason] )
)
VAR Shift =
CALCULATE (
[Sum Total Duration],
Table1[Reason] = "Shift",
ALLEXCEPT ( Table1, Table1[UserID] )
)
RETURN
DIVIDE ( ValueswithoutShift, Shift )
输出
我使用 UserID
、Productive?
和 Reason
作为行。
Sum Total Duration
和 Percent Total Duration
作为值。