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 DAX按类别占总数的百分比_Powerbi_Dax - Fatal编程技术网

Powerbi DAX按类别占总数的百分比

Powerbi DAX按类别占总数的百分比,powerbi,dax,Powerbi,Dax,我有两个相同的表格图像和一个计算类别百分比的度量 % = DIVIDE( [m_SalesValue] ,CALCULATE([m_SalesValue], ALLSELECTED('Table'[Category])) ,BLANK() ) 当我选择(突出显示)一个类别(例如香蕉)时,另一个视觉显示类别的意外百分比值。预期值为0.25,但显示为1.00。我应该如何修改度量以获得预期结果 让我们把挑战提升到更高的层次,假设这两种视觉效果最初都被一些未指定的维度交叉过

我有两个相同的表格图像和一个计算类别百分比的度量

% = 
DIVIDE(
    [m_SalesValue]
    ,CALCULATE([m_SalesValue], ALLSELECTED('Table'[Category]))
    ,BLANK()
)
当我选择(突出显示)一个类别(例如香蕉)时,另一个视觉显示类别的意外百分比值。预期值为0.25,但显示为1.00。我应该如何修改度量以获得预期结果

让我们把挑战提升到更高的层次,假设这两种视觉效果最初都被一些未指定的维度交叉过滤过,比如fruits。这就是为什么我使用
ALLSELECTED
而不是
ALL

以下是源表:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSiwoyElV0lEyVYrViVZKSswDQiDXAsxNzkgtKqoEcs3B3PLEktSi3NSc/DygkKGRUmwsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Category = _t, SalesValue = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Category", type text}, {"SalesValue", Int64.Type}})
in
    #"Changed Type"

您需要使用ALLEXCEPT并识别仍然要应用的交叉过滤器。您的示例建议使用“水果”,这就是我在下面介绍的内容

% = 
DIVIDE(
    [m_SalesValue]
    ,CALCULATE([m_SalesValue], ALLEXCEPT(Table, 'Table'[Fruits]))
    ,BLANK()
)

顺便说一句,以这种方式包含起始数据非常方便。
ALLEXCEPT
是否允许列出用户可能(但不是必须)最初筛选的所有潜在维度?不管怎样,它看起来很有希望:-)是的。ALLEXCEPT基本上是这样表述的:“清除除这些之外的所有过滤器”,然后您可以将它们列出。所以,可以包括现在没有被过滤的列,但将来可能会被过滤。需要注意的是,这一切都必须放在同一张桌子上,这可能会有点麻烦。