您使用的是一般不可聚合的DISTINCTCOUNT
。
假設你有如下表Sales
:
+----------+------+-------+
| Customer | Item | Count |
+----------+------+-------+
| Albert | Coke | 3 |
| Bertram | Beer | 5 |
| Bertram | Coke | 2 |
| Charlie | Beer | 1 |
+----------+------+-------+
如果你想計算不同項目每個客戶已經購買的數量,你會創建一個結構式的新措施:
[Distinct Items] := DISTINCTCOUNT(Sales[Item])
如果在報告中包含[Customer]
列和[Distinct Items]
度量,它將輸出以下內容:
+----------+----------------+
| Customer | Distinct Items |
+----------+----------------+
| Albert | 1 |
| Bertram | 2 |
| Charlie | 1 |
+----------+----------------+
| Total | 2 |
+----------+----------------+
如您所見,這並不總和,因爲總行的上下文是整個表格,未被任何特定客戶過濾。爲了改變這種行爲,你必須明確地告訴你的度量,它應該對顧客層次派生的值進行求和。要做到這一點,use the SUMX
function。在我的例子中,測量公式應該改變這樣的:
[Distinct Items] := SUMX(VALUES(Sales[Customer]), DISTINCTCOUNT(Sales[Item]))
正如我只想總結過我使用VALUES(Sales[Customer])
唯一客戶。如果你想總結表中的每一行,只需:SUMX(<table name>, <expression>)
。
隨着這一變化,在上面的例子中的輸出將是:
+----------+----------------+
| Customer | Distinct Items |
+----------+----------------+
| Albert | 1 |
| Bertram | 2 |
| Charlie | 1 |
+----------+----------------+
| Total | 4 |
+----------+----------------+
來源
2017-08-08 09:57:58
Dan
[如何創建一個最小的,完整的,並且可驗證示例](https://stackoverflow.com/help/mcve) – user5226582