無料Qlik QSDA2024試験問題と解答トレーニングを提供しています
トップクラスQlik QSDA2024オンライン問題集
Qlik QSDA2024 認定試験の出題範囲:
| トピック | 出題範囲 |
|---|---|
| トピック 1 |
|
| トピック 2 |
|
| トピック 3 |
|
| トピック 4 |
|
| トピック 5 |
|
質問 # 31
Exhibit.
The Section Access security table for an app is shown. User ABC\PPP opens a Qlik Sense app with a table using the field called LEVEL on one of the table columns.
Which is the result?
- A. The table is removed from the user interface.
- B. The user gets an 'Incomplete visualization' error.
- C. The table is displayed without the LEVEL column.
- D. The user gets a 'Field not found' error.
正解:C
解説:
In this scenario, the Section Access security table controls user access to data within the Qlik Sense app. The user in question, ABC\PPP, has a specific entry in the security table that determines their access rights to the LEVEL field.
Understanding Section Access:
* Section Accessis used to enforce security by restricting access to certain data based on the user's credentials.
* In the security table provided, the USER role for ABC\PPP is set to have access to all data (* in the LINK field), but the OMIT field is set to LEVEL. The OMIT field in Section Access specifies fields that should be omitted from the user's view.
Outcome:
* Since the OMIT field for user ABC\PPP is set to LEVEL, this user will not have access to the LEVEL field in the Qlik Sense application.
Option D: The table is displayed without the LEVEL columnis the correct outcome.
* Explanation: When user ABC\PPP opens the app, the LEVEL field is omitted from their view. Any table or visualization that uses the LEVEL field will have that field excluded from display. The rest of the data and columns in the table will be visible, but the LEVEL column will not be shown.
References:
* Qlik Sense Security and Section Access Documentation: The OMIT functionality in Section Access is specifically designed to remove fields from the user's access, ensuring that sensitive or unnecessary data is not exposed.
質問 # 32
A data architect in the Enterprise Architecture team wants to develop a new application summarizing Qlik Sense usage by all company employees. They also want to gather usage metrics for other systems.
Who should the data architect contact to be granted access to the data?
- A. IT Security Director, Human Resources Director, Qlik Sense Administrator
- B. IT Security Analyst, Qlik Sense Developers, Solutions Architect
- C. IT Security Vice President, Human Resources Analyst, Qlik Sense Developers
- D. IT Security Manager, Qlik Sense Account Manager, Enterprise Architecture Director
正解:A
解説:
When developing an application that summarizes Qlik Sense usage by company employees and also gathers usage metrics for other systems, the data architect needs to ensure they have the correct access to sensitive data. The following roles are crucial:
* IT Security Director:Responsible for the security of IT systems and data. They would ensure that the data architect has the appropriate permissions to access usage metrics and other system data securely.
* Human Resources Director:They manage employee-related data, including employment records that might be necessary for matching employee IDs with usage metrics. This access is crucial for correlating usage data with specific employees.
* Qlik Sense Administrator:This individual has administrative rights over the Qlik Sense environment and can grant access to usage data within Qlik Sense, ensuring that the architect has the necessary data to analyze.
Given the need to securely and correctly handle sensitive data, including employee usage metrics across multiple systems,Option Aincludes all the appropriate contacts for access and permissions.
質問 # 33
Exhibit.
While performing a data load from the source shown, the data architect notices it is NOT appropriate for the required analysis.
The data architect runs the following script to resolve this issue:
How many tables will this script create?
- A. 0
- B. 1
- C. 2
- D. 3
正解:C
解説:
In this scenario, the data architect is using a GENERIC LOAD statement in the script to handle the data structure provided. A GENERIC LOAD is used in Qlik Sense when you have data in a key-value pair structure and you want to transform it into a more traditional table structure, where each attribute becomes a column.
Given the input data table with three columns (Object, Attribute, Value), and the attributes in the Attribute field being either color, diameter, length, or width, the GENERIC LOAD will create separate tables based on the combinations of Object and each Attribute.
Here's how the GENERIC LOAD works:
* For each unique object(circle, rectangle, square), the GENERIC LOAD creates separate tables based on the distinct values of the Attribute field.
* Each of these tableswill contain two fields: Object and the specific attribute (e.g., color, diameter, length, width).
Breakdown:
* Table for circle:
* Fields: Object, color, diameter
* Table for rectangle:
* Fields: Object, color, length, width
* Table for square:
* Fields: Object, color, length
Each distinct attribute (color, diameter, length, width) and object combination generates a separate table.
Final Count of Tables:
* The script will create6 separate tables: one for each unique combination of Object and Attribute.
References:
* Qlik Sense Documentation on Generic Load: Generic loads are used to pivot key-value pair data structures into multiple tables, where each key (in this case, the Attribute field values) forms a new column in its own table.
質問 # 34
Exhibit.
Refer to the exhibit.
A data architect is working on a Qlik Sense app the business has created to analyze the company orders and shipments.
To understand the table structure, the business has given the following summary:
* Every order creates a unique orderlD and an order date in the Orders table
* An order can contain one or more order lines one for each product ID in the order details table
* Products In the order are shipped (shipment date) as soon as they are ready and can be shipped separately
* The dates need to be analyzed separately by Year, Month, and Quarter
The data architect realizes the data model has issues that must be fixed. Which steps should the data architect perform?
- A. 1. Create a key with OrderlD and ProductID in the OrderDetails table and in the Shipments table
2. Delete the ShipmentID in the Orders table
3. Delete the ProductID and OrderlD in the Shipments table
4. Left join Orders and OrderDetails
5. Use Derive statement with the MasterCalendar table and apply the derive fields to OrderDate and ShipmentDate - B. 1. Create a key with OrderlD and ProductID In the OrderDetails table and in the Orders table
2. Delete the ShipmentID in the Shipments table
3. Delete the ProductID and OrderlD in the OrderDetails table
4. Concatenate Orders and OrderDetails
5. Create a link table using the MasterCalendar table and create a concatenated field between OrderDate and ShipmentDate - C. 1. Create a key with OrderlD and ProductID in the OrderDetails table and in the Shipments table
2. Delete the ShipmentID in the Orders table
3. Delete the ProductID and OrderlD In the Shipments table
4. Concatenate Orders and OrderDetails
5. Create a link table using the MasterCalendar table and create a concatenated field between OrderDate and ShipmentDate - D. 1. Create a key with OrderlD and ProductID in the OrderDetails table and in the Orders table
2. Delete the ShipmentID in the Shipments table
3. Delete the ProductID and OrderlD in the OrderDetails table
4. Left join Orders and OrderDetails
5. Use Derive statement with the MasterCalendar table and apply the derive fields to OrderDate and ShipmentDate
正解:C
解説:
In the given data model, there are several issues related to table relationships and key fields that need to be addressed to create a functional and optimized data model. Here's how each step in the chosen solution (Option C) resolves these issues:
* Create a key with OrderID and ProductID in the OrderDetails table and in the Shipments table:
* By creating a composite key with OrderID and ProductID, you uniquely identify each line item in both the OrderDetails and Shipments tables. This step is crucial for ensuring that each product within an order is correctly associated with its respective shipment.
* Delete the ShipmentID in the Orders table:
* The ShipmentID in the Orders table is redundant because the Shipments table already captures this information at a more granular level (i.e., at the product level). Removing ShipmentID avoids potential circular references or synthetic keys.
* Delete the ProductID and OrderID in the Shipments table:
* After creating the composite key in step 1, the individual ProductID and OrderID fields in the Shipments table are no longer necessary for joins. Removing them reduces redundancy and simplifies the table structure.
* Concatenate Orders and OrderDetails:
* Concatenating Orders and OrderDetails into a single table creates a unified table that contains all necessary order-related information. This helps in simplifying the model and avoiding issues related to managing separate but related tables.
* Create a link table using the MasterCalendar table and create a concatenated field between OrderDate and ShipmentDate:
* A link table is created to associate the combined table with the MasterCalendar. By creating a concatenated field that combines OrderDate and ShipmentDate, you ensure that both dates are properly linked to the calendar, allowing for accurate time-based analysis.
質問 # 35
exhibit.
A data architect is validating that the script section, as shown in the exhibit, is working properly. They need to stop the script with a preview of the value used with the Load statement.
Where should the data architect put the debugger breakpoint?
- A.

