exam questions

Exam DP-600 All Questions

View all questions & answers for the DP-600 exam

Exam DP-600 topic 1 question 7 discussion

Actual exam question from Microsoft's DP-600
Question #: 7
Topic #: 1
[All DP-600 Questions]

HOTSPOT -

Case study -
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.

To start the case study -
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.

Overview -
Litware, Inc. is a manufacturing company that has offices throughout North America. The analytics team at Litware contains data engineers, analytics engineers, data analysts, and data scientists.

Existing Environment -

Fabric Environment -
Litware has been using a Microsoft Power BI tenant for three years. Litware has NOT enabled any Fabric capacities and features.

Available Data -
Litware has data that must be analyzed as shown in the following table.

The Product data contains a single table and the following columns.

The customer satisfaction data contains the following tables:

Survey -

Question -

Response -
For each survey submitted, the following occurs:
One row is added to the Survey table.
One row is added to the Response table for each question in the survey.
The Question table contains the text of each survey question. The third question in each survey response is an overall satisfaction score. Customers can submit a survey after each purchase.

User Problems -
The analytics team has large volumes of data, some of which is semi-structured. The team wants to use Fabric to create a new data store.
Product data is often classified into three pricing groups: high, medium, and low. This logic is implemented in several databases and semantic models, but the logic does NOT always match across implementations.

Requirements -

Planned Changes -
Litware plans to enable Fabric features in the existing tenant. The analytics team will create a new data store as a proof of concept (PoC). The remaining Liware users will only get access to the Fabric features once the PoC is complete. The PoC will be completed by using a Fabric trial capacity
The following three workspaces will be created:
AnalyticsPOC: Will contain the data store, semantic models, reports pipelines, dataflow, and notebooks used to populate the data store
DataEngPOC: Will contain all the pipelines, dataflows, and notebooks used to populate OneLake
DataSciPOC: Will contain all the notebooks and reports created by the data scientists
The following will be created in the AnalyticsPOC workspace:
A data store (type to be decided)

A custom semantic model -

A default semantic model -

Interactive reports -
The data engineers will create data pipelines to load data to OneLake either hourly or daily depending on the data source. The analytics engineers will create processes to ingest, transform, and load the data to the data store in the AnalyticsPOC workspace daily. Whenever possible, the data engineers will use low-code tools for data ingestion. The choice of which data cleansing and transformation tools to use will be at the data engineers’ discretion.
All the semantic models and reports in the Analytics POC workspace will use the data store as the sole data source.

Technical Requirements -
The data store must support the following:
Read access by using T-SQL or Python
Semi-structured and unstructured data
Row-level security (RLS) for users executing T-SQL queries
Files loaded by the data engineers to OneLake will be stored in the Parquet format and will meet Delta Lake specifications.
Data will be loaded without transformation in one area of the AnalyticsPOC data store. The data will then be cleansed, merged, and transformed into a dimensional model
The data load process must ensure that the raw and cleansed data is updated completely before populating the dimensional model
The dimensional model must contain a date dimension. There is no existing data source for the date dimension. The Litware fiscal year matches the calendar year. The date dimension must always contain dates from 2010 through the end of the current year.
The product pricing group logic must be maintained by the analytics engineers in a single location. The pricing group data must be made available in the data store for T-SOL. queries and in the default semantic model. The following logic must be used:
List prices that are less than or equal to 50 are in the low pricing group.
List prices that are greater than 50 and less than or equal to 1,000 are in the medium pricing group.
List prices that are greater than 1,000 are in the high pricing group.

Security Requirements -
Only Fabric administrators and the analytics team must be able to see the Fabric items created as part of the PoC.
Litware identifies the following security requirements for the Fabric items in the AnalyticsPOC workspace:
Fabric administrators will be the workspace administrators.
The data engineers must be able to read from and write to the data store. No access must be granted to datasets or reports.
The analytics engineers must be able to read from, write to, and create schemas in the data store. They also must be able to create and share semantic models with the data analysts and view and modify all reports in the workspace.
The data scientists must be able to read from the data store, but not write to it. They will access the data by using a Spark notebook
The data analysts must have read access to only the dimensional model objects in the data store. They also must have access to create Power BI reports by using the semantic models created by the analytics engineers.
The date dimension must be available to all users of the data store.
The principle of least privilege must be followed.
Both the default and custom semantic models must include only tables or views from the dimensional model in the data store. Litware already has the following Microsoft Entra security groups:
FabricAdmins: Fabric administrators
AnalyticsTeam: All the members of the analytics team
DataAnalysts: The data analysts on the analytics team
DataScientists: The data scientists on the analytics team
DataEngineers: The data engineers on the analytics team
AnalyticsEngineers: The analytics engineers on the analytics team

