Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 在幂BI中显示相同值的所有行和行总数_Powerbi_Powerbi Desktop - Fatal编程技术网

Powerbi 在幂BI中显示相同值的所有行和行总数

Powerbi 在幂BI中显示相同值的所有行和行总数,powerbi,powerbi-desktop,Powerbi,Powerbi Desktop,我试图在Power BI中显示“某些列名称”与“总量” 我期待以下结果: 但它却向我展示了以下结果: 当前的数据类型是“固定十进制数”,我尝试将其更改为“十进制数”或“整数”,但不起作用 有什么建议吗?这几乎可以肯定是Power BI中多对多关系的结果。在Power BI中,如果两个(或多个)表之间存在计算结果为多对多关系的连接,则Power BI无法区分任何两行,而是将为放置在可视化视图中的任何给定行投影相同的值 这里有一个简单的方法来可视化: Table 1 T

我试图在Power BI中显示“某些列名称”与“总量”

我期待以下结果:

但它却向我展示了以下结果:

当前的数据类型是“固定十进制数”,我尝试将其更改为“十进制数”或“整数”,但不起作用


有什么建议吗?

这几乎可以肯定是Power BI中多对多关系的结果。在Power BI中,如果两个(或多个)表之间存在计算结果为多对多关系的连接,则Power BI无法区分任何两行,而是将为放置在可视化视图中的任何给定行投影相同的值

这里有一个简单的方法来可视化:

Table 1              Table 2
Product | ID    AmountSold | ID
Widget    1         10       1
Smidget   1         20       2
Gidget    2          5       1
当您加入这些Power BI时,由于Widget和Smidget具有相同的ID,因此无法区分它们之间的销售差异。据Power BI所知,Widget可以销售0,Smidget总共销售15,或者Widget总共销售5,Smidget总共销售10,以此类推

由于这种多对多关系,Power BI惊慌失措,并将其评估为相同的结果,因为它无法确定什么是正确的。Widget和Smidget共售出15台:

        Visual
 Product | AmountSold
 Widget       15
 Smidget      15
 Gidget       20

在您的数据模型中也遇到了同样的问题,尽管毫无疑问,这是一种比我刚才列出的关系复杂得多的关系。您需要返回并确定哪些表正在经历多对多关系,并修复该问题。根据您提供的信息,无法从此处执行此操作。

之所以有一个重复值,是因为您没有在powerbi模型中创建关系。例如,如果您有两个表Sales和Staff,并且您希望将所有Staff Sales相加

如果在power BI中的表之间未创建关系

输出将如下所示

但是,在表之间创建关系时

输出将是正确的


您的数据来自多个表吗?行总数是一个度量值还是一个计算列,还是直接从数据源提取?@Aldert是的,在这两个表之间有一个公共表,数据来自该表。例如,TradeID和AmountID是其他一些表的外键。这两个表之间存在关系。@我们可以有一个示例数据,以便我们可以尝试它,您可以检查关系中箭头的方向吗?我必须手动将字段从一个表(PK)拖放到另一个表(FK)。当我这样做的时候,Power BI自动在这两个表之间建立了一个多对多的关系。那么在这种情况下,我应该如何处理呢?@多对多对数据是有害的。在这种情况下,您需要做的是动态创建另一个表来保存关系的唯一值。这样,您就可以通过将新创建的表用作bridge@Paras还记得让关系双向流动