SAME

SAME([field])

Every row of the table whose field has the same value as this row's, this row included: the tasks in this task's phase, or in its WBS node. Unlike the logic sets (Upstream, Predecessors), it groups rows by a value, not by links. A row whose field is blank gets an empty set, not the other blank rows.

Arguments

ArgumentWhat to give it
fieldA field of the table the formula is on, in brackets: [Phase], [WBS], [Calendar]; [Level] on a WBS node. Text compares ignoring case and dates by the day.

Examples

Formula
=SUM(SAME([Phase])[Duration])

The total duration of every task in this task's phase, on each of them.

Formula
=COUNT(SAME([WBS]))

How many tasks sit in this task's WBS node, this one included.

Formula
=[Total float] = MIN(SAME([Discipline])[Total float])

TRUE for the tightest task of its discipline.

Formula on WBS rows
=COUNT(SAME([Level]))

On a WBS row: how many nodes sit at the same depth of the WBS.

Reach for something else when

You wantUse
Rows that meet any other condition, such as a fixed phaseFILTER: FILTER(All, All[Phase] = "Civil")
Rows linked to this one by logicthe relations: Predecessors, Upstream and the rest
How this row ranks within its groupRANK over SAME(…)[…]

Common questions

Why does the editor say "SAME takes a field in brackets"?

SAME groups by one field of this row, so it takes the field itself, not an expression or a value:

The editor refuses this
=COUNT(SAME("Civil"))

For a fixed value, filter: COUNT(FILTER(All, All[Phase] = "Civil")).

Is SAME([Phase]) the same as FILTER(All, All[Phase] = [Phase])?

Yes for every row with a phase, and SAME is planned as one grouping, so it stays fast on large schedules. Use it whenever the condition is "equal to this row".