บทช่วยสอน: สร้างวิชวล Power BI แบบ R

ในฐานะนักพัฒนา คุณสามารถสร้างวิชวล Power BI ของคุณเองได้ วิชวลเหล่านี้สามารถใช้ได้โดยคุณ องค์กรของคุณ หรือบุคคลที่สาม

บทความนี้เป็นคําแนะนําทีละขั้นตอนสําหรับการสร้างวิชวลแบบ R สําหรับ Power BI

ในบทช่วยสอนนี้ คุณจะเรียนรู้วิธีการ:

  • สร้างวิชวลที่ขับเคลื่อนด้วย R
  • แก้ไขสคริปต์ R ใน Power BI Desktop
  • เพิ่มไลบรารีไปยังไฟล์การอ้างอิงของวิชวล
  • เพิ่มคุณสมบัติแบบคงที่

ข้อกำหนดเบื้องต้น

การเริ่มต้นใช้งาน

  1. เตรียมข้อมูลตัวอย่างบางอย่างสําหรับวิชวล คุณสามารถบันทึกค่าเหล่านี้ลงในฐานข้อมูล Excel หรือ ไฟล์.csv และนําเข้าไปยัง Power BI Desktop ได้

    MonthNo หน่วยรวม
    1 2303
    2 2319
    3 1732
    4 1615
    5 1427
    6 2253
    7 1147
    8 1515
    9 2516
    10 3131
    11 3170
    12 2762
  2. หากต้องการสร้างวิชวล ให้เปิด PowerShell หรือ Terminal และเรียกใช้คําสั่งต่อไปนี้:

    pbiviz new rVisualSample -t rvisual
    

    คําสั่งนี้สร้างโฟลเดอร์ใหม่สําหรับวิชวล rVisualSample โครงสร้างจะยึด rvisual ตามเท็มเพลต ซึ่งสร้างไฟล์ที่เรียกว่า script.r ในโฟลเดอร์รากของวิชวล ไฟล์นี้มีสคริปต์ R ที่เรียกใช้เพื่อสร้างรูปภาพเมื่อมีการแสดงวิชวล คุณสามารถสร้างสคริปต์ R ของคุณใน Power BI Desktop ได้

  3. จากไดเรกทอรีที่สร้างขึ้น rVisualSample ใหม่เรียกใช้คําสั่งต่อไปนี้:

    pbiviz start
    
  4. ใน Power BI Desktop เลือก วิชวลสคริปต์ R:

    Screenshot of the R script visual control in the Power BI Desktop.

  5. กําหนดข้อมูลไปยังวิชวลของนักพัฒนาโดยการ ลาก MonthNo และ หน่วย ทั้งหมด ไปยัง ค่า สําหรับวิชวล

    Screenshot showing where to add data to values.

  6. ตั้งค่าชนิดการรวมของหน่วยทั้งหมดเป็นไม่สรุป

    Screenshot of menu with option for not summarizing data.

  7. จากตัวแก้ไขสคริปต์ R ใน Power BI Desktop ของคุณ พิมพ์ต่อไปนี้:

    plot(dataset)
    

    คําสั่งนี้สร้างแผนภูมิกระจายโดยใช้ค่าในแบบจําลองความหมายเป็นข้อมูลป้อนเข้า

  8. เลือก ไอคอน เรียกใช้สคริปต์ เพื่อดูผลลัพธ์

    Screenshot of R visual chart with data.

แก้ไขสคริปต์ R

สคริปต์ R สามารถปรับเปลี่ยนเพื่อสร้างวิชวลชนิดอื่น ๆ ได้ ต่อไปเรามาสร้างแผนภูมิเส้นกัน

  1. วางโค้ด R ต่อไปนี้ลงใน ตัวแก้ไขสคริปต์ R

    x <- dataset[,1] # get the first column from semantic model
    y <- dataset[,2] # get the second column from semantic model
    
    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
    
  2. เลือก ไอคอน เรียกใช้สคริปต์ เพื่อดูผลลัพธ์

    Screenshot of the result of running the script, which is a line plot.

  3. เมื่อสคริปต์ R ของคุณพร้อมแล้ว ให้คัดลอกไปยังไฟล์ที่อยู่ใน script.r ไดเรกทอรีรากของโครงการวิชวลของคุณ

  4. ในไฟล์ capabilities.json ให้เปลี่ยน dataRoles: name เป็นชุดข้อมูล และตั้งค่าการdataViewMappingsป้อนข้อมูลเป็นชุดข้อมูล

    {
      "dataRoles": [
        {
          "displayName": "Values",
          "kind": "GroupingOrMeasure",
          "name": "dataset"
        }
      ],
      "dataViewMappings": [
        {
          "scriptResult": {
            "dataInput": {
              "table": {
                "rows": {
                  "select": [
                    {
                      "for": {
                        "in": "dataset"
                      }
                    }
                  ],
                  "dataReductionAlgorithm": {
                    "top": {}
                  }
                }
              }
            },
            ...
          }
        }
      ],
    }
    
  5. เพิ่มโค้ดต่อไปนี้เพื่อรองรับการปรับขนาดรูปภาพในไฟล์ src/visual.ts

      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";
      }
    