- B.

- C.

- D.

正解:B
解説:
In this scenario, the data architect needs to validate the script and specifically ensure that the vMaxDate variable is being correctly utilized in the LOAD statement. The goal is to stop the script execution at a point where the variable's value can be previewed.
Understanding the Options:
* Option Aplaces the breakpoint just after the assignment of the variable vMaxDate in the Where clause but before any data is loaded.
* Option B, C, and Drepresent placements of the breakpoint after the LOAD statement begins processing the Resident table, which means that the variable vMaxDate would have already been utilized.
Correct Breakpoint Placement:
* Option Ais the correct choice because placing the breakpoint at this point allows you to preview the value of vMaxDate right before it is used in the Where clause. This placement ensures that the script execution halts before loading the data, allowing you to validate whether vMaxDate is correctly defined and whether it correctly filters the data based on the [Date] field.
* If the breakpoint were placed after the LOAD statement (as in Options B, C, or D), the script would have already attempted to load the data, making it too late to inspect the variable's value before it's used.
References:
* Qlik Sense Debugging Best Practices: When debugging, it is crucial to set breakpoints before the execution of a critical operation where the values of variables or fields are used to ensure that they hold the expected data.
質問 # 36
A data architect needs to upload data from ten different sources, but only if there are any changes after the last reload. When data is updated, a new file is placed into a folder mapped to E:\486396169. The data connection points to this folder.
The data architect plans a script which will:
1. Verify that the file exists
2. If the file exists, upload it Otherwise, skip to the next piece of code.
The script will repeat this subroutine for each source. When the script ends, all uploaded files will be removed with a batch procedure. Which option should the data architect use to meet these requirements?
- A. FileExists, FOR EACH, IF
- B. FileSize, IF, THEN, END IF
- C. FilePath, FOR EACH, Peek, Drop
- D. FilePath, IF, THEN, Drop
正解:A
質問 # 37
Exhibit.
Refer to the exhibit.
A data architect wants to transform the input data set to the output data set. Which prefix to the Qlik Sense LOAD command should the data architect use?
- A. Peek
- B. Generic
- C. Hierarchy Be longsTo
- D. PivotTable
正解:B
解説:
In this scenario, the data architect wants to transform the input dataset, which is in a key-value pair structure, into a table where each attribute becomes a column with its corresponding value under the relevant key.
Understanding the Requirement:
* Theinputdata consists of three fields: Key, Attribute, and Value.
* The desiredoutputstructure has the Key as a primary identifier, and the Attributes (like Color, Diameter, Height, etc.) are spread across the columns, with corresponding values filled in each row.
Best Method to Achieve this Transformation:
* The appropriate method to convert key-value pairs into a structured table where each unique attribute becomes a separate column is theGeneric Loadfunction in Qlik Sense.
Why Generic?
* Generic Loadis specifically designed for situations where data is stored in a key-value format (like the one provided) and needs to be converted into a more traditional tabular format, with attributes as columns.
* It creates a separate table for each combination of Key and Attribute, effectively "pivoting" the attribute values into columns in the output table.
How it Works:
* When applying a GENERIC LOAD to the input dataset, Qlik Sense will generate multiple tables, one for each Attribute. However, in the final data model, Qlik Sense automatically joins these tables by the Key field, effectively producing the desired output structure.
References:
* Qlik Sense Documentation on Generic Load: The documentation outlines how to use the Generic Load to handle key-value pairs and pivot them into a more traditional table format.
質問 # 38
Users of a published app report incomplete visualizations. The data architect checks the app multiple times and cannot replicate the error. The error affects only one team.
Which is the most likely cause?
- A. An Omit field has been applied.
- B. The affected users were NOT added to the Section Access table.
- C. Section access restricts too many records.
- D. A security rule has been applied to the sheet object.
正解:C
解説:
In this scenario, users of a published app report incomplete visualizations, but the data architect is unable to replicate the error. This issue affects only one team, suggesting that the problem is related to how data is being restricted or filtered for that specific team.
* Section Access: This is a security feature in Qlik Sense that controls user access to specific data within an app. If Section Access is misconfigured, it can restrict access to more records than intended, leading to incomplete visualizations for certain users or teams.
* Restricting Too Many Records: If the Section Access is too restrictive, it might limit the data available to the affected users, causing the visualizations to display incomplete information. This could explain why the data architect, who likely has full access, cannot replicate the issue.
質問 # 39
Refer to the exhibit.
A data architect needs to build a dashboard that displays the aggregated sates for each sales representative. All aggregations on the data must be performed in the script.
Which script should the data architect use to meet these requirements?
- A.

