Powerbi 如何在Power BI的单个表中显示来自不同数据源表的数据

Powerbi 如何在Power BI的单个表中显示来自不同数据源表的数据,powerbi,powerbi-datasource,Powerbi,Powerbi Datasource,我的报告中有两个不同的表,为了演示,假设我有一个数据源是实际发票金额,然后我有另一个表是预测金额。每个表都有几个相同的维度,比如国家、地区、产品分类和产品 我想要的是能够显示一个表/矩阵,从这两个数据源中提取信息,如下所示 Description Invoice Forecast vs Forecast USA 300 325 92% East

我的报告中有两个不同的表,为了演示,假设我有一个数据源是实际发票金额,然后我有另一个表是预测金额。每个表都有几个相同的维度,比如国家、地区、产品分类和产品

我想要的是能够显示一个表/矩阵,从这两个数据源中提取信息,如下所示

Description              Invoice    Forecast    vs Forecast
USA                        300          325           92% 
    East                   150          175           86%
       Product Grouping 1  125          125          100%
           Product 1        50           75           67%
           Product 2        75           50          150%
       Product Grouping 3   25           50           50%
           Product 3        25           50           50%
    West                   150          150          100%
       Product Grouping 1   75          100           75%
           Product 1        25           50           50%
           Product 2        50           50          100%
       Product Grouping 3   75           50          150%
           Product 3        75           50          150%

我还没有找到一种方法将来自多个数据源的信息合并到一个矩阵表中,因此,如果有任何帮助,我将不胜感激。我确实发现有人将行的结构硬编码到单独的数据源中,然后使用DAX表达式将信息片段拉入列中,但我不喜欢这种解决方案,因为行的结构不是恒定的。

您所问的是星型模式的一个常见部分:将来自不同事实表的事实组合到一个单一的可视或报告中

什么是你不想做的 您不希望在Power BI数据模型中将这两个事实表合并到一个表中。这是一个很大的工作,绝对没有必要。特别是,由于两个事实数据表中可能有一些维度没有共同之处,例如,实际金额可能与客户维度关联,但预测金额不会关联

您也不希望以任何方式将这两个事实表相互关联。再说一遍,这是一个很大的工作。尤其是因为没有自然的方式在行级别将它们联系起来

怎么办 通常,处理两个事实表的方式与处理单个事实表的方式相同。首先,您有国家、地区、分类、产品、日期、客户等维度。然后加载事实表,并将它们连接到维度。您不会将事实数据表相互联接。然后创建度量,即DAX表达式

如果要将两个事实的度量值合并到一个矩阵中,则只能使用对两个事实表都有意义的行/列。例如,实际金额可能与客户关联,但预测金额不关联。因此,您不能在矩阵中包含客户信息。另一种可能性是每天都记录实际金额,而对整个月进行预测。在这种情况下,您可以将月份放入矩阵中,因为这对双方都有意义,但您不想使用日期,因为Power BI不知道如何将预测划分为各个日期

只要您只使用对两个事实表都有意义的维度和属性,您就可以按照上面的设想轻松创建矩阵。只需拖动所需的属性,然后添加度量值,即DAX表达式

发票和预测列都是度量值。来自不同事实表的两个度量可以组合为vs.Forecast度量的第三个度量。只要您只使用对两个事实表都有意义的维度/属性,一切都将正常工作

我看不到您提议的透视表中有任何问题

其他情况 如果预测是在月份级别,实际是在日期级别,那么您可能想知道如何将它们与相同的日期维度联系起来。这种情况称为粒度不同,我推荐阅读一篇有建议的好文章:。事实上,有一整节是关于比较预算和收入的,你可能会发现这很有用

最后,您提到有人硬编码了行的结构,并使用DAX表达式构建了所有内容。诚然,这听起来有点过分了。Power BI的目标是灵活性。一旦你掌握了事实、度量和维度,你就可以用任何有意义的方式将它们结合起来。对行进行硬编码消除了这种灵活性,这是一个很好的线索,表明有些地方不对劲。另一个很好的线索是,当DAX表达式对于一些本应简单的东西来说似乎非常复杂时,就说明了某些东西是不对的

我希望我的回答有帮助。这是一个一般性的回答,因为你的问题是一般性的。如果你对自己的具体情况有具体的问题,一定要发布其他问题。样本数据、模型描述、您看到的问题以及您希望看到的内容有助于获得好的答案

如果您对Power BI、数据模型和星型模式是全新的,阿尔贝托·法拉利(Alberto Ferrari)和马可·鲁索(Marco Russo)有一本优秀的书,我建议您阅读这本书以获得速成课程: