[英]Count distinct values subject to condition in Calculated Field
給定Field2滿足特定條件,如何在數據透視表中創建一個計算字段,該字段將計算Field1的不同值? 我的局限性:
這是我要實現的示例。 原始數據:
╔═════════════╦═══════════╦═════════╗
║ Date Period ║ Client ID ║ Field 2 ║
╠═════════════╬═══════════╬═════════╣
║ 1 ║ A ║ 1 ║
║ 1 ║ A ║ 1 ║
║ 1 ║ A ║ 1 ║
║ 1 ║ B ║ 1 ║
║ 1 ║ B ║ 1 ║
║ 1 ║ C ║ 1 ║
║ 2 ║ A ║ 1 ║
║ 2 ║ A ║ 1 ║
║ 2 ║ B ║ 0 ║
║ 2 ║ C ║ 0 ║
║ 2 ║ C ║ 0 ║
╚═════════════╩═══════════╩═════════╝
數據透視表的輸出如下所示:
╔═════════════╦═══════════════════════════════════╦═══════════════════════════════════╗
║ Date Period ║ Distinct Clients where Field 2= 1 ║ Distinct Clients where Field 2= 0 ║
╠═════════════╬═══════════════════════════════════╬═══════════════════════════════════╣
║ 1 ║ 3 ║ 0 ║
║ 2 ║ 1 ║ 2 ║
╚═════════════╩═══════════════════════════════════╩═══════════════════════════════════╝
我已經看到了對非樞軸表數據使用數組函數(SUM,IF,FREQUENCY和MATCH的組合)的方法。 我可以使用數據透視表字段執行此操作嗎?
我沒有任何VBA背景。 使用Excel 2013。
我建議創建一個數據透視表,並將此數據添加到選中的數據模型中,ROWS的Date Period
,COLUMNS的Field 2
和VALUES的Client ID
的不重復計數。
我很高興將此視為“僅是字段更改設置”。
經過一番游戲后,我想我已經知道了:
您安裝PowerPivot加載項(文件->選項->加載項->托管:COM加載項->檢查Microsoft Office PowerPivot for Excel 2013)以獲取PowerPivot選項卡。
您需要將數據添加到數據模型中(通過單擊管理並導入數據,或突出顯示表並單擊添加到數據模型)。 然后,在PowerPivot管理區域中單擊“數據透視表”按鈕。
將日期期間拖到行。 然后,在PowerPivot選項卡中,單擊Calculated Fields-> New Calculated Field 。
現在,我的字段(名為:Distinct Client Count,其中Field2 = 1)具有以下公式:
=CALCULATE(DISTINCTCOUNT(Table1[Client ID]),Table1[Field 2] = 1)
其中Table1是我的數據模型(源數據)的名稱。 CALCULATE函數允許您將過濾器應用於匯總計算。 DISTINCTCOUNT是您輸入的第一個字段的唯一計數。
這是最終輸出:
╔═════════════╦════════════════════════════════════════╗
║ Date Period ║ Distinct Client Count Where Field2 = 1 ║
╠═════════════╬════════════════════════════════════════╣
║ 1 ║ 3 ║
║ 2 ║ 1 ║
║ Grand Total ║ 3 ║
╚═════════════╩════════════════════════════════════════╝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.