当 csv 文件被额外的列扩展时更新数据模型
Posted
技术标签:
【中文标题】当 csv 文件被额外的列扩展时更新数据模型【英文标题】:Update data model when csv files get extended by extra columns 【发布时间】:2021-11-22 18:35:00 【问题描述】:我在 Power BI 桌面版中有一个从几个 csv 和 Excel 文件加载的数据模型。 csv 文件是从数据库中导出的。在我开始对表之间的关系进行建模、建立 DAX 日历和一些度量之后,我们收到了一些 .csv 文件的更新版本,这些文件现在扩展了一些额外的列。
我使用 Python 将列恢复为原始顺序并尝试“从数据源更新”。将列恢复到原始顺序后,导入现在运行没有问题。但问题是新列无法识别并且它们没有显示在表格中。我能做什么?
【问题讨论】:
【参考方案1】:假设导入像 powerquery 一样工作,找到第一行代码的 ,columns=6, 部分,然后将其删除
所以
Source = Csv.Document(File.Contents("C:\temp2\data.csv"),[Delimiter=",", Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None]),
变成
Source = Csv.Document(File.Contents("C:\temp2\data.csv"),[Delimiter=",", Encoding=1252, QuoteStyle=QuoteStyle.None]),
【讨论】:
谢谢!我会试试这个。我是否也有可能跳过使用 Python 对列进行重新排序?我的意思是从新的 csc 文件更新数据模型,与之前的列顺序无关? 我不知道为什么在引入它们时列的顺序很重要。尝试不使用 非常感谢!!!!你帮了我很多。现在它也可以在没有事先重新排序列的情况下工作。我已经在 Microsoft Power BI 论坛中询问过;但是没有人可以提供帮助。最后一件事:你能解释一下,为什么会这样?在我的例子中,“columns=14”正确地表示了更新文件中的列数。因此,不确定为什么这个明显正确的设置会导致问题。也许我也对步骤的时间顺序感到困惑。预览表是正确的,M 语法包含正确的列数,但导入的列数较少。 对不起。对此没有任何见解。如果有 14 列,则应导入 14 列以上是关于当 csv 文件被额外的列扩展时更新数据模型的主要内容,如果未能解决你的问题,请参考以下文章
当 SQL Server 表中的列“createdDate”从现在起经过 90 天后,如何更新其具有数百万行的列?我们可以使用触发器吗?