Thursday, 14 September 2017

Tuesday, 12 September 2017

Top 12 Things Not to Say During an Interview : Interview tips

Susan Ranford is an expert on job market trends, hiring, and business management. She is the Community Outreach Coordinator for New York Jobs. In her blogging and writing, she seeks to shed light on issues related to employment, business, and finance to help others understand different industries and find the right job fit for them.

Things Not to Say During an Interview
Interviews are places where you have to watch your tongue every second. You don’t want to say too much, the wrong thing, or ramble on incessantly. Some topics should be totally off limits during an interview. Be sure to keep these things on your mind and off your tongue at your next interview.

  • Never admit to being nervous.
Being nervous and admitting it are two different things during an interview.

You should show confidence in yourself first. Hide the case of nerves as best you can, and do not mention being nervous. The interviewer is looking for a confident candidate, and that can be you.

It may seem endearing to admit it, like you’re nervous and excited for the opportunity. But ultimately, it’s better to appear confident and in control of your emotions.

  • Never mention entrepreneurial aspirations during an interview.
Don’t tell an interviewer than you want to be your own boss.

Mentioning that you want to be your own boss puts you in a unique category that you really don’t want to be in. According to Ken Sundheim, it immediately lists you as a threat to the company because you could be there to learn trade secrets or be seen as a potential loss that leads to another day of interviewing. If you want to be hired, don’t tell them you want to work for yourself. Explain why you want to work for them.

  • Don’t be too eager to work.
If you are looking to be hired, being too eager to work can work against you.

Instead of being available for any job, be job specific when you apply. If you are willing to do anything, the interviewer may see you as desperate and not having specialized skills. If you’ll do anything, you’re not necessarily good at something. Make yourself valuable to the company by expressing yourself and your talents well.

  • Don’t Give Apologies for Lack of Experience.
If your resume doesn’t show years of experience in the industry that you are trying to break into, don’t make apologies for this lack of experience.

Build on your strengths rather than dwelling on your weak areas. This advice applies to the mid-career changer as well as the new graduate. If you don’t have the years of experience that the interviewer is requiring, mention any skills that transfer and make you the best qualified person for the job.

  • Don’t tell them to look at your resume.
If you are asked a question, be sure to answer the question.

Don’t refer the interviewer back to your resume. They want to hear an answer directly from you. You are a living, breathing person. Your resume is a piece of paper.

Reminding them that you listed it on your resume is disrespectful, and it is a definite don’t.

  • Don’t talk about your job search.
Let them know how you found them, but don’t talk about the hours you spent looking for other opportunities on local job sites. They don’t care about your job search, they care about potentially hiring you.

Move the focus to you and your skills as much as possible, not your inability to find other opportunities.

  • Don’t wait for questions you want to answer.
Rehearsing and practicing for an interview gives you confidence for answering certain questions, but don’t be listening and anticipating just those questions.

You have to be attentive and able to give answers to all of the questions that are asked. Being able to carry on a conversation without appearing to have it scripted is important to making it past round one in the interview process.

  • Don’t use clich├ęs.
Be original with your words. Always find new and positive ways of saying things. Instead of using buzzwords and clich├ęs, describe yourself with adjectives and phrases will showcase your creativity and ability to think independently.

The interview is the place to set yourself apart from the crowd, and your conversation is the most obvious way to do this.

  • Definitely lose the filler words.
Any word or phrase that you use to fill in a sentence while you are thinking should not be spoken during an interview. These words include ‘like’, and sounds such as ‘um’, and ‘er’. These do not help you communicate your message clearly and succinctly. You should remain silent rather than filling the gaps with these sounds.

Filler words are often words you don’t even remember saying. A pro tip is to record yourself speaking. Then, watch to see which filler words that you need to eliminate from your vocabulary.

  • Stay on topic.
If you have a tendency to ramble, put a lid on it during the interview. Feel free to be a great storyteller around your friends and family, but not during an interview unless the story you are telling is relevant to the job at hand.

If in your work experiences you achieved great success, then definitely share that story when the time is right. However, if you just can’t way to tell someone about your weekend plans, keep that story to yourself. 

  • Never ask what the company does.
If you have to ask what the company does that you are interviewing with, you haven’t done your homework. This question is the biggest turnoff for recruiters and can summarily end what was a great interview up until you asked this fatal question. If you ask this question, odds are really good that you won’t be hired.

  • Realize the power of your words.
Words are powerful, especially during an interview. Choose them carefully, and you’ll increase the odds of landing the job. If you’ve already been to an interview and have said all of the wrong things, learn from your mistakes.

If you slip up and say one of these things, realize it. Next time you’ll know what not to say.

Sunday, 10 September 2017

Top 20 Mixpanel Analytics Interview Questions with Answers

Here we come with very popular analytics tool interview questions with is know as Mixpanel. So lets start.

What is know about Mixpanel, explain?
Ans: Mixpanel is a business analytics service and company. It tracks user interactions with web and mobile applications and provides tools for targeted communication with them. Its toolset contains in-app A/B tests and user survey forms. Data collected is used to build custom reports and measure user engagement and retention. Mixpanel works with web applications, in particular SaaS, but also supports mobile apps. As of January 2016 the company had more than 230 employees, but had to fire 18 people due to overhiring.

In which format Mixpanel store Data?

Why Mixpanel even there are many tools in market?
Ans: Mixpanel provide a solution that lets businesses track the specific user actions that are important to your business questions, along with detailed information about these actions and users. We can track these metrics on any platform, and the customer gets maximum flexibility and granularity in terms of what details they track. Once the data is in, our reports let customers ask very complex, specific questions of this data.

Explain People analytics?
People analytics helps you understand and re-engage your customers,Imagine being able to understand who your users are, see what they do before or after they sign up, re-engage them with messages, and dig deep into your customer revenue. Now it’s possible, all in one place, with People Analytics.

Explain what is Segmentation?
Ans: Segmentation allows you to view top events on your app and easily break down complex events in mixpanel. You have the ability to drill down by an unlimited number of properties to gather instant insight into these key actions on your app. You can choose any individual event in MP, compare multiple events and see total events, unique users firing these events and average number of events per user. We also give you multiple options to view this data.

Mixpanel top features to analyse your people?
Drill into your data: With Insights and findout where to focus your resources when building your product.
Visualize your data in different ways:Smooth out noisy results to really understand what’s going on.
Discover insights quickly: When digging into complex questions, don’t get slowed down waiting for an answer.
Bookmarks: Let you save reports that you look at a lot so you can save time.

(to know better about Mixpanel)
Which sources have driven the most mobile installations over time?

Which feature should I invest in further to drive up customer conversion?

Was the ROI on my latest ad social spend campaign more or less than previous campaigns?

How is Mixpanel different from Google analytics?
Ans: Mixpanel differs from Google Analytics in one major way: instead of tracking page views, it tracks the actions people take in your mobile or web application.

How can I export my people profiles into a CSV?
Ans: People profiles currently cannot be exported via the Mixpanel UI; however, you can easily export your people profiles either: Within Mixpanel using one simple query in JQL.

Explain JQL(JavaScript Query Language)?
Ans: JQL – JavaScript Query Language – uses the full power of a robust and popular programming language, JavaScript, to let you analyze your data in Mixpanel. It was designed for performance and flexibility so that developers and data scientists can pull the most valuable insights from their data with ease ‐ no matter how complex the question is.

What are the advantages of using JavaScript for analytics over SQL? JAVASCRIPT VS. SQL
Advantages of using JavaScript for analytics:

  • The full power of a programming language powered by V8 ‐ the JavaScript engine in Chrome
  • Easily express & compose queries that are more understandable
  • A modern & popular programming language amongst developers to quickly get started
  • Flexible to use with unstructured, schema less data

Disadvantages of using SQL for analytics:

  • Meant for rigid schemas for traditional relational databases
  • Difficult to manipulate and transform the data
  • Complex queries become unwieldy to read & compose
  • Limited flexibility due to query functions available in SQL

How do I track a page view in Mixpanale, example?

What is distinct_id?
Ans: Mixpanel can keep track of actions in your application right down to the individual customer level. This is done using a property called distinct_id. The property can (and in most cases should) be included with every event you send to Mixpanel to tie it to a user. Distinct_id plays a vital role across most Mixpanel reporting.

Where can I find my project token?
Ans: Click your name in the upper righthand corner of your Mixpanel project and select Project settings to see your project token for only the project you’re currently viewing.

What data types does Mixpanel accept as Properties?
Ans: String

Explain Activity Feed in Mixpanale?
Make better product decisions by seeing the full story of how individual customers use your product. Activity Feed puts customer behavior into an event-based timeline, so you can follow along as people experience your product, seeing where they get stuck along the way.

Wednesday, 23 August 2017

What is Cached Report in SSRS ?

What is Cached Report in SSRS ?

Cashing is a copy of last executed report and stores it in report server temp DB.

SSRS lets you enable caching for the report and maintain a copy of the processed report  in intermediate format in report server temp DB ,so that if the same report request comes again, the stored copy can be rendered in the desired format and served. This improvement in subsequent report processing can be evident especially in cases where the report is quite large and accessed frequently.

Please Note that the cashed report will continue to show the same data even if the data has changed in the Database until the cashed is refreshed. You can set the expiration date in Report Manager After expiration, a cached report is replaced with a newer version when the user selects the report again.

Thursday, 17 August 2017

What is Snapshot Report in SSRS?

What is Snapshot Report in SSRS?

A Report Snapshot in SSRS is a report that contains layout information and a data-set that is retrieved at a specific point in time. Unlike on-demand reports, which get up-to-date query results when you select them, report snapshots are processed on a schedule and then saved to a report server. When you select a report snapshot for viewing, the report server retrieves the stored report from the report server database, and shows the data and layout that were current for the report at the time the snapshot was created.

Steps to a Report SnapShot :

  • Got to Report Manager,Where RDLs are Deployed.
  • Right Click The RDL and Select Manage.
  • Then select Snapshot Options from left the pane and schedule the snapshot of the report.

Wednesday, 16 August 2017

How to Replace Null Values in SSRS Report ?

How to Replace Null Values in SSRS Report ?

You can replace the NULL Values with some Custom value using IIF , IsNothing Function in SSRS.

Just Right Click on TextBox on which you want to replace NULL Value and write an Expression :

=IIF(IsNothing(Fields.ColName.Value),0,Fields.ColName.Value)   [ To Replace with 0]
=IIF(IsNothing(Fields.ColName.Value),"Not Available",Fields.ColName.Value)   [To Replace with String]

Friday, 28 July 2017

Sunday, 16 July 2017

What is Report Builder in SSRS?

What is Report Builder in SSRS?

Report Builder is an Report authoring tool use to design ad-hoc reports and to manage the existing reports. you can preview your report in Report builder and publish your report to a reporting services . In short we can say that Report  Builder provides the capability of design, execute and deploy the SSRS reports.