- B.

- C.

- D.

正解:A
解説:
The goal is to display the aggregated sales for each sales representative, with all aggregations being performed in the script. Option C is the correct choice because it performs the aggregation correctly using a Group by clause, ensuring that the sum of sales for each employee is calculated within the script.
* Data Load:
* The Data table is loaded first from the Sales table. This includes the OrderID, OrderDate, CustomerID, EmployeeID, and Sales.
* Next, the Emp table is loaded containing EmployeeID and EmployeeName.
* Joining Data:
* A Left Join is performed between the Data table and the Emp table on EmployeeID, enriching the data with EmployeeName.
* Aggregation:
* The Summary table is created by loading the EmployeeName and calculating the total sales using the sum([Sales]) function.
* The Resident keyword indicates that the data is pulled from the existing tables in memory, specifically the Data table.
* The Group by clause ensures that the aggregation is performed correctly for each EmployeeName, summarizing the total sales for each employee.
Key Qlik Sense Data Architect References:
* Resident Load: This is a method to reuse data that is already loaded into the app's memory. By using a Resident load, you can create new tables or perform calculations like aggregation on the existing data.
* Group by Clause: The Group by clause is essential when performing aggregations in the script. It groups the data by specified fields and performs the desired aggregation function (e.g., sum, count).
* Left Join: Used to combine data from two tables. In this case, Left Join is used to enrich the sales data with employee names, ensuring that the sales data is associated correctly with the respective employee.
Conclusion:Option C is the most appropriate script for this task because it correctly performs the necessary joins and aggregations in the script. This ensures that the dashboard will display the correct aggregated sales per employee, meeting the data architect's requirements.
質問 # 40
Exhibit.
One of the data sources a data architect must add for a newly developed app is an Excel spreadsheet. The Region field only has values for the first record for the region. The data architect must perform a transformation so that each row contains the correct Region.
Which function should the data architect implement to resolve this issue?
- A. Previous
- B. CrossTable
- C. IntervalMatch
- D. Above
正解:A
解説:
The given Excel spreadsheet has a Region field where the region value is only specified for the first record within each region. The data architect needs to fill in the missing region values for subsequent rows.
* Previous() Function: The Previous() function in Qlik Sense returns the value of the expression from the previous row. In this case, it can be used to fill down the Region values so that each row contains the correct region information.
* Implementation: The script can be designed to check if the current row's Region value is missing (null). If it is missing, the script can assign the value from the previous row using the Previous() function.
LOAD
If(IsNull(Region), Previous(Region), Region) AS Region,
This logic fills in the missing Region values with the value from the preceding row, which effectively resolves the issue shown in the spreadsheet.
質問 # 41
Exhibit
Refer to the exhibit.
The salesperson ID and the office to which the salesperson belongs is stored for each transaction. The data model also contains the current office for the salesperson. The current office of the salesperson and the office the salesperson was in when the transaction occurred must be visible. The current source table view of the model is shown. A data architect must resolve the synthetic key.
How should the data architect proceed?
- A. Alias Office to CurrentOffice In the CurrentOffice table
- B. Comment out the Office in the Transaction table
- C. Force concatenation between the tables
- D. Inner Join the Transaction table to the CurrentOffice table
正解:A
解説:
In the provided data model, both the CurrentOffice and Transaction tables contain the fields SalesID and Office. This leads to the creation of a synthetic key in Qlik Sense because of the two common fields between the two tables. A synthetic key is created automatically by Qlik Sense when two or more tables have two or more fields in common. While synthetic keys can be useful in some scenarios, they often lead to unwanted and unexpected results, so it's generally advisable to resolve them.
In this case, the goal is to have both the current office of the salesperson and the office where the transaction occurred visible in the data model. Here's how each option compares:
* Option A: Comment out the Office in the Transaction table:This would remove the Office field from the Transaction table, which would prevent you from seeing which office the salesperson was in when the transaction occurred. This option does not meet the requirement.
* Option B: Inner Join the Transaction table to the CurrentOffice table:Performing an inner join would merge the two tables based on the common SalesID and Office fields. However, this might result in a loss of data if there are sales records in the Transaction table that don't have a corresponding record in the CurrentOffice table or vice versa. This approach might also lead to unexpected results in your analysis.
* Option C: Alias Office to CurrentOffice In the CurrentOffice table:By renaming the Office field in the CurrentOffice table to CurrentOffice, you prevent the synthetic key from being created. This allows you to differentiate between the salesperson's current office and the office where the transaction occurred. This approach maintains the integrity of your data and allows for clear analysis.
* Option D: Force concatenation between the tables:Forcing concatenation would combine the rows of both tables into a single table. This would not solve the issue of distinguishing between the current office and the office at the time of the transaction, and it could lead to incorrect data associations.
Given these considerations, the best approach to resolve the synthetic key while fulfilling the requirement of having both the current office and the office at the time of the transaction visible is toAlias Office to CurrentOffice in the CurrentOffice table. This ensures that the data model will accurately represent both pieces of information without causing synthetic key issues.
質問 # 42 
Refer to the exhibit.
A data architect needs to load data from Customers.qvd and sort the Country field in ascending order. Which method should be used?
- A. Insert a Group By clause into the LOAD statement for the CustTemp table after the FROM clause
- B. Perform a Resident LOAD of the CustTemp table and insert an Order By clause in this table
- C. Insert an Order By clause after the FROM clause in the CustTemp table
- D. Move the Country field to the first position in the field list in the LOAD statement
正解:B
解説:
When loading data from a QVD file into a Qlik Sense application, if you need to sort the data by a specific field (in this case, the Country field), the Order By clause can be used. However, the Order By clause cannot be directly applied during the initial load from the QVD. Instead, the data should first be loaded into a temporary table and then sorted in a subsequent resident load.
* Initial Load from QVD:The data is first loaded into a temporary table (CustTemp) without any sorting.
* Resident Load with Order By:After the initial load, you perform a Resident Load from the CustTemp table and apply the Order By clause to sort the data by the Country field in ascending order.
LOAD
Address,
City,
CompanyName,
ContactName,
Country,
_CustomerID,
DivisionID,
DivisionName,
Fax,
Phone,
PostalCode,
StateProvince
RESIDENT CustTemp
ORDER BY Country;
This method ensures that the data is sorted correctly without violating Qlik Sense's loading rules.
質問 # 43
A data architect wants reflect a value of the variable in the script log for tracking purposes. The variable is defined as:
Which statement should be used to track the variable's value?
- A.

