我已经使用power BI REST API创建了Power BI数据集。此数据集中有2个表。
现在,我正在使用该数据集中的数据(使用Power BI Desktop)创建一个新的报表。
问题是“管理关系”命令显示为灰色。我读过某个地方,应该从“已连接的实时”数据集切换到导入数据集,但是我不确定在这种情况下是否适用,而且我什至都没有找到方法。
因此,问题是:如何才能对来自Power BI数据集的数据启用“管理关系”命令?使用API创建数据集时,是否应该将某些标志设置为特定值?还是我至今无法找到的在Power BI Desktop中要做的事情?
答案 0 :(得分:2)
如果您使用的是使用REST API创建的数据集,则必须使用Power BI Dataset
数据源将其添加到报告中。这意味着这是一个实时连接,其中的建模是在数据源本身上完成的(将其视为连接到SSAS多维数据集)。在这种情况下,您只能在报告中进行有限的选择(创建度量几乎是您可以做的所有事情)。
在这种情况下,您无法切换到Import
。对于导入,必须从用于填充此数据集的数据源中加载数据并完全绕过它。
如果您缺少数据集中各表之间的关系,则可以在创建数据集时使用json主体对其进行定义,如下所示:
{
"name": "SalesData",
"defaultMode": "Push",
"tables": [
{
"name": "Customers",
"columns": [
{
"name": "CustomerId",
"dataType": "Int64"
},
{
"name": "CustomerName",
"dataType": "string"
}
],
"name": "Orders",
"columns": [
{
"name": "CustomerId",
"dataType": "Int64"
},
{
"name": "OrderDate",
"dataType": "Datetime"
},
{
"name": "Amount",
"dataType": "Double"
}
]
}
],
"relationships": [
{
"name": "FK_Orders_Customers",
"fromTable": "Orders",
"fromColumn": "CustomerId",
"toTable": "Customers",
"toColumn": "CustomerId",
"crossFilteringBehavior": "bothDirections"
}
]
}