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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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 DAX格式函数导致Power BI visual上的笛卡尔积_Powerbi_Dax - Fatal编程技术网

Powerbi DAX格式函数导致Power BI visual上的笛卡尔积

Powerbi DAX格式函数导致Power BI visual上的笛卡尔积,powerbi,dax,Powerbi,Dax,我定义了以下SSAS表格模型: 在产品表中,我定义了以下度量: DeliveryQty2018:=计算(总和(PurchaseDelivery[PurchaseOrderQuantity]),(PurchaseEstimatedWarehouseArrivalDate[PurchaseEstimatedWarehouseArrivalYear]=2018)) DeliveryQty2019:=计算(总和(PurchaseDelivery[PurchaseOrderQuantity]),(Pur

我定义了以下SSAS表格模型:

产品表中,我定义了以下度量:

  • DeliveryQty2018:=计算(总和(PurchaseDelivery[PurchaseOrderQuantity]),(PurchaseEstimatedWarehouseArrivalDate[PurchaseEstimatedWarehouseArrivalYear]=2018))
  • DeliveryQty2019:=计算(总和(PurchaseDelivery[PurchaseOrderQuantity]),(PurchaseEstimatedWarehouseArrivalDate[PurchaseEstimatedWarehouseArrivalYear]=2019))
  • 2018-2020年总交付量:=格式([DeliveryQty2018]+[DeliveryQty2019]+[DeliveryQty2020],“######”
  • 我正在我的Power BI报告上创建一个可视化表格,该表格由以下字段组成:

    这个组合给我一个笛卡尔乘积:乘积X ProductCategory

    有趣的是,当我删除总和交货数量18-20格式()包装时,笛卡尔积被删除,我获得了我想要的单个记录。但是,如果我删除ProductCategory字段,并使用FORMAT()函数保留合计交货数量18-20度量,我也会得到一条记录

    有人能解释一下这两种情况下的情况吗?

    格式将空格(null)转换为空字符串
    而不是正确的空格,所以您可能需要在格式化之前先检查一下

    Sum DeliveryQty 2018-2020: =
    VAR Qty = [DeliveryQty2018] + [DeliveryQty2019] + [DeliveryQty2020]
    RETURN
        IF ( ISBLANK ( Qty ), BLANK(), FORMAT ( Qty, "# ### ###" ) )
    

    我是PowerBI的新手,所以这听起来像是在要求一些表格建模的基础,但是为什么使用FORMAT()语法将这些空格计算为空字符串,我会得到多个类别?即使我将页面范围筛选器应用于单个特定SKU,也要编辑?在您的模型中,ProductCategory会筛选产品,但反之亦然,因此指定SKU不会传播“上游”一对多关系。因此,即使我对SKU应用筛选器,所有产品类别仍会“传递”到PurchaseDelivery表?那么为什么会有空白呢这是因为仍然有一个特定的SKU过滤器传递给PurchaseDelivery,它优先于从ProductCategory传递的所有类别?对。因为类别没有被过滤,所以您可以得到所有类别。所有与您选择的SKU不相关的都会导致空白,这些空白通常会被抑制,但会因为格式而显示出来。感谢您的解释。您提出的解决方案非常有效!然而,我仍然不确定,为什么从视觉和过滤页面中删除特定SKU的度量值并没有给我这个笛卡尔产品。。。