เพิ่มไลบรารีไปยังแพคเกจวิชวล

แพคเกจ corrplot สร้างการแสดงผลกราฟิกของเมทริกซ์สหสัมพันธ์ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ corrplotดู บทนําเกี่ยวกับแพคเกจ corrplot

  1. เพิ่มการขึ้นต่อกันของ corrplot ไลบรารีไปยัง dependencies.json ไฟล์ นี่คือตัวอย่างของเนื้อหาไฟล์:

    {
      "cranPackages": [
        {
          "name": "corrplot",
          "displayName": "corrplot",
          "url": "https://cran.r-project.org/web/packages/corrplot/"
        }
      ]
    }
    
  2. ในตอนนี้คุณสามารถเริ่มใช้แพคเกจ corrplot ในไฟล์ของคุณscript.r

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

    ผลลัพธ์ของการใช้ corrplot แพคเกจ มีลักษณะดังตัวอย่างนี้:

    Screenshot of the visualization pane with four ovals created by corrplot.

เพิ่มคุณสมบัติแบบคงที่ลงในบานหน้าต่างคุณสมบัติ

ตอนนี้เรามีวิชวลพื้นฐาน corrplot แล้ว มาเพิ่มคุณสมบัติไปยังบานหน้าต่างคุณสมบัติที่อนุญาตให้ผู้ใช้สามารถเปลี่ยนลักษณะที่แสดงให้กับวิชวลได้

เราใช้อาร์กิวเมนต์ method เพื่อกําหนดค่ารูปร่างของจุดข้อมูล สคริปต์เริ่มต้นใช้วงกลม ปรับเปลี่ยนวิชวลของคุณเพื่อให้ผู้ใช้เลือกระหว่างหลายตัวเลือก

  1. objectกําหนดการตั้งค่าที่เรียกว่า ในแฟ้ม capabilities.json และให้คุณสมบัติต่อไปนี้

    "settings": {
      "properties": {
        "method": {
          "type": {
            "enumeration": [
              { "value": "circle" },
              { "value": "square" },
              { "value": "ellipse" },
              { "value": "number" },
              { "value": "shade" },
              { "value": "color" },
              { "value": "pie" }
            ]
          }
        }
      }
    }
    
  2. เปิดไฟล์ src/settings.ts สร้างVisualCardSettingsคลาส ด้วยคุณสมบัติmethodnameสาธารณะ , displayName และ slices ดังที่แสดงในช่องรหัสเครื่องเป่า

    import ItemDropdown = formattingSettings.ItemDropdown;
    
    const methodOptions = [
        {
            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"
        }
    ]
    
    class VisualCardSettings extends FormattingSettingsCard {
        method: FormattingSettingsSlice = new ItemDropdown({
            name: "method",
            displayName: "Method",
            items: methodOptions,
            value: methodOptions[0]
        });
    
        name: string = "settings";
        displayName: string = "Settings";
        slices: Array<FormattingSettingsSlice> = [this.method];
    }
    

    หลังจากขั้นตอนเหล่านี้ คุณสามารถเปลี่ยนคุณสมบัติของวิชวลได้

    Screenshot of R visual settings.

    สุดท้าย สคริปต์ R ต้องมีคุณสมบัติเริ่มต้น ถ้าผู้ใช้ไม่เปลี่ยนแปลงค่าคุณสมบัติ (ในกรณีนี้ คือการตั้งค่ารูปร่าง) วิชวลจะใช้ค่านี้

    สําหรับตัวแปรรันไทม์ R สําหรับคุณสมบัติ มาตรฐานการตั้งชื่อคือ <objectname>_<propertyname>ในกรณีนี้ settings_method

  3. เรียกใช้สคริปต์ R ต่อไปนี้:

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

แพคเกจและนําเข้าวิชวลของคุณ

ในตอนนี้คุณสามารถจัดแพคเกจวิชวลและนําเข้าไปยังรายงาน Power BI ได้แล้ว

  1. กรอกข้อมูล , displayNamesupportUrldescriptionของผู้nameสร้างและ emailและข้อมูลสําคัญอื่น ๆ ในไฟล์pbivis.json

  2. ถ้าคุณต้องการเปลี่ยนไอคอนของวิชวลในบานหน้าต่างการแสดงภาพ ให้แทนที่ไฟล์ icon.png ในโฟลเดอร์ แอสเซท

  3. จากไดเรกทอรีรากของวิชวลของคุณทํางาน:

    pbiviz package
    

    สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทําแพคเกจวิชวลของคุณ โปรดดู การบรรจุวิชวลแบบกําหนดเอง

  4. นําเข้าไฟล์ pbiviz ของวิชวลไปยังรายงาน Power BI ดู นําเข้าไฟล์วิชวลจากคอมพิวเตอร์ของคุณลงใน Power BI สําหรับคําแนะนําเกี่ยวกับวิธีการดําเนินการนี้

  5. วิชวลสุดท้ายของคุณมีลักษณะดังต่อไปนี้:

Screenshot of R visual settings with changed value.