繁体   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