Öğretici: R destekli Power BI görselleri oluşturmaTutorial: Create an R-powered Power BI visual

Bu öğreticide Power BI için R destekli bir görselin nasıl oluşturulacağı açıklanır.This tutorial describes how to create an R-powered visual for Power BI.

Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:In this tutorial, you learn how to:

  • R destekli görsel oluşturmaCreate an R-powered visual
  • Power BI Desktop'ta R betiğini düzenlemeEdit the R script in Power BI Desktop
  • Görsele kitaplıklar eklemeAdd libraries to the visual
  • Statik bir özellik eklemeAdd a static property

Ön koşullarPrerequisites

BaşlarkenGetting started

  1. Görsel için örnek verileri hazırlayın.Prepare sample data for the visual. Bu değerleri Excel veritabanına veya .csv dosyasına kaydedebilir ve Power BI Desktop’a içeri aktarabilirsiniz.You can save these values to an Excel database or .csv file and import it into Power BI Desktop.

    MonthNoMonthNo Toplam BirimlerTotal Units
    11 23032303
    22 23192319
    33 17321732
    44 16151615
    55 14271427
    66 22532253
    77 11471147
    88 15151515
    99 25162516
    1010 31313131
    1111 31703170
    1212 27622762
  2. Görsel oluşturmak için PowerShell veya Terminal’i açın ve aşağıdaki komutu çalıştırın:To create a visual, open PowerShell or Terminal, and run the following command:

    pbiviz new rVisualSample -t rvisual
    

    Bu komut rvisual şablonunu temel alan yeni bir dosya yapısı oluşturur.This command creates a new folder structure based on the rvisual template. Bu şablon aşağıdaki R betiğini çalıştıran temel, çalıştırılmaya hazır R destekli bir görsel içerir:This template includes a basic, ready-to-run R-powered visual that runs the following R script:

    plot(Values)
    

    Values veri çerçevesi Values veri rolündeki sütunları içerir.The Values data frame will contain columns in Values data role.

  3. Görsele ilişkin Değerler alanına MonthNo ve Total units ekleyerek geliştirici görseline verileri atayın.Assign data to the developer visual by adding MonthNo and Total units to Values for the visual.

    Veri içeren R görseli

R Betiğini DüzenlemeEditing the R Script

rvisual şablonunu temel alan R destekli görseli oluşturmak için pbiviz kullandığınızda, görselin kök klasöründe script.r adlı bir dosya oluşturulur.When you use pbiviz to create the R-powered visual based on the rvisual template, it creates a file called script.r in the root folder of the visual. Bu dosya kullanıcının görüntüsünü oluşturmak için çalıştırılan R betiğini barındırır.This file holds the R script that runs to generate the image for a user. R betiğinizi Power BI Desktop'ta oluşturabilirsiniz.You can create your R script in Power BI Desktop.

  1. Power BI Desktop’ta R betik görseli’ni seçin:In Power BI Desktop, select R script visual:

    Power BI Desktop'taki R betik görseli denetimini gösteren ekran görüntüsü.

  2. Bu R kodunu R betik düzenleyicisi’ne yapıştırın:Paste this R code into the R script editor:

    x <- dataset[,1] # get the first column from dataset
    y <- dataset[,2] # get the second column from dataset
    
    columnNames = colnames(dataset) # get column names
    
    plot(x, y, type="n", xlab=columnNames[1], ylab=columnNames[2]) # draw empty plot with axis and labels only
    lines(x, y, col="green") # draw line plot
    
  3. Sonucu görmek için Betiği çalıştır simgesini seçin.Select the Run script icon to see the result.

    Betiği çalıştırmanın sonucu olan çizgi çizimini gösteren ekran görüntüsü.

  4. R betiğiniz hazır olduğunda, bu betiği önceki adımlardan birinde oluşturulan görsel projenizin script.r dosyasına kopyalayın.When your R script is ready, copy it to the script.r file in your visual project created at one of the previous steps.

  5. capabilities.json dosyasının dataRoles öğesindeki name değerini dataRoles olarak değiştirin.Change the name of dataRoles in capabilities.json to dataRoles. Power BI R betiği görseli için verileri dataset veri çerçevesi nesnesi olarak geçirir ama R görseli dataRoles adlarına göre veri çerçevesi adını alır.Power BI passes data as the dataset data frame object for the R script visual, but the R visual gets the data frame name according to dataRoles names.

    {
      "dataRoles": [
        {
          "displayName": "Values",
          "kind": "GroupingOrMeasure",
          "name": "dataRoles"
        }
      ],
      "dataViewMappings": [
        {
          "scriptResult": {
            "dataInput": {
              "table": {
                "rows": {
                  "select": [
                    {
                      "for": {
                        "in": "dataset"
                      }
                    }
                  ],
                  "dataReductionAlgorithm": {
                    "top": {}
                  }
                }
              }
            },
            ...
          }
        }
      ],
    }
    
  6. Resmin yeniden boyutlandırılmasını desteklemek için aşağıdaki kodu src/visual.ts dosyasına ekleyin.Add the following code to support resizing the image in the src/visual.ts file.

      public onResizing(finalViewport: IViewport): void {
          this.imageDiv.style.height = finalViewport.height + "px";
          this.imageDiv.style.width = finalViewport.width + "px";
          this.imageElement.style.height = finalViewport.height + "px";
          this.imageElement.style.width = finalViewport.width + "px";
      }
    

Görsel paketine kitaplıkları eklemeAdd libraries to visual package

