Powerbi Power BI-DAX查询以删除总和计算中的重复行
我的情况是:Powerbi Power BI-DAX查询以删除总和计算中的重复行,powerbi,dax,powerquery,Powerbi,Dax,Powerquery,我的情况是:SalesValue已输入多个会话,即午餐、早餐、晚餐,这些会话按SessionKey的数字分组。相同的SalesValue根据MenuKey、RawMaterialKey和IngSFKey,在给定的生产计划日期内重复两个或多个会话 我需要在Power BI中使用DAX查询,根据给定日期内特定的MenuKey的ProductionPlanDate和SessionKey删除重复的SalesValue 我附上了SalesValue样本值范围的屏幕截图,其中包含不同会话中相同日期的重复值,
SalesValue
已输入多个会话,即午餐、早餐、晚餐,这些会话按SessionKey
的数字分组。相同的SalesValue
根据MenuKey
、RawMaterialKey
和IngSFKey
,在给定的生产计划日期内重复两个或多个会话
我需要在Power BI中使用DAX查询,根据给定日期内特定的MenuKey
的ProductionPlanDate
和SessionKey
删除重复的SalesValue
我附上了
SalesValue
样本值范围的屏幕截图,其中包含不同会话中相同日期的重复值,供您参考。例如,第7行和第14行具有相同的ProductionPlanDate
,SessionKey
,MenuKey
,以及SalesValue
,,因此您有一个带有一个“粒度”的表,并且您希望通过使用列的子集来更改“粒度”。具体来说,您只需要具有不同列ProductionPlanDate、SessionKey、MenuKey和SalesValue的行
要在DAX查询中执行此操作,您可以使用
evaluate
summarize
( 'table name'
, 'table name'[ProductionPlanDate]
, 'table name'[SessionKey]
, 'table name'[MenuKey]
, 'table name'[SalesValue]
)
您可以提供它来创建一个计算表,或者将它提供给需要使用此粗粒度数据集的每个度量值
然而由于您似乎在Power BI中,更合适的做法是使用Power Query(通过Power BI的编辑查询部分)创建粗粒度表
这比在DAX中执行要好,因为DAX更适合于分析,而Power Query更适合于数据转换,您需要执行数据转换
您可以将现在的表与新修改的表放在一起,也可以相应地替换它
- 选项A只会更改传入的表,使其具有新的粗粒度
- 选项B将保留原始表,并将新的粒度表放在旁边。请注意,这意味着您创建的任何Power BI视觉效果都需要“重新布线”才能使用新表李>
- 转到PowerBI上的编辑查询区域
- 按住ctrl键并依次单击每列的列标题,选择要创建新粒度的列(即ProductionPlanDate、SessionKey、MenuKey和SalesValue)李>
- 右键单击所选列之一的列标题,然后选择“删除重复项”
- 在左侧的“查询”部分找到现有表,右键单击并单击“引用”
- 将新表重命名为适当的名称
- 如上所述,将转换步骤应用于新表
- 单击“关闭并应用”并重新连接使用新表所需的任何现有视觉效果
- 如果您发现不需要旧表,可以在Power Query中再次右键单击它并取消选中“启用加载”,这样PowerBI就不会再看到它了李>