How to display data on single tablix from two datasets in SSRS ?

How to display data on single tablix from two datasets in SSRS ?

We can display data on single tablix from two datasets with the help of LOOKUP function.
So if we have two datasets and we need to display on a single tablix then they must have one common column in both
datasets on which we can join.

Syntax : =LookUp(source_expression,destination_expression,result_expression,dataset)

source_expression specify the name or key to lookup
destination_expression specify the name  or key to match on
result_expression An expression i.e evaluated for the row in the dataset when source_expression=destination_expression
dataset from which we are adding column.

Friday, 14 July 2017

Top 50 DAX Interview Questions Answers PDF : SSAS/Power BI

Here we come with top 50 SSAS/PowerBI DAX interview questions with answers.

Explain what is DAX?
DAX stands for Data Analysis Expressions, and it is the formula language simply it is a collection of functions, operators, and constants that can be used in a formula, or expression in Microsoft SQL Server Analysis Services, Power Pivot in Excel, and Power BI Desktop. Stated more simply, DAX helps you create new information from data already in your model.expressions.

Explain when do you use SUMX() instead of SUM()?
When the expressions to SUM() consits of anything else than a column name. Typically when you want to add or multiply the values in different columns:
SUMX(Orderline, Orderline[quantity], Orderline[price])
SUMX() first creates a row context over the Sales table (see 1 above). It then iterates through this table one row at a time. SUM() is optimized for reducing over column segments and is as such not an iterator.

What do you understand by new CALENDARAUTO() Function in DAX(SSAS)?
CALENDARAUTO function returns a table with a single column named “Date” that contains a contiguous set of dates. The range of dates is calculated automatically based on data in the model.
Example: In this example, the MinDate and MaxDate in the data model are July 1, 2010 and June 30, 2011.
CALENDARAUTO() will return all dates between January 1, 2010 and December 31, 2011.
CALENDARAUTO(3) will actually return all dates between April 1, 2010 and March 31, 2012.

Name any 3 most useful aggregation functions DAX?
DAX has a number of aggregation functions, including the following commonly used functions:
  • SUM
  • MIN
  • MAX
  • SUMX (and other X functions)
These functions work only on numeric columns, and generally can aggregate only one column at a time. However, special aggregation functions that end in X, such as SUMX, can work on multiple columns. These functions iterate through the table, and evaluate the expression for each row.

Which are the three places where an expression can be evaluated and hence a specific context is set?
1. In a pivot table cell. Filter context is set by rows, columns, filters and slicers.
2. In a row cell (calculated column) Row context is set by the row itself.
3. In the measure calculation area of a table. No row, nor filter context is set.

Name any 3 most useful text functions in DAX?
The text functions in DAX include the following:
These text work very similarly to the Excel functions that have the same name, so if you're familiar with how Excel handles text functions, you're already a step ahead. If not, you can always experiment with these functions in Power BI, and learn more about how they behave.

How is filter context propagated through relationships?
Filter context automatically propagates following the filtering of the relationship. It always propagates from the one side of the relationship to the many side. In addition, you also have the <u>option of enabling the propagation from the many side to the one side</u>. No functions are available to force the propagation: Everything happens inside the engine in an automatic way, according to the definition of relationships in the data model.

What are Path() and PathLength() functions in DAX?
PATH(): Syntax PATH(<ID_columnName>, <parent_columnName>) Its Returns a delimited text string with the identifiers of all the parents of the current identifier, starting with the oldest and continuing until current.
PATHLENGTH(): Syntax PATHLENGTH(<path>) Its Returns the number of parents to the specified item in a given PATH result, including self.
Example: I think there is no need to explain you can understand it yourself
Ref: Microsoft

What is the difference between DISTINCT() and VALUES() in DAX? 
Both count the distinct values, but VALUES() also counts a possible implictit virtual empty row because of non matching values in a child table. This is usually in a dimension table.

Which function should you use rather than COUNTROUWS(DISTINCT())?

What is a pattern?
A pattern is a general reusable solution to a commonly occurring problem.In Microsoft Excel, you use patterns every day to build tables, charts, reports, dashboards, and more.

What are DAX patterns?
DAX Patterns is a collection of ready-to-use data models and formulas in DAX, which is the programming language of Power Pivot. Create your Excel data model faster by using a DAX pattern!

RELATED works when you have a row context on the table on the many side of a relationship. RELATEDTABLE works if the row context is active on the one side of a relationship. It is worth noting that both, RELATED and RELATEDTABLE, can traverse a long chain of relationships to gather their result; they are not limited to a single hop.

Explain how a pivot table can be viewd as an MVC system?
1. Model = the Data Model (incl DAX expressions)
2. View = the table (or chart)
3. Controller = rows + columns + filters + slicers
What can you say about automatic filter propagation The filters only ever automatically flow from the "one" side of the relationship to the "many" side of the relationship; from the "arrow" side to the "dot" side; from the lookup table to the data table—whatever terms you use, it's always downhill.
With the lookup tables above and the data tables below, it is a mental cue to help you instantly visualize how automatic filter propagation works.