- B.

- C.

- D.

正解:A
解説:
In Qlik Sense, the TRACE statement is used to print custom messages to the script execution log. To output the value of a variable, particularly one that is dynamically assigned, the correct syntax must be used to ensure that the variable's value is evaluated and displayed correctly.
* The variable vMaxDate is defined with the LET statement, which means it is evaluated immediately, and its value is stored.
* When using the TRACE statement, to output the value of vMaxDate, you need to ensure the variable's value is expanded before being printed. This is done using the $() expansion syntax.
* The correct syntax is TRACE #### $(vMaxDate) ####; which evaluates the variable vMaxDate and inserts its value into the log output.
Key Qlik Sense Data Architect References:
* Variable Expansion:In Qlik Sense scripting, $(variable_name) is used to expand and insert the value of the variable into expressions or statements. This is crucial when you want to output or use the value stored in a variable.
* TRACE Statement:The TRACE command is used to write messages to the script log. It is commonly used for debugging purposes to track the flow of script execution or to verify the values of variables during script execution.
質問 # 44 
Refer to the exhibit
A large transport company (Company A) acquires a smaller rival (Company B).
Company A has been using Qlik Sense tor 6 years to track revenue per ship journey. Ship journeys with no revenue (such as journeys to shipyards for repair) always show revenue of $0.
Company A wants to combine its data set with the data set of the acquired Company B. Company B's ship journey data shows $0 revenue in one of the following ways:
* A NULL value
* A value with one or more blank spaces (ASCII char code 32)
The data architect wants to conform the Company B data to the Company A standard, specifically regarding the use of an explicit $0 for journeys without revenue. Which script line should the data architect use?
- A.

