簡體   English   中英

PowerPivot關系對多對多

[英]PowerPivot Relationships Many to Many

我試圖實現的目標是在PowerPivot,ClientID和CSQName中具有2個切片器。 選擇ClientID時,僅顯示與該ClientID相關的CSQ名稱,反之亦然

關系圖鏈接: https : //goo.gl/photos/PnCZrnsXXTx3oFGh8

我在將PowerPivot中的多對多關系鏈接時遇到問題。 我正在嘗試構建的應用程序的簡要背景...

我正在嘗試將SQL數據庫(IDM)和Informix SQL數據庫(Cisco呼叫數據)結合在一起。 IDM數據庫包括客戶數據和TBAS未結案件數據。 每個客戶端都有一個特定的ClientID。 Cisco數據庫包括呼叫詳細信息和CSQNames(隊列名稱)。 存在多對多關系,例如,一個clientid可以具有多個CSQname(clientid 3的CSQ名稱為“ A”和“ B”)。 另外,一個csqname可以具有多個clientid(csqname“ Z”包括clientid“ 99”,“ 98”和“ 97”。因此,我創建了一個內部聯接表來創建稱為“ Clients_CSQ”的多對多關系。

我正在嘗試將此內部聯接表同時用於“ TBAS未結案例”和“通話明細”。 當我將此表用於過濾器時,PowerPivot聲明不存在任何關系。 有什么解決辦法嗎? 如果這樣做沒有意義,請告訴我,我將嘗試指定。 我已經准備好許多帖子,但是無法掌握如何使DAX與calculate函數一起工作。 如果有人可以闡明我的問題,將不勝感激。 謝謝。

這實際上取決於您要報告的數據。 當您將兩個切片器添加到PowerPivot表時,每個切片器中的可用選擇將受到另一個切片器中的選擇的影響,並且僅當“數據透視表”的“值”部分中的所有字段都依賴於兩個切片器字段。

在您的情況下,可以通過創建3個度量來使這項工作(作為示例):

[Call Total]=SUM('TBAS Open Cases'[Case duration])
[Number of Calls]=COUNTA('Call Detail'[appname])
[Calls by Duration]=SUMX('Clients_CSQ',DIVIDE([Call Total],[Number of Calls]))

將這3個度量中的最后一個放置在數據透視表中,並將切片器設置為使用“ Clients_IDM” [ic_client_id]和“ CSQ名稱” [csqname]和“嘿,Presto!”

前兩個措施非常簡單。 第三個是循環瀏覽這兩個切片器字段共有的唯一表中的每個條目(Clients_CSQ),並使用FACT表中的數據執行計算。 我不知道我提出的[按持續時間致電]指標對您的數據集是否有意義,但希望該示例將幫助您達到所需的解決方案。 再次取決於要顯示的數據,此度量是否返回垃圾並不重要,重要的是它將兩個數據集組合在一起。

請記住,一旦將任何事實表中的任何原始字段添加到此“統一數據透視表”中,切片器之間的相互關系就會中斷。 !!!但!!! 沒有什么可以阻止您將csqname切片器鏈接到包含您的“呼叫詳細信息”表中的字段的同一工作表上的另一個透視表,並且同樣將ic_client_id切片器鏈接到包含TBAS未清案例數據的透視表。 實際上,“統一數據透視表”可能與切片機位於不同的工作表上,因此您只能看到您感興趣的兩組數據。

並忽略關於不存在任何關系的警告!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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