动态卡标签
Dynamic Card Labeling
IMPORTANT DISCLAIMER: I am a newbie at Power BI, so please bare with me if the question sounds like something a simpleton would ask. I
have attempted research, without success.
我有一个 PowerBI 仪表板,它将被深入到活动数据集中。
在此仪表板上,我想要一个动态卡片,显示基于钻取的数据的摘要信息。
为了这个问题的目的,假设以下是正在处理的仪表板(已编辑敏感信息):
关于仪表板的信息:
数据集是一个完整的未过滤订单簿,每个订单都有行项目(因此存在重复的订单编号值)。应用页面范围的过滤器来过滤掉某些订单类型 (OR Type == 'OP','OS'
)。此页面添加了一个更重要的过滤器,该过滤器基于确定每个订单项的 Qty Committed
与 Qty Received
的增量的测量值。测量将答案分配给 diff
,后者重命名为“差异”。
要求:
对于这份报告,我需要卡片根据 table 和过滤值动态更新。
需求一:
卡片 1 显示分支名称。这在应用 Branch Filter 时非常有效;但是,由于该卡的数据设置为显示数据集中的第一个条目,因此选择了字段Branch
时,我想显示“所有分支”而不是第一个条目。我不确定如何实现这一目标。
简而言之:
如果 Filters = [Select All],则将 [Branch / Plant] 卡片显示为“All Branches”,否则显示选定的 [Branch / Plant]。
需求二:
卡片 2 显示订单总数,而不是未结订单的数量,其中 diff > 0
。因此,该卡片应显示屏幕截图 table [每个供应商的未结订单] 中显示的未结订单值,该值应为 139。当前显示的值 207 是订单总数,diff > 0
过滤器被忽略。
我为要求 2 所做的尝试如下:
- 我已尝试将测量
diff
作为过滤器添加到卡片中,但无法更改过滤器参数。
- 我尝试创建一个新的字段列,该列的度量为
Outstanding = SUM('Purchase Order Report'[QuantityCommitted]) - SUM('Purchase Order Report'[QuantityReceived])
。这与导出 diff
的测量相同。我添加了新的字段列作为过滤器,然后允许我更改参数,但没有任何区别。我还注意到,即使公式相同,Outstanding
的值与 diff
的值不匹配,我认为 outstanding
忽略了所有过滤器,并简单地获取原始数据集的值。
任何指导将不胜感激!如果我遗漏了对这个问题有贡献的重要信息,请在评论中告诉我,以便我添加。
对于要求 1,我总是在 DAX 中使用 if(isfiltered 函数。
只需使用以下 DAX 创建一个度量:
IF(ISFILTERED([分公司/工厂]),CONCATENATEX(过滤器([分公司/工厂]),[分公司/工厂]," , "),"ALL"))
说明:
ISFILTERED 检查是否应用了过滤器。
如果为真,它将用逗号连接字符串。
如果为假,则显示“ALL”
快速措施也有助于设置此设置。如果您创建一个新的快速度量,总的来说,在底部您将有一个称为连接值列表的计算。
Br
克里斯
对于需求2,你可以做一个衡量。
对于 DAX,请使用计算函数。您可以在度量中过滤数据集
https://docs.microsoft.com/en-us/dax/calculate-function-dax
像这样:
计算(
SUM([订单]),
差异 > 0
)
IMPORTANT DISCLAIMER: I am a newbie at Power BI, so please bare with me if the question sounds like something a simpleton would ask. I have attempted research, without success.
我有一个 PowerBI 仪表板,它将被深入到活动数据集中。
在此仪表板上,我想要一个动态卡片,显示基于钻取的数据的摘要信息。
为了这个问题的目的,假设以下是正在处理的仪表板(已编辑敏感信息):
关于仪表板的信息:
数据集是一个完整的未过滤订单簿,每个订单都有行项目(因此存在重复的订单编号值)。应用页面范围的过滤器来过滤掉某些订单类型 (OR Type == 'OP','OS'
)。此页面添加了一个更重要的过滤器,该过滤器基于确定每个订单项的 Qty Committed
与 Qty Received
的增量的测量值。测量将答案分配给 diff
,后者重命名为“差异”。
要求:
对于这份报告,我需要卡片根据 table 和过滤值动态更新。
需求一:
卡片 1 显示分支名称。这在应用 Branch Filter 时非常有效;但是,由于该卡的数据设置为显示数据集中的第一个条目,因此选择了字段Branch
时,我想显示“所有分支”而不是第一个条目。我不确定如何实现这一目标。
简而言之: 如果 Filters = [Select All],则将 [Branch / Plant] 卡片显示为“All Branches”,否则显示选定的 [Branch / Plant]。
需求二:
卡片 2 显示订单总数,而不是未结订单的数量,其中 diff > 0
。因此,该卡片应显示屏幕截图 table [每个供应商的未结订单] 中显示的未结订单值,该值应为 139。当前显示的值 207 是订单总数,diff > 0
过滤器被忽略。
我为要求 2 所做的尝试如下:
- 我已尝试将测量
diff
作为过滤器添加到卡片中,但无法更改过滤器参数。 - 我尝试创建一个新的字段列,该列的度量为
Outstanding = SUM('Purchase Order Report'[QuantityCommitted]) - SUM('Purchase Order Report'[QuantityReceived])
。这与导出diff
的测量相同。我添加了新的字段列作为过滤器,然后允许我更改参数,但没有任何区别。我还注意到,即使公式相同,Outstanding
的值与diff
的值不匹配,我认为outstanding
忽略了所有过滤器,并简单地获取原始数据集的值。
任何指导将不胜感激!如果我遗漏了对这个问题有贡献的重要信息,请在评论中告诉我,以便我添加。
对于要求 1,我总是在 DAX 中使用 if(isfiltered 函数。 只需使用以下 DAX 创建一个度量: IF(ISFILTERED([分公司/工厂]),CONCATENATEX(过滤器([分公司/工厂]),[分公司/工厂]," , "),"ALL"))
说明: ISFILTERED 检查是否应用了过滤器。 如果为真,它将用逗号连接字符串。 如果为假,则显示“ALL”
快速措施也有助于设置此设置。如果您创建一个新的快速度量,总的来说,在底部您将有一个称为连接值列表的计算。
Br
克里斯
对于需求2,你可以做一个衡量。 对于 DAX,请使用计算函数。您可以在度量中过滤数据集 https://docs.microsoft.com/en-us/dax/calculate-function-dax
像这样: 计算( SUM([订单]), 差异 > 0 )