How does CALCULATE() result in context transition?
1. When in row context it transitions to filter context: the filter on the rows of a specific table propagates through the relationship to the related before the calculation is completed.
E.g. CALCULATE(SUM(OtherTable[column]) in a calculated column.
2. It extends or modifies an existing filter context, by adding a filter as its second parameter.
CALCULATE() always introduces filter context.

What is the difference between MAX and MAXA functions in DAX?
The MAX function takes as an argument a column that contains numeric values. If the
column contains no numbers, MAX returns a blank. If you want to evaluate values that
are not numbers, use the MAXA function.

How are row contexts created?
1. Automatically in a calculated column
2. Programmatically by using iterators.

How are filter contexts created?
1. Automatically by using fields on rows, columns, slicers, and filters.
2. Programmatically by using CALCULATE()

How can you propagate row context through relationships?
Propagation happens manually by using RELATED() and RELATEDTABLE(). These functions need to be used on the correct side of a one-to-many relationship: RELATED() on the many side, RELATEDTABLE() on the one side.

How does SUMMARIZECOLUMNS relate to filtering?
1. SUMMARIZECOLUMNS is not susceptible for outer (external) filters, in contrast to SUMMARIZE
2. you can add a filter (e.g. using FILTER) as a param of SUMMARIZCOLUMNS and it will filter accordingly. It acts as if you've added a filter in a pivot table.

What is the initial filter context?
The initial filter context comes from four areas of a pivot table:
1. Rows
2. Columns
3. Filters
4. Slicers
It is the standard filtering coming from a pivot table before any possible modifications from DAX formulas using CALCULATE().

How to optimize DAX query plan?
Ans: click here

Why don't you use a CALCULATE() in the aggregation expression of a SUMMARIZECOLUMN()?
The CALCULATE() is automatically generated.

What is the difference between having a measure as a second FILTER param and having the original measure expression as a param. FILTER(table, [MEASURE]) vs FILTER(table, SUM(...))?
A measure has always implicit filter context, so the ROW context induced by the FILTER is transferred to filter context in the measure.<br>In case of the expression only, no filter context is imposed on the expression, so the expression is evaluated with an empty filter context! This gives a different result.

DAX nested Functions is equivalent to SQL what?
SQL subqueries

Wednesday, 12 July 2017

What are different types of DataSources in SSRS ?

What are different types of DataSources in SSRS ?

In SSRS we have few options available for choosing the DataSource.

Some of datasources options available are listed below -

Microsoft SQL Server
Microsoft SQL Azure
Microsoft SQL Server Parallel Data Warehouse
Microsoft SQL Server Analysis Services   
Reporting Server Model
Microsoft SharePoint List
SAP NetWeaver BI
Hyperion Essbase

How to display total number of rows in a Single SSRS report?

How to display total number of rows in a Single SSRS report?

We can display the total number of rows in a single SSRS Report with the help of  "CountRows" function. Just inset a textbox and in the expression of this textbox write a code -

NOTE : You can append string with countrows by using "&" for more readability in the Report as I added.

SYNTAX :countrows()


Thursday, 6 July 2017

Top 30 Database Testing Interview Questions Answers for Database Testers

Tuesday, 4 July 2017

Repeat Rows N Times According to Column Value in SQL Server : HCL Interview Question

Suppose you have a table #Temp as shown in the below image(left table) and you want to repeat rows based on "NTimes" column value. Then what will you do to generate output as below(right hand side table), asked during HCL interview


(SELECT Name,[NTimes], CAST(('<val>'+ REPLICATE ( Name+'</val><val>' ,[NTimes]-1 ) +'</val>') AS XML) AS X  FROM #Temp) A
CROSS APPLY A.X.nodes('/val') y(z)

Monday, 3 July 2017

How to find Running Total in SSRS ?

How to find Running Total in SSRS ?

We can find running total in SSRS  with the help of a RunningValue Function .
Running Value Function will return a  running aggregate of all non-null numeric values specified by the expression, evaluated for the given scope.

Syntax :  RunningValue(expression, function, scope) 

Example:Right Click the TextBox and write a code in expression


Sunday, 2 July 2017

What is Drill Through Report in SSRS ?

Drill Through Reports : Drill through reports is when user click on the values ,redirect the user to another detail  report. Drillthrough reports commonly contain details about an item that is contained in the original summary report .These are standard reports that are accessed through a hyperlink on a textbox in the original report.
 You can make a drill through report by right click on the textbox that you want to be hyperlinked.

Thursday, 29 June 2017

Wednesday, 28 June 2017

What is Spool Operator in SQL Server: SQL Server Performance Tuning

Spool operator scans the input and places a copy of each row in a hidden spool table that is stored in the tempdb database and existing only for the lifetime of the query. If the operator is rewound (for example, by a Nested Loops operator) but no rebinding is needed, the spooled data is used instead of re-scanning the input.
Table Spool is a physical operator.

Friday, 16 June 2017

What is Database testing?

Data base Testing is segmented into below four different categories.

  1. Data validity testing
  2. Data integrity testing
  3. Performance related to data base
  4. Testing of Procedure,triggers and functions

What are different types of errors? Explain each.

  • Syntax errors
  • Execution errors
  • Logic Errors

  • Syntax errors: The syntax errors are those that appear as you type the code. Visual Basic checks your code when you type it in the Code Editor window and warns you if you make a mistake, such as mistyping a word or using a language element incorrectly. Syntactic errors are the most frequent errors. They can be easily corrected in the coding environment as soon as they occur.
  • Execution errors: The errors at run-time are those that appear only after compiling and running the code. Errors of this type can be given, for example, in seemingly correct code fragments, for they do not present syntactic errors, but they do not execute correctly. For example, you could correctly type a line of code that opens a file. But, if the file is corrupted, the application will not be able to execute the Open function and will stop its execution. Most of the errors of this type can be corrected by modifying the code that presents errors, then compile it and re-execute it.
  • Logic errors: The logical errors are those that appear when the application is running. They are often unwanted or unexpected in response to user actions. For example, a badly written key or other external influence could cause the application to stop working even if the parameters are correct, or that it simply does not work. Usually, logical errors are the most difficult to correct, since it is not always clear where they originate.

Explain what is Alpha and Beta testing?

When custom software is built for a customer, a series of acceptance tests is performed to allow the customer to validate all requirements. Most software product developers carry out a process called alpha and beta testing to discover bugs that appear to only the end user can discover.

  • Beta test: They are carried out by the end users of the software in the customer workplaces. Unlike the alpha test, the developer is not normally present. Thus, the beta test is a live application of the software in an environment that can not be controlled by the developer. The client logs all problems encountered during the beta test and reports to the developer at regular intervals.
  • Alpha test: They are carried out, by a client, at the development site. The software is used in a natural way with the developer as a user observer and logging errors and usage problems. Alpha tests are performed in a controlled environment.

What do you understand by Integration testing?

Integration testing (sometimes called I & t integration and testing) is the software testing phase in which individual software modules are combined and tested as a group. They are the tests after the unit tests and precede the system test.

What is the exact difference between debugging and testing?

When a test is performed and a defect has been identified, it is the duty of the developers to first locate the defect in the code and then fix it. This process is known as debugging. In other words, debugging is the process of finding, analyzing, and eliminating the causes of software failures.
On the other hand, the test consists of both static and dynamic life-cycle testing activities. It helps determine that the software fulfills the specified requirements and is suitable for the purpose assigned to it.

What do you understand by Unit testing?

In programming, a unit test is a way to test the correct functioning of a code module. This is to ensure that each of the modules functions properly separately. Then, with the Integration Tests, it will be possible to ensure the correct operation of the system or subsystem in question. The idea is to write test cases for each nontrivial function or method in the module so that each case is independent of the rest.

For a unit test to be good , the following requirements must be met:

  • Automated : Manual intervention should not be required. This is especially useful for continuous integration.
  • Complete : Must cover the largest amount of code.
  • Repeatable or Reusable : Do not create tests that can only be executed once. It is also useful for continuous integration .
  • Independent : The execution of one test should not affect the execution of another.
  • Professionals : The tests should be considered the same as the code, with the same professionalism, documentation, etc.

Explain Software Testing?

Software testing is the process of verifying and revealing the quality of a software product. They are used to identify possible implementation failures, quality, or usability of a computer program or video game. Basically it is a phase in software development consisting of testing built applications.

What is the difference between validation and verification? Testing

Verify: It consists of verifying the implementation of the requirements. This involves providing objective evidence that an element meets the specified requirements. You would have to ask yourself the following: " Are we building the product correctly? ".

Validate: It involves checking that the implemented requirements are functional for what was initially built the product. That is, verify that the specified requirements are suitable for an intended use.

What do you understand by dirty read in terms of database?

Dirty reads occur when a transaction is allowed to read a row that was modified by another transaction that has not yet committed. Non-commit readings work the same as non-repeatable readings; However, the second transaction does not need to commit for the first query to return different data. The only thing that can be prevented in the isolation level "Readings without commit" is that the updates appear out of order.

What do you ensure by database code scalability test?

Evaluate how applications work when real activities are implemented. Perform load tests on SQL scripts, PL / SQL, T-SQL code, and stored procedures on different concurrent user configurations. Troubleshoot any code performance issues you encounter before you deploy production when you integrate with SQL Optimizer.

What do you understand by scalability testing?

Scalability is a performance benchmark that investigates a system's ability to grow by increasing the workload per user, or the number of concurrent users, or the size of a database.

Scalability tests Attributes:
  • Response time
  • Performance
  • Beats per second, Request per second, transactions per second
  • Measuring performance with the number of users
  • Measuring performance under a huge load
  • CPU usage, memory usage, while ongoing tests
  • Network usage - data sent and received
  • Web server - Request and response per second
The steps for developing a scalability test are as follows:
  1. Define a realistic scenario 
  2. Record the Stage 
  3. Run the stage to simulate concurrent users, simulating more and more users 
  4. When performance degrades to such an extent that it does not allow acceptable use of the system, the maximum number of users has been found. 

How are some best practices you follow for testing a database, that should every one follow?

  • Create your own queries: In order to test the operation in a database in a proper and accurate manner, first a tester must have very good knowledge of SQL and especially DML (Data Manipulation Language). Some CRUD operation will be performed with the user interface of the application, and the result will be verified using an SQL query . This is the best and most robust way to do tests in a database, especially for applications with low and medium level of complexity. However, the two prerequisites described are necessary. On the other hand, if the application is quite complex, then it may be difficult or impossible for the tester to write all the necessary SQL statements. However, for some complex queries, the tester can get help from the developer as well.
  • Test each table in the database: If the tester is not good in SQL, then he or she can verify the result of the CRUD operation, by viewing the (related) tables in the database. However, in this way it can be a bit tedious and cumbersome, especially when the database and tables have lots of data.
  • Obtain developer queries: This is the easiest way to test the database. Perform any CRUD operation through the graphical user interface and verify its impact by executing the SQL query that is obtained from the developer.
  • One instance for each tester: Provide one instance of DB for each tester. This avoids interference between them.
  • Initialize common data: Initialize common data only once for all tests. If there is data that is read only, we do not have to touch them if we make sure the tests do not modify them.

Testing in a database therefore, this method seems easy and good choice for testing the database. However, its drawback is chaos. What if the query proposed by the developer is semantically wrong or does not meet the requirement of the user correctly? In this situation, the client must report the problem and demand its correction as the best. Meanwhile, the worst case scenario is that the client may refuse to accept the request.

What should be tested in a database? Explain

  • Data mapping in a database: It should be ensured that regardless of the visual (front-end) part of the application, all CRUD operations must work correctly.
  • ACID properties in a database: The ACID properties of a database refer to "atomicity", "consistency", "isolation" and "durability". Proper testing of these four properties in a database should be performed during the testing activity.
  • Ensure the integrity of the data: Note that the different modules of an application (ie screens or forms) use the same data from different "views" and perform all CRUD operations on the data they obtain. In that case, make sure that the last state of the data is reflected everywhere. The system must display the most recent and updated values ​​or the status of the shared data on all forms and views. This is called data integrity.
  • Ensure the accuracy of the implemented trade rules: Today, databases are not meant to store records only. In fact, databases have become very powerful tools that provide broad support to developers in order to implement business logic at the database level. Some simple examples of powerful database features are 'referential integrity', relational constraints, triggers, and stored procedures. Therefore, using these and many other features offered by databases, developers implement business logic at the database level. The test must ensure that the running business logic is correct and works accurately.

What is the CRUD model in a database?

C : Create - When the user "saves" any new transaction or information to the database.
A : Retrieve - When the action of 'Search' or 'View' the information stored in the database is carried out by the user.
U : Update - when, the operation is performed to "update" the information in the database. Usually when 'edit' or 'modify' an existing user record.
D : Delete - when the user 'deletes' or deletes a system log.

This does not matter at all that what database you are using, much less the programming language you use to connect a database or if you have performed a correct database normalization ; The end user does not have to worry about the sub-queries, whether a trigger exists or a stored procedure.

What do you understand by ACID properties in Database?

Atomicity, Consistency, Isolation and Durability(ACID) are a set of properties necessary for a set of instructions to be considered as a transaction in a database management system.
A transaction is  a set of orders that are executed forming a unit of work, that is, in indivisible or atomic form.  An  example of a complex transaction is the transfer of funds from one account to another, which involves multiple individual transactions.
If a system passes the ACID test, it means that it is reliable.
  • Atomicity: Atomicity requires that every transaction be "all or nothing": if a part of the transaction fails, all transactions of the transaction fail, and therefore the database does not undergo changes. An atomic system has to guarantee the atomicity in any operation and situation, including power failures, errors and system failures.
  • Consistency: The Consistency property ensures that any transaction will take the database from a valid state to another valid state. Any data written to the database must be valid according to all defined rules, including (but not limited to) constraints, cascades, triggers, and any combination of these.
  • Isolation: Isolation ensures that the concurrent execution of transactions results in a system state that would be obtained if these transactions were executed one after another. Each transaction must be executed in full isolation; For example, if T1 and T2 are executed concurrently, then each one must be kept independent of the other.
  • Durability: Durability means that once a commit has been committed, it will be persistent, even in the event of loss of power, errors, and system crashes. For example, in relational databases, once a group of SQL statements is executed, the results must be stored immediately (even if the database falls immediately afterwards).

What do you understand by RDBMS?

Relational database management system (RDBMS) is a database management system (DBMS) that is based on the relational model as invented by E. F. Codd, of IBM's San Jose Research Laboratory. Relational database is a collection of tables of data all of which are formally described and organized according to the relational model.

What are your Database testing approaches?

  • Gather database requirements 
  • Create test scenarios against each requirements 
  • Test schema data and test scenarios 
  • Positive and negative testing 
  • Valid and invalid data
  • Performance testing: run query check response time 
  • Security testing 

Tuesday, 13 June 2017

What is Report Parameter and Query Parameter in SSRS?

The Query Parameter will filter your data in the DataSource level. We can use these parameters in dataset of SSRS report to filter the corresponding data.
The Report Parameter will let the user to filter the report as per requirement based on the options they choose. When you create a report parameter and run the report, you let the user to choose values for the report parameter.

Monday, 12 June 2017

What are Different types of SSRS Reports?

What are Different types of SSRS Reports?

There are basically following types of different SSRS Reports--

•Parameterized reports
•Snapshot reports
•Cached reports
•Drilldown reports
•Drill through reports
•Linked reports
•Ad-hoc reports


Thursday, 8 June 2017

What is In-Chip technology over In-Memory?

In April 2013, Sisense introduced an alternative to in-memory technology called In-Chip analytics, designed to maximize the disk, memory and CPU with resulting low latency.
Processing data with Sisense’s In-Chip technology is 10 times faster than processing it in-memory. Sisense was designed from scratch with a scalable, memory-optimized columnar database that can comfortably handle terabytes of data and dozens of concurrent queries. These features give it extraordinary performance and also makes it easy for non-techies to join data from multiple sources, build interactive dashboards and business intelligence reports, and share it all in one click.

What are DataSource and DataSets in SSRS? Benefits Of Shared DataSource And Shared Datasets?

What are DataSource and DataSets in SSRS? Benefits Of Shared DataSource and  Shared Datasets?

If you need to show information from the database to your one of reports you need to create both dataset and datasource.

A DataSource is a pointer to location of all  your information from where you are retrieving or extracting data for your reports.

A Dataset is specific collection of your columns and records displayed in reports.

A Shared DataSource is Shared through out reports, you need  not to create a datasource again and again while developing new SSRS Reports. Benefits in if you have different environments Like UAT ,Prod etc. with different DataBase Name, then you only need to change database name  at one place that will reflect in all Reports.

A Shared DataSet is reused and you need not to create a dataset if same columns and structure is required in another report.Benefits in, if you are populating the dropdown parameter values with the DataSets and same parameter is to used in some another reports, than its handy to create a shared DatSets and use them which saves time and work to recreate a Query.

How you relate Sisense with Hadoop / Hive?

Sisense works with Hive–the data warehouse system designed for Big Data analytics. works well, but it is a developer tool, not a business user tool: queries are written in an SQL-like programming language. Plus, while Hive scales well, query time can often take hours. Sisense allows business users to visually analyze data that resides in Hadoop/Hive, and with much faster response time.

Whats the advantage of Sisense over in-memory software?

As you know with previous generation in-memory BI software the amount of data that you can analyze is limited by the number of RAM Gigabytes of your computer. But what if your data outgrows your computer’s memory? You either get “out-of-memory” errors, or you end up needing to do “data acrobatics” such as splitting you data into multiple silos or building a data warehouse. Sisense’s revolutionary ElastiCube In-Memory technology gives you all the benefits of in-memory without its limitations. It quickly expands the data to the hard-drive, so it is only limited by the amount on the drive.

Wednesday, 7 June 2017

Whats the advantage of Sisense over visualization software?

Most data visualization and business intelligence tools allow you to visually explore data sets. They work well if you have a few data sources (1-2 tables) and small data sets (a few millions of records). If your data grows quickly, or you expect to add more data sets, you will need to develop a “data warehouse” that will aggregate and reduce your data to sizes that the visualization software can cope with. This is a costly exercise, and you’ll be losing granularity. With Sisense fully functioning solution, you do not need to worry about any of this: Sisense includes our own visualization software and server, both designed to support hundreds of tables and billions of records.

Can you install Sisense on Linux?

Not at this time, however Sisense only needs to be installed on a centralized Windows machine to pull data from multiple data sources, and then dashboard creators and users can access the data from any HTML5-supported browser on any operating system including mobile.

Explain, What is a build?

A build is a process that pulls the data from the sources and prepares it to be used in your dashboards. Before you use the data for the first time and every time that the data changes or you update the Elasticube structure, you need to run a build.

What is the difference between the Elasticube Manager, the Elasticube Server, and the Elasticube Server Console?

The Elasticube Manager is component of the Prism suite that helps you design the Elasticube (connect to tables, build relationships, etc.), while the Elasticube Server is a component that you will normally not see, and that keeps the Elasticube up and running. If for some reason you need to restart the Elasticube Server, or delete an Elasticube, you can do so with the Elasticube Server Console.
To start the Elasticube Manager, you can do so by clicking on start> all programs> sisense> Prism ElastiCube Manager
To start the Elasticube Server Console, you can do so by clicking on start> all programs> sisense> Prism Server Console

What is the difference between .ecdata and .ecube data files?

The Elasticube Manager stores the design of the data schema in a .ecube file. It is not the data itself, but actually a “blueprint” of your data structure and source definitions. The .ecube is the data itself already in the Elasticube. You can notice that .ecube files are very small (a few KBs), whereas .ecube files are sensitively larger (may reach GBs  depending on your data).

How do I connect to data with Elasticube Manager?

Connecting to data with Elasticube Manager is very easy, and it supports many data source types: Excel files, databases, and even web services hosted in the cloud. Take a look at the left menu in the link below to choose the data source that you want to connect to, and be aware that you don’t need to settle with one data source type, since with SiSense Prism you can mash up data from different sources seamlessly.

Importent Procedure for Performance Tuning

SELECT OBJECT_NAME([PS].[object_id], [PS].[database_id]) AS [ProcedureName],
[PS].[execution_count] AS [ProcedureExecutes],
[QS].[plan_generation_num] AS [VersionOfPlan],
[QS].[execution_count] AS [ExecutionofCurrentPlan],
((CASE [statement_start_offset] WHEN -1 THEN DATALENGTH([ST].[text])
  ELSE [QS].[statement_end_offset] END
  - [QS].[statement_start_offset])/2)+1) AS [StatementText],
  [QS].[statement_start_offset] AS [Offset],
  [QS].[statement_end_offset] AS [Offset_end],
  [QP].[query_plan] AS [Query Plan XML],
  [QS].[query_plan_hash] AS [Query Plan Fingerprint]
FROM [sys].[dm_exec_procedure_stats] AS [PS]
JOIN [sys].[dm_exec_query_stats] AS [QS]
ON [PS].[Plan_handle] = [QS].[Plan_handle]
CROSS APPLY [sys].[dm_exec_query_plan] ([QS].[Plan_handle]) AS [QP]
CROSS APPLY [sys].[dm_exec_sql_text] ([QS].[sql_handle]) AS [ST]
WHERE [PS].[database_id] = DB_ID()
--AND OBJECT_NAME([PS].[object_id], [PS].[database_id])
--NOT IN (N'ProcedurePlans',N'RecompileEvents')
AND OBJECT_NAME([PS].[object_id], [PS].[database_id]) = 'USP_SearchAgreements_UPDATED_v4'
ORDER BY [ProcedureName],[QS].[statement_start_offset]

Explain Sisense Architecture?

Sisense Architecture
The Sisense system is comprised of the following components.
  • Sisense Web Application: The Sisense Web application is an interactive web application that provides the user interface in which users can design, share, view and explore dashboards. The Sisense Web application runs in popular web browsers and enables access to the Sisense server.  Dashboards can also be viewed on mobile devices.
  • Sisense Web Server: The Sisense Web Server is installed locally on your computer and hosts the Sisense Web application.
  • ElastiCube Server: The ElastiCube Server is installed locally on your computer and enables access to ElastiCubes. Both the Sisense Web Application and the ElastiCube Manager query the ElastiCube Server and receive results.
  • ElastiCube Manager: The ElastiCube Manager is a visual environment in which you create ElastiCubes. The ElastiCube Manager enables you to structure and import multiple data sources, create relationships between data, and perform ETL (Extract, Transform, and Load) processes to prepare data for analysis and visualization.
  • Sisense Server Console: The Sisense Server Console provides administration functions for managing ElastiCubes on the ElastiCube Server.

Tuesday, 6 June 2017

Why Sisense? What makes it unique?

In today IT world companies had two options for data analytics: complex and pricey BI tools that can handle big and complex data, or lower cost tools that are simpler but do not scale well. Sisense has developed a revolutionary product that includes everything you need to get insights from multiple, large data sets at a fraction of the cost of traditional business intelligence tools. All this is made possible by our award-winning technology that eliminates the technical hurdles, runs on standard hardware, and let’s business users go from scattered data to beautiful dashboards with minimum IT.

What is Sisense?

Sisense is a BI tool that was developed for all types of user, even those with little or no prior experience with BI software. Sisense's tools manage and support business data with powerful visuals and tools.

Top 50 SISENSE BI Interview Questions Answers

What IS SSRS and What reports can we make using SSRS?

SSRS interview Question; What Is SSRS and What reports can we make using SSRS?

SSRS is a Server based Report generating System. We can Build Tabular Reports, Matrix Reports and develop graphical reports using Chart, Maps etc.
Reports can be developed in :
  •  Report Builder
  •  Visual Studio
  •  In SQL Server Data Tools (SSDT)
  •  By hand writing XML File
To create interactive dashboards, you can use below:
  •  Sparklines   (Word Size Small Charts, Usually used in Tables or matrix)
  •  Line charts (Used for showing Trend History throughout Year or Months)
  •  Bar charts (used for comparing data monthly or yearly)
  •  Data Bars
  •  Indicators (inline gauges)
  •  Maps (Show Geographical position of data across countries) 
  •  Pie Charts (For Showing Proportion)
  •  Gauges (For Visual Analogies Ex. Showing Trend Progress Further Two Types Linear and       Radial)

Sunday, 4 June 2017

Concat NULL value in SQL Server? TCS Interview Questions

SQL Server interview question asked in TCS interview.

Q: What would be the output of following script?


Q: So how you will print FullName as "Vikas Ahlawat"
Ans: I will use ISNULL() function like below

Q: If I not allow to use ISNULL() what would be other solution?
Ans: I will use CONCAT() function (introduced in SQL Server 2012)

Tuesday, 2 May 2017

How you can print 1 to 10 table using SQL Query, HCL

Asked in HCL interview(my friend faced this questions experience 6 years)
For print table you can use CTE as below, (you can copy query from comment section)
Please share your solution as well


Tuesday, 25 April 2017

How Use sp_MSForEachTable SP for Tables Row Count

Easiest way to get row count of every table in a database. You can use sp_MSForEachTable

CREATE TABLE #Tablescounts

(table_name varchar(255),row_count int)


EXEC sp_MSForEachTable @command1 = 'INSERT #Tablescounts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?'


SELECT * FROM #Tablescounts

SQL Pivot Tricky Query Example Asked in TCS

1). We have a table(#Temp1) contain RollNumber, Subject, Marks and want output as below, Write query for same.(pivot) asked in TCS

SELECT * FROM (SELECT * FROM(SELECT RN,[Subject],Marks from #Temp1)a

PIVOT(MAX(Marks) for [Subject] in ([Math],[Hindi],[English]))E) K



2). Now write query which will show Subject as well like below .(pivot)

SELECT * FROM( SELECT RN,[Subject],Marks from #temp1)a

PIVOT (MAX(marks) for [Subject] in ([Math],[Hindi],[English]))E) K


SELECT CONCAT(Marks,('-'+[Subject])) MaxMarks_Subject FROM (

SELECT ROW_nUMBER() OVER(PArtition by rn order by Marks DESC) RowNum,Marks,Subject FROM #temp1 Where RN= K.RN)

J WHERE J.RowNum = 1

) S

Wednesday, 5 April 2017

Tuesday, 4 April 2017

Explain what is AutoScaling?

Scaling by adding additional instances is often referred to as scaling out. Windows Azure also supports scaling up by using larger role instances instead of more role instances.
By adding and removing role instances to your Windows Azure application while it is running, you can balance the performance of the application against its running costs.
An auto-scaling solution reduces the amount of manual work involved in dynamically scaling an application.

What is the difference between Web and Worker Roles in Windows Azure?

As you know the main difference between the two is that an instance of a web role runs IIS, while an instance of a worker role does not. Both are managed in the same way, however, and it’s common for an application to use both.For example, a web role instance might accept requests from users, then pass them to a worker role instance for processing.

Explain what is Azure Blob?

Azure Blob storage is a service for storing large amounts of unstructured object data, such as text or binary data, that can be accessed from anywhere in the world via HTTP or HTTPS. You can use Blob storage to expose data publicly to the world, or to store application data privately.