- B.

- C.

- D.

正解:D
解説:
In this scenario, the data architect needs to conform the revenue data from Company B to match the data standard of Company A, where $0 is explicitly used to represent journeys without revenue.
Explanation of the Correct Script:
* Option A:money(replace(Revenue, chr(32), 0)) AS [Revenue Conformed]
* replace(Revenue, chr(32), 0):This part of the expression replaces any spaces (ASCII character code 32) in the Revenue field with 0.
* money(...):This function formats the resulting value as currency. Since Company B may have either null values or spaces where 0 should be, this script ensures that any blanks are replaced with 0 and then formatted as currency.
Why Option A is Correct:
* Handling Spaces:The replace() function is effective in replacing spaces with 0, conforming to Company A's standard of using $0 for non-revenue journeys.
* Handling NULL Values:The money() function is used to ensure the final output is formatted as currency. However, it's important to note that NULL values are not directly handled by the replace() function, which is why it is applied before money() to deal with spaces.
質問 # 45
A data architect needs to upload data from ten different sources, but only if there are any changes after the last reload. When data is updated, a new file is placed into a folder mapped to E:\486396169. The data connection points to this folder.
The data architect plans a script which will:
1. Verify that the file exists
2. If the file exists, upload it Otherwise, skip to the next piece of code.
The script will repeat this subroutine for each source. When the script ends, all uploaded files will be removed with a batch procedure. Which option should the data architect use to meet these requirements?
- A. FileExists, FOR EACH, IF
- B. FileSize, IF, THEN, END IF
- C. FilePath, FOR EACH, Peek, Drop
- D. FilePath, IF, THEN, Drop
正解:A
解説:
In this scenario, the data architect needs to verify the existence of files before attempting to load them and then proceed accordingly. The correct approach involves using the FileExists() function to check for the presence of each file. If the file exists, the script should execute the file loading routine. The FOR EACH loop will handle multiple files, and the IF statement will control the conditional loading.
* FileExists(): This function checks whether a specific file exists at the specified path. If the file exists, it returns TRUE, allowing the script to proceed with loading the file.
* FOR EACH: This loop iterates over a list of items (in this case, file paths) and executes the enclosed code for each item.
* IF: This statement checks the condition returned by FileExists(). If TRUE, it executes the code block for loading the file; otherwise, it skips to the next iteration.
This combination ensures that the script loads data only if the files are present, optimizing the data loading process and preventing unnecessary errors.
質問 # 46 
Refer to the exhibit.
What does the expression sum< [orderMetAmount ]) return when all values in LineNo are selected?
- A. 0
- B. 1
- C. 2
- D. 3
正解:C
解説:
The expression sum([OrderNetAmount]) sums the values in the OrderNetAmount field across the dataset.
Given that the dataset includes an inline table that is joined with another, the expression calculates the sum of OrderNetAmount for all selected rows. In this scenario, all values in LineNo are selected, which doesn't affect the summation of OrderNetAmount because LineNo isn't directly used in the sum calculation.
Step-by-step Calculation:
* The Orders table contains the OrderNetAmount for each order. The values provided are 90, 500, 100, and 120.
* Adding these values together:90+500+100+120=81090 + 500 + 100 + 120 = 81090+500+100+120=810
* However, after the Left Join operation with the OrderDetails table, some of these rows might be duplicated if the join results in multiple matches. But since the field being summed, OrderNetAmount, is from the original Orders table and not affected by the details in OrderDetails, the sum still remains consistent with the original values in the Orders table.
Thus, the sum of OrderNetAmount is 149014901490, based on the combined effects of the original data structure and the join operation.
質問 # 47
Exhibit.
Refer to the exhibits.
The Orders table contains a list of orders and associated details. A data architect needs to replace the SupplierlD with the SupplierName using the second table as the source.
The output must be a single table.
Which script should the data architect use?
- A.

