展开本页目录
开始前准备什么
- 下载练习包并解压到独立目录,保留原件。
- 使用自己有权限的目标工具;AI建议与Word/Excel/PPT等原生命令分别执行、分别验收。
- 作者参考的执行范围见本页结果和README;未运行的目标账号、云端权限或界面操作不计为已完成。
- 导入时把日期保留文本
- 让Copilot列出需要区域信息的行
- 对明确来源分别使用Change Type→Using Locale
- 对未知区域的歧义值另建异常查询
- 把原字符串、区域、解析结果并排输出
- 交换系统区域或修改输入列序后重跑
- 交付M脚本、区域约定、异常表和原数据
1. 导入时把日期保留文本
导入时把日期保留文本,并保留来源文件名和source_locale。
本页练习输入:一份原创dates.csv逐行标明en-US/en-GB,另含来源未知03/04/2026、非法日期和空日期。
2. 让Copilot列出需要区域信息的行
让Copilot列出需要区域信息的行,不按单个样本猜日期。
在Power Query管理参数中创建文本参数FilePath,选择解压后的dates.csv。新建空白查询,打开高级编辑器,粘贴练习包内M脚本;不要把作者计算结果当作Power Query已刷新。
3. 对明确来源分别使用Change Type→Using Locale
对明确来源分别使用Change Type→Using Locale,日期列采用对应区域。
text
任务:Power Query 日期格式转换:按来源区域解析03/04,单独隔离无法判定的日期
输入:一份原创dates.csv逐行标明en-US/en-GB,另含来源未知03/04/2026、非法日期和空日期。
请保留原件,并只对副本工作。按以下顺序执行:
1. 导入时把日期保留文本,并保留来源文件名和source_locale。
2. 让Copilot列出需要区域信息的行,不按单个样本猜日期。
3. 对明确来源分别使用Change Type→Using Locale,日期列采用对应区域。
4. 对未知区域的歧义值另建异常查询,不静默采用本机设置。
5. 把原字符串、区域、解析结果并排输出。
6. 交换系统区域或修改输入列序后重跑,结果应仍由显式区域决定。
7. 交付M脚本、区域约定、异常表和原数据。
交付:原始CSV;区域配置与M脚本;已解析表和待确认异常表。
遇到缺失信息或不可执行的原生功能,明确列出,不用编造结果填补。4. 对未知区域的歧义值另建异常查询
对未知区域的歧义值另建异常查询,不静默采用本机设置。
5. 把原字符串、区域、解析结果并排输出
本地参考与核对结果:03/04/2026在en-US来源解析为3月4日,在en-GB来源解析为4月3日;未知区域、无效日期和空日期三条进入隔离清单。
6. 交换系统区域或修改输入列序后重跑
交换系统区域或修改输入列序后重跑,结果应仍由显式区域决定。
7. 交付M脚本、区域约定、异常表和原数据
下载ZIP保留原始输入与作者参考两种身份;先按本页步骤完成自己的结果,再运行verify.py核对。具体依赖和已执行范围见README。
bash
python3 verify.py怎样确认已经完成
- US与GB同字符串得到不同但正确日期。
- 来源未知的歧义值不被猜测。
- 显式区域不随本机默认改变。
常见问题
03/04到底是三月四日还是四月三日,AI能直接猜吗?
不能。两种日期都合法时,字符串本身不含足够信息。en-US按月/日,en-GB按日/月;没有可靠来源地区时进入隔离清单,不凭AI猜测填日期。
Power Query日期转换不报错,为什么月份还是全错了?
类型转换不报错只说明得到了合法日期,不说明业务含义正确。用03/04这样的边界样例检查来源Culture与Format,另外保留原字符串、来源地区和ISO解析结果。



