powerbi - 如何使用 Power Query 编辑器按 ID 删除自上一行以来没有更改的旧行
问题描述
我有一个包含三列的表:ID
、Score
和Date
。
Current Data
|---------------------|------------------|------------------|
| ID | Score | Date |
|---------------------|------------------|------------------|
| 123 | 3 | 05/01 |
|---------------------|------------------|------------------|
| 123 | 2 | 04/25 |
|---------------------|------------------|------------------|
| 123 | 2 | 04/20 |
|---------------------|------------------|------------------|
| 123 | 1 | 04/15 |
|---------------------|------------------|------------------|
| 123 | 2 | 04/10 |
|---------------------|------------------|------------------|
| 123 | 1 | 04/05 |
|---------------------|------------------|------------------|
| 456 | 6 | 04/30 |
|---------------------|------------------|------------------|
| 456 | 5 | 04/20 |
|---------------------|------------------|------------------|
| 456 | 4 | 04/10 |
|---------------------|------------------|------------------|
| 456 | 4 | 04/05 |
|---------------------|------------------|------------------|
| 456 | 6 | 04/01 |
|---------------------|------------------|------------------|
Desired Table
|---------------------|------------------|------------------|
| ID | Score | Date |
|---------------------|------------------|------------------|
| 123 | 3 | 05/01 |
|---------------------|------------------|------------------|
| 123 | 2 | 04/25 |
|---------------------|------------------|------------------|
| 123 | 1 | 04/15 |
|---------------------|------------------|------------------|
| 123 | 2 | 04/10 |
|---------------------|------------------|------------------|
| 123 | 1 | 04/05 |
|---------------------|------------------|------------------|
| 456 | 6 | 04/30 |
|---------------------|------------------|------------------|
| 456 | 5 | 04/20 |
|---------------------|------------------|------------------|
| 456 | 4 | 04/10 |
|---------------------|------------------|------------------|
| 456 | 6 | 04/01 |
|---------------------|------------------|------------------|
我试图只显示 ID 值已更改的行。我认为使用“删除重复项”太过分了,并且排除了值从1
到2
到1
到的时间2
(我想显示所有四行/值,但它只显示最新的1
和2
)。
任何帮助,将不胜感激。谢谢
解决方案
听起来您正在尝试做的是标记排序列表中的所有行,其中 [ID=previous row ID] AND [Score=previous row Score]
添加一个索引,然后使用上一行引用ColumnName的值
= #"PreviousStepName"{[Index]-1}[ColumnName]
使用它来创建 if/then 公式来标记要删除的代码,然后删除它们
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}}),
#"Sorted Rows" = Table.Sort(#"Changed Type" ,{{"ID", Order.Ascending}, {"Date", Order.Descending}}),
#"Added Index" = Table.AddIndexColumn(#"Sorted Rows" , "Index", 0, 1),
#"Added Custom" = Table.AddColumn(#"Added Index" , "Custom", each if [Index]=0 then null else if [ID] = #"Sorted Rows"{[Index]-1}[ID] and [Score] = #"Sorted Rows"{[Index]-1}[Score] then "remove" else null),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = null)),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Index", "Custom"})
in #"Removed Columns"
编辑以交换每个评论的排序和索引行
推荐阅读
- sql - 如何让这条 SQL 行更高效?(分区依据时的情况)
- javascript - 将变量从 HTML 传递到 JS 回 HTML
- docker - docker-compose 提供 SSL 验证
- python - 使用 .pop() 函数获取用户输入以替换列表中的某个点时出错
- javascript - JQuery - 基于具有相同类的数据属性切换元素
- stata - 从宏到变量的随机彩票号码
- javascript - 将 React 类组件迁移到 Function 组件 (React-google-maps)
- yaml - 带有前导空格的 YAML 字符串
- android - JobIntentService 无法在警报应用程序的打盹模式下工作
- game-engine - Godot:如何将玩家的移动限制在某些瓷砖上?