Sunday, May 24, 2015

SSAS Connector and Power BI Preview

Key things about SSAS connector and Power BI Preview

  • Only SQL Server Analysis Services Tabular models are supported for Power BI Preview
  • The connector has to continue running and the computer where it is installed has to remain on.
  • When you use the SSAS connector, your data remains on-premises.  The reports you create based on that data are saved in the cloud.
  • Q&A natural language querying is not currently available for SSAS on-premises tabular data.  Only cloud-based datasets are supported for Q&A.

Pre-requisites SSAS connector and Power BI Preview

  • NET Framework 4.5.1 or later must be installed on the computer.
  • Installing the Power BI Analysis Services Connector and the Data Management Gateway on the same computer is not supported. If you already have the Data Management Gateway installed, uninstall it before installing the Power BI Analysis Services Connector, or install the Connector on different computer.
  • The Analysis Services server is domain joined.
  • The Analysis Services connector & Analysis Services server are installed on computers in the same domain.
  • If you use a .onmicrosoft.com email address, you'll need to sync your Active Directory to Azure Active Directory using Azure Active Directory Sync (DirSync).

Technorati Tags: ,

Sunday, May 17, 2015

WebAPI IHttpActionResult vs HttpResponseMessage

The WebAPI Controller can return either HttpResponseMessage or IHttpActionResult. HttpResposeMessage converts it directly to an HTTP response message. Call ExecuteAsync to create an HttpResponseMessage then convert to an HTTP response message.

ApiController Action Result Methods by HTTP Status Code

Status Code Meaning Method
200 Operation successful Ok()
Ok(data)
302 Temporary Redirection Redirect(target)
RedirectToRoute(name, props)
400 Bad Request BadRequest()
BadRequest(message)
BadRequest(model)
404 Not Found NotFound()
409 Conflict Conflict()
500 Internal Server Error InternalServerError()
InternalServerError(Exception)
Technorati Tags:

Wednesday, May 06, 2015

[rsRuntimeErrorInExpression] The value expression for the textrun ‘Textbox1.Paragraphs[0].TextRuns[0]’ contains an error: Input string was in a correct format.

In this scenario, the expression for the textbox was =”Total Value: “ + Fields!TextBox1.Value

Changing that to =”Total Value: “ + CStr(Fields!TextBox1.Value) will fix the issue.

Technorati Tags:

Monday, April 27, 2015

Cross Origin Resource Sharing (CORS)

Cross Origin Resource Sharing (CORS) is a W3C standard that allows a server to relax the same-origin policy. Using CORS, a server can explicitly allow some cross-origin requests while rejecting others. CORS is safer and more flexible than earlier techniques such as JSONP.

he general mechanics of CORS are such that when JavaScript is attempting to make a cross-origin AJAX call the browser will “ask” the server if this is allowed by sending headers in the HTTP request (for example, Origin). The server indicates what’s allowed by returning HTTP headers in the response (for example, Access-Control-Allow-Origin). This permission check is done for each distinct URL the client invokes, which means different URLs can have different permissions.

In addition to the origin, CORS lets a server indicate which HTTP methods are allowed, which HTTP request headers a client can send, which HTTP response headers a client can read, and if the browser is allowed to automatically send or receive credentials (cookies or authorization headers). Additional request and response headers indicate which of these features are allowed.

Permission/Feature Request Header Response Header
Origin Origin Access-Control-Allow-Origin
Http Method Access-Control-Request-Method Access-Control-Allow-Method
Request Headers
Response Headers
Access-Control-Request-Headers Access-Control-Allow-Headers
Access-Control-Expose-Headers
Credentials   Access-Control-Allow-Credentials
Cache preflight Response   Access-Control-Max-Age

Technorati Tags: ,