Low*_*ast 2 sql sql-server powerbi
我试图在powerbi上做这个,但我想这只是基本的SQL
我想在powerBi中导入我的数据,但是用一些id过滤它.我们来看看这个例子吧.我有一些公司的数据库(表1).每个compay都有建筑物(table2),每个建筑物都有雇员(table3).我想导入三张桌子,但仅限于一家公司(OnePowerBi是关于一家公司,永远不会更多).请注意,每个表都有父表的外键.我的架构在powerBI中运行良好
我尝试在高级选项中进行SQL查询(关于功能BI,你可以在选择哪个表导入之前做一些SQL)但是如果我这样做:
select * from companies where idcomp=1
Run Code Online (Sandbox Code Playgroud)
它只会导入公司表.如果数据链接到所选公司ID,我想导入所有表的所有数据,但是保留结构而不是将所有数据都放在"请求"或"表"中,就像内部联接一样.我应该怎么做?
这个答案是基于我对这个问题的理解.如果此解决方案无法满足您的需求,我建议您更新问题以澄清您的问题和所需结果.
另外,我提前为这个答案的长度道歉; 我不知道您对Power BI的专业水平,我想确保涵盖我所采取的每一步.
注 - 我使用的是Windows Store中提供的最新版本的Power BI Desktop.如果我拍摄的任何操作或我发布的图片与您的Power BI应用程序不一致,请确保您使用的是最新版本.
0)首先,我创建了一个包含三个表和一些数据的示例SQL结构.我可以在这里找到我运行的SQL代码.
1)在Power BI中,单击"获取数据" - >"SQL Server"
2)在这里输入你的SQL服务器和数据库名称(我使用的是本地数据库,因此是".").
3)仅选择Companies表,然后单击Edit ...
......像这样进口.
4)单击Manage Parameters - > New Parameter.
5)填写如下所示的表格.
6)返回公司查询,单击idcomp列的下拉箭头,然后转到数字过滤器 - >等于...
7)在弹出框中,单击第一个条件的下拉箭头并将其切换到参数.由于只有一个参数,因此应自动填写.单击"确定"...
......得到这个.
8)右键单击Companies查询,然后单击Duplicate.这是第二次,所以你有原始查询和两个副本.
9)返回原始查询,右键单击"建筑物"列,然后选择"删除".
10)右键单击Companies(2)查询并选择Rename.将此第二个查询命名为Buildings.
11)在"建筑物"查询中,右键单击"建筑物"列,然后选择"删除其他列".
12)单击Buildings列上的扩展箭头按钮,取消选择除idbuild和BuildingName之外的所有内容(如下所示).
13)右键单击Companies(3)查询并选择Rename.将此第三个查询命名为Employees.
14)在Employees查询中,右键单击Buildings列,然后选择Remove Other Columns.
15)单击Buildings列上的扩展箭头按钮,取消选择除Employees之外的所有内容(如下所示).
12)单击Employees列上的扩展箭头按钮,取消选择除idemp,FirstName和LastName之外的所有内容(如下所示).
13)单击"关闭并应用".
14)要检查数据,请制作几个表格,看看只加载了公司1的信息.
15)要更改加载的公司,请单击主页 - >编辑查询.
16)单击CompanyID(1)查询并将当前值更改为2.
17)单击关闭并应用,注意表更新为仅显示公司2的信息.