这个问题衍生出了我之前发布的一个问题; Power BI 中的自定义 x 轴值
假设以下数据集:
专注于第二排和第三排。我怎样才能使下面相应图表中的线是连续的而不是停在中间?
在 Excel 中,我曾经通过在为图形生成数据的公式中应用 NA() 来解决这个问题。是否有使用 DAX 的类似解决方案?
这个问题衍生出了我之前发布的一个问题; Power BI 中的自定义 x 轴值
假设以下数据集:
专注于第二排和第三排。我怎样才能使下面相应图表中的线是连续的而不是停在中间?
在 Excel 中,我曾经通过在为图形生成数据的公式中应用 NA() 来解决这个问题。是否有使用 DAX 的类似解决方案?
简短版本:
释放 python并按照那里的步骤操作后,插入这个脚本(别担心,我在这里也添加了一些细节):
import pandas as pd
# retrieve index column
index = dataset[['YearWeek_txt']]
# subset input data for further calculations
dataset2 = dataset[['1', '2']]
# handle missing values
dataset2 = dataset2.fillna(method='ffill')
然后,您将能够像这样设置它:
对于内置选项,据我所知,这些是您的选择:
1.分类 YearMonth 和分类 x 轴不起作用
2.分类 YearMonth 和连续 x 轴不起作用
3.数字 YearMonth 和分类 x 轴不起作用
4.数字YearMonth和连续x轴不起作用
详细信息,从内置方法失败的原因开始:
1.分类 YearMonth 和分类 x 轴
我使用了类似于您的表格屏幕截图的以下数据集:
YearWeek 1 2
201603 2.37 2.83
201606 2.55
201607 2.98
201611 2.33 2.47
201615 2.14 2.97
201619 2.15 2.02
201623 2.33 2.8
201627 3.04 2.57
201631 2.95 2.98
201635 3.08 2.16
201639 2.50 2.42
201643 3.07 3.02
201647 2.19 2.37
201651 2.38 2.65
201703 2.50 3.02
201711 2.10 2
201715 2.76 3.04
不,我没有费心手动复制您的所有数据。只是你的 YearWeek 系列。其余的是 2 到 3 之间的随机数。
然后我将数据设置为 1 和 2 的数字,并在 Power Query 编辑器中将 YearWeek AA 类型文本设置为:
所以这是原始设置,带有像您这样的表格和图表:
数据按 YearWeek_txt 降序排列:
x轴设置为Categorical:
结论: 失败
2.分类年月和数字 x 轴
使用与上述相同的设置,您可以尝试将 x 轴类型更改为Continuous:
但正如您将看到的,它只是立即翻转回“分类”,大概是因为 YearWeek 的类型是text.
结论: 失败
3.数字 YearMonth 和分类 x 轴
我已经复制了原始设置,因此我有两个表 Categorical 和 Numerical ,其中 YearWeek 的类型分别是text和integer:
所以数字 YearMonth 和分类 x 轴仍然给你这个:
结论: 失败
4.数字YearMonth和连续x轴不起作用
但是现在,使用与上述相同的设置,您可以将 x 轴类型更改为Continuous:
你最终会得到这个:
结论: 大声笑
在 中Power Query Editor,激活Categorical表,选择Transform > Run Python Script并在 Run 中插入以下代码段Python Script Editor:
# 'dataset' holds the input data for this script
import pandas as pd
# retrieve index column
index = dataset[['YearWeek_txt']]
# subset input data for further calculations
dataset2 = dataset[['1', '2']]
# handle missing values
dataset2 = dataset2.fillna(method='ffill')
单击OK并单击此处Table的旁边dataset2:
你会得到这个(确保列数据类型正确):
如您所见,没有更多的缺失值。dataset2 = dataset2.fillna(method='ffill')已将所有缺失值替换为两列中的前一个值。
单击关闭并应用以返回桌面,并享受您的表格和图表,不再缺少缺失值:
结论: Python 很酷
尾注:
这里有很多细节可能会出错,比如小数点、数据类型等等。让我知道你的情况如何,如果它对你不起作用,我会再看一遍。