Report Requirements -
The data analysts must create a customer satisfaction report that meets the following requirements:
Enables a user to select a product to filter customer survey responses to only those who have purchased that product.
Displays the average overall satisfaction score of all the surveys submitted during the last 12 months up to a selected dat.
Shows data as soon as the data is updated in the data store.
Ensures that the report and the semantic model only contain data from the current and previous year.
Ensures that the report respects any table-level security specified in the source data store.
Minimizes the execution time of report queries.
You need to resolve the issue with the pricing group classification.
How should you complete the T-SQL statement? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.

Show Suggested Answer Hide Answer
Suggested Answer:

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
SamuComqi
Highly Voted 1 year, 2 months ago
* VIEW: from an existing table. * CASE: correct syntax before the WHENs. * WHEN ListPrice BETWEEN 50 AND 1000 THEN 'medium': the other two options miss value 1000; on the other hand, the BETWEEN includes both 50 and 1000.
upvoted 62 times
semauni
6 months ago
I agree with your answer, but with some nuance: - I think that you're right that it is a view, but not because it is created from an existing table. Nothing prevents you from creating a table from a table (CTAS statement). However, it should be a view because 'data should be visible as soon as the datastore is updated'. A table from a table is not automatically refreshed when its source table is updated, but a view on this source table will immediately show the new results. - I agree that in the last option, there now is no correct option since none meet the requirements and BETWEEN is the least wrong. Either a bad question or a badly remembered question :)
upvoted 9 times
semauni
6 months ago
I'm however not 100% sure it shouldn't be table, because reports also need minimal query execution times. A 'SELECT *' on a table is simple, a 'SELECT *' on the view always executes the underlying query. Makes me wonder what 'as soon as the datastore' is updated mean: as soon as new data is available, or as soon as the Power BI source table has been updated?
upvoted 1 times
...
...
DinoD
2 months ago
VIEW: hence create view as "Then SQL", plus its being used in a report, so its not meant to a static representation of the data at a single point in time. CASE: correct syntax before the WHENs WHEN: There is no correct answer, none of the solutions either exclude 50 and always include 1000. Look at the bottom of high and it says > 1000, so what catches 51 through 1000? Garbage question
upvoted 1 times
...
2fe10ed
1 year ago
* VIEW: from an existing table. * CASE: correct syntax before the WHENs. * WHEN(ListPrice > 50 AND ListPrice < 1000 THEN 'medium': The second option will generate 2 rows for any '50' answer; the third option has the same problem plus a miss spelled ' ) ' that will end up generating a syntax error. The only answer that will not generate a cartesian product is the first one, although it will miss all the '1000' answers.
upvoted 7 times
dev2dev
11 months, 2 weeks ago
wrong 3rd option. You get NULL PriceGroup when price is exactly 1000
upvoted 2 times
...
utsuha
11 months, 2 weeks ago
The 3rd option is still the best--when doing a select with CASE WHEN, the logic is evaluated linearly. If the value is 50, the first case is true and the returned value is therefore "low". This can be tested with dummy data--just upload a csv file of numbers from 1 to 20 into a test warehouse and query in Fabric. select number, case when number <= 5 then 'low' when number between 5 and 10 then 'med' when number > 10 then 'high' end as test from dbo.numbers order by number asc As for the missing '(' or extra ')', I assume this is a typo.
upvoted 5 times
...
...
BennyBenz
1 year ago
I agree that 1000 must be included (in the medium), but if the BETWEEN includes 50, and low should include 50, and it states before that <= 50 is low, then 50 shouldn't be included... ?
upvoted 2 times
...
...
thuss
Highly Voted 1 year, 2 months ago
All options for the last one are wrong, which is irritating. Should be > 50 AND <= 1000.
upvoted 30 times
Tuki93
1 year, 1 month ago
The range BETWEEN 50 AND 1000 is also a valid answer. However, if the value is 50, it will be returned from the previous ‘when’ clause, ListPrice <= 50 Then 'low', before reaching the second ‘when’ clause.”
upvoted 13 times
...
...
Kau1977
Most Recent 2 weeks, 1 day ago
As per the given syntax it should be Create View in the first option.
upvoted 1 times
...
ba2bfdf
1 month ago
1. None of the option in the question satisfying the requirement. Especially for ListPrice 1000 2. Option with Between having an additional ")" which will throw syntax error. List prices that are less than or equal to 50 are in the low pricing group. List prices that are greater than 50 and less than or equal to 1,000 are in the medium pricing group. List prices that are greater than 1,000 are in the high pricing group.
upvoted 1 times
...
pirate84
3 months, 1 week ago
I took the test the last week. This question was included, with a important modification: They changes the information,¡ of the first option for "WHEN": ListPrice > 50 AND ListPrice <= 1000) THEN 'medium'. -View -Case -WHEN(ListPrice > 50 AND ListPrice <= 1000) THEN 'medium'.
upvoted 7 times
...
Rakesh16
5 months, 3 weeks ago
View, CASE, WHEN ListPrice BETWEEN 50 AND 100 THEN ‘medium’ is the answer
upvoted 1 times
...
hjhjh123
7 months, 3 weeks ago
view, case - no correct answer - my guess is they miseed the = on a
upvoted 4 times
...
ca_acc
8 months, 3 weeks ago
* VIEW * CASE * WHEN ListPrice Between 50 and 1000 Then Medium: The first when is includes 50, so even though the between should be from 51 to 1000, it is (in this case) irrelevant, because in this execution order the frist WHEN wins. Therefor between should produce correct results.
upvoted 1 times
...
AhmadAllied
10 months, 2 weeks ago
The valid answer for 3rd is first one as the 1st case is When List Price <= 50 then 'low', so the next case should not be include equal to 50 in anyway, but option 2 has List Price >= 50 which is wrong and between function will also consider = 50 values so it is also wrong.
upvoted 1 times
...
kronoszerg
10 months, 2 weeks ago
View To satisfy "Shows data as soon as the data is updated in the data store" You cannot use CTAS Statement as it will not update when source data is updated. Case The usual SQL Case Statement Last one is...... no correct answer Either question is wrong or answer options are wrong. BETWEEN is inclusive by the way
upvoted 1 times
...
calvintcy
10 months, 3 weeks ago
I took the test a few days ago. This question was included, but Microsoft has made a change to: WHEN(ListPrice > 50 AND ListPrice <= 1000) THEN 'medium'. Therefore, I chose this option.
upvoted 21 times
...
vahox
10 months, 3 weeks ago
View CASE WHEN(ListPrice >= 50 AND ListPrice < 1000) then as between is inclusive of 50 it will provide incorrect result
upvoted 1 times
...
Darshan6232
11 months ago
It should be 1. Table : As it should be part of Default Semantic Model. With view it's not possible to achieve this. 2. Case Statement : As we have "When" and "Then" 3. Between 51* and 1000 or it should be Listprice>50 and Listprice <=1000. Thanks!
upvoted 3 times
Priyanka007
10 months, 2 weeks ago
Within the warehouse, a user can add warehouse objects - tables or views to their default Power BI semantic model. I would go with VIEW as view Shows data as soon as the data is updated in the data store.https://learn.microsoft.com/en-us/fabric/data-warehouse/default-power-bi-semantic-model
upvoted 1 times
...
...
b6daab0
11 months ago
Is the solution provided the true correct answer? In many cases it's not, which is misleading. It definitely should be a view and not a table because the Product table changes and thus the pricing group being updated. Where do the solutions come from??
upvoted 1 times
...
282b85d
11 months, 1 week ago
CREATE VIEW [dbo].[ProductsWithPricingGroup] AS SELECT ProductId, ProductName, ProductCategory, ListPrice, CASE WHEN ListPrice <= 50 THEN 'low' WHEN ListPrice > 50 AND ListPrice <= 1000 THEN 'medium' WHEN ListPrice > 1000 THEN 'high' END AS PricingGroup FROM dbo.Products;
upvoted 3 times
...
David_Webb
11 months, 3 weeks ago
VIEW CASE WHEN ListPrice BETWEEN 50 AND 1000 THEN 'medium' Look at the requirement: List prices that are less than or equal to 50 -> low List prices that are greater than 50 and less than or equal to 1,000 -> medium List prices that are greater than 1,000 -> high Only using option "BETWEEN 50 AND 1000" will be able to get the correct answer. If the ListPrice is 50, the case will resolve it as "low" in the first condition and return the value. Even though 50 is included in the next case "BETWEEN 50 AND 1000", it will not fall into this condition as it has already been resolved with the first condition.
upvoted 4 times
...
omsingh
12 months ago
select country,first_name, age , case when age <=25 then "child" when age between 25 and 28 then "adult" when age > 28 then "old" end as ages from customers; country first_name age ages USA John 31 old USA Robert 22 child UK David 22 child UK John 25 child UAE Betty 28 adult Correct answer will be VIEW, CASE AND BETWEEN.
upvoted 2 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago