2017-10-12 1 views
0

Je suis en train de le faire sur powerbi mais je suppose que c'est juste SQLobtenir uniquement les données que je veux à partir d'un db, mais garder la structure

de base que je voudrais importer mes données dans powerBi mais le filtrage avec une pièce d'identité . Prenons cet exemple. J'ai db avec certaines entreprises (tableau 1). Chaque compas a la construction (table2) et chaque bâtiment a des employés (table3). Je voudrais importer ces trois tables mais seulement pour une entreprise (OnePowerBi concerne une entreprise, jamais plus). Notez que chaque table possède la clé étrangère du parent. Mon schéma fonctionne bien dans powerBI

J'ai essayé de requête SQL dans l'option avancée (sur le pouvoir BI, vous pouvez faire quelques SQL avant chossing qui importent de la table), mais si je fais:

select * from companies where idcomp=1 

Il ne importera la table de l'entreprise. Je voudrais importer toutes les données de toutes les tables si ces données sont liées à l'ID de société sélectionné mais conserver la structure et ne pas obtenir toutes les données dans une "requête" ou une "table", comme le fera une jointure interne. Comment dois-je faire?

+3

Je ne peux pas imaginer pourquoi quelqu'un a pensé à cette question était digne d'un upvote. Je ne peux pas faire la tête ou la queue de ce que vous essayez de faire ici. –

+0

pouvez-vous fournir des exemples de données dans votre base de données? semble comme vous voulez JOINDRE les 3 tables – DHLopez

+0

Aussi fort que je pouvais Comprendre, vous voulez importer des données à partir des trois tables, qui correspond à une société particulière (idcomp = 1). Si oui, faites un joint interne et limitez les données de l'entreprise dont vous avez besoin (clause where) Est-ce que c'est ce que vous cherchez? – Valli

Répondre

2

Cette réponse est basée sur ma compréhension de la question. Si cette solution ne vous apporte pas ce que vous voulez, je suggère de mettre à jour la question pour clarifier quel est votre problème et le résultat souhaité.

Aussi, je m'excuse à l'avance pour la longueur de cette réponse; Je ne connais pas votre niveau d'expertise avec Power BI et je voulais m'assurer de couvrir toutes les étapes que j'ai suivies.

Remarque - J'utilise la dernière version de Power BI Desktop disponible via le Windows Store. Si l'une des actions que je fais ou les photos que je publie ne sont pas alignées avec votre application Power BI, assurez-vous que vous utilisez la dernière version.

0) Pour commencer, j'ai créé un exemple de structure SQL avec trois tables et quelques données. Le code SQL que j'ai exécuté peut être trouvé here.

1) de puissance BI, cliquez sur Obtenir les données -> SQL Server

Get data

2) Entrez votre serveur SQL et le nom de la base de données ici (j'utilise une base de données locale, d'où le ".").

SQL info

3) Sélectionnez uniquement la table Sociétés et cliquez sur Modifier ...

Select companies table

... qui les importations comme celui-ci.

Imported companies table

4) Cliquez sur Gérer les paramètres -> Nouveau paramètre.

New parameter

5) remplir le formulaire comme indiqué ci-dessous.

Parameter config

6) Retour à la requête Entreprises, cliquez sur la flèche du menu déroulant de la colonne idcomp et aller à filtres Nombre -> Égale ...

Filter rows

Dans la zone contextuelle, cliquez sur la flèche déroulante pour la première condition et basculez sur Paramètre. Comme il n'y a qu'un seul paramètre, il doit remplir automatiquement. Cliquez sur OK ...

Filter config

... pour obtenir cela.

Filter results

8) Faites un clic droit sur la requête Entreprises et cliquez sur Dupliquer. Faites-le une seconde fois afin d'avoir la requête originale et deux copies.

Duplicate query

9) Retour à la requête initiale, faites un clic droit sur la colonne Bâtiments et sélectionnez Supprimer.

Remove extra column in companies

10) Faites un clic droit sur les sociétés (2) requête et sélectionnez Renommer. Nommez cette deuxième requête Buildings.

Rename second query

11) Dans la requête Bâtiments, faites un clic droit sur la colonne Bâtiments et sélectionnez Supprimer les autres colonnes.

Remove extra columns in buildings

12) Cliquez sur le bouton fléché d'extension sur la colonne Bâtiments et décochez tout sauf idbuild et BuildingName (comme indiqué ci-dessous).

Expand buildings column

13) Faites un clic droit sur les sociétés (3) requête et sélectionnez Renommer. Nommez cette troisième requête Employés.

Rename third query

14) Dans la requête Employés, faites un clic droit sur la colonne Bâtiments et sélectionnez Supprimer les autres colonnes.

Remove extra columns in employees

15) Cliquez sur le bouton fléché d'extension sur la colonne Bâtiments et décochez tout sauf les employés (comme indiqué ci-dessous).

Expand buildings column in employees

12) Cliquez sur le bouton fléché d'extension sur la colonne Employés et décochez tout sauf idemp, FirstName et LastName (comme indiqué ci-dessous).

Expand employees column

13) Cliquez sur Fermer & Appliquer.

Close and apply

14) Pour vérifier les données, faire quelques tables et voir que l'information seule entreprise 1 a été chargé.

Tables

15) Pour changer la société est chargée, cliquez sur Accueil -> Modifier les requêtes.

Edit queries

16) Cliquez sur le CompanyID (1) requête et modifiez la valeur actuelle à 2.

Edit parameter

17) Cliquez sur Fermer & Appliquer et notez que le les tables sont mises à jour pour afficher uniquement les informations de la société 2.

Updated tables

+0

Salut JOE, merci beaucoup pour votre aide !! C'était exactement ce que je cherchais. J'ai juste oublié un dernier détail, je devrais garder une requête active mais de toute façon, c'est parfait :) J'apprécie vraiment tout le travail que vous avez fait pour me répondre. – Lowteast