Bu yordam görselinizin corrplot paketini kullanmasına olanak tanır.This procedure allows your visual to use the corrplot package.

  1. Görseliniz için dependencies.json dosyasına kitaplık bağımlılığını ekleyin.Add the library dependency for your visual to dependencies.json. Burada örnek bir dosya içeriği verilmiştir:Here is an example of the file content:

    {
      "cranPackages": [
        {
          "name": "corrplot",
          "displayName": "corrplot",
          "url": "https://cran.r-project.org/web/packages/corrplot/"
        }
      ]
    }
    

    corrplot paketi, bağıntı matrisinin bir grafik görüntüsüdür.The corrplot package is a graphical display of a correlation matrix. corrplot hakkında daha fazla bilgi için bkz. corrplot Paketine Giriş.For more information about corrplot, see An Introduction to corrplot Package.

  2. Bu değişiklikleri yaptıktan sonra paketi script.r dosyanızda kullanmaya başlayın.After you make these changes, start using the package in your script.r file.

    library(corrplot)
    corr <- cor(dataset)
    corrplot(corr, method="circle", order = "hclust")
    

corrplot paketini kullanmanın sonucu şu örneğe benzer:The result of using corrplot package looks like this example:

corrplot tarafından oluşturulan dört ovalin bulunduğu görselleştirme bölmesini gösteren ekran görüntüsü.

Özellik bölmesine statik bir özellik eklemeAdding a static property to the property pane

Kullanıcıların kullanıcı arabirimi ayarlarını değiştirmesine olanak tanıyın.Enable users to change UI settings. Bunu yapmak için özellik bölmesine R betiğinin kullanıcı girişi tabanlı davranışını değiştiren özellikleri ekleyin.To do this, add properties to the property pane that change the user-input based behavior of the R script.

corrplot işlevinin method bağımsız değişkenini kullanarak corrplot öğesini yapılandırabilirsiniz.You can configure corrplot by using the method argument for the corrplot function. Varsayılan betik bir daire kullanır.The default script uses a circle. Görselinizi değiştirerek kullanıcının çeşitli seçenekler arasından seçim yapmasını sağlayın.Modify your visual to let the user choose between several options.

  1. Nesneyi ve özelliği capabilities.json dosyasında tanımlayın.Define the object and property in the capabilities.json file. Ardından özellik bölmesinden bu değerleri almak için Enumeration yönteminde bu nesne adını kullanın.Then use this object name in the enumeration method to get those values from the property pane.

    {
      "settings": {
      "displayName": "Visual Settings",
      "description": "Settings to control the look and feel of the visual",
      "properties": {
        "method": {
          "displayName": "Data Look",
          "description": "Control the look and feel of the data points in the visual",
          "type": {
            "enumeration": [
              {
                "displayName": "Circle",
                "value": "circle"
              },
              {
                "displayName": "Square",
                "value": "square"
              },
              {
                "displayName": "Ellipse",
                "value": "ellipse"
              },
              {
                "displayName": "Number",
                "value": "number"
              },
              {
                "displayName": "Shade",
                "value": "shade"
              },
              {
                "displayName": "Color",
                "value": "color"
              },
              {
                "displayName": "Pie",
                "value": "pie"
              }
            ]
          }
        }
      }
    }
    
  2. src/settings.ts dosyasını açın.Open the src/settings.ts file. method genel özelliğiyle bir CorrPlotSettings sınıfı oluşturun.Create a CorrPlotSettings class with the public property method. Tür string ve varsayılan değer de circle değeridir.The type is string and the default value is circle. settings özelliğini varsayılan değerle VisualSettings sınıfına ekleyin:Add the settings property to the VisualSettings class with the default value:

    "use strict";
    
    import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";
    import DataViewObjectsParser = dataViewObjectsParser.DataViewObjectsParser;
    
    export class VisualSettings extends DataViewObjectsParser {
      public rcv_script: rcv_scriptSettings = new rcv_scriptSettings();
      public settings: CorrPlotSettings = new CorrPlotSettings();
    }
    
    export class CorrPlotSettings {
      public method: string = "circle";
    }
    
    export class rcv_scriptSettings {
      public provider;
      public source;
    }
    

    Bu adımlardan sonra görselin özelliğini değiştirebilirsiniz.After these steps, you can change the property of the visual.

    R görsel ayarları

    Son olarak, R betiği bir özellikle başlamalıdır.Finally, the R script must start with a property. Kullanıcı özelliği değiştirmezse görsel bu özellik için hiçbir değer almaz.If the user doesn't change the property, the visual doesn't get any value for this property.

    Özelliklerin R çalışma zamanı değişkenleri için adlandırma kuralı <objectname>_<propertyname>, bu örnekte settings_method şeklindedir.For R runtime variables for the properties, the naming convention is <objectname>_<propertyname>, in this case, settings_method.

  3. Görselinizdeki R betiğini aşağıdaki kodla eşleşecek şekilde değiştirin:Change the R script in your visual to match the following code:

    library(corrplot)
    corr <- cor(dataset)
    
    if (!exists("settings_method"))
    {
        settings_method = "circle";
    }
    
    corrplot(corr, method=settings_method, order = "hclust")
    

Görselinizin son hali aşağıdaki örneğe benzer görünür:Your final visual looks like the following example:

Değiştirilen değerle R görsel ayarları

Sonraki adımlarNext steps

R destekli görseller hakkında daha fazla bilgi edinmek için bkz. Power BI’da R destekli Power BI görsellerini kullanma.To learn more about R-powered visuals, see Use R-powered Power BI visuals in Power BI.

Power BI Desktop’ta R destekli görseller hakkında daha fazla bilgi edinmek için bkz. R kullanarak Power BI görselleri oluşturma.For more information about R-powered visuals in Power BI Desktop, see Create Power BI visuals using R.