簡體   English   中英

計算計算字段中受條件限制的不同值

[英]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的不重復計數。

我很高興將此視為“僅是字段更改設置”。

SO2990986示例

經過一番游戲后,我想我已經知道了:

  • 使用PowerPivot表
  • 使用計算字段
  • 在給定過濾器/條件的情況下,在計算字段中使用CALCULATE函數進行不重復計數

您安裝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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM