แชร์ผ่าน


บทช่วยสอน: สร้างวิชวล Power BI ที่ขับเคลื่อนด้วย R

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

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

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

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

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

Get started

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

    เดือนไม่มี จํานวนยูนิต
    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:

    สกรีนช็อตของตัวควบคุมวิชวลสคริปต์ R ใน Power BI Desktop

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

    สกรีนช็อตแสดงตําแหน่งที่จะเพิ่มข้อมูลลงในค่า

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

    ภาพหน้าจอของเมนูพร้อมตัวเลือกสําหรับการไม่สรุปข้อมูล

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

    plot(dataset)
    

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

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

    ภาพหน้าจอของแผนภูมิภาพ R พร้อมข้อมูล

แก้ไขสคริปต์ 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. เลือกไอคอน เรียกใช้สคริปต์ เพื่อดูผลลัพธ์

    ภาพหน้าจอของผลลัพธ์ของการเรียกใช้สคริปต์ซึ่งเป็นพล็อตเส้น

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

  4. ในไฟล์ capabilities.json ให้เปลี่ยน : dataRolesname เป็นชุดข้อมูล และตั้งค่า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 แพ็คเกจมีลักษณะเช่นตัวอย่างนี้:

    สกรีนช็อตของบานหน้าต่างการแสดงภาพที่มีวงรีสี่วงที่สร้างโดย 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คลาสที่มีคุณสมบัติสาธารณะ methodและ namedisplayNameslicesตามที่แสดงในกล่องโค้ดด้านล่าง

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

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

    สกรีนช็อตของการตั้งค่าภาพ R

    สุดท้าย สคริปต์ 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. กรอกข้อมูล displayName, , , descriptionผู้เขียน name และ emailและข้อมูลสําคัญอื่นๆ ในpbivis.jsonsupportUrlไฟล์

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

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

    pbiviz package
    

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

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

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

สกรีนช็อตของการตั้งค่าวิชวล R ที่มีค่าที่เปลี่ยนแปลง