9 Replies Latest reply: Apr 4, 2016 3:26 AM by Tomohiro Takahashi RSS

    How Create a HyperCube in .Net SDK

    Thiago Dutra

      Hello,

       

      Hello I am developing an app in .Net and would like to access data on Qlik Sense.

      I managed to create the connection to the Qlik Engime however I am unable to create HyperCube and read the results as I do in JavaScript.

      Can anyone help me with some example of HyperCubo creation and your reading?

      Att.

        • Re: How Create a HyperCube in .Net SDK
          Sangram Reddy

          Hi Thiago,

          Check this out:

          Creating dimensions and measures

          There are two ways of creating Dimensionsand Measures:

          • Locally in the generic object.
          • Added to the application library for reuse in other generic objects.

          Example: Create a local or inline Dimensions

             var myInlineDimension = new HyperCubeDimensionqDef { FieldDefs = new[] { "myDimension" } };

          Example: Create an application or library Dimensions

             var myLibraryDimension = application.CreateDimension(); myLibraryDimension.SuspendLayout(); myLibraryDimension.Properties.Dim.FieldDefs = new[] {"myDimension"}; myLibraryDimension.ResumeLayout();

          Example: Create a local or inline measure

             var myInlineMeasure = new HyperCubeMeasureqDef {Def = "=Sum(value)"};

          Example: Create an application or library Measures

             var myLibraryMeasure = application.CreateMeasure(); myLibraryMeasure.SuspendLayout(); myLibraryMeasure.Properties.Measure.Def = "=Sum(value)"; myLibraryMeasure.ResumeLayout();

          Adding dimensions and measures to the hypercube

          When you have created your Dimensions and Measures you can add them to the hypercube.

          Example: Add a Dimension to the hypercube

            cubeDef.Dimensions = new List<HyperCubeDimensionDef> { new HyperCubeDimensionDef {Def = myInlineDimension}, new HyperCubeDimensionDef {LibraryId = myLibraryDimension.Info.Id} };

          Example: Add a Measures to the hypercube

            cubeDef.Measures = new List<HyperCubeMeasureDef> { new HyperCubeMeasureDef {Def = myInlineMeasure}, new HyperCubeMeasureDef {LibraryId = myLibraryMeasure.Info.Id} };

           

          Thanks and Regards,

          Sangram Reddy.

          • Re: How Create a HyperCube in .Net SDK
            Thiago Dutra

            Thanks for the help, I can now read the hypercube data and my development is complete

             

             

            Thanks for all the help.

            • Re: How Create a HyperCube in .Net SDK
              Tomohiro Takahashi

              Hi,

              Please take a look at my tweet.

              [How to create HyperCube object via Qlik Sense Engine Service(QES) with Qlik Sense .NET SDK]

              https://twitter.com/ttdummy/status/714992370069151744

               

              [Sample Code]

              -------

                    var myDimension = new HyperCubeDimensionqDef
                    {
                      FieldDefs = new[] { "Country" }
                    };
                    var myMeasure = new HyperCubeMeasureqDef
                    {
                      Def = "Sum([Sales Amount]) / Sum([Budget Amount])"
                    };
                    HyperCubeDef myCubeDef = new HyperCubeDef();
                    myCubeDef.Dimensions = new List<HyperCubeDimensionDef> {
                      new HyperCubeDimensionDef {Def = myDimension}
                    };
                    myCubeDef.Measures = new List<HyperCubeMeasureDef> {
                      new HyperCubeMeasureDef {Def = myMeasure}
                    };
                    myCubeDef.InitialDataFetch = new List<NxPage> {
                      new NxPage {Height=20, Width=5}
                    };

                    GenericObjectProperties gp = new GenericObjectProperties();
                    gp.Info = new NxInfo();
                    gp.Info.Type = "hypercube";
                    gp.Set<HyperCubeDef>("qHyperCubeDef", myCubeDef);
                    GenericObject obj = app.CreateGenericSessionObject(gp);

              -------