- B.

- C.

- D.

正解:D
解説:
In this scenario, the data architect needs to replace the SupplierID in the Orders table with the corresponding SupplierName from the Suppliers table, and the desired output should be a single table that includes all the order details along with the SupplierName instead of the SupplierID.
Analyzing the Options:
* Option A:
* Uses a MAPPING LOAD followed by an APPLYMAP to replace SupplierID with SupplierName in the Orders table. However, the table is dropped afterward, which means it won't produce the required output.
* The MAPPING LOAD approach is generally used to map values but is not necessary in this context as we are combining data from two tables directly.
* Option B:
* This option attempts to LEFT JOIN the Products table with the Suppliers table, but it does not directly address replacing SupplierID with SupplierName in the Orders table.
* Additionally, it does not remove the SupplierID after the join, which is essential for the correct output.
* Option C:
* This option uses a LEFT JOIN with the DISTINCT keyword on the SupplierID field to avoid duplicates. The SupplierName is correctly joined to the Orders table, replacing the SupplierID.
* This approach is the most appropriate because it results in a single table containing all order details with the SupplierName instead of the SupplierID.
* Option D:
* Similar to Option A, but it also introduces an unnecessary renaming step with MAPPING LOAD.
It's redundant and does not improve the solution over Option C.
Correct Script Choice:
Option Cis the correct script because:
* It ensures that SupplierName replaces SupplierID in the Orders table using a LEFT JOIN.
* The DISTINCT keyword is applied to the SupplierID field to prevent duplicate rows during the join.
* The result is a single table containing the required information with SupplierName in place of SupplierID.
References:
* Qlik Sense Join Operations: Using the correct JOIN type and ensuring proper deduplication (with DISTINCT if necessary) is key to merging tables in Qlik Sense.
質問 # 48
Exhibit.
Refer to the exhibit.
A data architect is loading the tables and a synthetic key is generated.
How should the data architect resolve the synthetic key?
- A. Create a composite key using OrderlD and UneNo
- B. Remove the LineNo field from Shipments and use the AutoNumber function on the OrderlD field
- C. Remove the LineNo field from both tables and use the AutoNumber function on the OrderlD field
- D. Create a composite key using OrderlD and LineNo, and remove OrderlD and LineNo from Shipments
正解:A
解説:
In this scenario, the data architect is loading two tables, Orders and Shipments, into Qlik Sense, and a synthetic key is being generated due to the presence of shared fields (OrderID and LineNo) between these tables.
Understanding the Issue:
* Synthetic Keys: Qlik Sense automatically creates synthetic keys when two or more tables share multiple fields with the same names. While synthetic keys aren't necessarily problematic, they can sometimes lead to incorrect or unexpected data associations and should be resolved when possible to maintain clarity and control over the data model.
* The tables Orders and Shipments share the fields OrderID and LineNo. In this context, these fields together uniquely identify each record, so they are both necessary for accurate data linkage.
Correct Resolution Approach:
Option C: Create a composite key using OrderID and LineNois the best approach.
Here's why:
* Composite Key Creation:
* By creating a composite key that combines OrderID and LineNo (e.g., OrderID & '-' & LineNo), you ensure that each line in the orders and shipments tables is uniquely identified. This composite key will accurately link the related records from the Orders and Shipments tables.
* Avoiding Synthetic Keys:
* By manually creating this composite key, you eliminate the need for Qlik Sense to generate a synthetic key, thereby simplifying the data model and ensuring that data associations are clear and controlled.
* Retaining Both Fields:
* This approach allows you to keep both OrderID and LineNo as separate fields in your tables if needed for other analyses or reporting purposes, while using the composite key for linking the tables.
References:
* Qlik Sense Data Modeling Best Practices: When dealing with multiple fields that are used together to uniquely identify records, it is recommended to create composite keys rather than relying on Qlik Sense's synthetic keys for clarity and better control.
質問 # 49
Refer to the exhibit.
A company stores the employee data within a key composed of Country, UserlD, and Department. These fields are separated by a blank space. The UserlD field is composed of two characters that indicate the country followed by a unique code of two or three digits. A data architect wants to retrieve only that unique code.
Which function should the data architect use?
- A.

