[英]Exporting data from PowerPivot
我有一个巨大的 PowerPivot 表(839,726 行),它太大了,无法复制粘贴到常规电子表格中。 我尝试复制它,然后使用行data = read.table("clipboard", header = T)
将其直接读入 R,但这些方法都不起作用。 我想知道是否有一些插件或方法可以用来将我的 PowerPivot 表导出为 CSV 或 .xlsx? 非常感谢
要将 PowerPivot 表导入 Excel:
另一个解决方案是
这是一个例子
下面是一个纯 Excel/VBA 解决方案。 这改编自此处的代码以使用 FileSystemObject 并一次向文件写入 1k 行。 您需要添加 Microsoft ActiveX Data Objects Library 和 Microsoft Scripting Runtime 作为参考。
Option Explicit
Public FSO As New FileSystemObject
Public Sub ExportToCsv()
Dim wbTarget As Workbook
Dim ws As Worksheet
Dim rs As Object
Dim sQuery As String
'Suppress alerts and screen updates
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
'Bind to active workbook
Set wbTarget = ActiveWorkbook
Err.Clear
On Error GoTo ErrHandler
'Make sure the model is loaded
wbTarget.Model.Initialize
'Send query to the model
sQuery = "EVALUATE <Query>"
Set rs = CreateObject("ADODB.Recordset")
rs.Open sQuery, wbTarget.Model.DataModelConnection.ModelConnection.ADOConnection
Dim CSVData As String
Call WriteRecordsetToCSV(rs, "<ExportPath>", True)
rs.Close
Set rs = Nothing
ExitPoint:
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
Set rs = Nothing
Exit Sub
ErrHandler:
MsgBox "An error occured - " & Err.Description, vbOKOnly
Resume ExitPoint
End Sub
Public Sub WriteRecordsetToCSV(rsData As ADODB.Recordset, _
FileName As String, _
Optional ShowColumnNames As Boolean = True, _
Optional NULLStr As String = "")
'Function returns a string to be saved as .CSV file
'Option: save column titles
Dim TxtStr As TextStream
Dim K As Long, CSVData As String
'Open file
Set TxtStr = FSO.CreateTextFile(FileName, True, True)
If ShowColumnNames Then
For K = 0 To rsData.Fields.Count - 1
CSVData = CSVData & ",""" & rsData.Fields(K).Name & """"
Next K
CSVData = Mid(CSVData, 2) & vbNewLine
TxtStr.Write CSVData
End If
Do While rsData.EOF = False
CSVData = """" & rsData.GetString(adClipString, 1000, """,""", """" & vbNewLine & """", NULLStr)
CSVData = Left(CSVData, Len(CSVData) - Iif(rsData.EOF, 3, 2))
TxtStr.Write CSVData
Loop
TxtStr.Close
End Sub
这是一个可爱的低技术方式: https : //www.sqlbi.com/articles/linkback-tables-in-powerpivot-for-excel-2013/
我认为 Excel 2016 中的过程略有不同。如果您有 Excel 2016,您只需转到数据选项卡,转到获取外部数据,然后转到现有连接(并在表下查看)。
另一件重要的事情是单击取消链接(在表工具 - 设计 - 外部表数据下)。 这会将其与源数据断开链接,因此它实际上只是一个导出。
您可以根据需要将该数据复制到另一个工作簿中。
Power Pivot 中的数据经过建模,使用 DAX Studio 将数据导出到 csv 或 SQL。 完成后,您会看到每个模型对应一个 CSV 文件或 SQL 表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.