PowerPivot - Cannot create one to many relationship - Error: Type mismatch
PowerPivot - Cannot create one to many relationship - Error: Type mismatch
我在 Excel 2013 年创建了一个数据模型,其中包含两个查询:
- Table 有 100 万行数据。其中一列存储有关 CUSTOMER_ID 的信息。
- Table 有 600 行数据。这是一个不同 CUSTOMER_ID 的列表,但只有 VIP 帐户。
我想在这些 CUSTOMER_ID 列之间创建一对多关系,但是当我尝试这样做时,出现以下错误:
============================
Error Message:
============================
The following system error occurred: Type mismatch.
Cannot convert value 'D: ControlTechSK4633-1' of type Text to type Integer.
----------------------------
The following system error occurred: Type mismatch.
Cannot convert value 'D: ControlTechSK4633-1' of type Text to type Integer.
============================
Call Stack:
============================
at Microsoft.AnalysisServices.BackEnd.DataModelingSandbox.ExecuteCaptureLogAndProcessResults(OperationType type, Boolean cancellable, Boolean raw, Boolean raiseEvents)
at Microsoft.AnalysisServices.BackEnd.DataModelingSandbox.ExecuteAMOCode(OperationType type, OperationCancellability cancellable, AMOCode code, Boolean raiseEvents)
at Microsoft.AnalysisServices.BackEnd.SandboxTransaction.CommitUpdates()
at Microsoft.AnalysisServices.BackEnd.SandboxTransaction.CommitInternal(Boolean finalCommit)
----------------------------
at Microsoft.AnalysisServices.BackEnd.SandboxTransaction.CommitInternal(Boolean finalCommit)
at Microsoft.AnalysisServices.Common.RelationshipController.CreateRelationship(DataModelingColumn sourceColumn, DataModelingColumn relatedColumn)
at Microsoft.AnalysisServices.Common.RelationshipController.formCreateRelationshipDialog_Confirming(Object sender, EventArgs e)
at Microsoft.AnalysisServices.Common.CreateRelationshipDialog.buttonOK_Click(Object sender, EventArgs e)
============================
提前感谢您的帮助。
在我看来,Customer_ID 在一个 table 中被格式化为文本,但在另一个中不是。如果是这样,有没有办法在两个来源中以相同的方式格式化字段?
如果不是,您可以通过在计算列(在 table 中将数字格式化为文本)使用 FORMAT 函数来绕过它。然后,您可以将该计算列用于 join/relationship.
关于格式功能的一些信息:
http://social.technet.microsoft.com/wiki/contents/articles/685.power-bi-dax-text-functions.aspx
编辑:
另外,我刚刚意识到,如果您在数字列中有一个文本值,则可能会导致此错误。您可能需要查看您的数据以查看是否存在这种情况。
我在 Excel 2013 年创建了一个数据模型,其中包含两个查询:
- Table 有 100 万行数据。其中一列存储有关 CUSTOMER_ID 的信息。
- Table 有 600 行数据。这是一个不同 CUSTOMER_ID 的列表,但只有 VIP 帐户。
我想在这些 CUSTOMER_ID 列之间创建一对多关系,但是当我尝试这样做时,出现以下错误:
============================
Error Message:
============================
The following system error occurred: Type mismatch.
Cannot convert value 'D: ControlTechSK4633-1' of type Text to type Integer.
----------------------------
The following system error occurred: Type mismatch.
Cannot convert value 'D: ControlTechSK4633-1' of type Text to type Integer.
============================
Call Stack:
============================
at Microsoft.AnalysisServices.BackEnd.DataModelingSandbox.ExecuteCaptureLogAndProcessResults(OperationType type, Boolean cancellable, Boolean raw, Boolean raiseEvents)
at Microsoft.AnalysisServices.BackEnd.DataModelingSandbox.ExecuteAMOCode(OperationType type, OperationCancellability cancellable, AMOCode code, Boolean raiseEvents)
at Microsoft.AnalysisServices.BackEnd.SandboxTransaction.CommitUpdates()
at Microsoft.AnalysisServices.BackEnd.SandboxTransaction.CommitInternal(Boolean finalCommit)
----------------------------
at Microsoft.AnalysisServices.BackEnd.SandboxTransaction.CommitInternal(Boolean finalCommit)
at Microsoft.AnalysisServices.Common.RelationshipController.CreateRelationship(DataModelingColumn sourceColumn, DataModelingColumn relatedColumn)
at Microsoft.AnalysisServices.Common.RelationshipController.formCreateRelationshipDialog_Confirming(Object sender, EventArgs e)
at Microsoft.AnalysisServices.Common.CreateRelationshipDialog.buttonOK_Click(Object sender, EventArgs e)
============================
提前感谢您的帮助。
在我看来,Customer_ID 在一个 table 中被格式化为文本,但在另一个中不是。如果是这样,有没有办法在两个来源中以相同的方式格式化字段?
如果不是,您可以通过在计算列(在 table 中将数字格式化为文本)使用 FORMAT 函数来绕过它。然后,您可以将该计算列用于 join/relationship.
关于格式功能的一些信息: http://social.technet.microsoft.com/wiki/contents/articles/685.power-bi-dax-text-functions.aspx
编辑: 另外,我刚刚意识到,如果您在数字列中有一个文本值,则可能会导致此错误。您可能需要查看您的数据以查看是否存在这种情况。