- B.

- C.

- D.

正解:A
解説:
In this scenario, the key is composed of three components: Country, UserID, and Department, separated by spaces. The UserID itself consists of a two-character country code followed by a unique code of two or three digits. The objective is to extract only this unique numeric code from the UserID field.
Explanation of the Correct Function:
* Option A: RIGHT(SUBFIELD(Key, ' ', 2), 3)
* SUBFIELD(Key, ' ', 2):This function extracts the second part of the key (i.e., the UserID) by splitting the string using spaces as delimiters.
* RIGHT(..., 3):After extracting the UserID, the RIGHT() function takes the last three characters of the string. This works because the unique code is either two or three digits, and the RIGHT() function will retrieve these digits from the UserID.
This combination ensures that the data architect extracts the unique code from the UserID field correctly.
質問 # 50
A company needs to analyze daily sales data from different countries. They also need to measure customer satisfaction of products as reported on a social media website. Thirty (30) reports must be produced with an average of 20,000 rows each. This process is estimated to take about 3 hours.
Which option should the data architect use to build this solution?
- A. Mailbox IMAP
- B. Microsoft SQL Server
- C. Qlik GeoAnalytics
- D. Qlik REST Connector
正解:D
解説:
In this scenario, the company needs to analyze daily sales data from different countries and also measure customer satisfaction of products as reported on a social media website. This suggests that the data is likely coming from different sources, including possibly an API or a web service (social media website).
TheQlik REST Connectoris the appropriate tool for this job. It allows you to connect to RESTful web services and retrieve data directly into Qlik Sense. This is especially useful for integrating data from various online sources, such as social media platforms, which typically expose data via REST APIs. The REST Connector enables the extraction of large datasets from these sources, which is necessary given the requirement to produce 30 reports with an average of 20,000 rows each.
* Microsoft SQL Serveris not suitable for fetching data from web services or social media platforms.
* Qlik GeoAnalyticsis used for mapping and geographical data visualization, not for connecting to RESTful services.
* Mailbox IMAPis for connecting to email servers and is not applicable to the data extraction needs described here.
Thus,Qlik REST Connectoris the correct answer for this scenario.
質問 # 51
......
最新(2025)Qlik QSDA2024試験問題集:https://www.passtest.jp/Qlik/QSDA2024-shiken.html
QSDA2024練習問題集で検証済みのPassTest更新された52問題あります:https://drive.google.com/open?id=1jpCPSChuKhXCZbM9Je3HNaxwYaU9S0Fc